rclone.1 2.3 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182501835018450185501865018750188501895019050191501925019350194501955019650197501985019950200502015020250203502045020550206502075020850209502105021150212502135021450215502165021750218502195022050221502225022350224502255022650227502285022950230502315023250233502345023550236502375023850239502405024150242502435024450245502465024750248502495025050251502525025350254502555025650257502585025950260502615026250263502645026550266502675026850269502705027150272502735027450275502765027750278502795028050281502825028350284502855028650287502885028950290502915029250293502945029550296502975029850299503005030150302503035030450305503065030750308503095031050311503125031350314503155031650317503185031950320503215032250323503245032550326503275032850329503305033150332503335033450335503365033750338503395034050341503425034350344503455034650347503485034950350503515035250353503545035550356503575035850359503605036150362503635036450365503665036750368503695037050371503725037350374503755037650377503785037950380503815038250383503845038550386503875038850389503905039150392503935039450395503965039750398503995040050401504025040350404504055040650407504085040950410504115041250413504145041550416504175041850419504205042150422504235042450425504265042750428504295043050431504325043350434504355043650437504385043950440504415044250443504445044550446504475044850449504505045150452504535045450455504565045750458504595046050461504625046350464504655046650467504685046950470504715047250473504745047550476504775047850479504805048150482504835048450485504865048750488504895049050491504925049350494504955049650497504985049950500505015050250503505045050550506505075050850509505105051150512505135051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505345053550536505375053850539505405054150542505435054450545505465054750548505495055050551505525055350554505555055650557505585055950560505615056250563505645056550566505675056850569505705057150572505735057450575505765057750578505795058050581505825058350584505855058650587505885058950590505915059250593505945059550596505975059850599506005060150602506035060450605506065060750608506095061050611506125061350614506155061650617506185061950620506215062250623506245062550626506275062850629506305063150632506335063450635506365063750638506395064050641506425064350644506455064650647506485064950650506515065250653506545065550656506575065850659506605066150662506635066450665506665066750668506695067050671506725067350674506755067650677506785067950680506815068250683506845068550686506875068850689506905069150692506935069450695506965069750698506995070050701507025070350704507055070650707507085070950710507115071250713507145071550716507175071850719507205072150722507235072450725507265072750728507295073050731507325073350734507355073650737507385073950740507415074250743507445074550746507475074850749507505075150752507535075450755507565075750758507595076050761507625076350764507655076650767507685076950770507715077250773507745077550776507775077850779507805078150782507835078450785507865078750788507895079050791507925079350794507955079650797507985079950800508015080250803508045080550806508075080850809508105081150812508135081450815508165081750818508195082050821508225082350824508255082650827508285082950830508315083250833508345083550836508375083850839508405084150842508435084450845508465084750848508495085050851508525085350854508555085650857508585085950860508615086250863508645086550866508675086850869508705087150872508735087450875508765087750878508795088050881508825088350884508855088650887508885088950890508915089250893508945089550896508975089850899509005090150902509035090450905509065090750908509095091050911509125091350914509155091650917509185091950920509215092250923509245092550926509275092850929509305093150932509335093450935509365093750938509395094050941509425094350944509455094650947509485094950950509515095250953509545095550956509575095850959509605096150962509635096450965509665096750968509695097050971509725097350974509755097650977509785097950980509815098250983509845098550986509875098850989509905099150992509935099450995509965099750998509995100051001510025100351004510055100651007510085100951010510115101251013510145101551016510175101851019510205102151022510235102451025510265102751028510295103051031510325103351034510355103651037510385103951040510415104251043510445104551046510475104851049510505105151052510535105451055510565105751058510595106051061510625106351064510655106651067510685106951070510715107251073510745107551076510775107851079510805108151082510835108451085510865108751088510895109051091510925109351094510955109651097510985109951100511015110251103511045110551106511075110851109511105111151112511135111451115511165111751118511195112051121511225112351124511255112651127511285112951130511315113251133511345113551136511375113851139511405114151142511435114451145511465114751148511495115051151511525115351154511555115651157511585115951160511615116251163511645116551166511675116851169511705117151172511735117451175511765117751178511795118051181511825118351184511855118651187511885118951190511915119251193511945119551196511975119851199512005120151202512035120451205512065120751208512095121051211512125121351214512155121651217512185121951220512215122251223512245122551226512275122851229512305123151232512335123451235512365123751238512395124051241512425124351244512455124651247512485124951250512515125251253512545125551256512575125851259512605126151262512635126451265512665126751268512695127051271512725127351274512755127651277512785127951280512815128251283512845128551286512875128851289512905129151292512935129451295512965129751298512995130051301513025130351304513055130651307513085130951310513115131251313513145131551316513175131851319513205132151322513235132451325513265132751328513295133051331513325133351334513355133651337513385133951340513415134251343513445134551346513475134851349513505135151352513535135451355513565135751358513595136051361513625136351364513655136651367513685136951370513715137251373513745137551376513775137851379513805138151382513835138451385513865138751388513895139051391513925139351394513955139651397513985139951400514015140251403514045140551406514075140851409514105141151412514135141451415514165141751418514195142051421514225142351424514255142651427514285142951430514315143251433514345143551436514375143851439514405144151442514435144451445514465144751448514495145051451514525145351454514555145651457514585145951460514615146251463514645146551466514675146851469514705147151472514735147451475514765147751478514795148051481514825148351484514855148651487514885148951490514915149251493514945149551496514975149851499515005150151502515035150451505515065150751508515095151051511515125151351514515155151651517515185151951520515215152251523515245152551526515275152851529515305153151532515335153451535515365153751538515395154051541515425154351544515455154651547515485154951550515515155251553515545155551556515575155851559515605156151562515635156451565515665156751568515695157051571515725157351574515755157651577515785157951580515815158251583515845158551586515875158851589515905159151592515935159451595515965159751598515995160051601516025160351604516055160651607516085160951610516115161251613516145161551616516175161851619516205162151622516235162451625516265162751628516295163051631516325163351634516355163651637516385163951640516415164251643516445164551646516475164851649516505165151652516535165451655516565165751658516595166051661516625166351664516655166651667516685166951670516715167251673516745167551676516775167851679516805168151682516835168451685516865168751688516895169051691516925169351694516955169651697516985169951700517015170251703517045170551706517075170851709517105171151712517135171451715517165171751718517195172051721517225172351724517255172651727517285172951730517315173251733517345173551736517375173851739517405174151742517435174451745517465174751748517495175051751517525175351754517555175651757517585175951760517615176251763517645176551766517675176851769517705177151772517735177451775517765177751778517795178051781517825178351784517855178651787517885178951790517915179251793517945179551796517975179851799518005180151802518035180451805518065180751808518095181051811518125181351814518155181651817518185181951820518215182251823518245182551826518275182851829518305183151832518335183451835518365183751838518395184051841518425184351844518455184651847518485184951850518515185251853518545185551856518575185851859518605186151862518635186451865518665186751868518695187051871518725187351874518755187651877518785187951880518815188251883518845188551886518875188851889518905189151892518935189451895518965189751898518995190051901519025190351904519055190651907519085190951910519115191251913519145191551916519175191851919519205192151922519235192451925519265192751928519295193051931519325193351934519355193651937519385193951940519415194251943519445194551946519475194851949519505195151952519535195451955519565195751958519595196051961519625196351964519655196651967519685196951970519715197251973519745197551976519775197851979519805198151982519835198451985519865198751988519895199051991519925199351994519955199651997519985199952000520015200252003520045200552006520075200852009520105201152012520135201452015520165201752018520195202052021520225202352024520255202652027520285202952030520315203252033520345203552036520375203852039520405204152042520435204452045520465204752048520495205052051520525205352054520555205652057520585205952060520615206252063520645206552066520675206852069520705207152072520735207452075520765207752078520795208052081520825208352084520855208652087520885208952090520915209252093520945209552096520975209852099521005210152102521035210452105521065210752108521095211052111521125211352114521155211652117521185211952120521215212252123521245212552126521275212852129521305213152132521335213452135521365213752138521395214052141521425214352144521455214652147521485214952150521515215252153521545215552156521575215852159521605216152162521635216452165521665216752168521695217052171521725217352174521755217652177521785217952180521815218252183521845218552186521875218852189521905219152192521935219452195521965219752198521995220052201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223052231522325223352234522355223652237522385223952240522415224252243522445224552246522475224852249522505225152252522535225452255522565225752258522595226052261522625226352264522655226652267522685226952270522715227252273522745227552276522775227852279522805228152282522835228452285522865228752288522895229052291522925229352294522955229652297522985229952300523015230252303523045230552306523075230852309523105231152312523135231452315523165231752318523195232052321523225232352324523255232652327523285232952330523315233252333523345233552336523375233852339523405234152342523435234452345523465234752348523495235052351523525235352354523555235652357523585235952360523615236252363523645236552366523675236852369523705237152372523735237452375523765237752378523795238052381523825238352384523855238652387523885238952390523915239252393523945239552396523975239852399524005240152402524035240452405524065240752408524095241052411524125241352414524155241652417524185241952420524215242252423524245242552426524275242852429524305243152432524335243452435524365243752438524395244052441524425244352444524455244652447524485244952450524515245252453524545245552456524575245852459524605246152462524635246452465524665246752468524695247052471524725247352474524755247652477524785247952480524815248252483524845248552486524875248852489524905249152492524935249452495524965249752498524995250052501525025250352504525055250652507525085250952510525115251252513525145251552516525175251852519525205252152522525235252452525525265252752528525295253052531525325253352534525355253652537525385253952540525415254252543525445254552546525475254852549525505255152552525535255452555525565255752558525595256052561525625256352564525655256652567525685256952570525715257252573525745257552576525775257852579525805258152582525835258452585525865258752588525895259052591525925259352594525955259652597525985259952600526015260252603526045260552606526075260852609526105261152612526135261452615526165261752618526195262052621526225262352624526255262652627526285262952630526315263252633526345263552636526375263852639526405264152642526435264452645526465264752648526495265052651526525265352654526555265652657526585265952660526615266252663526645266552666526675266852669526705267152672526735267452675526765267752678526795268052681526825268352684526855268652687526885268952690526915269252693526945269552696526975269852699527005270152702527035270452705527065270752708527095271052711527125271352714527155271652717527185271952720527215272252723527245272552726527275272852729527305273152732527335273452735527365273752738527395274052741527425274352744527455274652747527485274952750527515275252753527545275552756527575275852759527605276152762527635276452765527665276752768527695277052771527725277352774527755277652777527785277952780527815278252783527845278552786527875278852789527905279152792527935279452795527965279752798527995280052801528025280352804528055280652807528085280952810528115281252813528145281552816528175281852819528205282152822528235282452825528265282752828528295283052831528325283352834528355283652837528385283952840528415284252843528445284552846528475284852849528505285152852528535285452855528565285752858528595286052861528625286352864528655286652867528685286952870528715287252873528745287552876528775287852879528805288152882528835288452885528865288752888528895289052891528925289352894528955289652897528985289952900529015290252903529045290552906529075290852909529105291152912529135291452915529165291752918529195292052921529225292352924529255292652927529285292952930529315293252933529345293552936529375293852939529405294152942529435294452945529465294752948529495295052951529525295352954529555295652957529585295952960529615296252963529645296552966529675296852969529705297152972529735297452975529765297752978529795298052981529825298352984529855298652987529885298952990529915299252993529945299552996529975299852999530005300153002530035300453005530065300753008530095301053011530125301353014530155301653017530185301953020530215302253023530245302553026530275302853029530305303153032530335303453035530365303753038530395304053041530425304353044530455304653047530485304953050530515305253053530545305553056530575305853059530605306153062530635306453065530665306753068530695307053071530725307353074530755307653077530785307953080530815308253083530845308553086530875308853089530905309153092530935309453095530965309753098530995310053101531025310353104531055310653107531085310953110531115311253113531145311553116531175311853119531205312153122531235312453125531265312753128531295313053131531325313353134531355313653137531385313953140531415314253143531445314553146531475314853149531505315153152531535315453155531565315753158531595316053161531625316353164531655316653167531685316953170531715317253173531745317553176531775317853179531805318153182531835318453185531865318753188531895319053191531925319353194531955319653197531985319953200532015320253203532045320553206532075320853209532105321153212532135321453215532165321753218532195322053221532225322353224532255322653227532285322953230532315323253233532345323553236532375323853239532405324153242532435324453245532465324753248532495325053251532525325353254532555325653257532585325953260532615326253263532645326553266532675326853269532705327153272532735327453275532765327753278532795328053281532825328353284532855328653287532885328953290532915329253293532945329553296532975329853299533005330153302533035330453305533065330753308533095331053311533125331353314533155331653317533185331953320533215332253323533245332553326533275332853329533305333153332533335333453335533365333753338533395334053341533425334353344533455334653347533485334953350533515335253353533545335553356533575335853359533605336153362533635336453365533665336753368533695337053371533725337353374533755337653377533785337953380533815338253383533845338553386533875338853389533905339153392533935339453395533965339753398533995340053401534025340353404534055340653407534085340953410534115341253413534145341553416534175341853419534205342153422534235342453425534265342753428534295343053431534325343353434534355343653437534385343953440534415344253443534445344553446534475344853449534505345153452534535345453455534565345753458534595346053461534625346353464534655346653467534685346953470534715347253473534745347553476534775347853479534805348153482534835348453485534865348753488534895349053491534925349353494534955349653497534985349953500535015350253503535045350553506535075350853509535105351153512535135351453515535165351753518535195352053521535225352353524535255352653527535285352953530535315353253533535345353553536535375353853539535405354153542535435354453545535465354753548535495355053551535525355353554535555355653557535585355953560535615356253563535645356553566535675356853569535705357153572535735357453575535765357753578535795358053581535825358353584535855358653587535885358953590535915359253593535945359553596535975359853599536005360153602536035360453605536065360753608536095361053611536125361353614536155361653617536185361953620536215362253623536245362553626536275362853629536305363153632536335363453635536365363753638536395364053641536425364353644536455364653647536485364953650536515365253653536545365553656536575365853659536605366153662536635366453665536665366753668536695367053671536725367353674536755367653677536785367953680536815368253683536845368553686536875368853689536905369153692536935369453695536965369753698536995370053701537025370353704537055370653707537085370953710537115371253713537145371553716537175371853719537205372153722537235372453725537265372753728537295373053731537325373353734537355373653737537385373953740537415374253743537445374553746537475374853749537505375153752537535375453755537565375753758537595376053761537625376353764537655376653767537685376953770537715377253773537745377553776537775377853779537805378153782537835378453785537865378753788537895379053791537925379353794537955379653797537985379953800538015380253803538045380553806538075380853809538105381153812538135381453815538165381753818538195382053821538225382353824538255382653827538285382953830538315383253833538345383553836538375383853839538405384153842538435384453845538465384753848538495385053851538525385353854538555385653857538585385953860538615386253863538645386553866538675386853869538705387153872538735387453875538765387753878538795388053881538825388353884538855388653887538885388953890538915389253893538945389553896538975389853899539005390153902539035390453905539065390753908539095391053911539125391353914539155391653917539185391953920539215392253923539245392553926539275392853929539305393153932539335393453935539365393753938539395394053941539425394353944539455394653947539485394953950539515395253953539545395553956539575395853959539605396153962539635396453965539665396753968539695397053971539725397353974539755397653977539785397953980539815398253983539845398553986539875398853989539905399153992539935399453995539965399753998539995400054001540025400354004540055400654007540085400954010540115401254013540145401554016540175401854019540205402154022540235402454025540265402754028540295403054031540325403354034540355403654037540385403954040540415404254043540445404554046540475404854049540505405154052540535405454055540565405754058540595406054061540625406354064540655406654067540685406954070540715407254073540745407554076540775407854079540805408154082540835408454085540865408754088540895409054091540925409354094540955409654097540985409954100541015410254103541045410554106541075410854109541105411154112541135411454115541165411754118541195412054121541225412354124541255412654127541285412954130541315413254133541345413554136541375413854139541405414154142541435414454145541465414754148541495415054151541525415354154541555415654157541585415954160541615416254163541645416554166541675416854169541705417154172541735417454175541765417754178541795418054181541825418354184541855418654187541885418954190541915419254193541945419554196541975419854199542005420154202542035420454205542065420754208542095421054211542125421354214542155421654217542185421954220542215422254223542245422554226542275422854229542305423154232542335423454235542365423754238542395424054241542425424354244542455424654247542485424954250542515425254253542545425554256542575425854259542605426154262542635426454265542665426754268542695427054271542725427354274542755427654277542785427954280542815428254283542845428554286542875428854289542905429154292542935429454295542965429754298542995430054301543025430354304543055430654307543085430954310543115431254313543145431554316543175431854319543205432154322543235432454325543265432754328543295433054331543325433354334543355433654337543385433954340543415434254343543445434554346543475434854349543505435154352543535435454355543565435754358543595436054361543625436354364543655436654367543685436954370543715437254373543745437554376543775437854379543805438154382543835438454385543865438754388543895439054391543925439354394543955439654397543985439954400544015440254403544045440554406544075440854409544105441154412544135441454415544165441754418544195442054421544225442354424544255442654427544285442954430544315443254433544345443554436544375443854439544405444154442544435444454445544465444754448544495445054451544525445354454544555445654457544585445954460544615446254463544645446554466544675446854469544705447154472544735447454475544765447754478544795448054481544825448354484544855448654487544885448954490544915449254493544945449554496544975449854499545005450154502545035450454505545065450754508545095451054511545125451354514545155451654517545185451954520545215452254523545245452554526545275452854529545305453154532545335453454535545365453754538545395454054541545425454354544545455454654547545485454954550545515455254553545545455554556545575455854559545605456154562545635456454565545665456754568545695457054571545725457354574545755457654577545785457954580545815458254583545845458554586545875458854589545905459154592545935459454595545965459754598545995460054601546025460354604546055460654607546085460954610546115461254613546145461554616546175461854619546205462154622546235462454625546265462754628546295463054631546325463354634546355463654637546385463954640546415464254643546445464554646546475464854649546505465154652546535465454655546565465754658546595466054661546625466354664546655466654667546685466954670546715467254673546745467554676546775467854679546805468154682546835468454685546865468754688546895469054691546925469354694546955469654697546985469954700547015470254703547045470554706547075470854709547105471154712547135471454715547165471754718547195472054721547225472354724547255472654727547285472954730547315473254733547345473554736547375473854739547405474154742547435474454745547465474754748547495475054751547525475354754547555475654757547585475954760547615476254763547645476554766547675476854769547705477154772547735477454775547765477754778547795478054781547825478354784547855478654787547885478954790547915479254793547945479554796547975479854799548005480154802548035480454805548065480754808548095481054811548125481354814548155481654817548185481954820548215482254823548245482554826548275482854829548305483154832548335483454835548365483754838548395484054841548425484354844548455484654847548485484954850548515485254853548545485554856548575485854859548605486154862548635486454865548665486754868548695487054871548725487354874548755487654877548785487954880548815488254883548845488554886548875488854889548905489154892548935489454895548965489754898548995490054901549025490354904549055490654907549085490954910549115491254913549145491554916549175491854919549205492154922549235492454925549265492754928549295493054931549325493354934549355493654937549385493954940549415494254943549445494554946549475494854949549505495154952549535495454955549565495754958549595496054961549625496354964549655496654967549685496954970549715497254973549745497554976549775497854979549805498154982549835498454985549865498754988549895499054991549925499354994549955499654997549985499955000550015500255003550045500555006550075500855009550105501155012550135501455015550165501755018550195502055021550225502355024550255502655027550285502955030550315503255033550345503555036550375503855039550405504155042550435504455045550465504755048550495505055051550525505355054550555505655057550585505955060550615506255063550645506555066550675506855069550705507155072550735507455075550765507755078550795508055081550825508355084550855508655087550885508955090550915509255093550945509555096550975509855099551005510155102551035510455105551065510755108551095511055111551125511355114551155511655117551185511955120551215512255123551245512555126551275512855129551305513155132551335513455135551365513755138551395514055141551425514355144551455514655147551485514955150551515515255153551545515555156551575515855159551605516155162551635516455165551665516755168551695517055171551725517355174551755517655177551785517955180551815518255183551845518555186551875518855189551905519155192551935519455195551965519755198551995520055201552025520355204552055520655207552085520955210552115521255213552145521555216552175521855219552205522155222552235522455225552265522755228552295523055231552325523355234552355523655237552385523955240552415524255243552445524555246552475524855249552505525155252552535525455255552565525755258552595526055261552625526355264552655526655267552685526955270552715527255273552745527555276552775527855279552805528155282552835528455285552865528755288552895529055291552925529355294552955529655297552985529955300553015530255303553045530555306553075530855309553105531155312553135531455315553165531755318553195532055321553225532355324553255532655327553285532955330553315533255333553345533555336553375533855339553405534155342553435534455345553465534755348553495535055351553525535355354553555535655357553585535955360553615536255363553645536555366553675536855369553705537155372553735537455375553765537755378553795538055381553825538355384553855538655387553885538955390553915539255393553945539555396553975539855399554005540155402554035540455405554065540755408554095541055411554125541355414554155541655417554185541955420554215542255423554245542555426554275542855429554305543155432554335543455435554365543755438554395544055441554425544355444554455544655447554485544955450554515545255453554545545555456554575545855459554605546155462554635546455465554665546755468554695547055471554725547355474554755547655477554785547955480554815548255483554845548555486554875548855489554905549155492554935549455495554965549755498554995550055501555025550355504555055550655507555085550955510555115551255513555145551555516555175551855519555205552155522555235552455525555265552755528555295553055531555325553355534555355553655537555385553955540555415554255543555445554555546555475554855549555505555155552555535555455555555565555755558555595556055561555625556355564555655556655567555685556955570555715557255573555745557555576555775557855579555805558155582555835558455585555865558755588555895559055591555925559355594555955559655597555985559955600556015560255603556045560555606556075560855609556105561155612556135561455615556165561755618556195562055621556225562355624556255562655627556285562955630556315563255633556345563555636556375563855639556405564155642556435564455645556465564755648556495565055651556525565355654556555565655657556585565955660556615566255663556645566555666556675566855669556705567155672556735567455675556765567755678556795568055681556825568355684556855568655687556885568955690556915569255693556945569555696556975569855699557005570155702557035570455705557065570755708557095571055711557125571355714557155571655717557185571955720557215572255723557245572555726557275572855729557305573155732557335573455735557365573755738557395574055741557425574355744557455574655747557485574955750557515575255753557545575555756557575575855759557605576155762557635576455765557665576755768557695577055771557725577355774557755577655777557785577955780557815578255783557845578555786557875578855789557905579155792557935579455795557965579755798557995580055801558025580355804558055580655807558085580955810558115581255813558145581555816558175581855819558205582155822558235582455825558265582755828558295583055831558325583355834558355583655837558385583955840558415584255843558445584555846558475584855849558505585155852558535585455855558565585755858558595586055861558625586355864558655586655867558685586955870558715587255873558745587555876558775587855879558805588155882558835588455885558865588755888558895589055891558925589355894558955589655897558985589955900559015590255903559045590555906559075590855909559105591155912559135591455915559165591755918559195592055921559225592355924559255592655927559285592955930559315593255933559345593555936559375593855939559405594155942559435594455945559465594755948559495595055951559525595355954559555595655957559585595955960559615596255963559645596555966559675596855969559705597155972559735597455975559765597755978559795598055981559825598355984559855598655987559885598955990559915599255993559945599555996559975599855999560005600156002560035600456005560065600756008560095601056011560125601356014560155601656017560185601956020560215602256023560245602556026560275602856029560305603156032560335603456035560365603756038560395604056041560425604356044560455604656047560485604956050560515605256053560545605556056560575605856059560605606156062560635606456065560665606756068560695607056071560725607356074560755607656077560785607956080560815608256083560845608556086560875608856089560905609156092560935609456095560965609756098560995610056101561025610356104561055610656107561085610956110561115611256113561145611556116561175611856119561205612156122561235612456125561265612756128561295613056131561325613356134561355613656137561385613956140561415614256143561445614556146561475614856149561505615156152561535615456155561565615756158561595616056161561625616356164561655616656167561685616956170561715617256173561745617556176561775617856179561805618156182561835618456185561865618756188561895619056191561925619356194561955619656197561985619956200562015620256203562045620556206562075620856209562105621156212562135621456215562165621756218562195622056221562225622356224562255622656227562285622956230562315623256233562345623556236562375623856239562405624156242562435624456245562465624756248562495625056251562525625356254562555625656257562585625956260562615626256263562645626556266562675626856269562705627156272562735627456275562765627756278562795628056281562825628356284562855628656287562885628956290562915629256293562945629556296562975629856299563005630156302563035630456305563065630756308563095631056311563125631356314563155631656317563185631956320563215632256323563245632556326563275632856329563305633156332563335633456335563365633756338563395634056341563425634356344563455634656347563485634956350563515635256353563545635556356563575635856359563605636156362563635636456365563665636756368563695637056371563725637356374563755637656377563785637956380563815638256383563845638556386563875638856389563905639156392563935639456395563965639756398563995640056401564025640356404564055640656407564085640956410564115641256413564145641556416564175641856419564205642156422564235642456425564265642756428564295643056431564325643356434564355643656437564385643956440564415644256443564445644556446564475644856449564505645156452564535645456455564565645756458564595646056461564625646356464564655646656467564685646956470564715647256473564745647556476564775647856479564805648156482564835648456485564865648756488564895649056491564925649356494564955649656497564985649956500565015650256503565045650556506565075650856509565105651156512565135651456515565165651756518565195652056521565225652356524565255652656527565285652956530565315653256533565345653556536565375653856539565405654156542565435654456545565465654756548565495655056551565525655356554565555655656557565585655956560565615656256563565645656556566565675656856569565705657156572565735657456575565765657756578565795658056581565825658356584565855658656587565885658956590565915659256593565945659556596565975659856599566005660156602566035660456605566065660756608566095661056611566125661356614566155661656617566185661956620566215662256623566245662556626566275662856629566305663156632566335663456635566365663756638566395664056641566425664356644566455664656647566485664956650566515665256653566545665556656566575665856659566605666156662566635666456665566665666756668566695667056671566725667356674566755667656677566785667956680566815668256683566845668556686566875668856689566905669156692566935669456695566965669756698566995670056701567025670356704567055670656707567085670956710567115671256713567145671556716567175671856719567205672156722567235672456725567265672756728567295673056731567325673356734567355673656737567385673956740567415674256743567445674556746567475674856749567505675156752567535675456755567565675756758567595676056761567625676356764567655676656767567685676956770567715677256773567745677556776567775677856779567805678156782567835678456785567865678756788567895679056791567925679356794567955679656797567985679956800568015680256803568045680556806568075680856809568105681156812568135681456815568165681756818568195682056821568225682356824568255682656827568285682956830568315683256833568345683556836568375683856839568405684156842568435684456845568465684756848568495685056851568525685356854568555685656857568585685956860568615686256863568645686556866568675686856869568705687156872568735687456875568765687756878568795688056881568825688356884568855688656887568885688956890568915689256893568945689556896568975689856899569005690156902569035690456905569065690756908569095691056911569125691356914569155691656917569185691956920569215692256923569245692556926569275692856929569305693156932569335693456935569365693756938569395694056941569425694356944569455694656947569485694956950569515695256953569545695556956569575695856959569605696156962569635696456965569665696756968569695697056971569725697356974569755697656977569785697956980569815698256983569845698556986569875698856989569905699156992569935699456995569965699756998569995700057001570025700357004570055700657007570085700957010570115701257013570145701557016570175701857019570205702157022570235702457025570265702757028570295703057031570325703357034570355703657037570385703957040570415704257043570445704557046570475704857049570505705157052570535705457055570565705757058570595706057061570625706357064570655706657067570685706957070570715707257073570745707557076570775707857079570805708157082570835708457085570865708757088570895709057091570925709357094570955709657097570985709957100571015710257103571045710557106571075710857109571105711157112571135711457115571165711757118571195712057121571225712357124571255712657127571285712957130571315713257133571345713557136571375713857139571405714157142571435714457145571465714757148571495715057151571525715357154571555715657157571585715957160571615716257163571645716557166571675716857169571705717157172571735717457175571765717757178571795718057181571825718357184571855718657187571885718957190571915719257193571945719557196571975719857199572005720157202572035720457205572065720757208572095721057211572125721357214572155721657217572185721957220572215722257223572245722557226572275722857229572305723157232572335723457235572365723757238572395724057241572425724357244572455724657247572485724957250572515725257253572545725557256572575725857259572605726157262572635726457265572665726757268572695727057271572725727357274572755727657277572785727957280572815728257283572845728557286572875728857289572905729157292572935729457295572965729757298572995730057301573025730357304573055730657307573085730957310573115731257313573145731557316573175731857319573205732157322573235732457325573265732757328573295733057331573325733357334573355733657337573385733957340573415734257343573445734557346573475734857349573505735157352573535735457355573565735757358573595736057361573625736357364573655736657367573685736957370573715737257373573745737557376573775737857379573805738157382573835738457385573865738757388573895739057391573925739357394573955739657397573985739957400574015740257403574045740557406574075740857409574105741157412574135741457415574165741757418574195742057421574225742357424574255742657427574285742957430574315743257433574345743557436574375743857439574405744157442574435744457445574465744757448574495745057451574525745357454574555745657457574585745957460574615746257463574645746557466574675746857469574705747157472574735747457475574765747757478574795748057481574825748357484574855748657487574885748957490574915749257493574945749557496574975749857499575005750157502575035750457505575065750757508575095751057511575125751357514575155751657517575185751957520575215752257523575245752557526575275752857529575305753157532575335753457535575365753757538575395754057541575425754357544575455754657547575485754957550575515755257553575545755557556575575755857559575605756157562575635756457565575665756757568575695757057571575725757357574575755757657577575785757957580575815758257583575845758557586575875758857589575905759157592575935759457595575965759757598575995760057601576025760357604576055760657607576085760957610576115761257613576145761557616576175761857619576205762157622576235762457625576265762757628576295763057631576325763357634576355763657637576385763957640576415764257643576445764557646576475764857649576505765157652576535765457655576565765757658576595766057661576625766357664576655766657667576685766957670576715767257673576745767557676576775767857679576805768157682576835768457685576865768757688576895769057691576925769357694576955769657697576985769957700577015770257703577045770557706577075770857709577105771157712577135771457715577165771757718577195772057721577225772357724577255772657727577285772957730577315773257733577345773557736577375773857739577405774157742577435774457745577465774757748577495775057751577525775357754577555775657757577585775957760577615776257763577645776557766577675776857769577705777157772577735777457775577765777757778577795778057781577825778357784577855778657787577885778957790577915779257793577945779557796577975779857799578005780157802578035780457805578065780757808578095781057811578125781357814578155781657817578185781957820578215782257823578245782557826578275782857829578305783157832578335783457835578365783757838578395784057841578425784357844578455784657847578485784957850578515785257853578545785557856578575785857859578605786157862578635786457865578665786757868578695787057871578725787357874578755787657877578785787957880578815788257883578845788557886578875788857889578905789157892578935789457895578965789757898578995790057901579025790357904579055790657907579085790957910579115791257913579145791557916579175791857919579205792157922579235792457925579265792757928579295793057931579325793357934579355793657937579385793957940579415794257943579445794557946579475794857949579505795157952579535795457955579565795757958579595796057961579625796357964579655796657967579685796957970579715797257973579745797557976579775797857979579805798157982579835798457985579865798757988579895799057991579925799357994579955799657997579985799958000580015800258003580045800558006580075800858009580105801158012580135801458015580165801758018580195802058021580225802358024580255802658027580285802958030580315803258033580345803558036580375803858039580405804158042580435804458045580465804758048580495805058051580525805358054580555805658057580585805958060580615806258063580645806558066580675806858069580705807158072580735807458075580765807758078580795808058081580825808358084580855808658087580885808958090580915809258093580945809558096580975809858099581005810158102581035810458105581065810758108581095811058111581125811358114581155811658117581185811958120581215812258123581245812558126581275812858129581305813158132581335813458135581365813758138581395814058141581425814358144581455814658147581485814958150581515815258153581545815558156581575815858159581605816158162581635816458165581665816758168581695817058171581725817358174581755817658177581785817958180581815818258183581845818558186581875818858189581905819158192581935819458195581965819758198581995820058201582025820358204582055820658207582085820958210582115821258213582145821558216582175821858219582205822158222582235822458225582265822758228582295823058231582325823358234582355823658237582385823958240582415824258243582445824558246582475824858249582505825158252582535825458255582565825758258582595826058261582625826358264582655826658267582685826958270582715827258273582745827558276582775827858279582805828158282582835828458285582865828758288582895829058291582925829358294582955829658297582985829958300583015830258303583045830558306583075830858309583105831158312583135831458315583165831758318583195832058321583225832358324583255832658327583285832958330583315833258333583345833558336583375833858339583405834158342583435834458345583465834758348583495835058351583525835358354583555835658357583585835958360583615836258363583645836558366583675836858369583705837158372583735837458375583765837758378583795838058381583825838358384583855838658387583885838958390583915839258393583945839558396583975839858399584005840158402584035840458405584065840758408584095841058411584125841358414584155841658417584185841958420584215842258423584245842558426584275842858429584305843158432584335843458435584365843758438584395844058441584425844358444584455844658447584485844958450584515845258453584545845558456584575845858459584605846158462584635846458465584665846758468584695847058471584725847358474584755847658477584785847958480584815848258483584845848558486584875848858489584905849158492584935849458495584965849758498584995850058501585025850358504585055850658507585085850958510585115851258513585145851558516585175851858519585205852158522585235852458525585265852758528585295853058531585325853358534585355853658537585385853958540585415854258543585445854558546585475854858549585505855158552585535855458555585565855758558585595856058561585625856358564585655856658567585685856958570585715857258573585745857558576585775857858579585805858158582585835858458585585865858758588585895859058591585925859358594585955859658597585985859958600586015860258603586045860558606586075860858609586105861158612586135861458615586165861758618586195862058621586225862358624586255862658627586285862958630586315863258633586345863558636586375863858639586405864158642586435864458645586465864758648586495865058651586525865358654586555865658657586585865958660586615866258663586645866558666586675866858669586705867158672586735867458675586765867758678586795868058681586825868358684586855868658687586885868958690586915869258693586945869558696586975869858699587005870158702587035870458705587065870758708587095871058711587125871358714587155871658717587185871958720587215872258723587245872558726587275872858729587305873158732587335873458735587365873758738587395874058741587425874358744587455874658747587485874958750587515875258753587545875558756587575875858759587605876158762587635876458765587665876758768587695877058771587725877358774587755877658777587785877958780587815878258783587845878558786587875878858789587905879158792587935879458795587965879758798587995880058801588025880358804588055880658807588085880958810588115881258813588145881558816588175881858819588205882158822588235882458825588265882758828588295883058831588325883358834588355883658837588385883958840588415884258843588445884558846588475884858849588505885158852588535885458855588565885758858588595886058861588625886358864588655886658867588685886958870588715887258873588745887558876588775887858879588805888158882588835888458885588865888758888588895889058891588925889358894588955889658897588985889958900589015890258903589045890558906589075890858909589105891158912589135891458915589165891758918589195892058921589225892358924589255892658927589285892958930589315893258933589345893558936589375893858939589405894158942589435894458945589465894758948589495895058951589525895358954589555895658957589585895958960589615896258963589645896558966589675896858969589705897158972589735897458975589765897758978589795898058981589825898358984589855898658987589885898958990589915899258993589945899558996589975899858999590005900159002590035900459005590065900759008590095901059011590125901359014590155901659017590185901959020590215902259023590245902559026590275902859029590305903159032590335903459035590365903759038590395904059041590425904359044590455904659047590485904959050590515905259053590545905559056590575905859059590605906159062590635906459065590665906759068590695907059071590725907359074590755907659077590785907959080590815908259083590845908559086590875908859089590905909159092590935909459095590965909759098590995910059101591025910359104591055910659107591085910959110591115911259113591145911559116591175911859119591205912159122591235912459125591265912759128591295913059131591325913359134591355913659137591385913959140591415914259143591445914559146591475914859149591505915159152591535915459155591565915759158591595916059161591625916359164591655916659167591685916959170591715917259173591745917559176591775917859179591805918159182591835918459185591865918759188591895919059191591925919359194591955919659197591985919959200592015920259203592045920559206592075920859209592105921159212592135921459215592165921759218592195922059221592225922359224592255922659227592285922959230592315923259233592345923559236592375923859239592405924159242592435924459245592465924759248592495925059251592525925359254592555925659257592585925959260592615926259263592645926559266592675926859269592705927159272592735927459275592765927759278592795928059281592825928359284592855928659287592885928959290592915929259293592945929559296592975929859299593005930159302593035930459305593065930759308593095931059311593125931359314593155931659317593185931959320593215932259323593245932559326593275932859329593305933159332593335933459335593365933759338593395934059341593425934359344593455934659347593485934959350593515935259353593545935559356593575935859359593605936159362593635936459365593665936759368593695937059371593725937359374593755937659377593785937959380593815938259383593845938559386593875938859389593905939159392593935939459395593965939759398593995940059401594025940359404594055940659407594085940959410594115941259413594145941559416594175941859419594205942159422594235942459425594265942759428594295943059431594325943359434594355943659437594385943959440594415944259443594445944559446594475944859449594505945159452594535945459455594565945759458594595946059461594625946359464594655946659467594685946959470594715947259473594745947559476594775947859479594805948159482594835948459485594865948759488594895949059491594925949359494594955949659497594985949959500595015950259503595045950559506595075950859509595105951159512595135951459515595165951759518595195952059521595225952359524595255952659527595285952959530595315953259533595345953559536595375953859539595405954159542595435954459545595465954759548595495955059551595525955359554595555955659557595585955959560595615956259563595645956559566595675956859569595705957159572595735957459575595765957759578595795958059581595825958359584595855958659587595885958959590595915959259593595945959559596595975959859599596005960159602596035960459605596065960759608596095961059611596125961359614596155961659617596185961959620596215962259623596245962559626596275962859629596305963159632596335963459635596365963759638596395964059641596425964359644596455964659647596485964959650596515965259653596545965559656596575965859659596605966159662596635966459665596665966759668596695967059671596725967359674596755967659677596785967959680596815968259683596845968559686596875968859689596905969159692596935969459695596965969759698596995970059701597025970359704597055970659707597085970959710597115971259713597145971559716597175971859719597205972159722597235972459725597265972759728597295973059731597325973359734597355973659737597385973959740597415974259743597445974559746597475974859749597505975159752597535975459755597565975759758597595976059761597625976359764597655976659767597685976959770597715977259773597745977559776597775977859779597805978159782597835978459785597865978759788597895979059791597925979359794597955979659797597985979959800598015980259803598045980559806598075980859809598105981159812598135981459815598165981759818598195982059821598225982359824598255982659827598285982959830598315983259833598345983559836598375983859839598405984159842598435984459845598465984759848598495985059851598525985359854598555985659857598585985959860598615986259863598645986559866598675986859869598705987159872598735987459875598765987759878598795988059881598825988359884598855988659887598885988959890598915989259893598945989559896598975989859899599005990159902599035990459905599065990759908599095991059911599125991359914599155991659917599185991959920599215992259923599245992559926599275992859929599305993159932599335993459935599365993759938599395994059941599425994359944599455994659947599485994959950599515995259953599545995559956599575995859959599605996159962599635996459965599665996759968599695997059971599725997359974599755997659977599785997959980599815998259983599845998559986599875998859989599905999159992599935999459995599965999759998599996000060001600026000360004600056000660007600086000960010600116001260013600146001560016600176001860019600206002160022600236002460025600266002760028600296003060031600326003360034600356003660037600386003960040600416004260043600446004560046600476004860049600506005160052600536005460055600566005760058600596006060061600626006360064600656006660067600686006960070600716007260073600746007560076600776007860079600806008160082600836008460085600866008760088600896009060091600926009360094600956009660097600986009960100601016010260103601046010560106601076010860109601106011160112601136011460115601166011760118601196012060121601226012360124601256012660127601286012960130601316013260133601346013560136601376013860139601406014160142601436014460145601466014760148601496015060151601526015360154601556015660157601586015960160601616016260163601646016560166601676016860169601706017160172601736017460175601766017760178601796018060181601826018360184601856018660187601886018960190601916019260193601946019560196601976019860199602006020160202602036020460205602066020760208602096021060211602126021360214602156021660217602186021960220602216022260223602246022560226602276022860229602306023160232602336023460235602366023760238602396024060241602426024360244602456024660247602486024960250602516025260253602546025560256602576025860259602606026160262602636026460265602666026760268602696027060271602726027360274602756027660277602786027960280602816028260283602846028560286602876028860289602906029160292602936029460295602966029760298602996030060301603026030360304603056030660307603086030960310603116031260313603146031560316603176031860319603206032160322603236032460325603266032760328603296033060331603326033360334603356033660337603386033960340603416034260343603446034560346603476034860349603506035160352603536035460355603566035760358603596036060361603626036360364603656036660367603686036960370603716037260373603746037560376603776037860379603806038160382603836038460385603866038760388603896039060391603926039360394603956039660397603986039960400604016040260403604046040560406604076040860409604106041160412604136041460415604166041760418604196042060421604226042360424604256042660427604286042960430604316043260433604346043560436604376043860439604406044160442604436044460445604466044760448604496045060451604526045360454604556045660457604586045960460604616046260463604646046560466604676046860469604706047160472604736047460475604766047760478604796048060481604826048360484604856048660487604886048960490604916049260493604946049560496604976049860499605006050160502605036050460505605066050760508605096051060511605126051360514605156051660517605186051960520605216052260523605246052560526605276052860529605306053160532605336053460535605366053760538605396054060541605426054360544605456054660547605486054960550605516055260553605546055560556605576055860559605606056160562605636056460565605666056760568605696057060571605726057360574605756057660577605786057960580605816058260583605846058560586605876058860589605906059160592605936059460595605966059760598605996060060601606026060360604606056060660607606086060960610606116061260613606146061560616606176061860619606206062160622606236062460625606266062760628606296063060631606326063360634606356063660637606386063960640606416064260643606446064560646606476064860649606506065160652606536065460655606566065760658606596066060661606626066360664606656066660667606686066960670606716067260673606746067560676606776067860679606806068160682606836068460685606866068760688606896069060691606926069360694606956069660697606986069960700607016070260703607046070560706607076070860709607106071160712607136071460715607166071760718607196072060721607226072360724607256072660727607286072960730607316073260733607346073560736607376073860739607406074160742607436074460745607466074760748607496075060751607526075360754607556075660757607586075960760607616076260763607646076560766607676076860769607706077160772607736077460775607766077760778607796078060781607826078360784607856078660787607886078960790607916079260793607946079560796607976079860799608006080160802608036080460805608066080760808608096081060811608126081360814608156081660817608186081960820608216082260823608246082560826608276082860829608306083160832608336083460835608366083760838608396084060841608426084360844608456084660847608486084960850608516085260853608546085560856608576085860859608606086160862608636086460865608666086760868608696087060871608726087360874608756087660877608786087960880608816088260883608846088560886608876088860889608906089160892608936089460895608966089760898608996090060901609026090360904609056090660907609086090960910609116091260913609146091560916609176091860919609206092160922609236092460925609266092760928609296093060931609326093360934609356093660937609386093960940609416094260943609446094560946609476094860949609506095160952609536095460955609566095760958609596096060961609626096360964609656096660967609686096960970609716097260973609746097560976609776097860979609806098160982609836098460985609866098760988609896099060991609926099360994609956099660997609986099961000610016100261003610046100561006610076100861009610106101161012610136101461015610166101761018610196102061021610226102361024610256102661027610286102961030610316103261033610346103561036610376103861039610406104161042610436104461045610466104761048610496105061051610526105361054610556105661057610586105961060610616106261063610646106561066610676106861069610706107161072610736107461075610766107761078610796108061081610826108361084610856108661087610886108961090610916109261093610946109561096610976109861099611006110161102611036110461105611066110761108611096111061111611126111361114611156111661117611186111961120611216112261123611246112561126611276112861129611306113161132611336113461135611366113761138611396114061141611426114361144611456114661147611486114961150611516115261153611546115561156611576115861159611606116161162611636116461165611666116761168611696117061171611726117361174611756117661177611786117961180611816118261183611846118561186611876118861189611906119161192611936119461195611966119761198611996120061201612026120361204612056120661207612086120961210612116121261213612146121561216612176121861219612206122161222612236122461225612266122761228612296123061231612326123361234612356123661237612386123961240612416124261243612446124561246612476124861249612506125161252612536125461255612566125761258612596126061261612626126361264612656126661267612686126961270612716127261273612746127561276612776127861279612806128161282612836128461285612866128761288612896129061291612926129361294612956129661297612986129961300613016130261303613046130561306613076130861309613106131161312613136131461315613166131761318613196132061321613226132361324613256132661327613286132961330613316133261333613346133561336613376133861339613406134161342613436134461345613466134761348613496135061351613526135361354613556135661357613586135961360613616136261363613646136561366613676136861369613706137161372613736137461375613766137761378613796138061381613826138361384613856138661387613886138961390613916139261393613946139561396613976139861399614006140161402614036140461405614066140761408614096141061411614126141361414614156141661417614186141961420614216142261423614246142561426614276142861429614306143161432614336143461435614366143761438614396144061441614426144361444614456144661447614486144961450614516145261453614546145561456614576145861459614606146161462614636146461465614666146761468614696147061471614726147361474614756147661477614786147961480614816148261483614846148561486614876148861489614906149161492614936149461495614966149761498614996150061501615026150361504615056150661507615086150961510615116151261513615146151561516615176151861519615206152161522615236152461525615266152761528615296153061531615326153361534615356153661537615386153961540615416154261543615446154561546615476154861549615506155161552615536155461555615566155761558615596156061561615626156361564615656156661567615686156961570615716157261573615746157561576615776157861579615806158161582615836158461585615866158761588615896159061591615926159361594615956159661597615986159961600616016160261603616046160561606616076160861609616106161161612616136161461615616166161761618616196162061621616226162361624616256162661627616286162961630616316163261633616346163561636616376163861639616406164161642616436164461645616466164761648616496165061651616526165361654616556165661657616586165961660616616166261663616646166561666616676166861669616706167161672616736167461675616766167761678616796168061681616826168361684616856168661687616886168961690616916169261693616946169561696616976169861699617006170161702617036170461705617066170761708617096171061711617126171361714617156171661717617186171961720617216172261723617246172561726617276172861729617306173161732617336173461735617366173761738617396174061741617426174361744617456174661747617486174961750617516175261753617546175561756617576175861759617606176161762617636176461765617666176761768617696177061771617726177361774617756177661777617786177961780617816178261783617846178561786617876178861789617906179161792617936179461795617966179761798617996180061801618026180361804618056180661807618086180961810618116181261813618146181561816618176181861819618206182161822618236182461825618266182761828618296183061831618326183361834618356183661837618386183961840618416184261843618446184561846618476184861849618506185161852618536185461855618566185761858618596186061861618626186361864618656186661867618686186961870618716187261873618746187561876618776187861879618806188161882618836188461885618866188761888618896189061891618926189361894618956189661897618986189961900619016190261903619046190561906619076190861909619106191161912619136191461915619166191761918619196192061921619226192361924619256192661927619286192961930619316193261933619346193561936619376193861939619406194161942619436194461945619466194761948619496195061951619526195361954619556195661957619586195961960619616196261963619646196561966619676196861969619706197161972619736197461975619766197761978619796198061981619826198361984619856198661987619886198961990619916199261993619946199561996619976199861999620006200162002620036200462005620066200762008620096201062011620126201362014620156201662017620186201962020620216202262023620246202562026620276202862029620306203162032620336203462035620366203762038620396204062041620426204362044620456204662047620486204962050620516205262053620546205562056620576205862059620606206162062620636206462065620666206762068620696207062071620726207362074620756207662077620786207962080620816208262083620846208562086620876208862089620906209162092620936209462095620966209762098620996210062101621026210362104621056210662107621086210962110621116211262113621146211562116621176211862119621206212162122621236212462125621266212762128621296213062131621326213362134621356213662137621386213962140621416214262143621446214562146621476214862149621506215162152621536215462155621566215762158621596216062161621626216362164621656216662167621686216962170621716217262173621746217562176621776217862179621806218162182621836218462185621866218762188621896219062191621926219362194621956219662197621986219962200622016220262203622046220562206622076220862209622106221162212622136221462215622166221762218622196222062221622226222362224622256222662227622286222962230622316223262233622346223562236622376223862239622406224162242622436224462245622466224762248622496225062251622526225362254622556225662257622586225962260622616226262263622646226562266622676226862269622706227162272622736227462275622766227762278622796228062281622826228362284622856228662287622886228962290622916229262293622946229562296622976229862299623006230162302623036230462305623066230762308623096231062311623126231362314623156231662317623186231962320623216232262323623246232562326623276232862329623306233162332623336233462335623366233762338623396234062341623426234362344623456234662347623486234962350623516235262353623546235562356623576235862359623606236162362623636236462365623666236762368623696237062371623726237362374623756237662377623786237962380623816238262383623846238562386623876238862389623906239162392623936239462395623966239762398623996240062401624026240362404624056240662407624086240962410624116241262413624146241562416624176241862419624206242162422624236242462425624266242762428624296243062431624326243362434624356243662437624386243962440624416244262443624446244562446624476244862449624506245162452624536245462455624566245762458624596246062461624626246362464624656246662467624686246962470624716247262473624746247562476624776247862479624806248162482624836248462485624866248762488624896249062491624926249362494624956249662497624986249962500625016250262503625046250562506625076250862509625106251162512625136251462515625166251762518625196252062521625226252362524625256252662527625286252962530625316253262533625346253562536625376253862539625406254162542625436254462545625466254762548625496255062551625526255362554625556255662557625586255962560625616256262563625646256562566625676256862569625706257162572625736257462575625766257762578625796258062581625826258362584625856258662587625886258962590625916259262593625946259562596625976259862599626006260162602626036260462605626066260762608626096261062611626126261362614626156261662617626186261962620626216262262623626246262562626626276262862629626306263162632626336263462635626366263762638626396264062641626426264362644626456264662647626486264962650626516265262653626546265562656626576265862659626606266162662626636266462665626666266762668626696267062671626726267362674626756267662677626786267962680626816268262683626846268562686626876268862689626906269162692626936269462695626966269762698626996270062701627026270362704627056270662707627086270962710627116271262713627146271562716627176271862719627206272162722627236272462725627266272762728627296273062731627326273362734627356273662737627386273962740627416274262743627446274562746627476274862749627506275162752627536275462755627566275762758627596276062761627626276362764627656276662767627686276962770627716277262773627746277562776627776277862779627806278162782627836278462785627866278762788627896279062791627926279362794627956279662797627986279962800628016280262803628046280562806628076280862809628106281162812628136281462815628166281762818628196282062821628226282362824628256282662827628286282962830628316283262833628346283562836628376283862839628406284162842628436284462845628466284762848628496285062851628526285362854628556285662857628586285962860628616286262863628646286562866628676286862869628706287162872628736287462875628766287762878628796288062881628826288362884628856288662887628886288962890628916289262893628946289562896628976289862899629006290162902629036290462905629066290762908629096291062911629126291362914629156291662917629186291962920629216292262923629246292562926629276292862929629306293162932629336293462935629366293762938629396294062941629426294362944629456294662947629486294962950629516295262953629546295562956629576295862959629606296162962629636296462965629666296762968629696297062971629726297362974629756297662977629786297962980629816298262983629846298562986629876298862989629906299162992629936299462995629966299762998629996300063001630026300363004630056300663007630086300963010630116301263013630146301563016630176301863019630206302163022630236302463025630266302763028630296303063031630326303363034630356303663037630386303963040630416304263043630446304563046630476304863049630506305163052630536305463055630566305763058630596306063061630626306363064630656306663067630686306963070630716307263073630746307563076630776307863079630806308163082630836308463085630866308763088630896309063091630926309363094630956309663097630986309963100631016310263103631046310563106631076310863109631106311163112631136311463115631166311763118631196312063121631226312363124631256312663127631286312963130631316313263133631346313563136631376313863139631406314163142631436314463145631466314763148631496315063151631526315363154631556315663157631586315963160631616316263163631646316563166631676316863169631706317163172631736317463175631766317763178631796318063181631826318363184631856318663187631886318963190631916319263193631946319563196631976319863199632006320163202632036320463205632066320763208632096321063211632126321363214632156321663217632186321963220632216322263223632246322563226632276322863229632306323163232632336323463235632366323763238632396324063241632426324363244632456324663247632486324963250632516325263253632546325563256632576325863259632606326163262632636326463265632666326763268632696327063271632726327363274632756327663277632786327963280632816328263283632846328563286632876328863289632906329163292632936329463295632966329763298632996330063301633026330363304633056330663307633086330963310633116331263313633146331563316633176331863319633206332163322633236332463325633266332763328633296333063331633326333363334633356333663337633386333963340633416334263343633446334563346633476334863349633506335163352633536335463355633566335763358633596336063361633626336363364633656336663367633686336963370633716337263373633746337563376633776337863379633806338163382633836338463385633866338763388633896339063391633926339363394633956339663397633986339963400634016340263403634046340563406634076340863409634106341163412634136341463415634166341763418634196342063421634226342363424634256342663427634286342963430634316343263433634346343563436634376343863439634406344163442634436344463445634466344763448634496345063451634526345363454634556345663457634586345963460634616346263463634646346563466634676346863469634706347163472634736347463475634766347763478634796348063481634826348363484634856348663487634886348963490634916349263493634946349563496634976349863499635006350163502635036350463505635066350763508635096351063511635126351363514635156351663517635186351963520635216352263523635246352563526635276352863529635306353163532635336353463535635366353763538635396354063541635426354363544635456354663547635486354963550635516355263553635546355563556635576355863559635606356163562635636356463565635666356763568635696357063571635726357363574635756357663577635786357963580635816358263583635846358563586635876358863589635906359163592635936359463595635966359763598635996360063601636026360363604636056360663607636086360963610636116361263613636146361563616636176361863619636206362163622636236362463625636266362763628636296363063631636326363363634636356363663637636386363963640636416364263643636446364563646636476364863649636506365163652636536365463655636566365763658636596366063661636626366363664636656366663667636686366963670636716367263673636746367563676636776367863679636806368163682636836368463685636866368763688636896369063691636926369363694636956369663697636986369963700637016370263703637046370563706637076370863709637106371163712637136371463715637166371763718637196372063721637226372363724637256372663727637286372963730637316373263733637346373563736637376373863739637406374163742637436374463745637466374763748637496375063751637526375363754637556375663757637586375963760637616376263763637646376563766637676376863769637706377163772637736377463775637766377763778637796378063781637826378363784637856378663787637886378963790637916379263793637946379563796637976379863799638006380163802638036380463805638066380763808638096381063811638126381363814638156381663817638186381963820638216382263823638246382563826638276382863829638306383163832638336383463835638366383763838638396384063841638426384363844638456384663847638486384963850638516385263853638546385563856638576385863859638606386163862638636386463865638666386763868638696387063871638726387363874638756387663877638786387963880638816388263883638846388563886638876388863889638906389163892638936389463895638966389763898638996390063901639026390363904639056390663907639086390963910639116391263913639146391563916639176391863919639206392163922639236392463925639266392763928639296393063931639326393363934639356393663937639386393963940639416394263943639446394563946639476394863949639506395163952639536395463955639566395763958639596396063961639626396363964639656396663967639686396963970639716397263973639746397563976639776397863979639806398163982639836398463985639866398763988639896399063991639926399363994639956399663997639986399964000640016400264003640046400564006640076400864009640106401164012640136401464015640166401764018640196402064021640226402364024640256402664027640286402964030640316403264033640346403564036640376403864039640406404164042640436404464045640466404764048640496405064051640526405364054640556405664057640586405964060640616406264063640646406564066640676406864069640706407164072640736407464075640766407764078640796408064081640826408364084640856408664087640886408964090640916409264093640946409564096640976409864099641006410164102641036410464105641066410764108641096411064111641126411364114641156411664117641186411964120641216412264123641246412564126641276412864129641306413164132641336413464135641366413764138641396414064141641426414364144641456414664147641486414964150641516415264153641546415564156641576415864159641606416164162641636416464165641666416764168641696417064171641726417364174641756417664177641786417964180641816418264183641846418564186641876418864189641906419164192641936419464195641966419764198641996420064201642026420364204642056420664207642086420964210642116421264213642146421564216642176421864219642206422164222642236422464225642266422764228642296423064231642326423364234642356423664237642386423964240642416424264243642446424564246642476424864249642506425164252642536425464255642566425764258642596426064261642626426364264642656426664267642686426964270642716427264273642746427564276642776427864279642806428164282642836428464285642866428764288642896429064291642926429364294642956429664297642986429964300643016430264303643046430564306643076430864309643106431164312643136431464315643166431764318643196432064321643226432364324643256432664327643286432964330643316433264333643346433564336643376433864339643406434164342643436434464345643466434764348643496435064351643526435364354643556435664357643586435964360643616436264363643646436564366643676436864369643706437164372643736437464375643766437764378643796438064381643826438364384643856438664387643886438964390643916439264393643946439564396643976439864399644006440164402644036440464405644066440764408644096441064411644126441364414644156441664417644186441964420644216442264423644246442564426644276442864429644306443164432644336443464435644366443764438644396444064441644426444364444644456444664447644486444964450644516445264453644546445564456644576445864459644606446164462644636446464465644666446764468644696447064471644726447364474644756447664477644786447964480644816448264483644846448564486644876448864489644906449164492644936449464495644966449764498644996450064501645026450364504645056450664507645086450964510645116451264513645146451564516645176451864519645206452164522645236452464525645266452764528645296453064531645326453364534645356453664537645386453964540645416454264543645446454564546645476454864549645506455164552645536455464555645566455764558645596456064561645626456364564645656456664567645686456964570645716457264573645746457564576645776457864579645806458164582645836458464585645866458764588645896459064591645926459364594645956459664597645986459964600646016460264603646046460564606646076460864609646106461164612646136461464615646166461764618646196462064621646226462364624646256462664627646286462964630646316463264633646346463564636646376463864639646406464164642646436464464645646466464764648646496465064651646526465364654646556465664657646586465964660646616466264663646646466564666646676466864669646706467164672646736467464675646766467764678646796468064681646826468364684646856468664687646886468964690646916469264693646946469564696646976469864699647006470164702647036470464705647066470764708647096471064711647126471364714647156471664717647186471964720647216472264723647246472564726647276472864729647306473164732647336473464735647366473764738647396474064741647426474364744647456474664747647486474964750647516475264753647546475564756647576475864759647606476164762647636476464765647666476764768647696477064771647726477364774647756477664777647786477964780647816478264783647846478564786647876478864789647906479164792647936479464795647966479764798647996480064801648026480364804648056480664807648086480964810648116481264813648146481564816648176481864819648206482164822648236482464825648266482764828648296483064831648326483364834648356483664837648386483964840648416484264843648446484564846648476484864849648506485164852648536485464855648566485764858648596486064861648626486364864648656486664867648686486964870648716487264873648746487564876648776487864879648806488164882648836488464885648866488764888648896489064891648926489364894648956489664897648986489964900649016490264903649046490564906649076490864909649106491164912649136491464915649166491764918649196492064921649226492364924649256492664927649286492964930649316493264933649346493564936649376493864939649406494164942649436494464945649466494764948649496495064951649526495364954649556495664957649586495964960649616496264963649646496564966649676496864969649706497164972649736497464975649766497764978649796498064981649826498364984649856498664987649886498964990649916499264993649946499564996649976499864999650006500165002650036500465005650066500765008650096501065011650126501365014650156501665017650186501965020650216502265023650246502565026650276502865029650306503165032650336503465035650366503765038650396504065041650426504365044650456504665047650486504965050650516505265053650546505565056650576505865059650606506165062650636506465065650666506765068650696507065071650726507365074650756507665077650786507965080650816508265083650846508565086650876508865089650906509165092650936509465095650966509765098650996510065101651026510365104651056510665107651086510965110651116511265113651146511565116651176511865119651206512165122651236512465125651266512765128651296513065131651326513365134651356513665137651386513965140651416514265143651446514565146651476514865149651506515165152651536515465155651566515765158651596516065161651626516365164651656516665167651686516965170651716517265173651746517565176651776517865179651806518165182651836518465185651866518765188651896519065191651926519365194651956519665197651986519965200652016520265203652046520565206652076520865209652106521165212652136521465215652166521765218652196522065221652226522365224652256522665227652286522965230652316523265233652346523565236652376523865239652406524165242652436524465245652466524765248652496525065251652526525365254652556525665257652586525965260652616526265263652646526565266652676526865269652706527165272652736527465275652766527765278652796528065281652826528365284652856528665287652886528965290652916529265293652946529565296652976529865299653006530165302653036530465305653066530765308653096531065311653126531365314653156531665317653186531965320653216532265323653246532565326653276532865329653306533165332653336533465335653366533765338653396534065341653426534365344653456534665347653486534965350653516535265353653546535565356653576535865359653606536165362653636536465365653666536765368653696537065371653726537365374653756537665377653786537965380653816538265383653846538565386653876538865389653906539165392653936539465395653966539765398653996540065401654026540365404654056540665407654086540965410654116541265413654146541565416654176541865419654206542165422654236542465425654266542765428654296543065431654326543365434654356543665437654386543965440654416544265443654446544565446654476544865449654506545165452654536545465455654566545765458654596546065461654626546365464654656546665467654686546965470654716547265473654746547565476654776547865479654806548165482654836548465485654866548765488654896549065491654926549365494654956549665497654986549965500655016550265503655046550565506655076550865509655106551165512655136551465515655166551765518655196552065521655226552365524655256552665527655286552965530655316553265533655346553565536655376553865539655406554165542655436554465545655466554765548655496555065551655526555365554655556555665557655586555965560655616556265563655646556565566655676556865569655706557165572655736557465575655766557765578655796558065581655826558365584655856558665587655886558965590655916559265593655946559565596655976559865599656006560165602656036560465605656066560765608656096561065611656126561365614656156561665617656186561965620656216562265623656246562565626656276562865629656306563165632656336563465635656366563765638656396564065641656426564365644656456564665647656486564965650656516565265653656546565565656656576565865659656606566165662656636566465665656666566765668656696567065671656726567365674656756567665677656786567965680656816568265683656846568565686656876568865689656906569165692656936569465695656966569765698656996570065701657026570365704657056570665707657086570965710657116571265713657146571565716657176571865719657206572165722657236572465725657266572765728657296573065731657326573365734657356573665737657386573965740657416574265743657446574565746657476574865749657506575165752657536575465755657566575765758657596576065761657626576365764657656576665767657686576965770657716577265773657746577565776657776577865779657806578165782657836578465785657866578765788657896579065791657926579365794657956579665797657986579965800658016580265803658046580565806658076580865809658106581165812658136581465815658166581765818658196582065821658226582365824658256582665827658286582965830658316583265833658346583565836658376583865839658406584165842658436584465845658466584765848658496585065851658526585365854658556585665857658586585965860658616586265863658646586565866658676586865869658706587165872658736587465875658766587765878658796588065881658826588365884658856588665887658886588965890658916589265893658946589565896658976589865899659006590165902659036590465905659066590765908659096591065911659126591365914659156591665917659186591965920659216592265923659246592565926659276592865929659306593165932659336593465935659366593765938659396594065941659426594365944659456594665947659486594965950659516595265953659546595565956659576595865959659606596165962659636596465965659666596765968659696597065971659726597365974659756597665977659786597965980659816598265983659846598565986659876598865989659906599165992659936599465995659966599765998659996600066001660026600366004660056600666007660086600966010660116601266013660146601566016660176601866019660206602166022660236602466025660266602766028660296603066031660326603366034660356603666037660386603966040660416604266043660446604566046660476604866049660506605166052660536605466055660566605766058660596606066061660626606366064660656606666067660686606966070660716607266073660746607566076660776607866079660806608166082660836608466085660866608766088660896609066091660926609366094660956609666097660986609966100661016610266103661046610566106661076610866109661106611166112661136611466115661166611766118661196612066121661226612366124661256612666127661286612966130661316613266133661346613566136661376613866139661406614166142661436614466145661466614766148661496615066151661526615366154661556615666157661586615966160661616616266163661646616566166661676616866169661706617166172661736617466175661766617766178661796618066181661826618366184661856618666187661886618966190661916619266193661946619566196661976619866199662006620166202662036620466205662066620766208662096621066211662126621366214662156621666217662186621966220662216622266223662246622566226662276622866229662306623166232662336623466235662366623766238662396624066241662426624366244662456624666247662486624966250662516625266253662546625566256662576625866259662606626166262662636626466265662666626766268662696627066271662726627366274662756627666277662786627966280662816628266283662846628566286662876628866289662906629166292662936629466295662966629766298662996630066301663026630366304663056630666307663086630966310663116631266313663146631566316663176631866319663206632166322663236632466325663266632766328663296633066331663326633366334663356633666337663386633966340663416634266343663446634566346663476634866349663506635166352663536635466355663566635766358663596636066361663626636366364663656636666367663686636966370663716637266373663746637566376663776637866379663806638166382663836638466385663866638766388663896639066391663926639366394663956639666397663986639966400664016640266403664046640566406664076640866409664106641166412664136641466415664166641766418664196642066421664226642366424664256642666427664286642966430664316643266433664346643566436664376643866439664406644166442664436644466445664466644766448664496645066451664526645366454664556645666457664586645966460664616646266463664646646566466664676646866469664706647166472664736647466475664766647766478664796648066481664826648366484664856648666487664886648966490664916649266493664946649566496664976649866499665006650166502665036650466505665066650766508665096651066511665126651366514665156651666517665186651966520665216652266523665246652566526665276652866529665306653166532665336653466535665366653766538665396654066541665426654366544665456654666547665486654966550665516655266553665546655566556665576655866559665606656166562665636656466565665666656766568665696657066571665726657366574665756657666577665786657966580665816658266583665846658566586665876658866589665906659166592665936659466595665966659766598665996660066601666026660366604666056660666607666086660966610666116661266613666146661566616666176661866619666206662166622666236662466625666266662766628666296663066631666326663366634666356663666637666386663966640666416664266643666446664566646666476664866649666506665166652666536665466655666566665766658666596666066661666626666366664666656666666667666686666966670666716667266673666746667566676666776667866679666806668166682666836668466685666866668766688666896669066691666926669366694666956669666697666986669966700667016670266703667046670566706667076670866709667106671166712667136671466715667166671766718667196672066721667226672366724667256672666727667286672966730667316673266733667346673566736667376673866739667406674166742667436674466745667466674766748667496675066751667526675366754667556675666757667586675966760667616676266763667646676566766667676676866769667706677166772667736677466775667766677766778667796678066781667826678366784667856678666787667886678966790667916679266793667946679566796667976679866799668006680166802668036680466805668066680766808668096681066811668126681366814668156681666817668186681966820668216682266823668246682566826668276682866829668306683166832668336683466835668366683766838668396684066841668426684366844668456684666847668486684966850668516685266853668546685566856668576685866859668606686166862668636686466865668666686766868668696687066871668726687366874668756687666877668786687966880668816688266883668846688566886668876688866889668906689166892668936689466895668966689766898668996690066901669026690366904669056690666907669086690966910669116691266913669146691566916669176691866919669206692166922669236692466925669266692766928669296693066931669326693366934669356693666937669386693966940669416694266943669446694566946669476694866949669506695166952669536695466955669566695766958669596696066961669626696366964669656696666967669686696966970669716697266973669746697566976669776697866979669806698166982669836698466985669866698766988669896699066991669926699366994669956699666997669986699967000670016700267003670046700567006670076700867009670106701167012670136701467015670166701767018670196702067021670226702367024670256702667027670286702967030670316703267033670346703567036670376703867039670406704167042670436704467045670466704767048670496705067051670526705367054670556705667057670586705967060670616706267063670646706567066670676706867069670706707167072670736707467075670766707767078670796708067081670826708367084670856708667087670886708967090670916709267093670946709567096670976709867099671006710167102671036710467105671066710767108671096711067111671126711367114671156711667117671186711967120671216712267123671246712567126671276712867129671306713167132671336713467135671366713767138671396714067141671426714367144671456714667147671486714967150671516715267153671546715567156671576715867159671606716167162671636716467165671666716767168671696717067171671726717367174671756717667177671786717967180671816718267183671846718567186671876718867189671906719167192671936719467195671966719767198671996720067201672026720367204672056720667207672086720967210672116721267213672146721567216672176721867219672206722167222672236722467225672266722767228672296723067231672326723367234672356723667237672386723967240672416724267243672446724567246672476724867249672506725167252672536725467255672566725767258672596726067261672626726367264672656726667267672686726967270672716727267273672746727567276672776727867279672806728167282672836728467285672866728767288672896729067291672926729367294672956729667297672986729967300673016730267303673046730567306673076730867309673106731167312673136731467315673166731767318673196732067321673226732367324673256732667327673286732967330673316733267333673346733567336673376733867339673406734167342673436734467345673466734767348673496735067351673526735367354673556735667357673586735967360673616736267363673646736567366673676736867369673706737167372673736737467375673766737767378673796738067381673826738367384673856738667387673886738967390673916739267393673946739567396673976739867399674006740167402674036740467405674066740767408674096741067411674126741367414674156741667417674186741967420674216742267423674246742567426674276742867429674306743167432674336743467435674366743767438674396744067441674426744367444674456744667447674486744967450674516745267453674546745567456674576745867459674606746167462674636746467465674666746767468674696747067471674726747367474674756747667477674786747967480674816748267483674846748567486674876748867489674906749167492674936749467495674966749767498674996750067501675026750367504675056750667507675086750967510675116751267513675146751567516675176751867519675206752167522675236752467525675266752767528675296753067531675326753367534675356753667537675386753967540675416754267543675446754567546675476754867549675506755167552675536755467555675566755767558675596756067561675626756367564675656756667567675686756967570675716757267573675746757567576675776757867579675806758167582675836758467585675866758767588675896759067591675926759367594675956759667597675986759967600676016760267603676046760567606676076760867609676106761167612676136761467615676166761767618676196762067621676226762367624676256762667627676286762967630676316763267633676346763567636676376763867639676406764167642676436764467645676466764767648676496765067651676526765367654676556765667657676586765967660676616766267663676646766567666676676766867669676706767167672676736767467675676766767767678676796768067681676826768367684676856768667687676886768967690676916769267693676946769567696676976769867699677006770167702677036770467705677066770767708677096771067711677126771367714677156771667717677186771967720677216772267723677246772567726677276772867729677306773167732677336773467735677366773767738677396774067741677426774367744677456774667747677486774967750677516775267753677546775567756677576775867759677606776167762677636776467765677666776767768677696777067771677726777367774677756777667777677786777967780677816778267783677846778567786677876778867789677906779167792677936779467795677966779767798677996780067801678026780367804678056780667807678086780967810678116781267813678146781567816678176781867819678206782167822678236782467825678266782767828678296783067831678326783367834678356783667837678386783967840678416784267843678446784567846678476784867849678506785167852678536785467855678566785767858678596786067861678626786367864678656786667867678686786967870678716787267873678746787567876678776787867879678806788167882678836788467885678866788767888678896789067891678926789367894678956789667897678986789967900679016790267903679046790567906679076790867909679106791167912679136791467915679166791767918679196792067921679226792367924679256792667927679286792967930679316793267933679346793567936679376793867939679406794167942679436794467945679466794767948679496795067951679526795367954679556795667957679586795967960679616796267963679646796567966679676796867969679706797167972679736797467975679766797767978679796798067981679826798367984679856798667987679886798967990679916799267993679946799567996679976799867999680006800168002680036800468005680066800768008680096801068011680126801368014680156801668017680186801968020680216802268023680246802568026680276802868029680306803168032680336803468035680366803768038680396804068041680426804368044680456804668047680486804968050680516805268053680546805568056680576805868059680606806168062680636806468065680666806768068680696807068071680726807368074680756807668077680786807968080680816808268083680846808568086680876808868089680906809168092680936809468095680966809768098680996810068101681026810368104681056810668107681086810968110681116811268113681146811568116681176811868119681206812168122681236812468125681266812768128681296813068131681326813368134681356813668137681386813968140681416814268143681446814568146681476814868149681506815168152681536815468155681566815768158681596816068161681626816368164681656816668167681686816968170681716817268173681746817568176681776817868179681806818168182681836818468185681866818768188681896819068191681926819368194681956819668197681986819968200682016820268203682046820568206682076820868209682106821168212682136821468215682166821768218682196822068221682226822368224682256822668227682286822968230682316823268233682346823568236682376823868239682406824168242682436824468245682466824768248682496825068251682526825368254682556825668257682586825968260682616826268263682646826568266682676826868269682706827168272682736827468275682766827768278682796828068281682826828368284682856828668287682886828968290682916829268293682946829568296682976829868299683006830168302683036830468305683066830768308683096831068311683126831368314683156831668317683186831968320683216832268323683246832568326683276832868329683306833168332683336833468335683366833768338683396834068341683426834368344683456834668347683486834968350683516835268353683546835568356683576835868359683606836168362683636836468365683666836768368683696837068371683726837368374683756837668377683786837968380683816838268383683846838568386683876838868389683906839168392683936839468395683966839768398683996840068401684026840368404684056840668407684086840968410684116841268413684146841568416684176841868419684206842168422684236842468425684266842768428684296843068431684326843368434684356843668437684386843968440684416844268443684446844568446684476844868449684506845168452684536845468455684566845768458684596846068461684626846368464684656846668467684686846968470684716847268473684746847568476684776847868479684806848168482684836848468485684866848768488684896849068491684926849368494684956849668497684986849968500685016850268503685046850568506685076850868509685106851168512685136851468515685166851768518685196852068521685226852368524685256852668527685286852968530685316853268533685346853568536685376853868539685406854168542685436854468545685466854768548685496855068551685526855368554685556855668557685586855968560685616856268563685646856568566685676856868569685706857168572685736857468575685766857768578685796858068581685826858368584685856858668587685886858968590685916859268593685946859568596685976859868599686006860168602686036860468605686066860768608686096861068611686126861368614686156861668617686186861968620686216862268623686246862568626686276862868629686306863168632686336863468635686366863768638686396864068641686426864368644686456864668647686486864968650686516865268653686546865568656686576865868659686606866168662686636866468665686666866768668686696867068671686726867368674686756867668677686786867968680686816868268683686846868568686686876868868689686906869168692686936869468695686966869768698686996870068701687026870368704687056870668707687086870968710687116871268713687146871568716687176871868719687206872168722687236872468725687266872768728687296873068731687326873368734687356873668737687386873968740687416874268743687446874568746687476874868749687506875168752687536875468755687566875768758687596876068761687626876368764687656876668767687686876968770687716877268773687746877568776687776877868779687806878168782687836878468785687866878768788687896879068791687926879368794687956879668797687986879968800688016880268803688046880568806688076880868809688106881168812688136881468815688166881768818688196882068821688226882368824688256882668827688286882968830688316883268833688346883568836688376883868839688406884168842688436884468845688466884768848688496885068851688526885368854688556885668857688586885968860688616886268863688646886568866688676886868869688706887168872688736887468875688766887768878688796888068881688826888368884688856888668887688886888968890688916889268893688946889568896688976889868899689006890168902689036890468905689066890768908689096891068911689126891368914689156891668917689186891968920689216892268923689246892568926689276892868929689306893168932689336893468935689366893768938689396894068941689426894368944689456894668947689486894968950689516895268953689546895568956689576895868959689606896168962689636896468965689666896768968689696897068971689726897368974689756897668977689786897968980689816898268983689846898568986689876898868989689906899168992689936899468995689966899768998689996900069001690026900369004690056900669007690086900969010690116901269013690146901569016690176901869019690206902169022690236902469025690266902769028690296903069031690326903369034690356903669037690386903969040690416904269043690446904569046690476904869049690506905169052690536905469055690566905769058690596906069061690626906369064690656906669067690686906969070690716907269073690746907569076690776907869079690806908169082690836908469085690866908769088690896909069091690926909369094690956909669097690986909969100691016910269103691046910569106691076910869109691106911169112691136911469115691166911769118691196912069121691226912369124691256912669127691286912969130691316913269133691346913569136691376913869139691406914169142691436914469145691466914769148691496915069151691526915369154691556915669157691586915969160691616916269163691646916569166691676916869169691706917169172691736917469175691766917769178691796918069181691826918369184691856918669187691886918969190691916919269193691946919569196691976919869199692006920169202692036920469205692066920769208692096921069211692126921369214692156921669217692186921969220692216922269223692246922569226692276922869229692306923169232692336923469235692366923769238692396924069241692426924369244692456924669247692486924969250692516925269253692546925569256692576925869259692606926169262692636926469265692666926769268692696927069271692726927369274692756927669277692786927969280692816928269283692846928569286692876928869289692906929169292692936929469295692966929769298692996930069301693026930369304693056930669307693086930969310693116931269313693146931569316693176931869319693206932169322693236932469325693266932769328693296933069331693326933369334693356933669337693386933969340693416934269343693446934569346693476934869349693506935169352693536935469355693566935769358693596936069361693626936369364693656936669367693686936969370693716937269373693746937569376693776937869379693806938169382693836938469385693866938769388693896939069391693926939369394693956939669397693986939969400694016940269403694046940569406694076940869409694106941169412694136941469415694166941769418694196942069421694226942369424694256942669427694286942969430694316943269433694346943569436694376943869439694406944169442694436944469445694466944769448694496945069451694526945369454694556945669457694586945969460694616946269463694646946569466694676946869469694706947169472694736947469475694766947769478694796948069481694826948369484694856948669487694886948969490694916949269493694946949569496694976949869499695006950169502695036950469505695066950769508695096951069511695126951369514695156951669517695186951969520695216952269523695246952569526695276952869529695306953169532695336953469535695366953769538695396954069541695426954369544695456954669547695486954969550695516955269553695546955569556695576955869559695606956169562695636956469565695666956769568695696957069571695726957369574695756957669577695786957969580695816958269583695846958569586695876958869589695906959169592695936959469595695966959769598695996960069601696026960369604696056960669607696086960969610696116961269613696146961569616696176961869619696206962169622696236962469625696266962769628696296963069631696326963369634696356963669637696386963969640696416964269643696446964569646696476964869649696506965169652696536965469655696566965769658696596966069661696626966369664696656966669667696686966969670696716967269673696746967569676696776967869679696806968169682696836968469685696866968769688696896969069691696926969369694696956969669697696986969969700697016970269703697046970569706697076970869709697106971169712697136971469715697166971769718697196972069721697226972369724697256972669727697286972969730697316973269733697346973569736697376973869739697406974169742697436974469745697466974769748697496975069751697526975369754697556975669757697586975969760697616976269763697646976569766697676976869769697706977169772697736977469775697766977769778697796978069781697826978369784697856978669787697886978969790697916979269793697946979569796697976979869799698006980169802698036980469805698066980769808698096981069811698126981369814698156981669817698186981969820698216982269823698246982569826698276982869829698306983169832698336983469835698366983769838698396984069841698426984369844698456984669847698486984969850698516985269853698546985569856698576985869859698606986169862698636986469865698666986769868698696987069871698726987369874698756987669877698786987969880698816988269883698846988569886698876988869889698906989169892698936989469895698966989769898698996990069901699026990369904699056990669907699086990969910699116991269913699146991569916699176991869919699206992169922699236992469925699266992769928699296993069931699326993369934699356993669937699386993969940699416994269943699446994569946699476994869949699506995169952699536995469955699566995769958699596996069961699626996369964699656996669967699686996969970699716997269973699746997569976699776997869979699806998169982699836998469985699866998769988699896999069991699926999369994699956999669997699986999970000700017000270003700047000570006700077000870009700107001170012700137001470015700167001770018700197002070021700227002370024700257002670027700287002970030700317003270033700347003570036700377003870039700407004170042700437004470045700467004770048700497005070051700527005370054700557005670057700587005970060700617006270063700647006570066700677006870069700707007170072700737007470075700767007770078700797008070081700827008370084700857008670087700887008970090700917009270093700947009570096700977009870099701007010170102701037010470105701067010770108701097011070111701127011370114701157011670117701187011970120701217012270123701247012570126701277012870129701307013170132701337013470135701367013770138701397014070141701427014370144701457014670147701487014970150701517015270153701547015570156701577015870159701607016170162701637016470165701667016770168701697017070171701727017370174701757017670177701787017970180701817018270183701847018570186701877018870189701907019170192701937019470195701967019770198701997020070201702027020370204702057020670207702087020970210702117021270213702147021570216702177021870219702207022170222702237022470225702267022770228702297023070231702327023370234702357023670237702387023970240702417024270243702447024570246702477024870249702507025170252702537025470255702567025770258702597026070261702627026370264702657026670267702687026970270702717027270273702747027570276702777027870279702807028170282702837028470285702867028770288702897029070291702927029370294702957029670297702987029970300703017030270303703047030570306703077030870309703107031170312703137031470315703167031770318703197032070321703227032370324703257032670327703287032970330703317033270333703347033570336703377033870339703407034170342703437034470345703467034770348703497035070351703527035370354703557035670357703587035970360703617036270363703647036570366703677036870369703707037170372703737037470375703767037770378703797038070381703827038370384703857038670387703887038970390703917039270393703947039570396703977039870399704007040170402704037040470405704067040770408704097041070411704127041370414704157041670417704187041970420704217042270423704247042570426704277042870429704307043170432704337043470435704367043770438704397044070441704427044370444704457044670447704487044970450704517045270453704547045570456704577045870459704607046170462704637046470465704667046770468704697047070471704727047370474704757047670477704787047970480704817048270483704847048570486704877048870489704907049170492704937049470495704967049770498704997050070501705027050370504705057050670507705087050970510705117051270513705147051570516705177051870519705207052170522705237052470525705267052770528705297053070531705327053370534705357053670537705387053970540705417054270543705447054570546705477054870549705507055170552705537055470555705567055770558705597056070561705627056370564705657056670567705687056970570705717057270573705747057570576705777057870579705807058170582705837058470585705867058770588705897059070591705927059370594705957059670597705987059970600706017060270603706047060570606706077060870609706107061170612706137061470615706167061770618706197062070621706227062370624706257062670627706287062970630706317063270633706347063570636706377063870639706407064170642706437064470645706467064770648706497065070651706527065370654706557065670657706587065970660706617066270663706647066570666706677066870669706707067170672706737067470675706767067770678706797068070681706827068370684706857068670687706887068970690706917069270693706947069570696706977069870699707007070170702707037070470705707067070770708707097071070711707127071370714707157071670717707187071970720707217072270723707247072570726707277072870729707307073170732707337073470735707367073770738707397074070741707427074370744707457074670747707487074970750707517075270753707547075570756707577075870759707607076170762707637076470765707667076770768707697077070771707727077370774707757077670777707787077970780707817078270783707847078570786707877078870789707907079170792707937079470795707967079770798707997080070801708027080370804708057080670807708087080970810708117081270813708147081570816708177081870819708207082170822708237082470825708267082770828708297083070831708327083370834708357083670837708387083970840708417084270843708447084570846708477084870849708507085170852708537085470855708567085770858708597086070861708627086370864708657086670867708687086970870708717087270873708747087570876708777087870879708807088170882708837088470885708867088770888708897089070891708927089370894708957089670897708987089970900709017090270903709047090570906709077090870909709107091170912709137091470915709167091770918709197092070921709227092370924709257092670927709287092970930709317093270933709347093570936709377093870939709407094170942709437094470945709467094770948709497095070951709527095370954709557095670957709587095970960709617096270963709647096570966709677096870969709707097170972709737097470975709767097770978709797098070981709827098370984709857098670987709887098970990709917099270993709947099570996709977099870999710007100171002710037100471005710067100771008710097101071011710127101371014710157101671017710187101971020710217102271023710247102571026710277102871029710307103171032710337103471035710367103771038710397104071041710427104371044710457104671047710487104971050710517105271053710547105571056710577105871059710607106171062710637106471065710667106771068710697107071071710727107371074710757107671077710787107971080710817108271083710847108571086710877108871089710907109171092710937109471095710967109771098710997110071101711027110371104711057110671107711087110971110711117111271113711147111571116711177111871119711207112171122711237112471125711267112771128711297113071131711327113371134711357113671137711387113971140711417114271143711447114571146711477114871149711507115171152711537115471155711567115771158711597116071161711627116371164711657116671167711687116971170711717117271173711747117571176711777117871179711807118171182711837118471185711867118771188711897119071191711927119371194711957119671197711987119971200712017120271203712047120571206712077120871209712107121171212712137121471215712167121771218712197122071221712227122371224712257122671227712287122971230712317123271233712347123571236712377123871239712407124171242712437124471245712467124771248712497125071251712527125371254712557125671257712587125971260712617126271263712647126571266712677126871269712707127171272712737127471275712767127771278712797128071281712827128371284712857128671287712887128971290712917129271293712947129571296712977129871299713007130171302713037130471305713067130771308713097131071311713127131371314713157131671317713187131971320713217132271323713247132571326713277132871329713307133171332713337133471335713367133771338713397134071341713427134371344713457134671347713487134971350713517135271353713547135571356713577135871359713607136171362713637136471365713667136771368713697137071371713727137371374713757137671377713787137971380713817138271383713847138571386713877138871389713907139171392713937139471395713967139771398713997140071401714027140371404714057140671407714087140971410714117141271413714147141571416714177141871419714207142171422714237142471425714267142771428714297143071431714327143371434714357143671437714387143971440714417144271443714447144571446714477144871449714507145171452714537145471455714567145771458714597146071461714627146371464714657146671467714687146971470714717147271473714747147571476714777147871479714807148171482714837148471485714867148771488714897149071491714927149371494714957149671497714987149971500715017150271503715047150571506715077150871509715107151171512715137151471515715167151771518715197152071521715227152371524715257152671527715287152971530715317153271533715347153571536715377153871539715407154171542715437154471545715467154771548715497155071551715527155371554715557155671557715587155971560715617156271563715647156571566715677156871569715707157171572715737157471575715767157771578715797158071581715827158371584715857158671587715887158971590715917159271593715947159571596715977159871599716007160171602716037160471605716067160771608716097161071611716127161371614716157161671617716187161971620716217162271623716247162571626716277162871629716307163171632716337163471635716367163771638716397164071641716427164371644716457164671647716487164971650716517165271653716547165571656716577165871659716607166171662716637166471665716667166771668716697167071671716727167371674716757167671677716787167971680716817168271683716847168571686716877168871689716907169171692716937169471695716967169771698716997170071701717027170371704717057170671707717087170971710717117171271713717147171571716717177171871719717207172171722717237172471725717267172771728717297173071731717327173371734717357173671737717387173971740717417174271743717447174571746717477174871749717507175171752717537175471755717567175771758717597176071761717627176371764717657176671767717687176971770717717177271773717747177571776717777177871779717807178171782717837178471785717867178771788717897179071791717927179371794717957179671797717987179971800718017180271803718047180571806718077180871809718107181171812718137181471815718167181771818718197182071821718227182371824718257182671827718287182971830718317183271833718347183571836718377183871839718407184171842718437184471845718467184771848718497185071851718527185371854718557185671857718587185971860718617186271863718647186571866718677186871869718707187171872718737187471875718767187771878718797188071881718827188371884718857188671887718887188971890718917189271893718947189571896718977189871899719007190171902719037190471905719067190771908719097191071911719127191371914719157191671917719187191971920719217192271923719247192571926719277192871929719307193171932719337193471935719367193771938719397194071941719427194371944719457194671947719487194971950719517195271953719547195571956719577195871959719607196171962719637196471965719667196771968719697197071971719727197371974719757197671977719787197971980719817198271983719847198571986719877198871989719907199171992719937199471995719967199771998719997200072001720027200372004720057200672007720087200972010720117201272013720147201572016720177201872019720207202172022720237202472025720267202772028720297203072031720327203372034720357203672037720387203972040720417204272043720447204572046720477204872049720507205172052720537205472055720567205772058720597206072061720627206372064720657206672067720687206972070720717207272073720747207572076720777207872079720807208172082720837208472085720867208772088720897209072091720927209372094720957209672097720987209972100721017210272103721047210572106721077210872109721107211172112721137211472115721167211772118721197212072121721227212372124721257212672127721287212972130721317213272133721347213572136721377213872139721407214172142721437214472145721467214772148721497215072151721527215372154721557215672157721587215972160721617216272163721647216572166721677216872169721707217172172721737217472175721767217772178721797218072181721827218372184721857218672187721887218972190721917219272193721947219572196721977219872199722007220172202722037220472205722067220772208722097221072211722127221372214722157221672217722187221972220722217222272223722247222572226722277222872229722307223172232722337223472235722367223772238722397224072241722427224372244722457224672247722487224972250722517225272253722547225572256722577225872259722607226172262722637226472265722667226772268722697227072271722727227372274722757227672277722787227972280722817228272283722847228572286722877228872289722907229172292722937229472295722967229772298722997230072301723027230372304723057230672307723087230972310723117231272313723147231572316723177231872319723207232172322723237232472325723267232772328723297233072331723327233372334723357233672337723387233972340723417234272343723447234572346723477234872349723507235172352723537235472355723567235772358723597236072361723627236372364723657236672367723687236972370723717237272373723747237572376723777237872379723807238172382723837238472385723867238772388723897239072391723927239372394723957239672397723987239972400724017240272403724047240572406724077240872409724107241172412724137241472415724167241772418724197242072421724227242372424724257242672427724287242972430724317243272433724347243572436724377243872439724407244172442724437244472445724467244772448724497245072451724527245372454724557245672457724587245972460724617246272463724647246572466724677246872469724707247172472724737247472475724767247772478724797248072481724827248372484724857248672487724887248972490724917249272493724947249572496724977249872499725007250172502725037250472505725067250772508725097251072511725127251372514725157251672517725187251972520725217252272523725247252572526725277252872529725307253172532725337253472535725367253772538725397254072541725427254372544725457254672547725487254972550725517255272553725547255572556725577255872559725607256172562725637256472565725667256772568725697257072571725727257372574725757257672577725787257972580725817258272583725847258572586725877258872589725907259172592725937259472595725967259772598725997260072601726027260372604726057260672607726087260972610726117261272613726147261572616726177261872619726207262172622726237262472625726267262772628726297263072631726327263372634726357263672637726387263972640726417264272643726447264572646726477264872649726507265172652726537265472655726567265772658726597266072661726627266372664726657266672667726687266972670726717267272673726747267572676726777267872679726807268172682726837268472685726867268772688726897269072691726927269372694726957269672697726987269972700727017270272703727047270572706727077270872709727107271172712727137271472715727167271772718727197272072721727227272372724727257272672727727287272972730727317273272733727347273572736727377273872739727407274172742727437274472745727467274772748727497275072751727527275372754727557275672757727587275972760727617276272763727647276572766727677276872769727707277172772727737277472775727767277772778727797278072781727827278372784727857278672787727887278972790727917279272793727947279572796727977279872799728007280172802728037280472805728067280772808728097281072811728127281372814728157281672817728187281972820728217282272823728247282572826728277282872829728307283172832728337283472835728367283772838728397284072841728427284372844728457284672847728487284972850728517285272853728547285572856728577285872859728607286172862728637286472865728667286772868728697287072871728727287372874728757287672877728787287972880728817288272883728847288572886728877288872889728907289172892728937289472895728967289772898728997290072901729027290372904729057290672907729087290972910729117291272913729147291572916729177291872919729207292172922729237292472925729267292772928729297293072931729327293372934729357293672937729387293972940729417294272943729447294572946729477294872949729507295172952729537295472955729567295772958729597296072961729627296372964729657296672967729687296972970729717297272973729747297572976729777297872979729807298172982729837298472985729867298772988729897299072991729927299372994729957299672997729987299973000730017300273003730047300573006730077300873009730107301173012730137301473015730167301773018730197302073021730227302373024730257302673027730287302973030730317303273033730347303573036730377303873039730407304173042730437304473045730467304773048730497305073051730527305373054730557305673057730587305973060730617306273063730647306573066730677306873069730707307173072730737307473075730767307773078730797308073081730827308373084730857308673087730887308973090730917309273093730947309573096730977309873099731007310173102731037310473105731067310773108731097311073111731127311373114731157311673117731187311973120731217312273123731247312573126731277312873129731307313173132731337313473135731367313773138731397314073141731427314373144731457314673147731487314973150731517315273153731547315573156731577315873159731607316173162731637316473165731667316773168731697317073171731727317373174731757317673177731787317973180731817318273183731847318573186731877318873189731907319173192731937319473195731967319773198731997320073201732027320373204732057320673207732087320973210732117321273213732147321573216732177321873219732207322173222732237322473225732267322773228732297323073231732327323373234732357323673237732387323973240732417324273243732447324573246732477324873249732507325173252732537325473255732567325773258732597326073261732627326373264732657326673267732687326973270732717327273273732747327573276732777327873279732807328173282732837328473285732867328773288732897329073291732927329373294732957329673297732987329973300733017330273303733047330573306733077330873309733107331173312733137331473315733167331773318733197332073321733227332373324733257332673327733287332973330733317333273333733347333573336733377333873339733407334173342733437334473345733467334773348733497335073351733527335373354733557335673357733587335973360733617336273363733647336573366733677336873369733707337173372733737337473375733767337773378733797338073381733827338373384733857338673387733887338973390733917339273393733947339573396733977339873399734007340173402734037340473405734067340773408734097341073411734127341373414734157341673417734187341973420734217342273423734247342573426734277342873429734307343173432734337343473435734367343773438734397344073441734427344373444734457344673447734487344973450734517345273453734547345573456734577345873459734607346173462734637346473465734667346773468734697347073471734727347373474734757347673477734787347973480734817348273483734847348573486734877348873489734907349173492734937349473495734967349773498734997350073501735027350373504735057350673507735087350973510735117351273513735147351573516735177351873519735207352173522735237352473525735267352773528735297353073531735327353373534735357353673537735387353973540735417354273543735447354573546735477354873549735507355173552735537355473555735567355773558735597356073561735627356373564735657356673567735687356973570735717357273573735747357573576735777357873579735807358173582735837358473585735867358773588735897359073591735927359373594735957359673597735987359973600736017360273603736047360573606736077360873609736107361173612736137361473615736167361773618736197362073621736227362373624736257362673627736287362973630736317363273633736347363573636736377363873639736407364173642736437364473645736467364773648736497365073651736527365373654736557365673657736587365973660736617366273663736647366573666736677366873669736707367173672736737367473675736767367773678736797368073681736827368373684736857368673687736887368973690736917369273693736947369573696736977369873699737007370173702737037370473705737067370773708737097371073711737127371373714737157371673717737187371973720737217372273723737247372573726737277372873729737307373173732737337373473735737367373773738737397374073741737427374373744737457374673747737487374973750737517375273753737547375573756737577375873759737607376173762737637376473765737667376773768737697377073771737727377373774737757377673777737787377973780737817378273783737847378573786737877378873789737907379173792737937379473795737967379773798737997380073801738027380373804738057380673807738087380973810738117381273813738147381573816738177381873819738207382173822738237382473825738267382773828738297383073831738327383373834738357383673837738387383973840738417384273843738447384573846738477384873849738507385173852738537385473855738567385773858738597386073861738627386373864738657386673867738687386973870738717387273873738747387573876738777387873879738807388173882738837388473885738867388773888738897389073891738927389373894738957389673897738987389973900739017390273903739047390573906739077390873909739107391173912739137391473915739167391773918739197392073921739227392373924739257392673927739287392973930739317393273933739347393573936739377393873939739407394173942739437394473945739467394773948739497395073951739527395373954739557395673957739587395973960739617396273963739647396573966739677396873969739707397173972739737397473975739767397773978739797398073981739827398373984739857398673987739887398973990739917399273993739947399573996739977399873999740007400174002740037400474005740067400774008740097401074011740127401374014740157401674017740187401974020740217402274023740247402574026740277402874029740307403174032740337403474035740367403774038740397404074041740427404374044740457404674047740487404974050740517405274053740547405574056740577405874059740607406174062740637406474065740667406774068740697407074071740727407374074740757407674077740787407974080740817408274083740847408574086740877408874089740907409174092740937409474095740967409774098740997410074101741027410374104741057410674107741087410974110741117411274113741147411574116741177411874119741207412174122741237412474125741267412774128741297413074131741327413374134741357413674137741387413974140741417414274143741447414574146741477414874149741507415174152741537415474155741567415774158741597416074161741627416374164741657416674167741687416974170741717417274173741747417574176741777417874179741807418174182741837418474185741867418774188741897419074191741927419374194741957419674197741987419974200742017420274203742047420574206742077420874209742107421174212742137421474215742167421774218742197422074221742227422374224742257422674227742287422974230742317423274233742347423574236742377423874239742407424174242742437424474245742467424774248742497425074251742527425374254742557425674257742587425974260742617426274263742647426574266742677426874269742707427174272742737427474275742767427774278742797428074281742827428374284742857428674287742887428974290742917429274293742947429574296742977429874299743007430174302743037430474305743067430774308743097431074311743127431374314743157431674317743187431974320743217432274323743247432574326743277432874329743307433174332743337433474335743367433774338743397434074341743427434374344743457434674347743487434974350743517435274353743547435574356743577435874359743607436174362743637436474365743667436774368743697437074371743727437374374743757437674377743787437974380743817438274383743847438574386743877438874389743907439174392743937439474395743967439774398743997440074401744027440374404744057440674407744087440974410744117441274413744147441574416744177441874419744207442174422744237442474425744267442774428744297443074431744327443374434744357443674437744387443974440744417444274443744447444574446744477444874449744507445174452744537445474455744567445774458744597446074461744627446374464744657446674467744687446974470744717447274473744747447574476744777447874479744807448174482744837448474485744867448774488744897449074491744927449374494744957449674497744987449974500745017450274503745047450574506745077450874509745107451174512745137451474515745167451774518745197452074521745227452374524745257452674527745287452974530745317453274533745347453574536745377453874539745407454174542745437454474545745467454774548745497455074551745527455374554745557455674557745587455974560745617456274563745647456574566745677456874569745707457174572745737457474575745767457774578745797458074581745827458374584745857458674587745887458974590745917459274593745947459574596745977459874599746007460174602746037460474605746067460774608746097461074611746127461374614746157461674617746187461974620746217462274623746247462574626746277462874629746307463174632746337463474635746367463774638746397464074641746427464374644746457464674647746487464974650746517465274653746547465574656746577465874659746607466174662746637466474665746667466774668746697467074671746727467374674746757467674677746787467974680746817468274683746847468574686746877468874689746907469174692746937469474695746967469774698746997470074701747027470374704747057470674707747087470974710747117471274713747147471574716747177471874719747207472174722747237472474725747267472774728747297473074731747327473374734747357473674737747387473974740747417474274743747447474574746747477474874749747507475174752747537475474755747567475774758747597476074761747627476374764747657476674767747687476974770747717477274773747747477574776747777477874779747807478174782747837478474785747867478774788747897479074791747927479374794747957479674797747987479974800748017480274803748047480574806748077480874809748107481174812748137481474815748167481774818748197482074821748227482374824748257482674827748287482974830748317483274833748347483574836748377483874839748407484174842748437484474845748467484774848748497485074851748527485374854748557485674857748587485974860748617486274863748647486574866748677486874869748707487174872748737487474875748767487774878748797488074881748827488374884748857488674887748887488974890748917489274893748947489574896748977489874899749007490174902749037490474905749067490774908749097491074911749127491374914749157491674917749187491974920749217492274923749247492574926749277492874929749307493174932749337493474935749367493774938749397494074941749427494374944749457494674947749487494974950749517495274953749547495574956749577495874959749607496174962749637496474965749667496774968749697497074971749727497374974749757497674977749787497974980749817498274983749847498574986749877498874989749907499174992749937499474995749967499774998749997500075001750027500375004750057500675007750087500975010750117501275013750147501575016750177501875019750207502175022750237502475025750267502775028750297503075031750327503375034750357503675037750387503975040750417504275043750447504575046750477504875049750507505175052750537505475055750567505775058750597506075061750627506375064750657506675067750687506975070750717507275073750747507575076750777507875079750807508175082750837508475085750867508775088750897509075091750927509375094750957509675097750987509975100751017510275103751047510575106751077510875109751107511175112751137511475115751167511775118751197512075121751227512375124751257512675127751287512975130751317513275133751347513575136751377513875139751407514175142751437514475145751467514775148751497515075151751527515375154751557515675157751587515975160751617516275163751647516575166751677516875169751707517175172751737517475175751767517775178751797518075181751827518375184751857518675187751887518975190751917519275193751947519575196751977519875199752007520175202752037520475205752067520775208752097521075211752127521375214752157521675217752187521975220752217522275223752247522575226752277522875229752307523175232752337523475235752367523775238752397524075241752427524375244752457524675247752487524975250752517525275253752547525575256752577525875259752607526175262752637526475265752667526775268752697527075271752727527375274752757527675277752787527975280752817528275283752847528575286752877528875289752907529175292752937529475295752967529775298752997530075301753027530375304753057530675307753087530975310753117531275313753147531575316753177531875319753207532175322753237532475325753267532775328753297533075331753327533375334753357533675337753387533975340753417534275343753447534575346753477534875349753507535175352753537535475355753567535775358753597536075361753627536375364753657536675367753687536975370753717537275373753747537575376753777537875379753807538175382753837538475385753867538775388753897539075391753927539375394753957539675397753987539975400754017540275403754047540575406754077540875409754107541175412754137541475415754167541775418754197542075421754227542375424754257542675427754287542975430754317543275433754347543575436754377543875439754407544175442754437544475445754467544775448754497545075451754527545375454754557545675457754587545975460754617546275463754647546575466754677546875469754707547175472754737547475475754767547775478754797548075481754827548375484754857548675487754887548975490754917549275493754947549575496754977549875499755007550175502755037550475505755067550775508755097551075511755127551375514755157551675517755187551975520755217552275523755247552575526755277552875529755307553175532755337553475535755367553775538755397554075541755427554375544755457554675547755487554975550755517555275553755547555575556755577555875559755607556175562755637556475565755667556775568755697557075571755727557375574755757557675577755787557975580755817558275583755847558575586755877558875589755907559175592755937559475595755967559775598755997560075601756027560375604756057560675607756087560975610756117561275613756147561575616756177561875619756207562175622756237562475625756267562775628756297563075631756327563375634756357563675637756387563975640756417564275643756447564575646756477564875649756507565175652756537565475655756567565775658756597566075661756627566375664756657566675667756687566975670756717567275673756747567575676756777567875679756807568175682756837568475685756867568775688756897569075691756927569375694756957569675697756987569975700757017570275703757047570575706757077570875709757107571175712757137571475715757167571775718757197572075721757227572375724757257572675727757287572975730757317573275733757347573575736757377573875739757407574175742757437574475745757467574775748757497575075751757527575375754757557575675757757587575975760757617576275763757647576575766757677576875769757707577175772757737577475775757767577775778757797578075781757827578375784757857578675787757887578975790757917579275793757947579575796757977579875799758007580175802758037580475805758067580775808758097581075811758127581375814758157581675817758187581975820758217582275823758247582575826758277582875829758307583175832758337583475835758367583775838758397584075841758427584375844758457584675847758487584975850758517585275853758547585575856758577585875859758607586175862758637586475865758667586775868758697587075871758727587375874758757587675877758787587975880758817588275883758847588575886758877588875889758907589175892758937589475895758967589775898758997590075901759027590375904759057590675907759087590975910759117591275913759147591575916759177591875919759207592175922759237592475925759267592775928759297593075931759327593375934759357593675937759387593975940759417594275943759447594575946759477594875949759507595175952759537595475955759567595775958759597596075961759627596375964759657596675967759687596975970759717597275973759747597575976759777597875979759807598175982759837598475985759867598775988759897599075991759927599375994759957599675997759987599976000760017600276003760047600576006760077600876009760107601176012760137601476015760167601776018760197602076021760227602376024760257602676027760287602976030760317603276033760347603576036760377603876039760407604176042760437604476045760467604776048760497605076051760527605376054760557605676057760587605976060760617606276063760647606576066760677606876069760707607176072760737607476075760767607776078760797608076081760827608376084760857608676087760887608976090760917609276093760947609576096760977609876099761007610176102761037610476105761067610776108761097611076111761127611376114761157611676117761187611976120761217612276123761247612576126761277612876129761307613176132761337613476135761367613776138761397614076141761427614376144761457614676147761487614976150761517615276153761547615576156761577615876159761607616176162761637616476165761667616776168761697617076171761727617376174761757617676177761787617976180761817618276183761847618576186761877618876189761907619176192761937619476195761967619776198761997620076201762027620376204762057620676207762087620976210762117621276213762147621576216762177621876219762207622176222762237622476225762267622776228762297623076231762327623376234762357623676237762387623976240762417624276243762447624576246762477624876249762507625176252762537625476255762567625776258762597626076261762627626376264762657626676267762687626976270762717627276273762747627576276762777627876279762807628176282762837628476285762867628776288762897629076291762927629376294762957629676297762987629976300763017630276303763047630576306763077630876309763107631176312763137631476315763167631776318763197632076321763227632376324763257632676327763287632976330763317633276333763347633576336763377633876339763407634176342763437634476345763467634776348763497635076351763527635376354763557635676357763587635976360763617636276363763647636576366763677636876369763707637176372763737637476375763767637776378763797638076381763827638376384763857638676387763887638976390763917639276393763947639576396763977639876399764007640176402764037640476405764067640776408764097641076411764127641376414764157641676417764187641976420764217642276423764247642576426764277642876429764307643176432764337643476435764367643776438764397644076441764427644376444764457644676447764487644976450764517645276453764547645576456764577645876459764607646176462764637646476465764667646776468764697647076471764727647376474764757647676477764787647976480764817648276483764847648576486764877648876489764907649176492764937649476495764967649776498764997650076501765027650376504765057650676507765087650976510765117651276513765147651576516765177651876519765207652176522765237652476525765267652776528765297653076531765327653376534765357653676537765387653976540765417654276543765447654576546765477654876549765507655176552765537655476555765567655776558765597656076561765627656376564765657656676567765687656976570765717657276573765747657576576765777657876579765807658176582765837658476585765867658776588765897659076591765927659376594765957659676597765987659976600766017660276603766047660576606766077660876609766107661176612766137661476615766167661776618766197662076621766227662376624766257662676627766287662976630766317663276633766347663576636766377663876639766407664176642766437664476645766467664776648766497665076651766527665376654766557665676657766587665976660766617666276663766647666576666766677666876669766707667176672766737667476675766767667776678766797668076681766827668376684766857668676687766887668976690766917669276693766947669576696766977669876699767007670176702767037670476705767067670776708767097671076711767127671376714767157671676717767187671976720767217672276723767247672576726767277672876729767307673176732767337673476735767367673776738767397674076741767427674376744767457674676747767487674976750767517675276753767547675576756767577675876759767607676176762767637676476765767667676776768767697677076771767727677376774767757677676777767787677976780767817678276783767847678576786767877678876789767907679176792767937679476795767967679776798767997680076801768027680376804768057680676807768087680976810768117681276813768147681576816768177681876819768207682176822768237682476825768267682776828768297683076831768327683376834768357683676837768387683976840768417684276843768447684576846768477684876849768507685176852768537685476855768567685776858768597686076861768627686376864768657686676867768687686976870768717687276873768747687576876768777687876879768807688176882768837688476885768867688776888768897689076891768927689376894768957689676897768987689976900769017690276903769047690576906769077690876909769107691176912769137691476915769167691776918769197692076921769227692376924769257692676927769287692976930769317693276933769347693576936769377693876939769407694176942769437694476945769467694776948769497695076951769527695376954769557695676957769587695976960769617696276963769647696576966769677696876969769707697176972769737697476975769767697776978769797698076981769827698376984769857698676987769887698976990769917699276993769947699576996769977699876999770007700177002770037700477005770067700777008770097701077011770127701377014770157701677017770187701977020770217702277023770247702577026770277702877029770307703177032770337703477035770367703777038770397704077041770427704377044770457704677047770487704977050770517705277053770547705577056770577705877059770607706177062770637706477065770667706777068770697707077071770727707377074770757707677077770787707977080770817708277083770847708577086770877708877089770907709177092770937709477095770967709777098770997710077101771027710377104771057710677107771087710977110771117711277113771147711577116771177711877119771207712177122771237712477125771267712777128771297713077131771327713377134771357713677137771387713977140771417714277143771447714577146771477714877149771507715177152771537715477155771567715777158771597716077161771627716377164771657716677167771687716977170771717717277173771747717577176771777717877179771807718177182771837718477185771867718777188771897719077191771927719377194771957719677197771987719977200772017720277203772047720577206772077720877209772107721177212772137721477215772167721777218772197722077221772227722377224772257722677227772287722977230772317723277233772347723577236772377723877239772407724177242772437724477245772467724777248772497725077251772527725377254772557725677257772587725977260772617726277263772647726577266772677726877269772707727177272772737727477275772767727777278772797728077281772827728377284772857728677287772887728977290772917729277293772947729577296772977729877299773007730177302773037730477305773067730777308773097731077311773127731377314773157731677317773187731977320773217732277323773247732577326773277732877329773307733177332773337733477335773367733777338773397734077341773427734377344773457734677347773487734977350773517735277353773547735577356773577735877359773607736177362773637736477365773667736777368773697737077371773727737377374773757737677377773787737977380773817738277383773847738577386773877738877389773907739177392773937739477395773967739777398773997740077401774027740377404774057740677407774087740977410774117741277413774147741577416774177741877419774207742177422774237742477425774267742777428774297743077431774327743377434774357743677437774387743977440774417744277443774447744577446774477744877449774507745177452774537745477455774567745777458774597746077461774627746377464774657746677467774687746977470774717747277473774747747577476774777747877479774807748177482774837748477485774867748777488774897749077491774927749377494774957749677497774987749977500775017750277503775047750577506775077750877509775107751177512775137751477515775167751777518775197752077521775227752377524775257752677527775287752977530775317753277533775347753577536775377753877539775407754177542775437754477545775467754777548775497755077551775527755377554775557755677557775587755977560775617756277563775647756577566775677756877569775707757177572775737757477575775767757777578775797758077581775827758377584775857758677587775887758977590775917759277593775947759577596775977759877599776007760177602776037760477605776067760777608776097761077611776127761377614776157761677617776187761977620776217762277623776247762577626776277762877629776307763177632776337763477635776367763777638776397764077641776427764377644776457764677647776487764977650776517765277653776547765577656776577765877659776607766177662776637766477665776667766777668776697767077671776727767377674776757767677677776787767977680776817768277683776847768577686776877768877689776907769177692776937769477695776967769777698776997770077701777027770377704777057770677707777087770977710777117771277713777147771577716777177771877719777207772177722777237772477725777267772777728777297773077731777327773377734777357773677737777387773977740777417774277743777447774577746777477774877749777507775177752777537775477755777567775777758777597776077761777627776377764777657776677767777687776977770777717777277773777747777577776777777777877779777807778177782777837778477785777867778777788777897779077791777927779377794777957779677797777987779977800778017780277803778047780577806778077780877809778107781177812778137781477815778167781777818778197782077821778227782377824778257782677827778287782977830778317783277833778347783577836778377783877839778407784177842778437784477845778467784777848778497785077851778527785377854778557785677857778587785977860778617786277863778647786577866778677786877869778707787177872778737787477875778767787777878778797788077881778827788377884778857788677887778887788977890778917789277893778947789577896778977789877899779007790177902779037790477905779067790777908779097791077911779127791377914779157791677917779187791977920779217792277923779247792577926779277792877929779307793177932779337793477935779367793777938779397794077941779427794377944779457794677947779487794977950779517795277953779547795577956779577795877959779607796177962779637796477965779667796777968779697797077971779727797377974779757797677977779787797977980779817798277983779847798577986779877798877989779907799177992779937799477995779967799777998779997800078001780027800378004780057800678007780087800978010780117801278013780147801578016780177801878019780207802178022780237802478025780267802778028780297803078031780327803378034780357803678037780387803978040780417804278043780447804578046780477804878049780507805178052780537805478055780567805778058780597806078061780627806378064780657806678067780687806978070780717807278073780747807578076780777807878079780807808178082780837808478085780867808778088780897809078091780927809378094780957809678097780987809978100781017810278103781047810578106781077810878109781107811178112781137811478115781167811778118781197812078121781227812378124781257812678127781287812978130781317813278133781347813578136781377813878139781407814178142781437814478145781467814778148781497815078151781527815378154781557815678157781587815978160781617816278163781647816578166781677816878169781707817178172781737817478175781767817778178781797818078181781827818378184781857818678187781887818978190781917819278193781947819578196781977819878199782007820178202782037820478205782067820778208782097821078211782127821378214782157821678217782187821978220782217822278223782247822578226782277822878229782307823178232782337823478235782367823778238782397824078241782427824378244782457824678247782487824978250782517825278253782547825578256782577825878259782607826178262782637826478265782667826778268782697827078271782727827378274782757827678277782787827978280782817828278283782847828578286782877828878289782907829178292782937829478295782967829778298782997830078301783027830378304783057830678307783087830978310783117831278313783147831578316783177831878319783207832178322783237832478325783267832778328783297833078331783327833378334783357833678337783387833978340783417834278343783447834578346783477834878349783507835178352783537835478355783567835778358783597836078361783627836378364783657836678367783687836978370783717837278373783747837578376783777837878379783807838178382783837838478385783867838778388783897839078391783927839378394783957839678397783987839978400784017840278403784047840578406784077840878409784107841178412784137841478415784167841778418784197842078421784227842378424784257842678427784287842978430784317843278433784347843578436784377843878439784407844178442784437844478445784467844778448784497845078451784527845378454784557845678457784587845978460784617846278463784647846578466784677846878469784707847178472784737847478475784767847778478784797848078481784827848378484784857848678487784887848978490784917849278493784947849578496784977849878499785007850178502785037850478505785067850778508785097851078511785127851378514785157851678517785187851978520785217852278523785247852578526785277852878529785307853178532785337853478535785367853778538785397854078541785427854378544785457854678547785487854978550785517855278553785547855578556785577855878559785607856178562785637856478565785667856778568785697857078571785727857378574785757857678577785787857978580785817858278583785847858578586785877858878589785907859178592785937859478595785967859778598785997860078601786027860378604786057860678607786087860978610786117861278613786147861578616786177861878619786207862178622786237862478625786267862778628786297863078631786327863378634786357863678637786387863978640786417864278643786447864578646786477864878649786507865178652786537865478655786567865778658786597866078661786627866378664786657866678667786687866978670786717867278673786747867578676786777867878679786807868178682786837868478685786867868778688786897869078691786927869378694786957869678697786987869978700787017870278703787047870578706787077870878709787107871178712787137871478715787167871778718787197872078721787227872378724787257872678727787287872978730787317873278733787347873578736787377873878739787407874178742787437874478745787467874778748787497875078751787527875378754787557875678757787587875978760787617876278763787647876578766787677876878769787707877178772787737877478775787767877778778787797878078781787827878378784787857878678787787887878978790787917879278793787947879578796787977879878799788007880178802788037880478805788067880778808788097881078811788127881378814788157881678817788187881978820788217882278823788247882578826788277882878829788307883178832788337883478835788367883778838788397884078841788427884378844788457884678847788487884978850788517885278853788547885578856788577885878859788607886178862788637886478865788667886778868788697887078871788727887378874788757887678877788787887978880788817888278883788847888578886788877888878889788907889178892788937889478895788967889778898788997890078901789027890378904789057890678907789087890978910789117891278913789147891578916789177891878919789207892178922789237892478925789267892778928789297893078931789327893378934789357893678937789387893978940789417894278943789447894578946789477894878949789507895178952789537895478955789567895778958789597896078961789627896378964789657896678967789687896978970789717897278973789747897578976789777897878979789807898178982789837898478985789867898778988789897899078991789927899378994789957899678997789987899979000790017900279003790047900579006790077900879009790107901179012790137901479015790167901779018790197902079021790227902379024790257902679027790287902979030790317903279033790347903579036790377903879039790407904179042790437904479045790467904779048790497905079051790527905379054790557905679057790587905979060790617906279063790647906579066790677906879069790707907179072790737907479075790767907779078790797908079081790827908379084790857908679087790887908979090790917909279093790947909579096790977909879099791007910179102791037910479105791067910779108791097911079111791127911379114791157911679117791187911979120791217912279123791247912579126791277912879129791307913179132791337913479135791367913779138791397914079141791427914379144791457914679147791487914979150791517915279153791547915579156791577915879159791607916179162791637916479165791667916779168791697917079171791727917379174791757917679177791787917979180791817918279183791847918579186791877918879189791907919179192791937919479195791967919779198791997920079201792027920379204792057920679207792087920979210792117921279213792147921579216792177921879219792207922179222792237922479225792267922779228792297923079231792327923379234792357923679237792387923979240792417924279243792447924579246792477924879249792507925179252792537925479255792567925779258792597926079261792627926379264792657926679267792687926979270792717927279273792747927579276792777927879279792807928179282792837928479285792867928779288792897929079291792927929379294792957929679297792987929979300793017930279303793047930579306793077930879309793107931179312793137931479315793167931779318793197932079321793227932379324793257932679327793287932979330793317933279333793347933579336793377933879339793407934179342793437934479345793467934779348793497935079351793527935379354793557935679357793587935979360793617936279363793647936579366793677936879369793707937179372793737937479375793767937779378793797938079381793827938379384793857938679387793887938979390793917939279393793947939579396793977939879399794007940179402794037940479405794067940779408794097941079411794127941379414794157941679417794187941979420794217942279423794247942579426794277942879429794307943179432794337943479435794367943779438794397944079441794427944379444794457944679447794487944979450794517945279453794547945579456794577945879459794607946179462794637946479465794667946779468794697947079471794727947379474794757947679477794787947979480794817948279483794847948579486794877948879489794907949179492794937949479495794967949779498794997950079501795027950379504795057950679507
  1. .\"t
  2. .\" Automatically generated by Pandoc 2.9.2.1
  3. .\"
  4. .TH "rclone" "1" "Mar 10, 2024" "User Manual" ""
  5. .hy
  6. .SH Rclone syncs your files to cloud storage
  7. .PP
  8. .IP \[bu] 2
  9. About rclone
  10. .IP \[bu] 2
  11. What can rclone do for you?
  12. .IP \[bu] 2
  13. What features does rclone have?
  14. .IP \[bu] 2
  15. What providers does rclone support?
  16. .IP \[bu] 2
  17. Download (https://rclone.org/downloads/)
  18. .IP \[bu] 2
  19. Install (https://rclone.org/install/)
  20. .IP \[bu] 2
  21. Donate. (https://rclone.org/donate/)
  22. .SS About rclone
  23. .PP
  24. Rclone is a command-line program to manage files on cloud storage.
  25. It is a feature-rich alternative to cloud vendors\[aq] web storage
  26. interfaces.
  27. Over 70 cloud storage products support rclone including S3 object
  28. stores, business & consumer file storage services, as well as standard
  29. transfer protocols.
  30. .PP
  31. Rclone has powerful cloud equivalents to the unix commands rsync, cp,
  32. mv, mount, ls, ncdu, tree, rm, and cat.
  33. Rclone\[aq]s familiar syntax includes shell pipeline support, and
  34. \f[C]--dry-run\f[R] protection.
  35. It is used at the command line, in scripts or via its API.
  36. .PP
  37. Users call rclone \f[I]\[dq]The Swiss army knife of cloud
  38. storage\[dq]\f[R], and \f[I]\[dq]Technology indistinguishable from
  39. magic\[dq]\f[R].
  40. .PP
  41. Rclone really looks after your data.
  42. It preserves timestamps and verifies checksums at all times.
  43. Transfers over limited bandwidth; intermittent connections, or subject
  44. to quota can be restarted, from the last good file transferred.
  45. You can check (https://rclone.org/commands/rclone_check/) the integrity
  46. of your files.
  47. Where possible, rclone employs server-side transfers to minimise local
  48. bandwidth use and transfers from one provider to another without using
  49. local disk.
  50. .PP
  51. Virtual backends wrap local and cloud file systems to apply
  52. encryption (https://rclone.org/crypt/),
  53. compression (https://rclone.org/compress/),
  54. chunking (https://rclone.org/chunker/),
  55. hashing (https://rclone.org/hasher/) and
  56. joining (https://rclone.org/union/).
  57. .PP
  58. Rclone mounts (https://rclone.org/commands/rclone_mount/) any local,
  59. cloud or virtual filesystem as a disk on Windows, macOS, linux and
  60. FreeBSD, and also serves these over
  61. SFTP (https://rclone.org/commands/rclone_serve_sftp/),
  62. HTTP (https://rclone.org/commands/rclone_serve_http/),
  63. WebDAV (https://rclone.org/commands/rclone_serve_webdav/),
  64. FTP (https://rclone.org/commands/rclone_serve_ftp/) and
  65. DLNA (https://rclone.org/commands/rclone_serve_dlna/).
  66. .PP
  67. Rclone is mature, open-source software originally inspired by rsync and
  68. written in Go (https://golang.org).
  69. The friendly support community is familiar with varied use cases.
  70. Official Ubuntu, Debian, Fedora, Brew and Chocolatey repos.
  71. include rclone.
  72. For the latest version downloading from
  73. rclone.org (https://rclone.org/downloads/) is recommended.
  74. .PP
  75. Rclone is widely used on Linux, Windows and Mac.
  76. Third-party developers create innovative backup, restore, GUI and
  77. business process solutions using the rclone command line or API.
  78. .PP
  79. Rclone does the heavy lifting of communicating with cloud storage.
  80. .SS What can rclone do for you?
  81. .PP
  82. Rclone helps you:
  83. .IP \[bu] 2
  84. Backup (and encrypt) files to cloud storage
  85. .IP \[bu] 2
  86. Restore (and decrypt) files from cloud storage
  87. .IP \[bu] 2
  88. Mirror cloud data to other cloud services or locally
  89. .IP \[bu] 2
  90. Migrate data to the cloud, or between cloud storage vendors
  91. .IP \[bu] 2
  92. Mount multiple, encrypted, cached or diverse cloud storage as a disk
  93. .IP \[bu] 2
  94. Analyse and account for data held on cloud storage using
  95. lsf (https://rclone.org/commands/rclone_lsf/),
  96. ljson (https://rclone.org/commands/rclone_lsjson/),
  97. size (https://rclone.org/commands/rclone_size/),
  98. ncdu (https://rclone.org/commands/rclone_ncdu/)
  99. .IP \[bu] 2
  100. Union (https://rclone.org/union/) file systems together to present
  101. multiple local and/or cloud file systems as one
  102. .SS Features
  103. .IP \[bu] 2
  104. Transfers
  105. .RS 2
  106. .IP \[bu] 2
  107. MD5, SHA1 hashes are checked at all times for file integrity
  108. .IP \[bu] 2
  109. Timestamps are preserved on files
  110. .IP \[bu] 2
  111. Operations can be restarted at any time
  112. .IP \[bu] 2
  113. Can be to and from network, e.g.
  114. two different cloud providers
  115. .IP \[bu] 2
  116. Can use multi-threaded downloads to local disk
  117. .RE
  118. .IP \[bu] 2
  119. Copy (https://rclone.org/commands/rclone_copy/) new or changed files to
  120. cloud storage
  121. .IP \[bu] 2
  122. Sync (https://rclone.org/commands/rclone_sync/) (one way) to make a
  123. directory identical
  124. .IP \[bu] 2
  125. Bisync (https://rclone.org/bisync/) (two way) to keep two directories in
  126. sync bidirectionally
  127. .IP \[bu] 2
  128. Move (https://rclone.org/commands/rclone_move/) files to cloud storage
  129. deleting the local after verification
  130. .IP \[bu] 2
  131. Check (https://rclone.org/commands/rclone_check/) hashes and for
  132. missing/extra files
  133. .IP \[bu] 2
  134. Mount (https://rclone.org/commands/rclone_mount/) your cloud storage as
  135. a network disk
  136. .IP \[bu] 2
  137. Serve (https://rclone.org/commands/rclone_serve/) local or remote files
  138. over
  139. HTTP (https://rclone.org/commands/rclone_serve_http/)/WebDav (https://rclone.org/commands/rclone_serve_webdav/)/FTP (https://rclone.org/commands/rclone_serve_ftp/)/SFTP (https://rclone.org/commands/rclone_serve_sftp/)/DLNA (https://rclone.org/commands/rclone_serve_dlna/)
  140. .IP \[bu] 2
  141. Experimental Web based GUI (https://rclone.org/gui/)
  142. .SS Supported providers
  143. .PP
  144. (There are many others, built on standard protocols such as WebDAV or
  145. S3, that work out of the box.)
  146. .IP \[bu] 2
  147. 1Fichier
  148. .IP \[bu] 2
  149. Akamai Netstorage
  150. .IP \[bu] 2
  151. Alibaba Cloud (Aliyun) Object Storage System (OSS)
  152. .IP \[bu] 2
  153. Amazon S3
  154. .IP \[bu] 2
  155. Backblaze B2
  156. .IP \[bu] 2
  157. Box
  158. .IP \[bu] 2
  159. Ceph
  160. .IP \[bu] 2
  161. China Mobile Ecloud Elastic Object Storage (EOS)
  162. .IP \[bu] 2
  163. Arvan Cloud Object Storage (AOS)
  164. .IP \[bu] 2
  165. Citrix ShareFile
  166. .IP \[bu] 2
  167. Cloudflare R2
  168. .IP \[bu] 2
  169. DigitalOcean Spaces
  170. .IP \[bu] 2
  171. Digi Storage
  172. .IP \[bu] 2
  173. Dreamhost
  174. .IP \[bu] 2
  175. Dropbox
  176. .IP \[bu] 2
  177. Enterprise File Fabric
  178. .IP \[bu] 2
  179. Fastmail Files
  180. .IP \[bu] 2
  181. FTP
  182. .IP \[bu] 2
  183. Google Cloud Storage
  184. .IP \[bu] 2
  185. Google Drive
  186. .IP \[bu] 2
  187. Google Photos
  188. .IP \[bu] 2
  189. HDFS
  190. .IP \[bu] 2
  191. Hetzner Storage Box
  192. .IP \[bu] 2
  193. HiDrive
  194. .IP \[bu] 2
  195. HTTP
  196. .IP \[bu] 2
  197. ImageKit
  198. .IP \[bu] 2
  199. Internet Archive
  200. .IP \[bu] 2
  201. Jottacloud
  202. .IP \[bu] 2
  203. IBM COS S3
  204. .IP \[bu] 2
  205. IDrive e2
  206. .IP \[bu] 2
  207. IONOS Cloud
  208. .IP \[bu] 2
  209. Koofr
  210. .IP \[bu] 2
  211. Leviia Object Storage
  212. .IP \[bu] 2
  213. Liara Object Storage
  214. .IP \[bu] 2
  215. Linkbox
  216. .IP \[bu] 2
  217. Linode Object Storage
  218. .IP \[bu] 2
  219. Mail.ru Cloud
  220. .IP \[bu] 2
  221. Memset Memstore
  222. .IP \[bu] 2
  223. Mega
  224. .IP \[bu] 2
  225. Memory
  226. .IP \[bu] 2
  227. Microsoft Azure Blob Storage
  228. .IP \[bu] 2
  229. Microsoft Azure Files Storage
  230. .IP \[bu] 2
  231. Microsoft OneDrive
  232. .IP \[bu] 2
  233. Minio
  234. .IP \[bu] 2
  235. Nextcloud
  236. .IP \[bu] 2
  237. OVH
  238. .IP \[bu] 2
  239. Blomp Cloud Storage
  240. .IP \[bu] 2
  241. OpenDrive
  242. .IP \[bu] 2
  243. OpenStack Swift
  244. .IP \[bu] 2
  245. Oracle Cloud Storage Swift
  246. .IP \[bu] 2
  247. Oracle Object Storage
  248. .IP \[bu] 2
  249. ownCloud
  250. .IP \[bu] 2
  251. pCloud
  252. .IP \[bu] 2
  253. Petabox
  254. .IP \[bu] 2
  255. PikPak
  256. .IP \[bu] 2
  257. premiumize.me
  258. .IP \[bu] 2
  259. put.io
  260. .IP \[bu] 2
  261. Proton Drive
  262. .IP \[bu] 2
  263. QingStor
  264. .IP \[bu] 2
  265. Qiniu Cloud Object Storage (Kodo)
  266. .IP \[bu] 2
  267. Quatrix by Maytech
  268. .IP \[bu] 2
  269. Rackspace Cloud Files
  270. .IP \[bu] 2
  271. rsync.net
  272. .IP \[bu] 2
  273. Scaleway
  274. .IP \[bu] 2
  275. Seafile
  276. .IP \[bu] 2
  277. Seagate Lyve Cloud
  278. .IP \[bu] 2
  279. SeaweedFS
  280. .IP \[bu] 2
  281. SFTP
  282. .IP \[bu] 2
  283. Sia
  284. .IP \[bu] 2
  285. SMB / CIFS
  286. .IP \[bu] 2
  287. StackPath
  288. .IP \[bu] 2
  289. Storj
  290. .IP \[bu] 2
  291. Synology
  292. .IP \[bu] 2
  293. SugarSync
  294. .IP \[bu] 2
  295. Tencent Cloud Object Storage (COS)
  296. .IP \[bu] 2
  297. Uptobox
  298. .IP \[bu] 2
  299. Wasabi
  300. .IP \[bu] 2
  301. WebDAV
  302. .IP \[bu] 2
  303. Yandex Disk
  304. .IP \[bu] 2
  305. Zoho WorkDrive
  306. .IP \[bu] 2
  307. The local filesystem
  308. .SS Virtual providers
  309. .PP
  310. These backends adapt or modify other storage providers:
  311. .IP \[bu] 2
  312. Alias: Rename existing remotes
  313. .IP \[bu] 2
  314. Cache: Cache remotes (DEPRECATED)
  315. .IP \[bu] 2
  316. Chunker: Split large files
  317. .IP \[bu] 2
  318. Combine: Combine multiple remotes into a directory tree
  319. .IP \[bu] 2
  320. Compress: Compress files
  321. .IP \[bu] 2
  322. Crypt: Encrypt files
  323. .IP \[bu] 2
  324. Hasher: Hash files
  325. .IP \[bu] 2
  326. Union: Join multiple remotes to work together
  327. .SS Links
  328. .IP \[bu] 2
  329. Home page (https://rclone.org/)
  330. .IP \[bu] 2
  331. GitHub project page for source and bug
  332. tracker (https://github.com/rclone/rclone)
  333. .IP \[bu] 2
  334. Rclone Forum (https://forum.rclone.org)
  335. .IP \[bu] 2
  336. Downloads (https://rclone.org/downloads/)
  337. .SH Install
  338. .PP
  339. Rclone is a Go program and comes as a single binary file.
  340. .SS Quickstart
  341. .IP \[bu] 2
  342. Download (https://rclone.org/downloads/) the relevant binary.
  343. .IP \[bu] 2
  344. Extract the \f[C]rclone\f[R] executable, \f[C]rclone.exe\f[R] on
  345. Windows, from the archive.
  346. .IP \[bu] 2
  347. Run \f[C]rclone config\f[R] to setup.
  348. See rclone config docs (https://rclone.org/docs/) for more details.
  349. .IP \[bu] 2
  350. Optionally configure automatic execution.
  351. .PP
  352. See below for some expanded Linux / macOS / Windows instructions.
  353. .PP
  354. See the usage (https://rclone.org/docs/) docs for how to use rclone, or
  355. run \f[C]rclone -h\f[R].
  356. .PP
  357. Already installed rclone can be easily updated to the latest version
  358. using the rclone
  359. selfupdate (https://rclone.org/commands/rclone_selfupdate/) command.
  360. .PP
  361. See the release signing docs (https://rclone.org/release_signing/) for
  362. how to verify signatures on the release.
  363. .SS Script installation
  364. .PP
  365. To install rclone on Linux/macOS/BSD systems, run:
  366. .IP
  367. .nf
  368. \f[C]
  369. sudo -v ; curl https://rclone.org/install.sh | sudo bash
  370. \f[R]
  371. .fi
  372. .PP
  373. For beta installation, run:
  374. .IP
  375. .nf
  376. \f[C]
  377. sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta
  378. \f[R]
  379. .fi
  380. .PP
  381. Note that this script checks the version of rclone installed first and
  382. won\[aq]t re-download if not needed.
  383. .SS Linux installation
  384. .SS Precompiled binary
  385. .PP
  386. Fetch and unpack
  387. .IP
  388. .nf
  389. \f[C]
  390. curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
  391. unzip rclone-current-linux-amd64.zip
  392. cd rclone-*-linux-amd64
  393. \f[R]
  394. .fi
  395. .PP
  396. Copy binary file
  397. .IP
  398. .nf
  399. \f[C]
  400. sudo cp rclone /usr/bin/
  401. sudo chown root:root /usr/bin/rclone
  402. sudo chmod 755 /usr/bin/rclone
  403. \f[R]
  404. .fi
  405. .PP
  406. Install manpage
  407. .IP
  408. .nf
  409. \f[C]
  410. sudo mkdir -p /usr/local/share/man/man1
  411. sudo cp rclone.1 /usr/local/share/man/man1/
  412. sudo mandb
  413. \f[R]
  414. .fi
  415. .PP
  416. Run \f[C]rclone config\f[R] to setup.
  417. See rclone config docs (https://rclone.org/docs/) for more details.
  418. .IP
  419. .nf
  420. \f[C]
  421. rclone config
  422. \f[R]
  423. .fi
  424. .SS macOS installation
  425. .SS Installation with brew
  426. .IP
  427. .nf
  428. \f[C]
  429. brew install rclone
  430. \f[R]
  431. .fi
  432. .PP
  433. NOTE: This version of rclone will not support \f[C]mount\f[R] any more
  434. (see #5373 (https://github.com/rclone/rclone/issues/5373)).
  435. If mounting is wanted on macOS, either install a precompiled binary or
  436. enable the relevant option when installing from source.
  437. .PP
  438. Note that this is a third party installer not controlled by the rclone
  439. developers so it may be out of date.
  440. Its current version is as below.
  441. .PP
  442. [IMAGE: Homebrew
  443. package (https://repology.org/badge/version-for-repo/homebrew/rclone.svg)] (https://repology.org/project/rclone/versions)
  444. .SS Installation with MacPorts (#macos-macports)
  445. .PP
  446. On macOS, rclone can also be installed via
  447. MacPorts (https://www.macports.org):
  448. .IP
  449. .nf
  450. \f[C]
  451. sudo port install rclone
  452. \f[R]
  453. .fi
  454. .PP
  455. Note that this is a third party installer not controlled by the rclone
  456. developers so it may be out of date.
  457. Its current version is as below.
  458. .PP
  459. [IMAGE: MacPorts
  460. port (https://repology.org/badge/version-for-repo/macports/rclone.svg)] (https://repology.org/project/rclone/versions)
  461. .PP
  462. More information here (https://ports.macports.org/port/rclone/).
  463. .SS Precompiled binary, using curl
  464. .PP
  465. To avoid problems with macOS gatekeeper enforcing the binary to be
  466. signed and notarized it is enough to download with \f[C]curl\f[R].
  467. .PP
  468. Download the latest version of rclone.
  469. .IP
  470. .nf
  471. \f[C]
  472. cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
  473. \f[R]
  474. .fi
  475. .PP
  476. Unzip the download and cd to the extracted folder.
  477. .IP
  478. .nf
  479. \f[C]
  480. unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
  481. \f[R]
  482. .fi
  483. .PP
  484. Move rclone to your $PATH.
  485. You will be prompted for your password.
  486. .IP
  487. .nf
  488. \f[C]
  489. sudo mkdir -p /usr/local/bin
  490. sudo mv rclone /usr/local/bin/
  491. \f[R]
  492. .fi
  493. .PP
  494. (the \f[C]mkdir\f[R] command is safe to run, even if the directory
  495. already exists).
  496. .PP
  497. Remove the leftover files.
  498. .IP
  499. .nf
  500. \f[C]
  501. cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
  502. \f[R]
  503. .fi
  504. .PP
  505. Run \f[C]rclone config\f[R] to setup.
  506. See rclone config docs (https://rclone.org/docs/) for more details.
  507. .IP
  508. .nf
  509. \f[C]
  510. rclone config
  511. \f[R]
  512. .fi
  513. .SS Precompiled binary, using a web browser
  514. .PP
  515. When downloading a binary with a web browser, the browser will set the
  516. macOS gatekeeper quarantine attribute.
  517. Starting from Catalina, when attempting to run \f[C]rclone\f[R], a
  518. pop-up will appear saying:
  519. .IP
  520. .nf
  521. \f[C]
  522. \[dq]rclone\[dq] cannot be opened because the developer cannot be verified.
  523. macOS cannot verify that this app is free from malware.
  524. \f[R]
  525. .fi
  526. .PP
  527. The simplest fix is to run
  528. .IP
  529. .nf
  530. \f[C]
  531. xattr -d com.apple.quarantine rclone
  532. \f[R]
  533. .fi
  534. .SS Windows installation
  535. .SS Precompiled binary
  536. .PP
  537. Fetch the correct binary for your processor type by clicking on these
  538. links.
  539. If not sure, use the first link.
  540. .IP \[bu] 2
  541. Intel/AMD - 64
  542. Bit (https://downloads.rclone.org/rclone-current-windows-amd64.zip)
  543. .IP \[bu] 2
  544. Intel/AMD - 32
  545. Bit (https://downloads.rclone.org/rclone-current-windows-386.zip)
  546. .IP \[bu] 2
  547. ARM - 64
  548. Bit (https://downloads.rclone.org/rclone-current-windows-arm64.zip)
  549. .PP
  550. Open this file in the Explorer and extract \f[C]rclone.exe\f[R].
  551. Rclone is a portable executable so you can place it wherever is
  552. convenient.
  553. .PP
  554. Open a CMD window (or powershell) and run the binary.
  555. Note that rclone does not launch a GUI by default, it runs in the CMD
  556. Window.
  557. .IP \[bu] 2
  558. Run \f[C]rclone.exe config\f[R] to setup.
  559. See rclone config docs (https://rclone.org/docs/) for more details.
  560. .IP \[bu] 2
  561. Optionally configure automatic execution.
  562. .PP
  563. If you are planning to use the rclone
  564. mount (https://rclone.org/commands/rclone_mount/) feature then you will
  565. need to install the third party utility WinFsp (https://winfsp.dev/)
  566. also.
  567. .SS Windows package manager (Winget)
  568. .PP
  569. Winget (https://learn.microsoft.com/en-us/windows/package-manager/)
  570. comes pre-installed with the latest versions of Windows.
  571. If not, update the App
  572. Installer (https://www.microsoft.com/p/app-installer/9nblggh4nns1)
  573. package from the Microsoft store.
  574. .PP
  575. To install rclone
  576. .IP
  577. .nf
  578. \f[C]
  579. winget install Rclone.Rclone
  580. \f[R]
  581. .fi
  582. .PP
  583. To uninstall rclone
  584. .IP
  585. .nf
  586. \f[C]
  587. winget uninstall Rclone.Rclone --force
  588. \f[R]
  589. .fi
  590. .SS Chocolatey package manager
  591. .PP
  592. Make sure you have Choco (https://chocolatey.org/) installed
  593. .IP
  594. .nf
  595. \f[C]
  596. choco search rclone
  597. choco install rclone
  598. \f[R]
  599. .fi
  600. .PP
  601. This will install rclone on your Windows machine.
  602. If you are planning to use rclone
  603. mount (https://rclone.org/commands/rclone_mount/) then
  604. .IP
  605. .nf
  606. \f[C]
  607. choco install winfsp
  608. \f[R]
  609. .fi
  610. .PP
  611. will install that too.
  612. .PP
  613. Note that this is a third party installer not controlled by the rclone
  614. developers so it may be out of date.
  615. Its current version is as below.
  616. .PP
  617. [IMAGE: Chocolatey
  618. package (https://repology.org/badge/version-for-repo/chocolatey/rclone.svg)] (https://repology.org/project/rclone/versions)
  619. .SS Scoop package manager
  620. .PP
  621. Make sure you have Scoop (https://scoop.sh/) installed
  622. .IP
  623. .nf
  624. \f[C]
  625. scoop install rclone
  626. \f[R]
  627. .fi
  628. .PP
  629. Note that this is a third party installer not controlled by the rclone
  630. developers so it may be out of date.
  631. Its current version is as below.
  632. .PP
  633. [IMAGE: Scoop
  634. package (https://repology.org/badge/version-for-repo/scoop/rclone.svg)] (https://repology.org/project/rclone/versions)
  635. .SS Package manager installation
  636. .PP
  637. Many Linux, Windows, macOS and other OS distributions package and
  638. distribute rclone.
  639. .PP
  640. The distributed versions of rclone are often quite out of date and for
  641. this reason we recommend one of the other installation methods if
  642. possible.
  643. .PP
  644. You can get an idea of how up to date or not your OS distribution\[aq]s
  645. package is here.
  646. .PP
  647. [IMAGE: Packaging
  648. status (https://repology.org/badge/vertical-allrepos/rclone.svg?columns=3)] (https://repology.org/project/rclone/versions)
  649. .SS Docker installation
  650. .PP
  651. The rclone developers maintain a docker image for
  652. rclone (https://hub.docker.com/r/rclone/rclone).
  653. .PP
  654. These images are built as part of the release process based on a minimal
  655. Alpine Linux.
  656. .PP
  657. The \f[C]:latest\f[R] tag will always point to the latest stable
  658. release.
  659. You can use the \f[C]:beta\f[R] tag to get the latest build from master.
  660. You can also use version tags, e.g.
  661. \f[C]:1.49.1\f[R], \f[C]:1.49\f[R] or \f[C]:1\f[R].
  662. .IP
  663. .nf
  664. \f[C]
  665. $ docker pull rclone/rclone:latest
  666. latest: Pulling from rclone/rclone
  667. Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
  668. \&...
  669. $ docker run --rm rclone/rclone:latest version
  670. rclone v1.49.1
  671. - os/arch: linux/amd64
  672. - go version: go1.12.9
  673. \f[R]
  674. .fi
  675. .PP
  676. There are a few command line options to consider when starting an rclone
  677. Docker container from the rclone image.
  678. .IP \[bu] 2
  679. You need to mount the host rclone config dir at \f[C]/config/rclone\f[R]
  680. into the Docker container.
  681. Due to the fact that rclone updates tokens inside its config file, and
  682. that the update process involves a file rename, you need to mount the
  683. whole host rclone config dir, not just the single host rclone config
  684. file.
  685. .IP \[bu] 2
  686. You need to mount a host data dir at \f[C]/data\f[R] into the Docker
  687. container.
  688. .IP \[bu] 2
  689. By default, the rclone binary inside a Docker container runs with UID=0
  690. (root).
  691. As a result, all files created in a run will have UID=0.
  692. If your config and data files reside on the host with a non-root
  693. UID:GID, you need to pass these on the container start command line.
  694. .IP \[bu] 2
  695. If you want to access the RC interface (either via the API or the Web
  696. UI), it is required to set the \f[C]--rc-addr\f[R] to \f[C]:5572\f[R] in
  697. order to connect to it from outside the container.
  698. An explanation about why this is necessary is present
  699. here (https://web.archive.org/web/20200808071950/https://pythonspeed.com/articles/docker-connection-refused/).
  700. .RS 2
  701. .IP \[bu] 2
  702. NOTE: Users running this container with the docker network set to
  703. \f[C]host\f[R] should probably set it to listen to localhost only, with
  704. \f[C]127.0.0.1:5572\f[R] as the value for \f[C]--rc-addr\f[R]
  705. .RE
  706. .IP \[bu] 2
  707. It is possible to use \f[C]rclone mount\f[R] inside a userspace Docker
  708. container, and expose the resulting fuse mount to the host.
  709. The exact \f[C]docker run\f[R] options to do that might vary slightly
  710. between hosts.
  711. See, e.g.
  712. the discussion in this
  713. thread (https://github.com/moby/moby/issues/9448).
  714. .RS 2
  715. .PP
  716. You also need to mount the host \f[C]/etc/passwd\f[R] and
  717. \f[C]/etc/group\f[R] for fuse to work inside the container.
  718. .RE
  719. .PP
  720. Here are some commands tested on an Ubuntu 18.04.3 host:
  721. .IP
  722. .nf
  723. \f[C]
  724. # config on host at \[ti]/.config/rclone/rclone.conf
  725. # data on host at \[ti]/data
  726. # add a remote interactively
  727. docker run --rm -it \[rs]
  728. --volume \[ti]/.config/rclone:/config/rclone \[rs]
  729. --user $(id -u):$(id -g) \[rs]
  730. rclone/rclone \[rs]
  731. config
  732. # make sure the config is ok by listing the remotes
  733. docker run --rm \[rs]
  734. --volume \[ti]/.config/rclone:/config/rclone \[rs]
  735. --user $(id -u):$(id -g) \[rs]
  736. rclone/rclone \[rs]
  737. listremotes
  738. # perform mount inside Docker container, expose result to host
  739. mkdir -p \[ti]/data/mount
  740. docker run --rm \[rs]
  741. --volume \[ti]/.config/rclone:/config/rclone \[rs]
  742. --volume \[ti]/data:/data:shared \[rs]
  743. --user $(id -u):$(id -g) \[rs]
  744. --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \[rs]
  745. --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \[rs]
  746. rclone/rclone \[rs]
  747. mount dropbox:Photos /data/mount &
  748. ls \[ti]/data/mount
  749. kill %1
  750. \f[R]
  751. .fi
  752. .SS Snap installation
  753. .PP
  754. [IMAGE: Get it from the Snap
  755. Store (https://snapcraft.io/static/images/badges/en/snap-store-black.svg)] (https://snapcraft.io/rclone)
  756. .PP
  757. Make sure you have Snapd
  758. installed (https://snapcraft.io/docs/installing-snapd)
  759. .IP
  760. .nf
  761. \f[C]
  762. $ sudo snap install rclone
  763. \f[R]
  764. .fi
  765. .PP
  766. Due to the strict confinement of Snap, rclone snap cannot access real
  767. /home/$USER/.config/rclone directory, default config path is as below.
  768. .IP \[bu] 2
  769. Default config directory:
  770. .RS 2
  771. .IP \[bu] 2
  772. /home/$USER/snap/rclone/current/.config/rclone
  773. .RE
  774. .PP
  775. Note: Due to the strict confinement of Snap, \f[C]rclone mount\f[R]
  776. feature is \f[C]not\f[R] supported.
  777. .PP
  778. If mounting is wanted, either install a precompiled binary or enable the
  779. relevant option when installing from source.
  780. .PP
  781. Note that this is controlled by community
  782. maintainer (https://github.com/boukendesho/rclone-snap) not the rclone
  783. developers so it may be out of date.
  784. Its current version is as below.
  785. .PP
  786. [IMAGE: rclone (https://snapcraft.io/rclone/badge.svg)] (https://snapcraft.io/rclone)
  787. .SS Source installation
  788. .PP
  789. Make sure you have git and Go (https://golang.org/) installed.
  790. Go version 1.18 or newer is required, the latest release is recommended.
  791. You can get it from your package manager, or download it from
  792. golang.org/dl (https://golang.org/dl/).
  793. Then you can run the following:
  794. .IP
  795. .nf
  796. \f[C]
  797. git clone https://github.com/rclone/rclone.git
  798. cd rclone
  799. go build
  800. \f[R]
  801. .fi
  802. .PP
  803. This will check out the rclone source in subfolder rclone, which you can
  804. later modify and send pull requests with.
  805. Then it will build the rclone executable in the same folder.
  806. As an initial check you can now run \f[C]./rclone version\f[R]
  807. (\f[C].\[rs]rclone version\f[R] on Windows).
  808. .PP
  809. Note that on macOS and Windows the
  810. mount (https://rclone.org/commands/rclone_mount/) command will not be
  811. available unless you specify an additional build tag \f[C]cmount\f[R].
  812. .IP
  813. .nf
  814. \f[C]
  815. go build -tags cmount
  816. \f[R]
  817. .fi
  818. .PP
  819. This assumes you have a GCC compatible C compiler (GCC or Clang) in your
  820. PATH, as it uses cgo (https://pkg.go.dev/cmd/cgo).
  821. But on Windows, the cgofuse (https://github.com/winfsp/cgofuse) library
  822. that the cmount implementation is based on, also supports building
  823. without cgo (https://github.com/golang/go/wiki/WindowsDLLs), i.e.
  824. by setting environment variable CGO_ENABLED to value 0 (static linking).
  825. This is how the official Windows release of rclone is being built,
  826. starting with version 1.59.
  827. It is still possible to build with cgo on Windows as well, by using the
  828. MinGW port of GCC, e.g.
  829. by installing it in a MSYS2 (https://www.msys2.org) distribution (make
  830. sure you install it in the classic mingw64 subsystem, the ucrt64 version
  831. is not compatible).
  832. .PP
  833. Additionally, to build with mount on Windows, you must install the third
  834. party utility WinFsp (https://winfsp.dev/), with the \[dq]Developer\[dq]
  835. feature selected.
  836. If building with cgo, you must also set environment variable CPATH
  837. pointing to the fuse include directory within the WinFsp installation
  838. (normally
  839. \f[C]C:\[rs]Program Files (x86)\[rs]WinFsp\[rs]inc\[rs]fuse\f[R]).
  840. .PP
  841. You may add arguments \f[C]-ldflags -s\f[R] to omit symbol table and
  842. debug information, making the executable file smaller, and
  843. \f[C]-trimpath\f[R] to remove references to local file system paths.
  844. The official rclone releases are built with both of these.
  845. .IP
  846. .nf
  847. \f[C]
  848. go build -trimpath -ldflags -s -tags cmount
  849. \f[R]
  850. .fi
  851. .PP
  852. If you want to customize the version string, as reported by the
  853. \f[C]rclone version\f[R] command, you can set one of the variables
  854. \f[C]fs.Version\f[R], \f[C]fs.VersionTag\f[R] (to keep default suffix
  855. but customize the number), or \f[C]fs.VersionSuffix\f[R] (to keep
  856. default number but customize the suffix).
  857. This can be done from the build command, by adding to the
  858. \f[C]-ldflags\f[R] argument value as shown below.
  859. .IP
  860. .nf
  861. \f[C]
  862. go build -trimpath -ldflags \[dq]-s -X github.com/rclone/rclone/fs.Version=v9.9.9-test\[dq] -tags cmount
  863. \f[R]
  864. .fi
  865. .PP
  866. On Windows, the official executables also have the version information,
  867. as well as a file icon, embedded as binary resources.
  868. To get that with your own build you need to run the following command
  869. \f[B]before\f[R] the build command.
  870. It generates a Windows resource system object file, with extension
  871. \&.syso, e.g.
  872. \f[C]resource_windows_amd64.syso\f[R], that will be automatically picked
  873. up by future build commands.
  874. .IP
  875. .nf
  876. \f[C]
  877. go run bin/resource_windows.go
  878. \f[R]
  879. .fi
  880. .PP
  881. The above command will generate a resource file containing version
  882. information based on the fs.Version variable in source at the time you
  883. run the command, which means if the value of this variable changes you
  884. need to re-run the command for it to be reflected in the version
  885. information.
  886. Also, if you override this version variable in the build command as
  887. described above, you need to do that also when generating the resource
  888. file, or else it will still use the value from the source.
  889. .IP
  890. .nf
  891. \f[C]
  892. go run bin/resource_windows.go -version v9.9.9-test
  893. \f[R]
  894. .fi
  895. .PP
  896. Instead of executing the \f[C]go build\f[R] command directly, you can
  897. run it via the Makefile.
  898. The default target changes the version suffix from \[dq]-DEV\[dq] to
  899. \[dq]-beta\[dq] followed by additional commit details, embeds version
  900. information binary resources on Windows, and copies the resulting rclone
  901. executable into your GOPATH bin folder (\f[C]$(go env GOPATH)/bin\f[R],
  902. which corresponds to \f[C]\[ti]/go/bin/rclone\f[R] by default).
  903. .IP
  904. .nf
  905. \f[C]
  906. make
  907. \f[R]
  908. .fi
  909. .PP
  910. To include mount command on macOS and Windows with Makefile build:
  911. .IP
  912. .nf
  913. \f[C]
  914. make GOTAGS=cmount
  915. \f[R]
  916. .fi
  917. .PP
  918. There are other make targets that can be used for more advanced builds,
  919. such as cross-compiling for all supported os/architectures, and
  920. packaging results into release artifacts.
  921. See Makefile (https://github.com/rclone/rclone/blob/master/Makefile) and
  922. cross-compile.go (https://github.com/rclone/rclone/blob/master/bin/cross-compile.go)
  923. for details.
  924. .PP
  925. Another alternative method for source installation is to download the
  926. source, build and install rclone - all in one operation, as a regular Go
  927. package.
  928. The source will be stored it in the Go module cache, and the resulting
  929. executable will be in your GOPATH bin folder
  930. (\f[C]$(go env GOPATH)/bin\f[R], which corresponds to
  931. \f[C]\[ti]/go/bin/rclone\f[R] by default).
  932. .IP
  933. .nf
  934. \f[C]
  935. go install github.com/rclone/rclone\[at]latest
  936. \f[R]
  937. .fi
  938. .SS Ansible installation
  939. .PP
  940. This can be done with Stefan Weichinger\[aq]s ansible
  941. role (https://github.com/stefangweichinger/ansible-rclone).
  942. .PP
  943. Instructions
  944. .IP "1." 3
  945. \f[C]git clone https://github.com/stefangweichinger/ansible-rclone.git\f[R]
  946. into your local roles-directory
  947. .IP "2." 3
  948. add the role to the hosts you want rclone installed to:
  949. .IP
  950. .nf
  951. \f[C]
  952. - hosts: rclone-hosts
  953. roles:
  954. - rclone
  955. \f[R]
  956. .fi
  957. .SS Portable installation
  958. .PP
  959. As mentioned above (https://rclone.org/install/#quickstart), rclone is
  960. single executable (\f[C]rclone\f[R], or \f[C]rclone.exe\f[R] on Windows)
  961. that you can download as a zip archive and extract into a location of
  962. your choosing.
  963. When executing different commands, it may create files in different
  964. locations, such as a configuration file and various temporary files.
  965. By default the locations for these are according to your operating
  966. system, e.g.
  967. configuration file in your user profile directory and temporary files in
  968. the standard temporary directory, but you can customize all of them,
  969. e.g.
  970. to make a completely self-contained, portable installation.
  971. .PP
  972. Run the config paths (https://rclone.org/commands/rclone_config_paths/)
  973. command to see the locations that rclone will use.
  974. .PP
  975. To override them set the corresponding options (as command-line
  976. arguments, or as environment
  977. variables (https://rclone.org/docs/#environment-variables)): -
  978. --config (https://rclone.org/docs/#config-config-file) -
  979. --cache-dir (https://rclone.org/docs/#cache-dir-dir) -
  980. --temp-dir (https://rclone.org/docs/#temp-dir-dir)
  981. .SS Autostart
  982. .PP
  983. After installing and configuring rclone, as described above, you are
  984. ready to use rclone as an interactive command line utility.
  985. If your goal is to perform \f[I]periodic\f[R] operations, such as a
  986. regular sync (https://rclone.org/commands/rclone_sync/), you will
  987. probably want to configure your rclone command in your operating
  988. system\[aq]s scheduler.
  989. If you need to expose \f[I]service\f[R]-like features, such as remote
  990. control (https://rclone.org/rc/), GUI (https://rclone.org/gui/),
  991. serve (https://rclone.org/commands/rclone_serve/) or
  992. mount (https://rclone.org/commands/rclone_mount/), you will often want
  993. an rclone command always running in the background, and configuring it
  994. to run in a service infrastructure may be a better option.
  995. Below are some alternatives on how to achieve this on different
  996. operating systems.
  997. .PP
  998. NOTE: Before setting up autorun it is highly recommended that you have
  999. tested your command manually from a Command Prompt first.
  1000. .SS Autostart on Windows
  1001. .PP
  1002. The most relevant alternatives for autostart on Windows are: - Run at
  1003. user log on using the Startup folder - Run at user log on, at system
  1004. startup or at schedule using Task Scheduler - Run at system startup
  1005. using Windows service
  1006. .SS Running in background
  1007. .PP
  1008. Rclone is a console application, so if not starting from an existing
  1009. Command Prompt, e.g.
  1010. when starting rclone.exe from a shortcut, it will open a Command Prompt
  1011. window.
  1012. When configuring rclone to run from task scheduler and windows service
  1013. you are able to set it to run hidden in background.
  1014. From rclone version 1.54 you can also make it run hidden from anywhere
  1015. by adding option \f[C]--no-console\f[R] (it may still flash briefly when
  1016. the program starts).
  1017. Since rclone normally writes information and any error messages to the
  1018. console, you must redirect this to a file to be able to see it.
  1019. Rclone has a built-in option \f[C]--log-file\f[R] for that.
  1020. .PP
  1021. Example command to run a sync in background:
  1022. .IP
  1023. .nf
  1024. \f[C]
  1025. c:\[rs]rclone\[rs]rclone.exe sync c:\[rs]files remote:/files --no-console --log-file c:\[rs]rclone\[rs]logs\[rs]sync_files.txt
  1026. \f[R]
  1027. .fi
  1028. .SS User account
  1029. .PP
  1030. As mentioned in the mount (https://rclone.org/commands/rclone_mount/)
  1031. documentation, mounted drives created as Administrator are not visible
  1032. to other accounts, not even the account that was elevated as
  1033. Administrator.
  1034. By running the mount command as the built-in \f[C]SYSTEM\f[R] user
  1035. account, it will create drives accessible for everyone on the system.
  1036. Both scheduled task and Windows service can be used to achieve this.
  1037. .PP
  1038. NOTE: Remember that when rclone runs as the \f[C]SYSTEM\f[R] user, the
  1039. user profile that it sees will not be yours.
  1040. This means that if you normally run rclone with configuration file in
  1041. the default location, to be able to use the same configuration when
  1042. running as the system user you must explicitly tell rclone where to find
  1043. it with the
  1044. \f[C]--config\f[R] (https://rclone.org/docs/#config-config-file) option,
  1045. or else it will look in the system users profile path
  1046. (\f[C]C:\[rs]Windows\[rs]System32\[rs]config\[rs]systemprofile\f[R]).
  1047. To test your command manually from a Command Prompt, you can run it with
  1048. the
  1049. PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec)
  1050. utility from Microsoft\[aq]s Sysinternals suite, which takes option
  1051. \f[C]-s\f[R] to execute commands as the \f[C]SYSTEM\f[R] user.
  1052. .SS Start from Startup folder
  1053. .PP
  1054. To quickly execute an rclone command you can simply create a standard
  1055. Windows Explorer shortcut for the complete rclone command you want to
  1056. run.
  1057. If you store this shortcut in the special \[dq]Startup\[dq] start-menu
  1058. folder, Windows will automatically run it at login.
  1059. To open this folder in Windows Explorer, enter path
  1060. \f[C]%APPDATA%\[rs]Microsoft\[rs]Windows\[rs]Start Menu\[rs]Programs\[rs]Startup\f[R],
  1061. or
  1062. \f[C]C:\[rs]ProgramData\[rs]Microsoft\[rs]Windows\[rs]Start Menu\[rs]Programs\[rs]StartUp\f[R]
  1063. if you want the command to start for \f[I]every\f[R] user that logs in.
  1064. .PP
  1065. This is the easiest approach to autostarting of rclone, but it offers no
  1066. functionality to set it to run as different user, or to set conditions
  1067. or actions on certain events.
  1068. Setting up a scheduled task as described below will often give you
  1069. better results.
  1070. .SS Start from Task Scheduler
  1071. .PP
  1072. Task Scheduler is an administrative tool built into Windows, and it can
  1073. be used to configure rclone to be started automatically in a highly
  1074. configurable way, e.g.
  1075. periodically on a schedule, on user log on, or at system startup.
  1076. It can run be configured to run as the current user, or for a mount
  1077. command that needs to be available to all users it can run as the
  1078. \f[C]SYSTEM\f[R] user.
  1079. For technical information, see
  1080. https://docs.microsoft.com/windows/win32/taskschd/task-scheduler-start-page.
  1081. .SS Run as service
  1082. .PP
  1083. For running rclone at system startup, you can create a Windows service
  1084. that executes your rclone command, as an alternative to scheduled task
  1085. configured to run at startup.
  1086. .SS Mount command built-in service integration
  1087. .PP
  1088. For mount commands, rclone has a built-in Windows service integration
  1089. via the third-party WinFsp library it uses.
  1090. Registering as a regular Windows service easy, as you just have to
  1091. execute the built-in PowerShell command \f[C]New-Service\f[R] (requires
  1092. administrative privileges).
  1093. .PP
  1094. Example of a PowerShell command that creates a Windows service for
  1095. mounting some \f[C]remote:/files\f[R] as drive letter \f[C]X:\f[R], for
  1096. \f[I]all\f[R] users (service will be running as the local system
  1097. account):
  1098. .IP
  1099. .nf
  1100. \f[C]
  1101. New-Service -Name Rclone -BinaryPathName \[aq]c:\[rs]rclone\[rs]rclone.exe mount remote:/files X: --config c:\[rs]rclone\[rs]config\[rs]rclone.conf --log-file c:\[rs]rclone\[rs]logs\[rs]mount.txt\[aq]
  1102. \f[R]
  1103. .fi
  1104. .PP
  1105. The WinFsp service
  1106. infrastructure (https://github.com/billziss-gh/winfsp/wiki/WinFsp-Service-Architecture)
  1107. supports incorporating services for file system implementations, such as
  1108. rclone, into its own launcher service, as kind of \[dq]child
  1109. services\[dq].
  1110. This has the additional advantage that it also implements a network
  1111. provider that integrates into Windows standard methods for managing
  1112. network drives.
  1113. This is currently not officially supported by Rclone, but with WinFsp
  1114. version 2019.3 B2 / v1.5B2 or later it should be possible through path
  1115. rewriting as described
  1116. here (https://github.com/rclone/rclone/issues/3340).
  1117. .SS Third-party service integration
  1118. .PP
  1119. To Windows service running any rclone command, the excellent third-party
  1120. utility NSSM (http://nssm.cc), the \[dq]Non-Sucking Service
  1121. Manager\[dq], can be used.
  1122. It includes some advanced features such as adjusting process priority,
  1123. defining process environment variables, redirect to file anything
  1124. written to stdout, and customized response to different exit codes, with
  1125. a GUI to configure everything from (although it can also be used from
  1126. command line ).
  1127. .PP
  1128. There are also several other alternatives.
  1129. To mention one more, WinSW (https://github.com/winsw/winsw),
  1130. \[dq]Windows Service Wrapper\[dq], is worth checking out.
  1131. It requires .NET Framework, but it is preinstalled on newer versions of
  1132. Windows, and it also provides alternative standalone distributions which
  1133. includes necessary runtime (.NET 5).
  1134. WinSW is a command-line only utility, where you have to manually create
  1135. an XML file with service configuration.
  1136. This may be a drawback for some, but it can also be an advantage as it
  1137. is easy to back up and reuse the configuration settings, without having
  1138. go through manual steps in a GUI.
  1139. One thing to note is that by default it does not restart the service on
  1140. error, one have to explicit enable this in the configuration file (via
  1141. the \[dq]onfailure\[dq] parameter).
  1142. .SS Autostart on Linux
  1143. .SS Start as a service
  1144. .PP
  1145. To always run rclone in background, relevant for mount commands etc, you
  1146. can use systemd to set up rclone as a system or user service.
  1147. Running as a system service ensures that it is run at startup even if
  1148. the user it is running as has no active session.
  1149. Running rclone as a user service ensures that it only starts after the
  1150. configured user has logged into the system.
  1151. .SS Run periodically from cron
  1152. .PP
  1153. To run a periodic command, such as a copy/sync, you can set up a cron
  1154. job.
  1155. .SH Usage
  1156. .PP
  1157. Rclone is a command line program to manage files on cloud storage.
  1158. After download (https://rclone.org/downloads/) and install, continue
  1159. here to learn how to use it: Initial configuration, what the basic
  1160. syntax looks like, describes the various subcommands, the various
  1161. options, and more.
  1162. .SS Configure
  1163. .PP
  1164. First, you\[aq]ll need to configure rclone.
  1165. As the object storage systems have quite complicated authentication
  1166. these are kept in a config file.
  1167. (See the \f[C]--config\f[R] entry for how to find the config file and
  1168. choose its location.)
  1169. .PP
  1170. The easiest way to make the config is to run rclone with the config
  1171. option:
  1172. .IP
  1173. .nf
  1174. \f[C]
  1175. rclone config
  1176. \f[R]
  1177. .fi
  1178. .PP
  1179. See the following for detailed instructions for
  1180. .IP \[bu] 2
  1181. 1Fichier (https://rclone.org/fichier/)
  1182. .IP \[bu] 2
  1183. Akamai Netstorage (https://rclone.org/netstorage/)
  1184. .IP \[bu] 2
  1185. Alias (https://rclone.org/alias/)
  1186. .IP \[bu] 2
  1187. Amazon S3 (https://rclone.org/s3/)
  1188. .IP \[bu] 2
  1189. Backblaze B2 (https://rclone.org/b2/)
  1190. .IP \[bu] 2
  1191. Box (https://rclone.org/box/)
  1192. .IP \[bu] 2
  1193. Chunker (https://rclone.org/chunker/) - transparently splits large files
  1194. for other remotes
  1195. .IP \[bu] 2
  1196. Citrix ShareFile (https://rclone.org/sharefile/)
  1197. .IP \[bu] 2
  1198. Compress (https://rclone.org/compress/)
  1199. .IP \[bu] 2
  1200. Combine (https://rclone.org/combine/)
  1201. .IP \[bu] 2
  1202. Crypt (https://rclone.org/crypt/) - to encrypt other remotes
  1203. .IP \[bu] 2
  1204. DigitalOcean Spaces (https://rclone.org/s3/#digitalocean-spaces)
  1205. .IP \[bu] 2
  1206. Digi Storage (https://rclone.org/koofr/#digi-storage)
  1207. .IP \[bu] 2
  1208. Dropbox (https://rclone.org/dropbox/)
  1209. .IP \[bu] 2
  1210. Enterprise File Fabric (https://rclone.org/filefabric/)
  1211. .IP \[bu] 2
  1212. FTP (https://rclone.org/ftp/)
  1213. .IP \[bu] 2
  1214. Google Cloud Storage (https://rclone.org/googlecloudstorage/)
  1215. .IP \[bu] 2
  1216. Google Drive (https://rclone.org/drive/)
  1217. .IP \[bu] 2
  1218. Google Photos (https://rclone.org/googlephotos/)
  1219. .IP \[bu] 2
  1220. Hasher (https://rclone.org/hasher/) - to handle checksums for other
  1221. remotes
  1222. .IP \[bu] 2
  1223. HDFS (https://rclone.org/hdfs/)
  1224. .IP \[bu] 2
  1225. HiDrive (https://rclone.org/hidrive/)
  1226. .IP \[bu] 2
  1227. HTTP (https://rclone.org/http/)
  1228. .IP \[bu] 2
  1229. Internet Archive (https://rclone.org/internetarchive/)
  1230. .IP \[bu] 2
  1231. Jottacloud (https://rclone.org/jottacloud/)
  1232. .IP \[bu] 2
  1233. Koofr (https://rclone.org/koofr/)
  1234. .IP \[bu] 2
  1235. Linkbox (https://rclone.org/linkbox/)
  1236. .IP \[bu] 2
  1237. Mail.ru Cloud (https://rclone.org/mailru/)
  1238. .IP \[bu] 2
  1239. Mega (https://rclone.org/mega/)
  1240. .IP \[bu] 2
  1241. Memory (https://rclone.org/memory/)
  1242. .IP \[bu] 2
  1243. Microsoft Azure Blob Storage (https://rclone.org/azureblob/)
  1244. .IP \[bu] 2
  1245. Microsoft Azure Files Storage (https://rclone.org/azurefiles/)
  1246. .IP \[bu] 2
  1247. Microsoft OneDrive (https://rclone.org/onedrive/)
  1248. .IP \[bu] 2
  1249. OpenStack Swift / Rackspace Cloudfiles / Blomp Cloud Storage / Memset
  1250. Memstore (https://rclone.org/swift/)
  1251. .IP \[bu] 2
  1252. OpenDrive (https://rclone.org/opendrive/)
  1253. .IP \[bu] 2
  1254. Oracle Object Storage (https://rclone.org/oracleobjectstorage/)
  1255. .IP \[bu] 2
  1256. Pcloud (https://rclone.org/pcloud/)
  1257. .IP \[bu] 2
  1258. PikPak (https://rclone.org/pikpak/)
  1259. .IP \[bu] 2
  1260. premiumize.me (https://rclone.org/premiumizeme/)
  1261. .IP \[bu] 2
  1262. put.io (https://rclone.org/putio/)
  1263. .IP \[bu] 2
  1264. Proton Drive (https://rclone.org/protondrive/)
  1265. .IP \[bu] 2
  1266. QingStor (https://rclone.org/qingstor/)
  1267. .IP \[bu] 2
  1268. Quatrix by Maytech (https://rclone.org/quatrix/)
  1269. .IP \[bu] 2
  1270. Seafile (https://rclone.org/seafile/)
  1271. .IP \[bu] 2
  1272. SFTP (https://rclone.org/sftp/)
  1273. .IP \[bu] 2
  1274. Sia (https://rclone.org/sia/)
  1275. .IP \[bu] 2
  1276. SMB (https://rclone.org/smb/)
  1277. .IP \[bu] 2
  1278. Storj (https://rclone.org/storj/)
  1279. .IP \[bu] 2
  1280. SugarSync (https://rclone.org/sugarsync/)
  1281. .IP \[bu] 2
  1282. Union (https://rclone.org/union/)
  1283. .IP \[bu] 2
  1284. Uptobox (https://rclone.org/uptobox/)
  1285. .IP \[bu] 2
  1286. WebDAV (https://rclone.org/webdav/)
  1287. .IP \[bu] 2
  1288. Yandex Disk (https://rclone.org/yandex/)
  1289. .IP \[bu] 2
  1290. Zoho WorkDrive (https://rclone.org/zoho/)
  1291. .IP \[bu] 2
  1292. The local filesystem (https://rclone.org/local/)
  1293. .SS Basic syntax
  1294. .PP
  1295. Rclone syncs a directory tree from one storage system to another.
  1296. .PP
  1297. Its syntax is like this
  1298. .IP
  1299. .nf
  1300. \f[C]
  1301. Syntax: [options] subcommand <parameters> <parameters...>
  1302. \f[R]
  1303. .fi
  1304. .PP
  1305. Source and destination paths are specified by the name you gave the
  1306. storage system in the config file then the sub path, e.g.
  1307. \[dq]drive:myfolder\[dq] to look at \[dq]myfolder\[dq] in Google drive.
  1308. .PP
  1309. You can define as many storage paths as you like in the config file.
  1310. .PP
  1311. Please use the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag while learning
  1312. rclone to avoid accidental data loss.
  1313. .SS Subcommands
  1314. .PP
  1315. rclone uses a system of subcommands.
  1316. For example
  1317. .IP
  1318. .nf
  1319. \f[C]
  1320. rclone ls remote:path # lists a remote
  1321. rclone copy /local/path remote:path # copies /local/path to the remote
  1322. rclone sync --interactive /local/path remote:path # syncs /local/path to the remote
  1323. \f[R]
  1324. .fi
  1325. .SH rclone config
  1326. .PP
  1327. Enter an interactive configuration session.
  1328. .SS Synopsis
  1329. .PP
  1330. Enter an interactive configuration session where you can setup new
  1331. remotes and manage existing ones.
  1332. You may also set or remove a password to protect your configuration.
  1333. .IP
  1334. .nf
  1335. \f[C]
  1336. rclone config [flags]
  1337. \f[R]
  1338. .fi
  1339. .SS Options
  1340. .IP
  1341. .nf
  1342. \f[C]
  1343. -h, --help help for config
  1344. \f[R]
  1345. .fi
  1346. .PP
  1347. See the global flags page (https://rclone.org/flags/) for global options
  1348. not listed here.
  1349. .SH SEE ALSO
  1350. .IP \[bu] 2
  1351. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  1352. commands, flags and backends.
  1353. .IP \[bu] 2
  1354. rclone config create (https://rclone.org/commands/rclone_config_create/)
  1355. - Create a new remote with name, type and options.
  1356. .IP \[bu] 2
  1357. rclone config delete (https://rclone.org/commands/rclone_config_delete/)
  1358. - Delete an existing remote.
  1359. .IP \[bu] 2
  1360. rclone config
  1361. disconnect (https://rclone.org/commands/rclone_config_disconnect/) -
  1362. Disconnects user from remote
  1363. .IP \[bu] 2
  1364. rclone config dump (https://rclone.org/commands/rclone_config_dump/) -
  1365. Dump the config file as JSON.
  1366. .IP \[bu] 2
  1367. rclone config edit (https://rclone.org/commands/rclone_config_edit/) -
  1368. Enter an interactive configuration session.
  1369. .IP \[bu] 2
  1370. rclone config file (https://rclone.org/commands/rclone_config_file/) -
  1371. Show path of configuration file in use.
  1372. .IP \[bu] 2
  1373. rclone config
  1374. password (https://rclone.org/commands/rclone_config_password/) - Update
  1375. password in an existing remote.
  1376. .IP \[bu] 2
  1377. rclone config paths (https://rclone.org/commands/rclone_config_paths/) -
  1378. Show paths used for configuration, cache, temp etc.
  1379. .IP \[bu] 2
  1380. rclone config
  1381. providers (https://rclone.org/commands/rclone_config_providers/) - List
  1382. in JSON format all the providers and options.
  1383. .IP \[bu] 2
  1384. rclone config
  1385. reconnect (https://rclone.org/commands/rclone_config_reconnect/) -
  1386. Re-authenticates user with remote.
  1387. .IP \[bu] 2
  1388. rclone config
  1389. redacted (https://rclone.org/commands/rclone_config_redacted/) - Print
  1390. redacted (decrypted) config file, or the redacted config for a single
  1391. remote.
  1392. .IP \[bu] 2
  1393. rclone config show (https://rclone.org/commands/rclone_config_show/) -
  1394. Print (decrypted) config file, or the config for a single remote.
  1395. .IP \[bu] 2
  1396. rclone config touch (https://rclone.org/commands/rclone_config_touch/) -
  1397. Ensure configuration file exists.
  1398. .IP \[bu] 2
  1399. rclone config update (https://rclone.org/commands/rclone_config_update/)
  1400. - Update options in an existing remote.
  1401. .IP \[bu] 2
  1402. rclone config
  1403. userinfo (https://rclone.org/commands/rclone_config_userinfo/) - Prints
  1404. info about logged in user of remote.
  1405. .SH rclone copy
  1406. .PP
  1407. Copy files from source to dest, skipping identical files.
  1408. .SS Synopsis
  1409. .PP
  1410. Copy the source to the destination.
  1411. Does not transfer files that are identical on source and destination,
  1412. testing by size and modification time or MD5SUM.
  1413. Doesn\[aq]t delete files from the destination.
  1414. If you want to also delete files from destination, to make it match
  1415. source, use the sync (https://rclone.org/commands/rclone_sync/) command
  1416. instead.
  1417. .PP
  1418. Note that it is always the contents of the directory that is synced, not
  1419. the directory itself.
  1420. So when source:path is a directory, it\[aq]s the contents of source:path
  1421. that are copied, not the directory name and contents.
  1422. .PP
  1423. To copy single files, use the
  1424. copyto (https://rclone.org/commands/rclone_copyto/) command instead.
  1425. .PP
  1426. If dest:path doesn\[aq]t exist, it is created and the source:path
  1427. contents go there.
  1428. .PP
  1429. For example
  1430. .IP
  1431. .nf
  1432. \f[C]
  1433. rclone copy source:sourcepath dest:destpath
  1434. \f[R]
  1435. .fi
  1436. .PP
  1437. Let\[aq]s say there are two files in sourcepath
  1438. .IP
  1439. .nf
  1440. \f[C]
  1441. sourcepath/one.txt
  1442. sourcepath/two.txt
  1443. \f[R]
  1444. .fi
  1445. .PP
  1446. This copies them to
  1447. .IP
  1448. .nf
  1449. \f[C]
  1450. destpath/one.txt
  1451. destpath/two.txt
  1452. \f[R]
  1453. .fi
  1454. .PP
  1455. Not to
  1456. .IP
  1457. .nf
  1458. \f[C]
  1459. destpath/sourcepath/one.txt
  1460. destpath/sourcepath/two.txt
  1461. \f[R]
  1462. .fi
  1463. .PP
  1464. If you are familiar with \f[C]rsync\f[R], rclone always works as if you
  1465. had written a trailing \f[C]/\f[R] - meaning \[dq]copy the contents of
  1466. this directory\[dq].
  1467. This applies to all commands and whether you are talking about the
  1468. source or destination.
  1469. .PP
  1470. See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
  1471. controlling whether rclone lists the destination directory or not.
  1472. Supplying this option when copying a small number of files into a large
  1473. destination can speed transfers up greatly.
  1474. .PP
  1475. For example, if you have many files in /path/to/src but only a few of
  1476. them change every day, you can copy all the files which have changed
  1477. recently very efficiently like this:
  1478. .IP
  1479. .nf
  1480. \f[C]
  1481. rclone copy --max-age 24h --no-traverse /path/to/src remote:
  1482. \f[R]
  1483. .fi
  1484. .PP
  1485. Rclone will sync the modification times of files and directories if the
  1486. backend supports it.
  1487. If metadata syncing is required then use the \f[C]--metadata\f[R] flag.
  1488. .PP
  1489. Note that the modification time and metadata for the root directory will
  1490. \f[B]not\f[R] be synced.
  1491. See https://github.com/rclone/rclone/issues/7652 for more info.
  1492. .PP
  1493. \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view
  1494. real-time transfer statistics.
  1495. .PP
  1496. \f[B]Note\f[R]: Use the \f[C]--dry-run\f[R] or the
  1497. \f[C]--interactive\f[R]/\f[C]-i\f[R] flag to test without copying
  1498. anything.
  1499. .IP
  1500. .nf
  1501. \f[C]
  1502. rclone copy source:path dest:path [flags]
  1503. \f[R]
  1504. .fi
  1505. .SS Options
  1506. .IP
  1507. .nf
  1508. \f[C]
  1509. --create-empty-src-dirs Create empty source dirs on destination after copy
  1510. -h, --help help for copy
  1511. \f[R]
  1512. .fi
  1513. .SS Copy Options
  1514. .PP
  1515. Flags for anything which can Copy a file.
  1516. .IP
  1517. .nf
  1518. \f[C]
  1519. --check-first Do all the checks before starting transfers
  1520. -c, --checksum Check for changes with size & checksum (if available, or fallback to size only).
  1521. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  1522. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  1523. --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD)
  1524. --ignore-case-sync Ignore case when synchronizing
  1525. --ignore-checksum Skip post copy check of checksums
  1526. --ignore-existing Skip all files that exist on destination
  1527. --ignore-size Ignore size when skipping use modtime or checksum
  1528. -I, --ignore-times Don\[aq]t skip items that match size and time - transfer all unconditionally
  1529. --immutable Do not modify files, fail if existing files have been modified
  1530. --inplace Download directly to destination file instead of atomic download to temp/rename
  1531. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  1532. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  1533. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  1534. -M, --metadata If set, preserve metadata when copying objects
  1535. --modify-window Duration Max time diff to be considered the same (default 1ns)
  1536. --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi)
  1537. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi)
  1538. --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4)
  1539. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  1540. --no-check-dest Don\[aq]t check the destination, copy regardless
  1541. --no-traverse Don\[aq]t traverse destination file system on copy
  1542. --no-update-dir-modtime Don\[aq]t update directory modification times
  1543. --no-update-modtime Don\[aq]t update destination modtime if files identical
  1544. --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq]
  1545. --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default \[dq].partial\[dq])
  1546. --refresh-times Refresh the modtime of remote files
  1547. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  1548. --size-only Skip based on size only, not modtime or checksum
  1549. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki)
  1550. -u, --update Skip files that are newer on the destination
  1551. \f[R]
  1552. .fi
  1553. .SS Important Options
  1554. .PP
  1555. Important flags useful for most commands.
  1556. .IP
  1557. .nf
  1558. \f[C]
  1559. -n, --dry-run Do a trial run with no permanent changes
  1560. -i, --interactive Enable interactive mode
  1561. -v, --verbose count Print lots more stuff (repeat for more)
  1562. \f[R]
  1563. .fi
  1564. .SS Filter Options
  1565. .PP
  1566. Flags for filtering directory listings.
  1567. .IP
  1568. .nf
  1569. \f[C]
  1570. --delete-excluded Delete files on dest excluded from sync
  1571. --exclude stringArray Exclude files matching pattern
  1572. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  1573. --exclude-if-present stringArray Exclude directories if filename is present
  1574. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  1575. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  1576. -f, --filter stringArray Add a file filtering rule
  1577. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  1578. --ignore-case Ignore case in filters (case insensitive)
  1579. --include stringArray Include files matching pattern
  1580. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  1581. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  1582. --max-depth int If set limits the recursion depth to this (default -1)
  1583. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  1584. --metadata-exclude stringArray Exclude metadatas matching pattern
  1585. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  1586. --metadata-filter stringArray Add a metadata filtering rule
  1587. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  1588. --metadata-include stringArray Include metadatas matching pattern
  1589. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  1590. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  1591. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  1592. \f[R]
  1593. .fi
  1594. .SS Listing Options
  1595. .PP
  1596. Flags for listing directories.
  1597. .IP
  1598. .nf
  1599. \f[C]
  1600. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  1601. --fast-list Use recursive list if available; uses more memory but fewer transactions
  1602. \f[R]
  1603. .fi
  1604. .PP
  1605. See the global flags page (https://rclone.org/flags/) for global options
  1606. not listed here.
  1607. .SH SEE ALSO
  1608. .IP \[bu] 2
  1609. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  1610. commands, flags and backends.
  1611. .SH rclone sync
  1612. .PP
  1613. Make source and dest identical, modifying destination only.
  1614. .SS Synopsis
  1615. .PP
  1616. Sync the source to the destination, changing the destination only.
  1617. Doesn\[aq]t transfer files that are identical on source and destination,
  1618. testing by size and modification time or MD5SUM.
  1619. Destination is updated to match source, including deleting files if
  1620. necessary (except duplicate objects, see below).
  1621. If you don\[aq]t want to delete files from destination, use the
  1622. copy (https://rclone.org/commands/rclone_copy/) command instead.
  1623. .PP
  1624. \f[B]Important\f[R]: Since this can cause data loss, test first with the
  1625. \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag.
  1626. .IP
  1627. .nf
  1628. \f[C]
  1629. rclone sync --interactive SOURCE remote:DESTINATION
  1630. \f[R]
  1631. .fi
  1632. .PP
  1633. Note that files in the destination won\[aq]t be deleted if there were
  1634. any errors at any point.
  1635. Duplicate objects (files with the same name, on those providers that
  1636. support it) are also not yet handled.
  1637. .PP
  1638. It is always the contents of the directory that is synced, not the
  1639. directory itself.
  1640. So when source:path is a directory, it\[aq]s the contents of source:path
  1641. that are copied, not the directory name and contents.
  1642. See extended explanation in the
  1643. copy (https://rclone.org/commands/rclone_copy/) command if unsure.
  1644. .PP
  1645. If dest:path doesn\[aq]t exist, it is created and the source:path
  1646. contents go there.
  1647. .PP
  1648. It is not possible to sync overlapping remotes.
  1649. However, you may exclude the destination from the sync with a filter
  1650. rule or by putting an exclude-if-present file inside the destination
  1651. directory and sync to a destination that is inside the source directory.
  1652. .PP
  1653. Rclone will sync the modification times of files and directories if the
  1654. backend supports it.
  1655. If metadata syncing is required then use the \f[C]--metadata\f[R] flag.
  1656. .PP
  1657. Note that the modification time and metadata for the root directory will
  1658. \f[B]not\f[R] be synced.
  1659. See https://github.com/rclone/rclone/issues/7652 for more info.
  1660. .PP
  1661. \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view
  1662. real-time transfer statistics
  1663. .PP
  1664. \f[B]Note\f[R]: Use the \f[C]rclone dedupe\f[R] command to deal with
  1665. \[dq]Duplicate object/directory found in source/destination -
  1666. ignoring\[dq] errors.
  1667. See this forum
  1668. post (https://forum.rclone.org/t/sync-not-clearing-duplicates/14372) for
  1669. more info.
  1670. .SH Logger Flags
  1671. .PP
  1672. The \f[C]--differ\f[R], \f[C]--missing-on-dst\f[R],
  1673. \f[C]--missing-on-src\f[R], \f[C]--match\f[R] and \f[C]--error\f[R]
  1674. flags write paths, one per line, to the file name (or stdout if it is
  1675. \f[C]-\f[R]) supplied.
  1676. What they write is described in the help below.
  1677. For example \f[C]--differ\f[R] will write all paths which are present on
  1678. both the source and destination but different.
  1679. .PP
  1680. The \f[C]--combined\f[R] flag will write a file (or stdout) which
  1681. contains all file paths with a symbol and then a space and then the path
  1682. to tell you what happened to it.
  1683. These are reminiscent of diff files.
  1684. .IP \[bu] 2
  1685. \f[C]= path\f[R] means path was found in source and destination and was
  1686. identical
  1687. .IP \[bu] 2
  1688. \[ga]- path\[ga] means path was missing on the source, so only in the
  1689. destination
  1690. .IP \[bu] 2
  1691. \[ga]+ path\[ga] means path was missing on the destination, so only in
  1692. the source
  1693. .IP \[bu] 2
  1694. \[ga]* path\[ga] means path was present in source and destination but
  1695. different.
  1696. .IP \[bu] 2
  1697. \f[C]! path\f[R] means there was an error reading or hashing the source
  1698. or dest.
  1699. .PP
  1700. The \f[C]--dest-after\f[R] flag writes a list file using the same format
  1701. flags as
  1702. \f[C]lsf\f[R] (https://rclone.org/commands/rclone_lsf/#synopsis)
  1703. (including customizable options for hash, modtime,
  1704. etc. (https://rclone.org/commands/rclone_lsf/#synopsis)) Conceptually it
  1705. is similar to rsync\[aq]s \f[C]--itemize-changes\f[R], but not identical
  1706. -- it should output an accurate list of what will be on the destination
  1707. after the sync.
  1708. .PP
  1709. Note that these logger flags have a few limitations, and certain
  1710. scenarios are not currently supported:
  1711. .IP \[bu] 2
  1712. \f[C]--max-duration\f[R] / \f[C]CutoffModeHard\f[R]
  1713. .IP \[bu] 2
  1714. \f[C]--compare-dest\f[R] / \f[C]--copy-dest\f[R]
  1715. .IP \[bu] 2
  1716. server-side moves of an entire dir at once
  1717. .IP \[bu] 2
  1718. High-level retries, because there would be duplicates (use
  1719. \f[C]--retries 1\f[R] to disable)
  1720. .IP \[bu] 2
  1721. Possibly some unusual error scenarios
  1722. .PP
  1723. Note also that each file is logged during the sync, as opposed to after,
  1724. so it is most useful as a predictor of what SHOULD happen to each file
  1725. (which may or may not match what actually DID.)
  1726. .IP
  1727. .nf
  1728. \f[C]
  1729. rclone sync source:path dest:path [flags]
  1730. \f[R]
  1731. .fi
  1732. .SS Options
  1733. .IP
  1734. .nf
  1735. \f[C]
  1736. --absolute Put a leading / in front of path names
  1737. --combined string Make a combined report of changes to this file
  1738. --create-empty-src-dirs Create empty source dirs on destination after sync
  1739. --csv Output in CSV format
  1740. --dest-after string Report all files that exist on the dest post-sync
  1741. --differ string Report all non-matching files to this file
  1742. -d, --dir-slash Append a slash to directory names (default true)
  1743. --dirs-only Only list directories
  1744. --error string Report all files with errors (hashing or reading) to this file
  1745. --files-only Only list files (default true)
  1746. -F, --format string Output format - see lsf help for details (default \[dq]p\[dq])
  1747. --hash h Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default \[dq]md5\[dq])
  1748. -h, --help help for sync
  1749. --match string Report all matching files to this file
  1750. --missing-on-dst string Report all files missing from the destination to this file
  1751. --missing-on-src string Report all files missing from the source to this file
  1752. -s, --separator string Separator for the items in the format (default \[dq];\[dq])
  1753. -t, --timeformat string Specify a custom time format, or \[aq]max\[aq] for max precision supported by remote (default: 2006-01-02 15:04:05)
  1754. \f[R]
  1755. .fi
  1756. .SS Copy Options
  1757. .PP
  1758. Flags for anything which can Copy a file.
  1759. .IP
  1760. .nf
  1761. \f[C]
  1762. --check-first Do all the checks before starting transfers
  1763. -c, --checksum Check for changes with size & checksum (if available, or fallback to size only).
  1764. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  1765. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  1766. --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD)
  1767. --ignore-case-sync Ignore case when synchronizing
  1768. --ignore-checksum Skip post copy check of checksums
  1769. --ignore-existing Skip all files that exist on destination
  1770. --ignore-size Ignore size when skipping use modtime or checksum
  1771. -I, --ignore-times Don\[aq]t skip items that match size and time - transfer all unconditionally
  1772. --immutable Do not modify files, fail if existing files have been modified
  1773. --inplace Download directly to destination file instead of atomic download to temp/rename
  1774. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  1775. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  1776. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  1777. -M, --metadata If set, preserve metadata when copying objects
  1778. --modify-window Duration Max time diff to be considered the same (default 1ns)
  1779. --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi)
  1780. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi)
  1781. --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4)
  1782. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  1783. --no-check-dest Don\[aq]t check the destination, copy regardless
  1784. --no-traverse Don\[aq]t traverse destination file system on copy
  1785. --no-update-dir-modtime Don\[aq]t update directory modification times
  1786. --no-update-modtime Don\[aq]t update destination modtime if files identical
  1787. --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq]
  1788. --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default \[dq].partial\[dq])
  1789. --refresh-times Refresh the modtime of remote files
  1790. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  1791. --size-only Skip based on size only, not modtime or checksum
  1792. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki)
  1793. -u, --update Skip files that are newer on the destination
  1794. \f[R]
  1795. .fi
  1796. .SS Sync Options
  1797. .PP
  1798. Flags just used for \f[C]rclone sync\f[R].
  1799. .IP
  1800. .nf
  1801. \f[C]
  1802. --backup-dir string Make backups into hierarchy based in DIR
  1803. --delete-after When synchronizing, delete files on destination after transferring (default)
  1804. --delete-before When synchronizing, delete files on destination before transferring
  1805. --delete-during When synchronizing, delete files during transfer
  1806. --fix-case Force rename of case insensitive dest to match source
  1807. --ignore-errors Delete even if there are I/O errors
  1808. --max-delete int When synchronizing, limit the number of deletes (default -1)
  1809. --max-delete-size SizeSuffix When synchronizing, limit the total size of deletes (default off)
  1810. --suffix string Suffix to add to changed files
  1811. --suffix-keep-extension Preserve the extension when using --suffix
  1812. --track-renames When synchronizing, track file renames and do a server-side move if possible
  1813. --track-renames-strategy string Strategies to use when synchronizing using track-renames hash|modtime|leaf (default \[dq]hash\[dq])
  1814. \f[R]
  1815. .fi
  1816. .SS Important Options
  1817. .PP
  1818. Important flags useful for most commands.
  1819. .IP
  1820. .nf
  1821. \f[C]
  1822. -n, --dry-run Do a trial run with no permanent changes
  1823. -i, --interactive Enable interactive mode
  1824. -v, --verbose count Print lots more stuff (repeat for more)
  1825. \f[R]
  1826. .fi
  1827. .SS Filter Options
  1828. .PP
  1829. Flags for filtering directory listings.
  1830. .IP
  1831. .nf
  1832. \f[C]
  1833. --delete-excluded Delete files on dest excluded from sync
  1834. --exclude stringArray Exclude files matching pattern
  1835. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  1836. --exclude-if-present stringArray Exclude directories if filename is present
  1837. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  1838. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  1839. -f, --filter stringArray Add a file filtering rule
  1840. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  1841. --ignore-case Ignore case in filters (case insensitive)
  1842. --include stringArray Include files matching pattern
  1843. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  1844. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  1845. --max-depth int If set limits the recursion depth to this (default -1)
  1846. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  1847. --metadata-exclude stringArray Exclude metadatas matching pattern
  1848. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  1849. --metadata-filter stringArray Add a metadata filtering rule
  1850. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  1851. --metadata-include stringArray Include metadatas matching pattern
  1852. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  1853. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  1854. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  1855. \f[R]
  1856. .fi
  1857. .SS Listing Options
  1858. .PP
  1859. Flags for listing directories.
  1860. .IP
  1861. .nf
  1862. \f[C]
  1863. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  1864. --fast-list Use recursive list if available; uses more memory but fewer transactions
  1865. \f[R]
  1866. .fi
  1867. .PP
  1868. See the global flags page (https://rclone.org/flags/) for global options
  1869. not listed here.
  1870. .SH SEE ALSO
  1871. .IP \[bu] 2
  1872. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  1873. commands, flags and backends.
  1874. .SH rclone move
  1875. .PP
  1876. Move files from source to dest.
  1877. .SS Synopsis
  1878. .PP
  1879. Moves the contents of the source directory to the destination directory.
  1880. Rclone will error if the source and destination overlap and the remote
  1881. does not support a server-side directory move operation.
  1882. .PP
  1883. To move single files, use the
  1884. moveto (https://rclone.org/commands/rclone_moveto/) command instead.
  1885. .PP
  1886. If no filters are in use and if possible this will server-side move
  1887. \f[C]source:path\f[R] into \f[C]dest:path\f[R].
  1888. After this \f[C]source:path\f[R] will no longer exist.
  1889. .PP
  1890. Otherwise for each file in \f[C]source:path\f[R] selected by the filters
  1891. (if any) this will move it into \f[C]dest:path\f[R].
  1892. If possible a server-side move will be used, otherwise it will copy it
  1893. (server-side if possible) into \f[C]dest:path\f[R] then delete the
  1894. original (if no errors on copy) in \f[C]source:path\f[R].
  1895. .PP
  1896. If you want to delete empty source directories after move, use the
  1897. \f[C]--delete-empty-src-dirs\f[R] flag.
  1898. .PP
  1899. See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
  1900. controlling whether rclone lists the destination directory or not.
  1901. Supplying this option when moving a small number of files into a large
  1902. destination can speed transfers up greatly.
  1903. .PP
  1904. Rclone will sync the modification times of files and directories if the
  1905. backend supports it.
  1906. If metadata syncing is required then use the \f[C]--metadata\f[R] flag.
  1907. .PP
  1908. Note that the modification time and metadata for the root directory will
  1909. \f[B]not\f[R] be synced.
  1910. See https://github.com/rclone/rclone/issues/7652 for more info.
  1911. .PP
  1912. \f[B]Important\f[R]: Since this can cause data loss, test first with the
  1913. \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag.
  1914. .PP
  1915. \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view
  1916. real-time transfer statistics.
  1917. .IP
  1918. .nf
  1919. \f[C]
  1920. rclone move source:path dest:path [flags]
  1921. \f[R]
  1922. .fi
  1923. .SS Options
  1924. .IP
  1925. .nf
  1926. \f[C]
  1927. --create-empty-src-dirs Create empty source dirs on destination after move
  1928. --delete-empty-src-dirs Delete empty source dirs after move
  1929. -h, --help help for move
  1930. \f[R]
  1931. .fi
  1932. .SS Copy Options
  1933. .PP
  1934. Flags for anything which can Copy a file.
  1935. .IP
  1936. .nf
  1937. \f[C]
  1938. --check-first Do all the checks before starting transfers
  1939. -c, --checksum Check for changes with size & checksum (if available, or fallback to size only).
  1940. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  1941. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  1942. --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD)
  1943. --ignore-case-sync Ignore case when synchronizing
  1944. --ignore-checksum Skip post copy check of checksums
  1945. --ignore-existing Skip all files that exist on destination
  1946. --ignore-size Ignore size when skipping use modtime or checksum
  1947. -I, --ignore-times Don\[aq]t skip items that match size and time - transfer all unconditionally
  1948. --immutable Do not modify files, fail if existing files have been modified
  1949. --inplace Download directly to destination file instead of atomic download to temp/rename
  1950. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  1951. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  1952. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  1953. -M, --metadata If set, preserve metadata when copying objects
  1954. --modify-window Duration Max time diff to be considered the same (default 1ns)
  1955. --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi)
  1956. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi)
  1957. --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4)
  1958. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  1959. --no-check-dest Don\[aq]t check the destination, copy regardless
  1960. --no-traverse Don\[aq]t traverse destination file system on copy
  1961. --no-update-dir-modtime Don\[aq]t update directory modification times
  1962. --no-update-modtime Don\[aq]t update destination modtime if files identical
  1963. --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq]
  1964. --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default \[dq].partial\[dq])
  1965. --refresh-times Refresh the modtime of remote files
  1966. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  1967. --size-only Skip based on size only, not modtime or checksum
  1968. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki)
  1969. -u, --update Skip files that are newer on the destination
  1970. \f[R]
  1971. .fi
  1972. .SS Important Options
  1973. .PP
  1974. Important flags useful for most commands.
  1975. .IP
  1976. .nf
  1977. \f[C]
  1978. -n, --dry-run Do a trial run with no permanent changes
  1979. -i, --interactive Enable interactive mode
  1980. -v, --verbose count Print lots more stuff (repeat for more)
  1981. \f[R]
  1982. .fi
  1983. .SS Filter Options
  1984. .PP
  1985. Flags for filtering directory listings.
  1986. .IP
  1987. .nf
  1988. \f[C]
  1989. --delete-excluded Delete files on dest excluded from sync
  1990. --exclude stringArray Exclude files matching pattern
  1991. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  1992. --exclude-if-present stringArray Exclude directories if filename is present
  1993. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  1994. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  1995. -f, --filter stringArray Add a file filtering rule
  1996. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  1997. --ignore-case Ignore case in filters (case insensitive)
  1998. --include stringArray Include files matching pattern
  1999. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2000. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2001. --max-depth int If set limits the recursion depth to this (default -1)
  2002. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2003. --metadata-exclude stringArray Exclude metadatas matching pattern
  2004. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2005. --metadata-filter stringArray Add a metadata filtering rule
  2006. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2007. --metadata-include stringArray Include metadatas matching pattern
  2008. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2009. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2010. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2011. \f[R]
  2012. .fi
  2013. .SS Listing Options
  2014. .PP
  2015. Flags for listing directories.
  2016. .IP
  2017. .nf
  2018. \f[C]
  2019. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2020. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2021. \f[R]
  2022. .fi
  2023. .PP
  2024. See the global flags page (https://rclone.org/flags/) for global options
  2025. not listed here.
  2026. .SH SEE ALSO
  2027. .IP \[bu] 2
  2028. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2029. commands, flags and backends.
  2030. .SH rclone delete
  2031. .PP
  2032. Remove the files in path.
  2033. .SS Synopsis
  2034. .PP
  2035. Remove the files in path.
  2036. Unlike purge (https://rclone.org/commands/rclone_purge/) it obeys
  2037. include/exclude filters so can be used to selectively delete files.
  2038. .PP
  2039. \f[C]rclone delete\f[R] only deletes files but leaves the directory
  2040. structure alone.
  2041. If you want to delete a directory and all of its contents use the
  2042. purge (https://rclone.org/commands/rclone_purge/) command.
  2043. .PP
  2044. If you supply the \f[C]--rmdirs\f[R] flag, it will remove all empty
  2045. directories along with it.
  2046. You can also use the separate command
  2047. rmdir (https://rclone.org/commands/rclone_rmdir/) or
  2048. rmdirs (https://rclone.org/commands/rclone_rmdirs/) to delete empty
  2049. directories only.
  2050. .PP
  2051. For example, to delete all files bigger than 100 MiB, you may first want
  2052. to check what would be deleted (use either):
  2053. .IP
  2054. .nf
  2055. \f[C]
  2056. rclone --min-size 100M lsl remote:path
  2057. rclone --dry-run --min-size 100M delete remote:path
  2058. \f[R]
  2059. .fi
  2060. .PP
  2061. Then proceed with the actual delete:
  2062. .IP
  2063. .nf
  2064. \f[C]
  2065. rclone --min-size 100M delete remote:path
  2066. \f[R]
  2067. .fi
  2068. .PP
  2069. That reads \[dq]delete everything with a minimum size of 100 MiB\[dq],
  2070. hence delete all files bigger than 100 MiB.
  2071. .PP
  2072. \f[B]Important\f[R]: Since this can cause data loss, test first with the
  2073. \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag.
  2074. .IP
  2075. .nf
  2076. \f[C]
  2077. rclone delete remote:path [flags]
  2078. \f[R]
  2079. .fi
  2080. .SS Options
  2081. .IP
  2082. .nf
  2083. \f[C]
  2084. -h, --help help for delete
  2085. --rmdirs rmdirs removes empty directories but leaves root intact
  2086. \f[R]
  2087. .fi
  2088. .SS Important Options
  2089. .PP
  2090. Important flags useful for most commands.
  2091. .IP
  2092. .nf
  2093. \f[C]
  2094. -n, --dry-run Do a trial run with no permanent changes
  2095. -i, --interactive Enable interactive mode
  2096. -v, --verbose count Print lots more stuff (repeat for more)
  2097. \f[R]
  2098. .fi
  2099. .SS Filter Options
  2100. .PP
  2101. Flags for filtering directory listings.
  2102. .IP
  2103. .nf
  2104. \f[C]
  2105. --delete-excluded Delete files on dest excluded from sync
  2106. --exclude stringArray Exclude files matching pattern
  2107. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2108. --exclude-if-present stringArray Exclude directories if filename is present
  2109. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2110. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2111. -f, --filter stringArray Add a file filtering rule
  2112. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2113. --ignore-case Ignore case in filters (case insensitive)
  2114. --include stringArray Include files matching pattern
  2115. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2116. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2117. --max-depth int If set limits the recursion depth to this (default -1)
  2118. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2119. --metadata-exclude stringArray Exclude metadatas matching pattern
  2120. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2121. --metadata-filter stringArray Add a metadata filtering rule
  2122. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2123. --metadata-include stringArray Include metadatas matching pattern
  2124. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2125. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2126. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2127. \f[R]
  2128. .fi
  2129. .SS Listing Options
  2130. .PP
  2131. Flags for listing directories.
  2132. .IP
  2133. .nf
  2134. \f[C]
  2135. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2136. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2137. \f[R]
  2138. .fi
  2139. .PP
  2140. See the global flags page (https://rclone.org/flags/) for global options
  2141. not listed here.
  2142. .SH SEE ALSO
  2143. .IP \[bu] 2
  2144. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2145. commands, flags and backends.
  2146. .SH rclone purge
  2147. .PP
  2148. Remove the path and all of its contents.
  2149. .SS Synopsis
  2150. .PP
  2151. Remove the path and all of its contents.
  2152. Note that this does not obey include/exclude filters - everything will
  2153. be removed.
  2154. Use the delete (https://rclone.org/commands/rclone_delete/) command if
  2155. you want to selectively delete files.
  2156. To delete empty directories only, use command
  2157. rmdir (https://rclone.org/commands/rclone_rmdir/) or
  2158. rmdirs (https://rclone.org/commands/rclone_rmdirs/).
  2159. .PP
  2160. \f[B]Important\f[R]: Since this can cause data loss, test first with the
  2161. \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag.
  2162. .IP
  2163. .nf
  2164. \f[C]
  2165. rclone purge remote:path [flags]
  2166. \f[R]
  2167. .fi
  2168. .SS Options
  2169. .IP
  2170. .nf
  2171. \f[C]
  2172. -h, --help help for purge
  2173. \f[R]
  2174. .fi
  2175. .SS Important Options
  2176. .PP
  2177. Important flags useful for most commands.
  2178. .IP
  2179. .nf
  2180. \f[C]
  2181. -n, --dry-run Do a trial run with no permanent changes
  2182. -i, --interactive Enable interactive mode
  2183. -v, --verbose count Print lots more stuff (repeat for more)
  2184. \f[R]
  2185. .fi
  2186. .PP
  2187. See the global flags page (https://rclone.org/flags/) for global options
  2188. not listed here.
  2189. .SH SEE ALSO
  2190. .IP \[bu] 2
  2191. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2192. commands, flags and backends.
  2193. .SH rclone mkdir
  2194. .PP
  2195. Make the path if it doesn\[aq]t already exist.
  2196. .IP
  2197. .nf
  2198. \f[C]
  2199. rclone mkdir remote:path [flags]
  2200. \f[R]
  2201. .fi
  2202. .SS Options
  2203. .IP
  2204. .nf
  2205. \f[C]
  2206. -h, --help help for mkdir
  2207. \f[R]
  2208. .fi
  2209. .SS Important Options
  2210. .PP
  2211. Important flags useful for most commands.
  2212. .IP
  2213. .nf
  2214. \f[C]
  2215. -n, --dry-run Do a trial run with no permanent changes
  2216. -i, --interactive Enable interactive mode
  2217. -v, --verbose count Print lots more stuff (repeat for more)
  2218. \f[R]
  2219. .fi
  2220. .PP
  2221. See the global flags page (https://rclone.org/flags/) for global options
  2222. not listed here.
  2223. .SH SEE ALSO
  2224. .IP \[bu] 2
  2225. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2226. commands, flags and backends.
  2227. .SH rclone rmdir
  2228. .PP
  2229. Remove the empty directory at path.
  2230. .SS Synopsis
  2231. .PP
  2232. This removes empty directory given by path.
  2233. Will not remove the path if it has any objects in it, not even empty
  2234. subdirectories.
  2235. Use command rmdirs (https://rclone.org/commands/rclone_rmdirs/) (or
  2236. delete (https://rclone.org/commands/rclone_delete/) with option
  2237. \f[C]--rmdirs\f[R]) to do that.
  2238. .PP
  2239. To delete a path and any objects in it, use
  2240. purge (https://rclone.org/commands/rclone_purge/) command.
  2241. .IP
  2242. .nf
  2243. \f[C]
  2244. rclone rmdir remote:path [flags]
  2245. \f[R]
  2246. .fi
  2247. .SS Options
  2248. .IP
  2249. .nf
  2250. \f[C]
  2251. -h, --help help for rmdir
  2252. \f[R]
  2253. .fi
  2254. .SS Important Options
  2255. .PP
  2256. Important flags useful for most commands.
  2257. .IP
  2258. .nf
  2259. \f[C]
  2260. -n, --dry-run Do a trial run with no permanent changes
  2261. -i, --interactive Enable interactive mode
  2262. -v, --verbose count Print lots more stuff (repeat for more)
  2263. \f[R]
  2264. .fi
  2265. .PP
  2266. See the global flags page (https://rclone.org/flags/) for global options
  2267. not listed here.
  2268. .SH SEE ALSO
  2269. .IP \[bu] 2
  2270. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2271. commands, flags and backends.
  2272. .SH rclone check
  2273. .PP
  2274. Checks the files in the source and destination match.
  2275. .SS Synopsis
  2276. .PP
  2277. Checks the files in the source and destination match.
  2278. It compares sizes and hashes (MD5 or SHA1) and logs a report of files
  2279. that don\[aq]t match.
  2280. It doesn\[aq]t alter the source or destination.
  2281. .PP
  2282. For the crypt (https://rclone.org/crypt/) remote there is a dedicated
  2283. command, cryptcheck (https://rclone.org/commands/rclone_cryptcheck/),
  2284. that are able to check the checksums of the encrypted files.
  2285. .PP
  2286. If you supply the \f[C]--size-only\f[R] flag, it will only compare the
  2287. sizes not the hashes as well.
  2288. Use this for a quick check.
  2289. .PP
  2290. If you supply the \f[C]--download\f[R] flag, it will download the data
  2291. from both remotes and check them against each other on the fly.
  2292. This can be useful for remotes that don\[aq]t support hashes or if you
  2293. really want to check all the data.
  2294. .PP
  2295. If you supply the \f[C]--checkfile HASH\f[R] flag with a valid hash
  2296. name, the \f[C]source:path\f[R] must point to a text file in the SUM
  2297. format.
  2298. .PP
  2299. If you supply the \f[C]--one-way\f[R] flag, it will only check that
  2300. files in the source match the files in the destination, not the other
  2301. way around.
  2302. This means that extra files in the destination that are not in the
  2303. source will not be detected.
  2304. .PP
  2305. The \f[C]--differ\f[R], \f[C]--missing-on-dst\f[R],
  2306. \f[C]--missing-on-src\f[R], \f[C]--match\f[R] and \f[C]--error\f[R]
  2307. flags write paths, one per line, to the file name (or stdout if it is
  2308. \f[C]-\f[R]) supplied.
  2309. What they write is described in the help below.
  2310. For example \f[C]--differ\f[R] will write all paths which are present on
  2311. both the source and destination but different.
  2312. .PP
  2313. The \f[C]--combined\f[R] flag will write a file (or stdout) which
  2314. contains all file paths with a symbol and then a space and then the path
  2315. to tell you what happened to it.
  2316. These are reminiscent of diff files.
  2317. .IP \[bu] 2
  2318. \f[C]= path\f[R] means path was found in source and destination and was
  2319. identical
  2320. .IP \[bu] 2
  2321. \[ga]- path\[ga] means path was missing on the source, so only in the
  2322. destination
  2323. .IP \[bu] 2
  2324. \[ga]+ path\[ga] means path was missing on the destination, so only in
  2325. the source
  2326. .IP \[bu] 2
  2327. \[ga]* path\[ga] means path was present in source and destination but
  2328. different.
  2329. .IP \[bu] 2
  2330. \f[C]! path\f[R] means there was an error reading or hashing the source
  2331. or dest.
  2332. .PP
  2333. The default number of parallel checks is 8.
  2334. See the --checkers=N (https://rclone.org/docs/#checkers-n) option for
  2335. more information.
  2336. .IP
  2337. .nf
  2338. \f[C]
  2339. rclone check source:path dest:path [flags]
  2340. \f[R]
  2341. .fi
  2342. .SS Options
  2343. .IP
  2344. .nf
  2345. \f[C]
  2346. -C, --checkfile string Treat source:path as a SUM file with hashes of given type
  2347. --combined string Make a combined report of changes to this file
  2348. --differ string Report all non-matching files to this file
  2349. --download Check by downloading rather than with hash
  2350. --error string Report all files with errors (hashing or reading) to this file
  2351. -h, --help help for check
  2352. --match string Report all matching files to this file
  2353. --missing-on-dst string Report all files missing from the destination to this file
  2354. --missing-on-src string Report all files missing from the source to this file
  2355. --one-way Check one way only, source files must exist on remote
  2356. \f[R]
  2357. .fi
  2358. .SS Check Options
  2359. .PP
  2360. Flags used for \f[C]rclone check\f[R].
  2361. .IP
  2362. .nf
  2363. \f[C]
  2364. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  2365. \f[R]
  2366. .fi
  2367. .SS Filter Options
  2368. .PP
  2369. Flags for filtering directory listings.
  2370. .IP
  2371. .nf
  2372. \f[C]
  2373. --delete-excluded Delete files on dest excluded from sync
  2374. --exclude stringArray Exclude files matching pattern
  2375. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2376. --exclude-if-present stringArray Exclude directories if filename is present
  2377. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2378. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2379. -f, --filter stringArray Add a file filtering rule
  2380. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2381. --ignore-case Ignore case in filters (case insensitive)
  2382. --include stringArray Include files matching pattern
  2383. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2384. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2385. --max-depth int If set limits the recursion depth to this (default -1)
  2386. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2387. --metadata-exclude stringArray Exclude metadatas matching pattern
  2388. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2389. --metadata-filter stringArray Add a metadata filtering rule
  2390. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2391. --metadata-include stringArray Include metadatas matching pattern
  2392. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2393. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2394. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2395. \f[R]
  2396. .fi
  2397. .SS Listing Options
  2398. .PP
  2399. Flags for listing directories.
  2400. .IP
  2401. .nf
  2402. \f[C]
  2403. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2404. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2405. \f[R]
  2406. .fi
  2407. .PP
  2408. See the global flags page (https://rclone.org/flags/) for global options
  2409. not listed here.
  2410. .SH SEE ALSO
  2411. .IP \[bu] 2
  2412. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2413. commands, flags and backends.
  2414. .SH rclone ls
  2415. .PP
  2416. List the objects in the path with size and path.
  2417. .SS Synopsis
  2418. .PP
  2419. Lists the objects in the source path to standard output in a human
  2420. readable format with size and path.
  2421. Recurses by default.
  2422. .PP
  2423. Eg
  2424. .IP
  2425. .nf
  2426. \f[C]
  2427. $ rclone ls swift:bucket
  2428. 60295 bevajer5jef
  2429. 90613 canole
  2430. 94467 diwogej7
  2431. 37600 fubuwic
  2432. \f[R]
  2433. .fi
  2434. .PP
  2435. Any of the filtering options can be applied to this command.
  2436. .PP
  2437. There are several related list commands
  2438. .IP \[bu] 2
  2439. \f[C]ls\f[R] to list size and path of objects only
  2440. .IP \[bu] 2
  2441. \f[C]lsl\f[R] to list modification time, size and path of objects only
  2442. .IP \[bu] 2
  2443. \f[C]lsd\f[R] to list directories only
  2444. .IP \[bu] 2
  2445. \f[C]lsf\f[R] to list objects and directories in easy to parse format
  2446. .IP \[bu] 2
  2447. \f[C]lsjson\f[R] to list objects and directories in JSON format
  2448. .PP
  2449. \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be
  2450. human-readable.
  2451. \f[C]lsf\f[R] is designed to be human and machine-readable.
  2452. \f[C]lsjson\f[R] is designed to be machine-readable.
  2453. .PP
  2454. Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use
  2455. \f[C]--max-depth 1\f[R] to stop the recursion.
  2456. .PP
  2457. The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do
  2458. not recurse by default - use \f[C]-R\f[R] to make them recurse.
  2459. .PP
  2460. Listing a nonexistent directory will produce an error except for remotes
  2461. which can\[aq]t have empty directories (e.g.
  2462. s3, swift, or gcs - the bucket-based remotes).
  2463. .IP
  2464. .nf
  2465. \f[C]
  2466. rclone ls remote:path [flags]
  2467. \f[R]
  2468. .fi
  2469. .SS Options
  2470. .IP
  2471. .nf
  2472. \f[C]
  2473. -h, --help help for ls
  2474. \f[R]
  2475. .fi
  2476. .SS Filter Options
  2477. .PP
  2478. Flags for filtering directory listings.
  2479. .IP
  2480. .nf
  2481. \f[C]
  2482. --delete-excluded Delete files on dest excluded from sync
  2483. --exclude stringArray Exclude files matching pattern
  2484. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2485. --exclude-if-present stringArray Exclude directories if filename is present
  2486. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2487. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2488. -f, --filter stringArray Add a file filtering rule
  2489. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2490. --ignore-case Ignore case in filters (case insensitive)
  2491. --include stringArray Include files matching pattern
  2492. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2493. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2494. --max-depth int If set limits the recursion depth to this (default -1)
  2495. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2496. --metadata-exclude stringArray Exclude metadatas matching pattern
  2497. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2498. --metadata-filter stringArray Add a metadata filtering rule
  2499. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2500. --metadata-include stringArray Include metadatas matching pattern
  2501. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2502. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2503. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2504. \f[R]
  2505. .fi
  2506. .SS Listing Options
  2507. .PP
  2508. Flags for listing directories.
  2509. .IP
  2510. .nf
  2511. \f[C]
  2512. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2513. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2514. \f[R]
  2515. .fi
  2516. .PP
  2517. See the global flags page (https://rclone.org/flags/) for global options
  2518. not listed here.
  2519. .SH SEE ALSO
  2520. .IP \[bu] 2
  2521. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2522. commands, flags and backends.
  2523. .SH rclone lsd
  2524. .PP
  2525. List all directories/containers/buckets in the path.
  2526. .SS Synopsis
  2527. .PP
  2528. Lists the directories in the source path to standard output.
  2529. Does not recurse by default.
  2530. Use the \f[C]-R\f[R] flag to recurse.
  2531. .PP
  2532. This command lists the total size of the directory (if known, -1 if
  2533. not), the modification time (if known, the current time if not), the
  2534. number of objects in the directory (if known, -1 if not) and the name of
  2535. the directory, Eg
  2536. .IP
  2537. .nf
  2538. \f[C]
  2539. $ rclone lsd swift:
  2540. 494000 2018-04-26 08:43:20 10000 10000files
  2541. 65 2018-04-26 08:43:20 1 1File
  2542. \f[R]
  2543. .fi
  2544. .PP
  2545. Or
  2546. .IP
  2547. .nf
  2548. \f[C]
  2549. $ rclone lsd drive:test
  2550. -1 2016-10-17 17:41:53 -1 1000files
  2551. -1 2017-01-03 14:40:54 -1 2500files
  2552. -1 2017-07-08 14:39:28 -1 4000files
  2553. \f[R]
  2554. .fi
  2555. .PP
  2556. If you just want the directory names use
  2557. \f[C]rclone lsf --dirs-only\f[R].
  2558. .PP
  2559. Any of the filtering options can be applied to this command.
  2560. .PP
  2561. There are several related list commands
  2562. .IP \[bu] 2
  2563. \f[C]ls\f[R] to list size and path of objects only
  2564. .IP \[bu] 2
  2565. \f[C]lsl\f[R] to list modification time, size and path of objects only
  2566. .IP \[bu] 2
  2567. \f[C]lsd\f[R] to list directories only
  2568. .IP \[bu] 2
  2569. \f[C]lsf\f[R] to list objects and directories in easy to parse format
  2570. .IP \[bu] 2
  2571. \f[C]lsjson\f[R] to list objects and directories in JSON format
  2572. .PP
  2573. \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be
  2574. human-readable.
  2575. \f[C]lsf\f[R] is designed to be human and machine-readable.
  2576. \f[C]lsjson\f[R] is designed to be machine-readable.
  2577. .PP
  2578. Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use
  2579. \f[C]--max-depth 1\f[R] to stop the recursion.
  2580. .PP
  2581. The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do
  2582. not recurse by default - use \f[C]-R\f[R] to make them recurse.
  2583. .PP
  2584. Listing a nonexistent directory will produce an error except for remotes
  2585. which can\[aq]t have empty directories (e.g.
  2586. s3, swift, or gcs - the bucket-based remotes).
  2587. .IP
  2588. .nf
  2589. \f[C]
  2590. rclone lsd remote:path [flags]
  2591. \f[R]
  2592. .fi
  2593. .SS Options
  2594. .IP
  2595. .nf
  2596. \f[C]
  2597. -h, --help help for lsd
  2598. -R, --recursive Recurse into the listing
  2599. \f[R]
  2600. .fi
  2601. .SS Filter Options
  2602. .PP
  2603. Flags for filtering directory listings.
  2604. .IP
  2605. .nf
  2606. \f[C]
  2607. --delete-excluded Delete files on dest excluded from sync
  2608. --exclude stringArray Exclude files matching pattern
  2609. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2610. --exclude-if-present stringArray Exclude directories if filename is present
  2611. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2612. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2613. -f, --filter stringArray Add a file filtering rule
  2614. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2615. --ignore-case Ignore case in filters (case insensitive)
  2616. --include stringArray Include files matching pattern
  2617. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2618. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2619. --max-depth int If set limits the recursion depth to this (default -1)
  2620. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2621. --metadata-exclude stringArray Exclude metadatas matching pattern
  2622. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2623. --metadata-filter stringArray Add a metadata filtering rule
  2624. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2625. --metadata-include stringArray Include metadatas matching pattern
  2626. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2627. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2628. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2629. \f[R]
  2630. .fi
  2631. .SS Listing Options
  2632. .PP
  2633. Flags for listing directories.
  2634. .IP
  2635. .nf
  2636. \f[C]
  2637. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2638. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2639. \f[R]
  2640. .fi
  2641. .PP
  2642. See the global flags page (https://rclone.org/flags/) for global options
  2643. not listed here.
  2644. .SH SEE ALSO
  2645. .IP \[bu] 2
  2646. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2647. commands, flags and backends.
  2648. .SH rclone lsl
  2649. .PP
  2650. List the objects in path with modification time, size and path.
  2651. .SS Synopsis
  2652. .PP
  2653. Lists the objects in the source path to standard output in a human
  2654. readable format with modification time, size and path.
  2655. Recurses by default.
  2656. .PP
  2657. Eg
  2658. .IP
  2659. .nf
  2660. \f[C]
  2661. $ rclone lsl swift:bucket
  2662. 60295 2016-06-25 18:55:41.062626927 bevajer5jef
  2663. 90613 2016-06-25 18:55:43.302607074 canole
  2664. 94467 2016-06-25 18:55:43.046609333 diwogej7
  2665. 37600 2016-06-25 18:55:40.814629136 fubuwic
  2666. \f[R]
  2667. .fi
  2668. .PP
  2669. Any of the filtering options can be applied to this command.
  2670. .PP
  2671. There are several related list commands
  2672. .IP \[bu] 2
  2673. \f[C]ls\f[R] to list size and path of objects only
  2674. .IP \[bu] 2
  2675. \f[C]lsl\f[R] to list modification time, size and path of objects only
  2676. .IP \[bu] 2
  2677. \f[C]lsd\f[R] to list directories only
  2678. .IP \[bu] 2
  2679. \f[C]lsf\f[R] to list objects and directories in easy to parse format
  2680. .IP \[bu] 2
  2681. \f[C]lsjson\f[R] to list objects and directories in JSON format
  2682. .PP
  2683. \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be
  2684. human-readable.
  2685. \f[C]lsf\f[R] is designed to be human and machine-readable.
  2686. \f[C]lsjson\f[R] is designed to be machine-readable.
  2687. .PP
  2688. Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use
  2689. \f[C]--max-depth 1\f[R] to stop the recursion.
  2690. .PP
  2691. The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do
  2692. not recurse by default - use \f[C]-R\f[R] to make them recurse.
  2693. .PP
  2694. Listing a nonexistent directory will produce an error except for remotes
  2695. which can\[aq]t have empty directories (e.g.
  2696. s3, swift, or gcs - the bucket-based remotes).
  2697. .IP
  2698. .nf
  2699. \f[C]
  2700. rclone lsl remote:path [flags]
  2701. \f[R]
  2702. .fi
  2703. .SS Options
  2704. .IP
  2705. .nf
  2706. \f[C]
  2707. -h, --help help for lsl
  2708. \f[R]
  2709. .fi
  2710. .SS Filter Options
  2711. .PP
  2712. Flags for filtering directory listings.
  2713. .IP
  2714. .nf
  2715. \f[C]
  2716. --delete-excluded Delete files on dest excluded from sync
  2717. --exclude stringArray Exclude files matching pattern
  2718. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2719. --exclude-if-present stringArray Exclude directories if filename is present
  2720. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2721. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2722. -f, --filter stringArray Add a file filtering rule
  2723. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2724. --ignore-case Ignore case in filters (case insensitive)
  2725. --include stringArray Include files matching pattern
  2726. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2727. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2728. --max-depth int If set limits the recursion depth to this (default -1)
  2729. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2730. --metadata-exclude stringArray Exclude metadatas matching pattern
  2731. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2732. --metadata-filter stringArray Add a metadata filtering rule
  2733. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2734. --metadata-include stringArray Include metadatas matching pattern
  2735. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2736. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2737. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2738. \f[R]
  2739. .fi
  2740. .SS Listing Options
  2741. .PP
  2742. Flags for listing directories.
  2743. .IP
  2744. .nf
  2745. \f[C]
  2746. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2747. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2748. \f[R]
  2749. .fi
  2750. .PP
  2751. See the global flags page (https://rclone.org/flags/) for global options
  2752. not listed here.
  2753. .SH SEE ALSO
  2754. .IP \[bu] 2
  2755. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2756. commands, flags and backends.
  2757. .SH rclone md5sum
  2758. .PP
  2759. Produces an md5sum file for all the objects in the path.
  2760. .SS Synopsis
  2761. .PP
  2762. Produces an md5sum file for all the objects in the path.
  2763. This is in the same format as the standard md5sum tool produces.
  2764. .PP
  2765. By default, the hash is requested from the remote.
  2766. If MD5 is not supported by the remote, no hash will be returned.
  2767. With the download flag, the file will be downloaded from the remote and
  2768. hashed locally enabling MD5 for any remote.
  2769. .PP
  2770. For other algorithms, see the
  2771. hashsum (https://rclone.org/commands/rclone_hashsum/) command.
  2772. Running \f[C]rclone md5sum remote:path\f[R] is equivalent to running
  2773. \f[C]rclone hashsum MD5 remote:path\f[R].
  2774. .PP
  2775. This command can also hash data received on standard input (stdin), by
  2776. not passing a remote:path, or by passing a hyphen as remote:path when
  2777. there is data to read (if not, the hyphen will be treated literally, as
  2778. a relative path).
  2779. .IP
  2780. .nf
  2781. \f[C]
  2782. rclone md5sum remote:path [flags]
  2783. \f[R]
  2784. .fi
  2785. .SS Options
  2786. .IP
  2787. .nf
  2788. \f[C]
  2789. --base64 Output base64 encoded hashsum
  2790. -C, --checkfile string Validate hashes against a given SUM file instead of printing them
  2791. --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
  2792. -h, --help help for md5sum
  2793. --output-file string Output hashsums to a file rather than the terminal
  2794. \f[R]
  2795. .fi
  2796. .SS Filter Options
  2797. .PP
  2798. Flags for filtering directory listings.
  2799. .IP
  2800. .nf
  2801. \f[C]
  2802. --delete-excluded Delete files on dest excluded from sync
  2803. --exclude stringArray Exclude files matching pattern
  2804. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2805. --exclude-if-present stringArray Exclude directories if filename is present
  2806. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2807. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2808. -f, --filter stringArray Add a file filtering rule
  2809. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2810. --ignore-case Ignore case in filters (case insensitive)
  2811. --include stringArray Include files matching pattern
  2812. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2813. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2814. --max-depth int If set limits the recursion depth to this (default -1)
  2815. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2816. --metadata-exclude stringArray Exclude metadatas matching pattern
  2817. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2818. --metadata-filter stringArray Add a metadata filtering rule
  2819. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2820. --metadata-include stringArray Include metadatas matching pattern
  2821. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2822. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2823. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2824. \f[R]
  2825. .fi
  2826. .SS Listing Options
  2827. .PP
  2828. Flags for listing directories.
  2829. .IP
  2830. .nf
  2831. \f[C]
  2832. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2833. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2834. \f[R]
  2835. .fi
  2836. .PP
  2837. See the global flags page (https://rclone.org/flags/) for global options
  2838. not listed here.
  2839. .SH SEE ALSO
  2840. .IP \[bu] 2
  2841. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2842. commands, flags and backends.
  2843. .SH rclone sha1sum
  2844. .PP
  2845. Produces an sha1sum file for all the objects in the path.
  2846. .SS Synopsis
  2847. .PP
  2848. Produces an sha1sum file for all the objects in the path.
  2849. This is in the same format as the standard sha1sum tool produces.
  2850. .PP
  2851. By default, the hash is requested from the remote.
  2852. If SHA-1 is not supported by the remote, no hash will be returned.
  2853. With the download flag, the file will be downloaded from the remote and
  2854. hashed locally enabling SHA-1 for any remote.
  2855. .PP
  2856. For other algorithms, see the
  2857. hashsum (https://rclone.org/commands/rclone_hashsum/) command.
  2858. Running \f[C]rclone sha1sum remote:path\f[R] is equivalent to running
  2859. \f[C]rclone hashsum SHA1 remote:path\f[R].
  2860. .PP
  2861. This command can also hash data received on standard input (stdin), by
  2862. not passing a remote:path, or by passing a hyphen as remote:path when
  2863. there is data to read (if not, the hyphen will be treated literally, as
  2864. a relative path).
  2865. .PP
  2866. This command can also hash data received on STDIN, if not passing a
  2867. remote:path.
  2868. .IP
  2869. .nf
  2870. \f[C]
  2871. rclone sha1sum remote:path [flags]
  2872. \f[R]
  2873. .fi
  2874. .SS Options
  2875. .IP
  2876. .nf
  2877. \f[C]
  2878. --base64 Output base64 encoded hashsum
  2879. -C, --checkfile string Validate hashes against a given SUM file instead of printing them
  2880. --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
  2881. -h, --help help for sha1sum
  2882. --output-file string Output hashsums to a file rather than the terminal
  2883. \f[R]
  2884. .fi
  2885. .SS Filter Options
  2886. .PP
  2887. Flags for filtering directory listings.
  2888. .IP
  2889. .nf
  2890. \f[C]
  2891. --delete-excluded Delete files on dest excluded from sync
  2892. --exclude stringArray Exclude files matching pattern
  2893. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2894. --exclude-if-present stringArray Exclude directories if filename is present
  2895. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2896. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2897. -f, --filter stringArray Add a file filtering rule
  2898. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2899. --ignore-case Ignore case in filters (case insensitive)
  2900. --include stringArray Include files matching pattern
  2901. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2902. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2903. --max-depth int If set limits the recursion depth to this (default -1)
  2904. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2905. --metadata-exclude stringArray Exclude metadatas matching pattern
  2906. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2907. --metadata-filter stringArray Add a metadata filtering rule
  2908. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2909. --metadata-include stringArray Include metadatas matching pattern
  2910. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2911. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2912. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2913. \f[R]
  2914. .fi
  2915. .SS Listing Options
  2916. .PP
  2917. Flags for listing directories.
  2918. .IP
  2919. .nf
  2920. \f[C]
  2921. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  2922. --fast-list Use recursive list if available; uses more memory but fewer transactions
  2923. \f[R]
  2924. .fi
  2925. .PP
  2926. See the global flags page (https://rclone.org/flags/) for global options
  2927. not listed here.
  2928. .SH SEE ALSO
  2929. .IP \[bu] 2
  2930. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  2931. commands, flags and backends.
  2932. .SH rclone size
  2933. .PP
  2934. Prints the total size and number of objects in remote:path.
  2935. .SS Synopsis
  2936. .PP
  2937. Counts objects in the path and calculates the total size.
  2938. Prints the result to standard output.
  2939. .PP
  2940. By default the output is in human-readable format, but shows values in
  2941. both human-readable format as well as the raw numbers (global option
  2942. \f[C]--human-readable\f[R] is not considered).
  2943. Use option \f[C]--json\f[R] to format output as JSON instead.
  2944. .PP
  2945. Recurses by default, use \f[C]--max-depth 1\f[R] to stop the recursion.
  2946. .PP
  2947. Some backends do not always provide file sizes, see for example Google
  2948. Photos (https://rclone.org/googlephotos/#size) and Google
  2949. Docs (https://rclone.org/drive/#limitations-of-google-docs).
  2950. Rclone will then show a notice in the log indicating how many such files
  2951. were encountered, and count them in as empty files in the output of the
  2952. size command.
  2953. .IP
  2954. .nf
  2955. \f[C]
  2956. rclone size remote:path [flags]
  2957. \f[R]
  2958. .fi
  2959. .SS Options
  2960. .IP
  2961. .nf
  2962. \f[C]
  2963. -h, --help help for size
  2964. --json Format output as JSON
  2965. \f[R]
  2966. .fi
  2967. .SS Filter Options
  2968. .PP
  2969. Flags for filtering directory listings.
  2970. .IP
  2971. .nf
  2972. \f[C]
  2973. --delete-excluded Delete files on dest excluded from sync
  2974. --exclude stringArray Exclude files matching pattern
  2975. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  2976. --exclude-if-present stringArray Exclude directories if filename is present
  2977. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  2978. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  2979. -f, --filter stringArray Add a file filtering rule
  2980. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  2981. --ignore-case Ignore case in filters (case insensitive)
  2982. --include stringArray Include files matching pattern
  2983. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  2984. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2985. --max-depth int If set limits the recursion depth to this (default -1)
  2986. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  2987. --metadata-exclude stringArray Exclude metadatas matching pattern
  2988. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  2989. --metadata-filter stringArray Add a metadata filtering rule
  2990. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  2991. --metadata-include stringArray Include metadatas matching pattern
  2992. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  2993. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  2994. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  2995. \f[R]
  2996. .fi
  2997. .SS Listing Options
  2998. .PP
  2999. Flags for listing directories.
  3000. .IP
  3001. .nf
  3002. \f[C]
  3003. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  3004. --fast-list Use recursive list if available; uses more memory but fewer transactions
  3005. \f[R]
  3006. .fi
  3007. .PP
  3008. See the global flags page (https://rclone.org/flags/) for global options
  3009. not listed here.
  3010. .SH SEE ALSO
  3011. .IP \[bu] 2
  3012. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3013. commands, flags and backends.
  3014. .SH rclone version
  3015. .PP
  3016. Show the version number.
  3017. .SS Synopsis
  3018. .PP
  3019. Show the rclone version number, the go version, the build target OS and
  3020. architecture, the runtime OS and kernel version and bitness, build tags
  3021. and the type of executable (static or dynamic).
  3022. .PP
  3023. For example:
  3024. .IP
  3025. .nf
  3026. \f[C]
  3027. $ rclone version
  3028. rclone v1.55.0
  3029. - os/version: ubuntu 18.04 (64 bit)
  3030. - os/kernel: 4.15.0-136-generic (x86_64)
  3031. - os/type: linux
  3032. - os/arch: amd64
  3033. - go/version: go1.16
  3034. - go/linking: static
  3035. - go/tags: none
  3036. \f[R]
  3037. .fi
  3038. .PP
  3039. Note: before rclone version 1.55 the os/type and os/arch lines were
  3040. merged, and the \[dq]go/version\[dq] line was tagged as \[dq]go
  3041. version\[dq].
  3042. .PP
  3043. If you supply the --check flag, then it will do an online check to
  3044. compare your version with the latest release and the latest beta.
  3045. .IP
  3046. .nf
  3047. \f[C]
  3048. $ rclone version --check
  3049. yours: 1.42.0.6
  3050. latest: 1.42 (released 2018-06-16)
  3051. beta: 1.42.0.5 (released 2018-06-17)
  3052. \f[R]
  3053. .fi
  3054. .PP
  3055. Or
  3056. .IP
  3057. .nf
  3058. \f[C]
  3059. $ rclone version --check
  3060. yours: 1.41
  3061. latest: 1.42 (released 2018-06-16)
  3062. upgrade: https://downloads.rclone.org/v1.42
  3063. beta: 1.42.0.5 (released 2018-06-17)
  3064. upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
  3065. \f[R]
  3066. .fi
  3067. .IP
  3068. .nf
  3069. \f[C]
  3070. rclone version [flags]
  3071. \f[R]
  3072. .fi
  3073. .SS Options
  3074. .IP
  3075. .nf
  3076. \f[C]
  3077. --check Check for new version
  3078. -h, --help help for version
  3079. \f[R]
  3080. .fi
  3081. .PP
  3082. See the global flags page (https://rclone.org/flags/) for global options
  3083. not listed here.
  3084. .SH SEE ALSO
  3085. .IP \[bu] 2
  3086. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3087. commands, flags and backends.
  3088. .SH rclone cleanup
  3089. .PP
  3090. Clean up the remote if possible.
  3091. .SS Synopsis
  3092. .PP
  3093. Clean up the remote if possible.
  3094. Empty the trash or delete old file versions.
  3095. Not supported by all remotes.
  3096. .IP
  3097. .nf
  3098. \f[C]
  3099. rclone cleanup remote:path [flags]
  3100. \f[R]
  3101. .fi
  3102. .SS Options
  3103. .IP
  3104. .nf
  3105. \f[C]
  3106. -h, --help help for cleanup
  3107. \f[R]
  3108. .fi
  3109. .SS Important Options
  3110. .PP
  3111. Important flags useful for most commands.
  3112. .IP
  3113. .nf
  3114. \f[C]
  3115. -n, --dry-run Do a trial run with no permanent changes
  3116. -i, --interactive Enable interactive mode
  3117. -v, --verbose count Print lots more stuff (repeat for more)
  3118. \f[R]
  3119. .fi
  3120. .PP
  3121. See the global flags page (https://rclone.org/flags/) for global options
  3122. not listed here.
  3123. .SH SEE ALSO
  3124. .IP \[bu] 2
  3125. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3126. commands, flags and backends.
  3127. .SH rclone dedupe
  3128. .PP
  3129. Interactively find duplicate filenames and delete/rename them.
  3130. .SS Synopsis
  3131. .PP
  3132. By default \f[C]dedupe\f[R] interactively finds files with duplicate
  3133. names and offers to delete all but one or rename them to be different.
  3134. This is known as deduping by name.
  3135. .PP
  3136. Deduping by name is only useful with a small group of backends (e.g.
  3137. Google Drive, Opendrive) that can have duplicate file names.
  3138. It can be run on wrapping backends (e.g.
  3139. crypt) if they wrap a backend which supports duplicate file names.
  3140. .PP
  3141. However if \f[C]--by-hash\f[R] is passed in then dedupe will find files
  3142. with duplicate hashes instead which will work on any backend which
  3143. supports at least one hash.
  3144. This can be used to find files with duplicate content.
  3145. This is known as deduping by hash.
  3146. .PP
  3147. If deduping by name, first rclone will merge directories with the same
  3148. name.
  3149. It will do this iteratively until all the identically named directories
  3150. have been merged.
  3151. .PP
  3152. Next, if deduping by name, for every group of duplicate file names /
  3153. hashes, it will delete all but one identical file it finds without
  3154. confirmation.
  3155. This means that for most duplicated files the \f[C]dedupe\f[R] command
  3156. will not be interactive.
  3157. .PP
  3158. \f[C]dedupe\f[R] considers files to be identical if they have the same
  3159. file path and the same hash.
  3160. If the backend does not support hashes (e.g.
  3161. crypt wrapping Google Drive) then they will never be found to be
  3162. identical.
  3163. If you use the \f[C]--size-only\f[R] flag then files will be considered
  3164. identical if they have the same size (any hash will be ignored).
  3165. This can be useful on crypt backends which do not support hashes.
  3166. .PP
  3167. Next rclone will resolve the remaining duplicates.
  3168. Exactly which action is taken depends on the dedupe mode.
  3169. By default, rclone will interactively query the user for each one.
  3170. .PP
  3171. \f[B]Important\f[R]: Since this can cause data loss, test first with the
  3172. \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag.
  3173. .PP
  3174. Here is an example run.
  3175. .PP
  3176. Before - with duplicates
  3177. .IP
  3178. .nf
  3179. \f[C]
  3180. $ rclone lsl drive:dupes
  3181. 6048320 2016-03-05 16:23:16.798000000 one.txt
  3182. 6048320 2016-03-05 16:23:11.775000000 one.txt
  3183. 564374 2016-03-05 16:23:06.731000000 one.txt
  3184. 6048320 2016-03-05 16:18:26.092000000 one.txt
  3185. 6048320 2016-03-05 16:22:46.185000000 two.txt
  3186. 1744073 2016-03-05 16:22:38.104000000 two.txt
  3187. 564374 2016-03-05 16:22:52.118000000 two.txt
  3188. \f[R]
  3189. .fi
  3190. .PP
  3191. Now the \f[C]dedupe\f[R] session
  3192. .IP
  3193. .nf
  3194. \f[C]
  3195. $ rclone dedupe drive:dupes
  3196. 2016/03/05 16:24:37 Google drive root \[aq]dupes\[aq]: Looking for duplicates using interactive mode.
  3197. one.txt: Found 4 files with duplicate names
  3198. one.txt: Deleting 2/3 identical duplicates (MD5 \[dq]1eedaa9fe86fd4b8632e2ac549403b36\[dq])
  3199. one.txt: 2 duplicates remain
  3200. 1: 6048320 bytes, 2016-03-05 16:23:16.798000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
  3201. 2: 564374 bytes, 2016-03-05 16:23:06.731000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
  3202. s) Skip and do nothing
  3203. k) Keep just one (choose which in next step)
  3204. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  3205. s/k/r> k
  3206. Enter the number of the file to keep> 1
  3207. one.txt: Deleted 1 extra copies
  3208. two.txt: Found 3 files with duplicate names
  3209. two.txt: 3 duplicates remain
  3210. 1: 564374 bytes, 2016-03-05 16:22:52.118000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
  3211. 2: 6048320 bytes, 2016-03-05 16:22:46.185000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
  3212. 3: 1744073 bytes, 2016-03-05 16:22:38.104000000, MD5 851957f7fb6f0bc4ce76be966d336802
  3213. s) Skip and do nothing
  3214. k) Keep just one (choose which in next step)
  3215. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  3216. s/k/r> r
  3217. two-1.txt: renamed from: two.txt
  3218. two-2.txt: renamed from: two.txt
  3219. two-3.txt: renamed from: two.txt
  3220. \f[R]
  3221. .fi
  3222. .PP
  3223. The result being
  3224. .IP
  3225. .nf
  3226. \f[C]
  3227. $ rclone lsl drive:dupes
  3228. 6048320 2016-03-05 16:23:16.798000000 one.txt
  3229. 564374 2016-03-05 16:22:52.118000000 two-1.txt
  3230. 6048320 2016-03-05 16:22:46.185000000 two-2.txt
  3231. 1744073 2016-03-05 16:22:38.104000000 two-3.txt
  3232. \f[R]
  3233. .fi
  3234. .PP
  3235. Dedupe can be run non interactively using the \f[C]--dedupe-mode\f[R]
  3236. flag or by using an extra parameter with the same value
  3237. .IP \[bu] 2
  3238. \f[C]--dedupe-mode interactive\f[R] - interactive as above.
  3239. .IP \[bu] 2
  3240. \f[C]--dedupe-mode skip\f[R] - removes identical files then skips
  3241. anything left.
  3242. .IP \[bu] 2
  3243. \f[C]--dedupe-mode first\f[R] - removes identical files then keeps the
  3244. first one.
  3245. .IP \[bu] 2
  3246. \f[C]--dedupe-mode newest\f[R] - removes identical files then keeps the
  3247. newest one.
  3248. .IP \[bu] 2
  3249. \f[C]--dedupe-mode oldest\f[R] - removes identical files then keeps the
  3250. oldest one.
  3251. .IP \[bu] 2
  3252. \f[C]--dedupe-mode largest\f[R] - removes identical files then keeps the
  3253. largest one.
  3254. .IP \[bu] 2
  3255. \f[C]--dedupe-mode smallest\f[R] - removes identical files then keeps
  3256. the smallest one.
  3257. .IP \[bu] 2
  3258. \f[C]--dedupe-mode rename\f[R] - removes identical files then renames
  3259. the rest to be different.
  3260. .IP \[bu] 2
  3261. \f[C]--dedupe-mode list\f[R] - lists duplicate dirs and files only and
  3262. changes nothing.
  3263. .PP
  3264. For example, to rename all the identically named photos in your Google
  3265. Photos directory, do
  3266. .IP
  3267. .nf
  3268. \f[C]
  3269. rclone dedupe --dedupe-mode rename \[dq]drive:Google Photos\[dq]
  3270. \f[R]
  3271. .fi
  3272. .PP
  3273. Or
  3274. .IP
  3275. .nf
  3276. \f[C]
  3277. rclone dedupe rename \[dq]drive:Google Photos\[dq]
  3278. \f[R]
  3279. .fi
  3280. .IP
  3281. .nf
  3282. \f[C]
  3283. rclone dedupe [mode] remote:path [flags]
  3284. \f[R]
  3285. .fi
  3286. .SS Options
  3287. .IP
  3288. .nf
  3289. \f[C]
  3290. --by-hash Find identical hashes rather than names
  3291. --dedupe-mode string Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename (default \[dq]interactive\[dq])
  3292. -h, --help help for dedupe
  3293. \f[R]
  3294. .fi
  3295. .SS Important Options
  3296. .PP
  3297. Important flags useful for most commands.
  3298. .IP
  3299. .nf
  3300. \f[C]
  3301. -n, --dry-run Do a trial run with no permanent changes
  3302. -i, --interactive Enable interactive mode
  3303. -v, --verbose count Print lots more stuff (repeat for more)
  3304. \f[R]
  3305. .fi
  3306. .PP
  3307. See the global flags page (https://rclone.org/flags/) for global options
  3308. not listed here.
  3309. .SH SEE ALSO
  3310. .IP \[bu] 2
  3311. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3312. commands, flags and backends.
  3313. .SH rclone about
  3314. .PP
  3315. Get quota information from the remote.
  3316. .SS Synopsis
  3317. .PP
  3318. \f[C]rclone about\f[R] prints quota information about a remote to
  3319. standard output.
  3320. The output is typically used, free, quota and trash contents.
  3321. .PP
  3322. E.g.
  3323. Typical output from \f[C]rclone about remote:\f[R] is:
  3324. .IP
  3325. .nf
  3326. \f[C]
  3327. Total: 17 GiB
  3328. Used: 7.444 GiB
  3329. Free: 1.315 GiB
  3330. Trashed: 100.000 MiB
  3331. Other: 8.241 GiB
  3332. \f[R]
  3333. .fi
  3334. .PP
  3335. Where the fields are:
  3336. .IP \[bu] 2
  3337. Total: Total size available.
  3338. .IP \[bu] 2
  3339. Used: Total size used.
  3340. .IP \[bu] 2
  3341. Free: Total space available to this user.
  3342. .IP \[bu] 2
  3343. Trashed: Total space used by trash.
  3344. .IP \[bu] 2
  3345. Other: Total amount in other storage (e.g.
  3346. Gmail, Google Photos).
  3347. .IP \[bu] 2
  3348. Objects: Total number of objects in the storage.
  3349. .PP
  3350. All sizes are in number of bytes.
  3351. .PP
  3352. Applying a \f[C]--full\f[R] flag to the command prints the bytes in
  3353. full, e.g.
  3354. .IP
  3355. .nf
  3356. \f[C]
  3357. Total: 18253611008
  3358. Used: 7993453766
  3359. Free: 1411001220
  3360. Trashed: 104857602
  3361. Other: 8849156022
  3362. \f[R]
  3363. .fi
  3364. .PP
  3365. A \f[C]--json\f[R] flag generates conveniently machine-readable output,
  3366. e.g.
  3367. .IP
  3368. .nf
  3369. \f[C]
  3370. {
  3371. \[dq]total\[dq]: 18253611008,
  3372. \[dq]used\[dq]: 7993453766,
  3373. \[dq]trashed\[dq]: 104857602,
  3374. \[dq]other\[dq]: 8849156022,
  3375. \[dq]free\[dq]: 1411001220
  3376. }
  3377. \f[R]
  3378. .fi
  3379. .PP
  3380. Not all backends print all fields.
  3381. Information is not included if it is not provided by a backend.
  3382. Where the value is unlimited it is omitted.
  3383. .PP
  3384. Some backends does not support the \f[C]rclone about\f[R] command at
  3385. all, see complete list in
  3386. documentation (https://rclone.org/overview/#optional-features).
  3387. .IP
  3388. .nf
  3389. \f[C]
  3390. rclone about remote: [flags]
  3391. \f[R]
  3392. .fi
  3393. .SS Options
  3394. .IP
  3395. .nf
  3396. \f[C]
  3397. --full Full numbers instead of human-readable
  3398. -h, --help help for about
  3399. --json Format output as JSON
  3400. \f[R]
  3401. .fi
  3402. .PP
  3403. See the global flags page (https://rclone.org/flags/) for global options
  3404. not listed here.
  3405. .SH SEE ALSO
  3406. .IP \[bu] 2
  3407. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3408. commands, flags and backends.
  3409. .SH rclone authorize
  3410. .PP
  3411. Remote authorization.
  3412. .SS Synopsis
  3413. .PP
  3414. Remote authorization.
  3415. Used to authorize a remote or headless rclone from a machine with a
  3416. browser - use as instructed by rclone config.
  3417. .PP
  3418. Use --auth-no-open-browser to prevent rclone to open auth link in
  3419. default browser automatically.
  3420. .PP
  3421. Use --template to generate HTML output via a custom Go template.
  3422. If a blank string is provided as an argument to this flag, the default
  3423. template is used.
  3424. .IP
  3425. .nf
  3426. \f[C]
  3427. rclone authorize [flags]
  3428. \f[R]
  3429. .fi
  3430. .SS Options
  3431. .IP
  3432. .nf
  3433. \f[C]
  3434. --auth-no-open-browser Do not automatically open auth link in default browser
  3435. -h, --help help for authorize
  3436. --template string The path to a custom Go template for generating HTML responses
  3437. \f[R]
  3438. .fi
  3439. .PP
  3440. See the global flags page (https://rclone.org/flags/) for global options
  3441. not listed here.
  3442. .SH SEE ALSO
  3443. .IP \[bu] 2
  3444. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3445. commands, flags and backends.
  3446. .SH rclone backend
  3447. .PP
  3448. Run a backend-specific command.
  3449. .SS Synopsis
  3450. .PP
  3451. This runs a backend-specific command.
  3452. The commands themselves (except for \[dq]help\[dq] and
  3453. \[dq]features\[dq]) are defined by the backends and you should see the
  3454. backend docs for definitions.
  3455. .PP
  3456. You can discover what commands a backend implements by using
  3457. .IP
  3458. .nf
  3459. \f[C]
  3460. rclone backend help remote:
  3461. rclone backend help <backendname>
  3462. \f[R]
  3463. .fi
  3464. .PP
  3465. You can also discover information about the backend using (see
  3466. operations/fsinfo (https://rclone.org/rc/#operations-fsinfo) in the
  3467. remote control docs for more info).
  3468. .IP
  3469. .nf
  3470. \f[C]
  3471. rclone backend features remote:
  3472. \f[R]
  3473. .fi
  3474. .PP
  3475. Pass options to the backend command with -o.
  3476. This should be key=value or key, e.g.:
  3477. .IP
  3478. .nf
  3479. \f[C]
  3480. rclone backend stats remote:path stats -o format=json -o long
  3481. \f[R]
  3482. .fi
  3483. .PP
  3484. Pass arguments to the backend by placing them on the end of the line
  3485. .IP
  3486. .nf
  3487. \f[C]
  3488. rclone backend cleanup remote:path file1 file2 file3
  3489. \f[R]
  3490. .fi
  3491. .PP
  3492. Note to run these commands on a running backend then see
  3493. backend/command (https://rclone.org/rc/#backend-command) in the rc docs.
  3494. .IP
  3495. .nf
  3496. \f[C]
  3497. rclone backend <command> remote:path [opts] <args> [flags]
  3498. \f[R]
  3499. .fi
  3500. .SS Options
  3501. .IP
  3502. .nf
  3503. \f[C]
  3504. -h, --help help for backend
  3505. --json Always output in JSON format
  3506. -o, --option stringArray Option in the form name=value or name
  3507. \f[R]
  3508. .fi
  3509. .SS Important Options
  3510. .PP
  3511. Important flags useful for most commands.
  3512. .IP
  3513. .nf
  3514. \f[C]
  3515. -n, --dry-run Do a trial run with no permanent changes
  3516. -i, --interactive Enable interactive mode
  3517. -v, --verbose count Print lots more stuff (repeat for more)
  3518. \f[R]
  3519. .fi
  3520. .PP
  3521. See the global flags page (https://rclone.org/flags/) for global options
  3522. not listed here.
  3523. .SH SEE ALSO
  3524. .IP \[bu] 2
  3525. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3526. commands, flags and backends.
  3527. .SH rclone bisync
  3528. .PP
  3529. Perform bidirectional synchronization between two paths.
  3530. .SS Synopsis
  3531. .PP
  3532. Perform bidirectional synchronization between two paths.
  3533. .PP
  3534. Bisync (https://rclone.org/bisync/) provides a bidirectional cloud sync
  3535. solution in rclone.
  3536. It retains the Path1 and Path2 filesystem listings from the prior run.
  3537. On each successive run it will: - list files on Path1 and Path2, and
  3538. check for changes on each side.
  3539. Changes include \f[C]New\f[R], \f[C]Newer\f[R], \f[C]Older\f[R], and
  3540. \f[C]Deleted\f[R] files.
  3541. - Propagate changes on Path1 to Path2, and vice-versa.
  3542. .PP
  3543. Bisync is \f[B]in beta\f[R] and is considered an \f[B]advanced
  3544. command\f[R], so use with care.
  3545. Make sure you have read and understood the entire
  3546. manual (https://rclone.org/bisync) (especially the
  3547. Limitations (https://rclone.org/bisync/#limitations) section) before
  3548. using, or data loss can result.
  3549. Questions can be asked in the Rclone Forum (https://forum.rclone.org/).
  3550. .PP
  3551. See full bisync description (https://rclone.org/bisync/) for details.
  3552. .IP
  3553. .nf
  3554. \f[C]
  3555. rclone bisync remote1:path1 remote2:path2 [flags]
  3556. \f[R]
  3557. .fi
  3558. .SS Options
  3559. .IP
  3560. .nf
  3561. \f[C]
  3562. --backup-dir1 string --backup-dir for Path1. Must be a non-overlapping path on the same remote.
  3563. --backup-dir2 string --backup-dir for Path2. Must be a non-overlapping path on the same remote.
  3564. --check-access Ensure expected RCLONE_TEST files are found on both Path1 and Path2 filesystems, else abort.
  3565. --check-filename string Filename for --check-access (default: RCLONE_TEST)
  3566. --check-sync string Controls comparison of final listings: true|false|only (default: true) (default \[dq]true\[dq])
  3567. --compare string Comma-separated list of bisync-specific compare options ex. \[aq]size,modtime,checksum\[aq] (default: \[aq]size,modtime\[aq])
  3568. --conflict-loser ConflictLoserAction Action to take on the loser of a sync conflict (when there is a winner) or on both files (when there is no winner): , num, pathname, delete (default: num)
  3569. --conflict-resolve string Automatically resolve conflicts by preferring the version that is: none, path1, path2, newer, older, larger, smaller (default: none) (default \[dq]none\[dq])
  3570. --conflict-suffix string Suffix to use when renaming a --conflict-loser. Can be either one string or two comma-separated strings to assign different suffixes to Path1/Path2. (default: \[aq]conflict\[aq])
  3571. --create-empty-src-dirs Sync creation and deletion of empty directories. (Not compatible with --remove-empty-dirs)
  3572. --download-hash Compute hash by downloading when otherwise unavailable. (warning: may be slow and use lots of data!)
  3573. --filters-file string Read filtering patterns from a file
  3574. --force Bypass --max-delete safety check and run the sync. Consider using with --verbose
  3575. -h, --help help for bisync
  3576. --ignore-listing-checksum Do not use checksums for listings (add --ignore-checksum to additionally skip post-copy checksum checks)
  3577. --max-lock Duration Consider lock files older than this to be expired (default: 0 (never expire)) (minimum: 2m) (default 0s)
  3578. --no-cleanup Retain working files (useful for troubleshooting and testing).
  3579. --no-slow-hash Ignore listing checksums only on backends where they are slow
  3580. --recover Automatically recover from interruptions without requiring --resync.
  3581. --remove-empty-dirs Remove ALL empty directories at the final cleanup step.
  3582. --resilient Allow future runs to retry after certain less-serious errors, instead of requiring --resync. Use at your own risk!
  3583. -1, --resync Performs the resync run. Equivalent to --resync-mode path1. Consider using --verbose or --dry-run first.
  3584. --resync-mode string During resync, prefer the version that is: path1, path2, newer, older, larger, smaller (default: path1 if --resync, otherwise none for no resync.) (default \[dq]none\[dq])
  3585. --slow-hash-sync-only Ignore slow checksums for listings and deltas, but still consider them during sync calls.
  3586. --workdir string Use custom working dir - useful for testing. (default: {WORKDIR})
  3587. \f[R]
  3588. .fi
  3589. .SS Copy Options
  3590. .PP
  3591. Flags for anything which can Copy a file.
  3592. .IP
  3593. .nf
  3594. \f[C]
  3595. --check-first Do all the checks before starting transfers
  3596. -c, --checksum Check for changes with size & checksum (if available, or fallback to size only).
  3597. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  3598. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  3599. --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD)
  3600. --ignore-case-sync Ignore case when synchronizing
  3601. --ignore-checksum Skip post copy check of checksums
  3602. --ignore-existing Skip all files that exist on destination
  3603. --ignore-size Ignore size when skipping use modtime or checksum
  3604. -I, --ignore-times Don\[aq]t skip items that match size and time - transfer all unconditionally
  3605. --immutable Do not modify files, fail if existing files have been modified
  3606. --inplace Download directly to destination file instead of atomic download to temp/rename
  3607. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  3608. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  3609. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  3610. -M, --metadata If set, preserve metadata when copying objects
  3611. --modify-window Duration Max time diff to be considered the same (default 1ns)
  3612. --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi)
  3613. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi)
  3614. --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4)
  3615. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  3616. --no-check-dest Don\[aq]t check the destination, copy regardless
  3617. --no-traverse Don\[aq]t traverse destination file system on copy
  3618. --no-update-dir-modtime Don\[aq]t update directory modification times
  3619. --no-update-modtime Don\[aq]t update destination modtime if files identical
  3620. --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq]
  3621. --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default \[dq].partial\[dq])
  3622. --refresh-times Refresh the modtime of remote files
  3623. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  3624. --size-only Skip based on size only, not modtime or checksum
  3625. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki)
  3626. -u, --update Skip files that are newer on the destination
  3627. \f[R]
  3628. .fi
  3629. .SS Important Options
  3630. .PP
  3631. Important flags useful for most commands.
  3632. .IP
  3633. .nf
  3634. \f[C]
  3635. -n, --dry-run Do a trial run with no permanent changes
  3636. -i, --interactive Enable interactive mode
  3637. -v, --verbose count Print lots more stuff (repeat for more)
  3638. \f[R]
  3639. .fi
  3640. .SS Filter Options
  3641. .PP
  3642. Flags for filtering directory listings.
  3643. .IP
  3644. .nf
  3645. \f[C]
  3646. --delete-excluded Delete files on dest excluded from sync
  3647. --exclude stringArray Exclude files matching pattern
  3648. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  3649. --exclude-if-present stringArray Exclude directories if filename is present
  3650. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  3651. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  3652. -f, --filter stringArray Add a file filtering rule
  3653. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  3654. --ignore-case Ignore case in filters (case insensitive)
  3655. --include stringArray Include files matching pattern
  3656. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  3657. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  3658. --max-depth int If set limits the recursion depth to this (default -1)
  3659. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  3660. --metadata-exclude stringArray Exclude metadatas matching pattern
  3661. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  3662. --metadata-filter stringArray Add a metadata filtering rule
  3663. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  3664. --metadata-include stringArray Include metadatas matching pattern
  3665. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  3666. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  3667. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  3668. \f[R]
  3669. .fi
  3670. .PP
  3671. See the global flags page (https://rclone.org/flags/) for global options
  3672. not listed here.
  3673. .SH SEE ALSO
  3674. .IP \[bu] 2
  3675. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3676. commands, flags and backends.
  3677. .SH rclone cat
  3678. .PP
  3679. Concatenates any files and sends them to stdout.
  3680. .SS Synopsis
  3681. .PP
  3682. rclone cat sends any files to standard output.
  3683. .PP
  3684. You can use it like this to output a single file
  3685. .IP
  3686. .nf
  3687. \f[C]
  3688. rclone cat remote:path/to/file
  3689. \f[R]
  3690. .fi
  3691. .PP
  3692. Or like this to output any file in dir or its subdirectories.
  3693. .IP
  3694. .nf
  3695. \f[C]
  3696. rclone cat remote:path/to/dir
  3697. \f[R]
  3698. .fi
  3699. .PP
  3700. Or like this to output any .txt files in dir or its subdirectories.
  3701. .IP
  3702. .nf
  3703. \f[C]
  3704. rclone --include \[dq]*.txt\[dq] cat remote:path/to/dir
  3705. \f[R]
  3706. .fi
  3707. .PP
  3708. Use the \f[C]--head\f[R] flag to print characters only at the start,
  3709. \f[C]--tail\f[R] for the end and \f[C]--offset\f[R] and
  3710. \f[C]--count\f[R] to print a section in the middle.
  3711. Note that if offset is negative it will count from the end, so
  3712. \f[C]--offset -1 --count 1\f[R] is equivalent to \f[C]--tail 1\f[R].
  3713. .PP
  3714. Use the \f[C]--separator\f[R] flag to print a separator value between
  3715. files.
  3716. Be sure to shell-escape special characters.
  3717. For example, to print a newline between files, use:
  3718. .IP \[bu] 2
  3719. bash:
  3720. .RS 2
  3721. .IP
  3722. .nf
  3723. \f[C]
  3724. rclone --include \[dq]*.txt\[dq] --separator $\[aq]\[rs]n\[aq] cat remote:path/to/dir
  3725. \f[R]
  3726. .fi
  3727. .RE
  3728. .IP \[bu] 2
  3729. powershell:
  3730. .RS 2
  3731. .IP
  3732. .nf
  3733. \f[C]
  3734. rclone --include \[dq]*.txt\[dq] --separator \[dq]\[ga]n\[dq] cat remote:path/to/dir
  3735. \f[R]
  3736. .fi
  3737. .RE
  3738. .IP
  3739. .nf
  3740. \f[C]
  3741. rclone cat remote:path [flags]
  3742. \f[R]
  3743. .fi
  3744. .SS Options
  3745. .IP
  3746. .nf
  3747. \f[C]
  3748. --count int Only print N characters (default -1)
  3749. --discard Discard the output instead of printing
  3750. --head int Only print the first N characters
  3751. -h, --help help for cat
  3752. --offset int Start printing at offset N (or from end if -ve)
  3753. --separator string Separator to use between objects when printing multiple files
  3754. --tail int Only print the last N characters
  3755. \f[R]
  3756. .fi
  3757. .SS Filter Options
  3758. .PP
  3759. Flags for filtering directory listings.
  3760. .IP
  3761. .nf
  3762. \f[C]
  3763. --delete-excluded Delete files on dest excluded from sync
  3764. --exclude stringArray Exclude files matching pattern
  3765. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  3766. --exclude-if-present stringArray Exclude directories if filename is present
  3767. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  3768. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  3769. -f, --filter stringArray Add a file filtering rule
  3770. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  3771. --ignore-case Ignore case in filters (case insensitive)
  3772. --include stringArray Include files matching pattern
  3773. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  3774. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  3775. --max-depth int If set limits the recursion depth to this (default -1)
  3776. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  3777. --metadata-exclude stringArray Exclude metadatas matching pattern
  3778. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  3779. --metadata-filter stringArray Add a metadata filtering rule
  3780. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  3781. --metadata-include stringArray Include metadatas matching pattern
  3782. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  3783. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  3784. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  3785. \f[R]
  3786. .fi
  3787. .SS Listing Options
  3788. .PP
  3789. Flags for listing directories.
  3790. .IP
  3791. .nf
  3792. \f[C]
  3793. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  3794. --fast-list Use recursive list if available; uses more memory but fewer transactions
  3795. \f[R]
  3796. .fi
  3797. .PP
  3798. See the global flags page (https://rclone.org/flags/) for global options
  3799. not listed here.
  3800. .SH SEE ALSO
  3801. .IP \[bu] 2
  3802. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3803. commands, flags and backends.
  3804. .SH rclone checksum
  3805. .PP
  3806. Checks the files in the destination against a SUM file.
  3807. .SS Synopsis
  3808. .PP
  3809. Checks that hashsums of destination files match the SUM file.
  3810. It compares hashes (MD5, SHA1, etc) and logs a report of files which
  3811. don\[aq]t match.
  3812. It doesn\[aq]t alter the file system.
  3813. .PP
  3814. The sumfile is treated as the source and the dst:path is treated as the
  3815. destination for the purposes of the output.
  3816. .PP
  3817. If you supply the \f[C]--download\f[R] flag, it will download the data
  3818. from the remote and calculate the content hash on the fly.
  3819. This can be useful for remotes that don\[aq]t support hashes or if you
  3820. really want to check all the data.
  3821. .PP
  3822. Note that hash values in the SUM file are treated as case insensitive.
  3823. .PP
  3824. If you supply the \f[C]--one-way\f[R] flag, it will only check that
  3825. files in the source match the files in the destination, not the other
  3826. way around.
  3827. This means that extra files in the destination that are not in the
  3828. source will not be detected.
  3829. .PP
  3830. The \f[C]--differ\f[R], \f[C]--missing-on-dst\f[R],
  3831. \f[C]--missing-on-src\f[R], \f[C]--match\f[R] and \f[C]--error\f[R]
  3832. flags write paths, one per line, to the file name (or stdout if it is
  3833. \f[C]-\f[R]) supplied.
  3834. What they write is described in the help below.
  3835. For example \f[C]--differ\f[R] will write all paths which are present on
  3836. both the source and destination but different.
  3837. .PP
  3838. The \f[C]--combined\f[R] flag will write a file (or stdout) which
  3839. contains all file paths with a symbol and then a space and then the path
  3840. to tell you what happened to it.
  3841. These are reminiscent of diff files.
  3842. .IP \[bu] 2
  3843. \f[C]= path\f[R] means path was found in source and destination and was
  3844. identical
  3845. .IP \[bu] 2
  3846. \[ga]- path\[ga] means path was missing on the source, so only in the
  3847. destination
  3848. .IP \[bu] 2
  3849. \[ga]+ path\[ga] means path was missing on the destination, so only in
  3850. the source
  3851. .IP \[bu] 2
  3852. \[ga]* path\[ga] means path was present in source and destination but
  3853. different.
  3854. .IP \[bu] 2
  3855. \f[C]! path\f[R] means there was an error reading or hashing the source
  3856. or dest.
  3857. .PP
  3858. The default number of parallel checks is 8.
  3859. See the --checkers=N (https://rclone.org/docs/#checkers-n) option for
  3860. more information.
  3861. .IP
  3862. .nf
  3863. \f[C]
  3864. rclone checksum <hash> sumfile dst:path [flags]
  3865. \f[R]
  3866. .fi
  3867. .SS Options
  3868. .IP
  3869. .nf
  3870. \f[C]
  3871. --combined string Make a combined report of changes to this file
  3872. --differ string Report all non-matching files to this file
  3873. --download Check by hashing the contents
  3874. --error string Report all files with errors (hashing or reading) to this file
  3875. -h, --help help for checksum
  3876. --match string Report all matching files to this file
  3877. --missing-on-dst string Report all files missing from the destination to this file
  3878. --missing-on-src string Report all files missing from the source to this file
  3879. --one-way Check one way only, source files must exist on remote
  3880. \f[R]
  3881. .fi
  3882. .SS Filter Options
  3883. .PP
  3884. Flags for filtering directory listings.
  3885. .IP
  3886. .nf
  3887. \f[C]
  3888. --delete-excluded Delete files on dest excluded from sync
  3889. --exclude stringArray Exclude files matching pattern
  3890. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  3891. --exclude-if-present stringArray Exclude directories if filename is present
  3892. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  3893. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  3894. -f, --filter stringArray Add a file filtering rule
  3895. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  3896. --ignore-case Ignore case in filters (case insensitive)
  3897. --include stringArray Include files matching pattern
  3898. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  3899. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  3900. --max-depth int If set limits the recursion depth to this (default -1)
  3901. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  3902. --metadata-exclude stringArray Exclude metadatas matching pattern
  3903. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  3904. --metadata-filter stringArray Add a metadata filtering rule
  3905. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  3906. --metadata-include stringArray Include metadatas matching pattern
  3907. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  3908. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  3909. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  3910. \f[R]
  3911. .fi
  3912. .SS Listing Options
  3913. .PP
  3914. Flags for listing directories.
  3915. .IP
  3916. .nf
  3917. \f[C]
  3918. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  3919. --fast-list Use recursive list if available; uses more memory but fewer transactions
  3920. \f[R]
  3921. .fi
  3922. .PP
  3923. See the global flags page (https://rclone.org/flags/) for global options
  3924. not listed here.
  3925. .SH SEE ALSO
  3926. .IP \[bu] 2
  3927. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3928. commands, flags and backends.
  3929. .SH rclone completion
  3930. .PP
  3931. Output completion script for a given shell.
  3932. .SS Synopsis
  3933. .PP
  3934. Generates a shell completion script for rclone.
  3935. Run with \f[C]--help\f[R] to list the supported shells.
  3936. .SS Options
  3937. .IP
  3938. .nf
  3939. \f[C]
  3940. -h, --help help for completion
  3941. \f[R]
  3942. .fi
  3943. .PP
  3944. See the global flags page (https://rclone.org/flags/) for global options
  3945. not listed here.
  3946. .SH SEE ALSO
  3947. .IP \[bu] 2
  3948. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  3949. commands, flags and backends.
  3950. .IP \[bu] 2
  3951. rclone completion
  3952. bash (https://rclone.org/commands/rclone_completion_bash/) - Output bash
  3953. completion script for rclone.
  3954. .IP \[bu] 2
  3955. rclone completion
  3956. fish (https://rclone.org/commands/rclone_completion_fish/) - Output fish
  3957. completion script for rclone.
  3958. .IP \[bu] 2
  3959. rclone completion
  3960. powershell (https://rclone.org/commands/rclone_completion_powershell/) -
  3961. Output powershell completion script for rclone.
  3962. .IP \[bu] 2
  3963. rclone completion
  3964. zsh (https://rclone.org/commands/rclone_completion_zsh/) - Output zsh
  3965. completion script for rclone.
  3966. .SH rclone completion bash
  3967. .PP
  3968. Output bash completion script for rclone.
  3969. .SS Synopsis
  3970. .PP
  3971. Generates a bash shell autocompletion script for rclone.
  3972. .PP
  3973. This writes to /etc/bash_completion.d/rclone by default so will probably
  3974. need to be run with sudo or as root, e.g.
  3975. .IP
  3976. .nf
  3977. \f[C]
  3978. sudo rclone genautocomplete bash
  3979. \f[R]
  3980. .fi
  3981. .PP
  3982. Logout and login again to use the autocompletion scripts, or source them
  3983. directly
  3984. .IP
  3985. .nf
  3986. \f[C]
  3987. \&. /etc/bash_completion
  3988. \f[R]
  3989. .fi
  3990. .PP
  3991. If you supply a command line argument the script will be written there.
  3992. .PP
  3993. If output_file is \[dq]-\[dq], then the output will be written to
  3994. stdout.
  3995. .IP
  3996. .nf
  3997. \f[C]
  3998. rclone completion bash [output_file] [flags]
  3999. \f[R]
  4000. .fi
  4001. .SS Options
  4002. .IP
  4003. .nf
  4004. \f[C]
  4005. -h, --help help for bash
  4006. \f[R]
  4007. .fi
  4008. .PP
  4009. See the global flags page (https://rclone.org/flags/) for global options
  4010. not listed here.
  4011. .SH SEE ALSO
  4012. .IP \[bu] 2
  4013. rclone completion (https://rclone.org/commands/rclone_completion/) -
  4014. Output completion script for a given shell.
  4015. .SH rclone completion fish
  4016. .PP
  4017. Output fish completion script for rclone.
  4018. .SS Synopsis
  4019. .PP
  4020. Generates a fish autocompletion script for rclone.
  4021. .PP
  4022. This writes to /etc/fish/completions/rclone.fish by default so will
  4023. probably need to be run with sudo or as root, e.g.
  4024. .IP
  4025. .nf
  4026. \f[C]
  4027. sudo rclone genautocomplete fish
  4028. \f[R]
  4029. .fi
  4030. .PP
  4031. Logout and login again to use the autocompletion scripts, or source them
  4032. directly
  4033. .IP
  4034. .nf
  4035. \f[C]
  4036. \&. /etc/fish/completions/rclone.fish
  4037. \f[R]
  4038. .fi
  4039. .PP
  4040. If you supply a command line argument the script will be written there.
  4041. .PP
  4042. If output_file is \[dq]-\[dq], then the output will be written to
  4043. stdout.
  4044. .IP
  4045. .nf
  4046. \f[C]
  4047. rclone completion fish [output_file] [flags]
  4048. \f[R]
  4049. .fi
  4050. .SS Options
  4051. .IP
  4052. .nf
  4053. \f[C]
  4054. -h, --help help for fish
  4055. \f[R]
  4056. .fi
  4057. .PP
  4058. See the global flags page (https://rclone.org/flags/) for global options
  4059. not listed here.
  4060. .SH SEE ALSO
  4061. .IP \[bu] 2
  4062. rclone completion (https://rclone.org/commands/rclone_completion/) -
  4063. Output completion script for a given shell.
  4064. .SH rclone completion powershell
  4065. .PP
  4066. Output powershell completion script for rclone.
  4067. .SS Synopsis
  4068. .PP
  4069. Generate the autocompletion script for powershell.
  4070. .PP
  4071. To load completions in your current shell session:
  4072. .IP
  4073. .nf
  4074. \f[C]
  4075. rclone completion powershell | Out-String | Invoke-Expression
  4076. \f[R]
  4077. .fi
  4078. .PP
  4079. To load completions for every new session, add the output of the above
  4080. command to your powershell profile.
  4081. .PP
  4082. If output_file is \[dq]-\[dq] or missing, then the output will be
  4083. written to stdout.
  4084. .IP
  4085. .nf
  4086. \f[C]
  4087. rclone completion powershell [output_file] [flags]
  4088. \f[R]
  4089. .fi
  4090. .SS Options
  4091. .IP
  4092. .nf
  4093. \f[C]
  4094. -h, --help help for powershell
  4095. \f[R]
  4096. .fi
  4097. .PP
  4098. See the global flags page (https://rclone.org/flags/) for global options
  4099. not listed here.
  4100. .SH SEE ALSO
  4101. .IP \[bu] 2
  4102. rclone completion (https://rclone.org/commands/rclone_completion/) -
  4103. Output completion script for a given shell.
  4104. .SH rclone completion zsh
  4105. .PP
  4106. Output zsh completion script for rclone.
  4107. .SS Synopsis
  4108. .PP
  4109. Generates a zsh autocompletion script for rclone.
  4110. .PP
  4111. This writes to /usr/share/zsh/vendor-completions/_rclone by default so
  4112. will probably need to be run with sudo or as root, e.g.
  4113. .IP
  4114. .nf
  4115. \f[C]
  4116. sudo rclone genautocomplete zsh
  4117. \f[R]
  4118. .fi
  4119. .PP
  4120. Logout and login again to use the autocompletion scripts, or source them
  4121. directly
  4122. .IP
  4123. .nf
  4124. \f[C]
  4125. autoload -U compinit && compinit
  4126. \f[R]
  4127. .fi
  4128. .PP
  4129. If you supply a command line argument the script will be written there.
  4130. .PP
  4131. If output_file is \[dq]-\[dq], then the output will be written to
  4132. stdout.
  4133. .IP
  4134. .nf
  4135. \f[C]
  4136. rclone completion zsh [output_file] [flags]
  4137. \f[R]
  4138. .fi
  4139. .SS Options
  4140. .IP
  4141. .nf
  4142. \f[C]
  4143. -h, --help help for zsh
  4144. \f[R]
  4145. .fi
  4146. .PP
  4147. See the global flags page (https://rclone.org/flags/) for global options
  4148. not listed here.
  4149. .SH SEE ALSO
  4150. .IP \[bu] 2
  4151. rclone completion (https://rclone.org/commands/rclone_completion/) -
  4152. Output completion script for a given shell.
  4153. .SH rclone config create
  4154. .PP
  4155. Create a new remote with name, type and options.
  4156. .SS Synopsis
  4157. .PP
  4158. Create a new remote of \f[C]name\f[R] with \f[C]type\f[R] and options.
  4159. The options should be passed in pairs of \f[C]key\f[R] \f[C]value\f[R]
  4160. or as \f[C]key=value\f[R].
  4161. .PP
  4162. For example, to make a swift remote of name myremote using auto config
  4163. you would do:
  4164. .IP
  4165. .nf
  4166. \f[C]
  4167. rclone config create myremote swift env_auth true
  4168. rclone config create myremote swift env_auth=true
  4169. \f[R]
  4170. .fi
  4171. .PP
  4172. So for example if you wanted to configure a Google Drive remote but
  4173. using remote authorization you would do this:
  4174. .IP
  4175. .nf
  4176. \f[C]
  4177. rclone config create mydrive drive config_is_local=false
  4178. \f[R]
  4179. .fi
  4180. .PP
  4181. Note that if the config process would normally ask a question the
  4182. default is taken (unless \f[C]--non-interactive\f[R] is used).
  4183. Each time that happens rclone will print or DEBUG a message saying how
  4184. to affect the value taken.
  4185. .PP
  4186. If any of the parameters passed is a password field, then rclone will
  4187. automatically obscure them if they aren\[aq]t already obscured before
  4188. putting them in the config file.
  4189. .PP
  4190. \f[B]NB\f[R] If the password parameter is 22 characters or longer and
  4191. consists only of base64 characters then rclone can get confused about
  4192. whether the password is already obscured or not and put unobscured
  4193. passwords into the config file.
  4194. If you want to be 100% certain that the passwords get obscured then use
  4195. the \f[C]--obscure\f[R] flag, or if you are 100% certain you are already
  4196. passing obscured passwords then use \f[C]--no-obscure\f[R].
  4197. You can also set obscured passwords using the
  4198. \f[C]rclone config password\f[R] command.
  4199. .PP
  4200. The flag \f[C]--non-interactive\f[R] is for use by applications that
  4201. wish to configure rclone themselves, rather than using rclone\[aq]s text
  4202. based configuration questions.
  4203. If this flag is set, and rclone needs to ask the user a question, a JSON
  4204. blob will be returned with the question in it.
  4205. .PP
  4206. This will look something like (some irrelevant detail removed):
  4207. .IP
  4208. .nf
  4209. \f[C]
  4210. {
  4211. \[dq]State\[dq]: \[dq]*oauth-islocal,teamdrive,,\[dq],
  4212. \[dq]Option\[dq]: {
  4213. \[dq]Name\[dq]: \[dq]config_is_local\[dq],
  4214. \[dq]Help\[dq]: \[dq]Use web browser to automatically authenticate rclone with remote?\[rs]n * Say Y if the machine running rclone has a web browser you can use\[rs]n * Say N if running rclone on a (remote) machine without web browser access\[rs]nIf not sure try Y. If Y failed, try N.\[rs]n\[dq],
  4215. \[dq]Default\[dq]: true,
  4216. \[dq]Examples\[dq]: [
  4217. {
  4218. \[dq]Value\[dq]: \[dq]true\[dq],
  4219. \[dq]Help\[dq]: \[dq]Yes\[dq]
  4220. },
  4221. {
  4222. \[dq]Value\[dq]: \[dq]false\[dq],
  4223. \[dq]Help\[dq]: \[dq]No\[dq]
  4224. }
  4225. ],
  4226. \[dq]Required\[dq]: false,
  4227. \[dq]IsPassword\[dq]: false,
  4228. \[dq]Type\[dq]: \[dq]bool\[dq],
  4229. \[dq]Exclusive\[dq]: true,
  4230. },
  4231. \[dq]Error\[dq]: \[dq]\[dq],
  4232. }
  4233. \f[R]
  4234. .fi
  4235. .PP
  4236. The format of \f[C]Option\f[R] is the same as returned by
  4237. \f[C]rclone config providers\f[R].
  4238. The question should be asked to the user and returned to rclone as the
  4239. \f[C]--result\f[R] option along with the \f[C]--state\f[R] parameter.
  4240. .PP
  4241. The keys of \f[C]Option\f[R] are used as follows:
  4242. .IP \[bu] 2
  4243. \f[C]Name\f[R] - name of variable - show to user
  4244. .IP \[bu] 2
  4245. \f[C]Help\f[R] - help text.
  4246. Hard wrapped at 80 chars.
  4247. Any URLs should be clicky.
  4248. .IP \[bu] 2
  4249. \f[C]Default\f[R] - default value - return this if the user just wants
  4250. the default.
  4251. .IP \[bu] 2
  4252. \f[C]Examples\f[R] - the user should be able to choose one of these
  4253. .IP \[bu] 2
  4254. \f[C]Required\f[R] - the value should be non-empty
  4255. .IP \[bu] 2
  4256. \f[C]IsPassword\f[R] - the value is a password and should be edited as
  4257. such
  4258. .IP \[bu] 2
  4259. \f[C]Type\f[R] - type of value, eg \f[C]bool\f[R], \f[C]string\f[R],
  4260. \f[C]int\f[R] and others
  4261. .IP \[bu] 2
  4262. \f[C]Exclusive\f[R] - if set no free-form entry allowed only the
  4263. \f[C]Examples\f[R]
  4264. .IP \[bu] 2
  4265. Irrelevant keys \f[C]Provider\f[R], \f[C]ShortOpt\f[R], \f[C]Hide\f[R],
  4266. \f[C]NoPrefix\f[R], \f[C]Advanced\f[R]
  4267. .PP
  4268. If \f[C]Error\f[R] is set then it should be shown to the user at the
  4269. same time as the question.
  4270. .IP
  4271. .nf
  4272. \f[C]
  4273. rclone config update name --continue --state \[dq]*oauth-islocal,teamdrive,,\[dq] --result \[dq]true\[dq]
  4274. \f[R]
  4275. .fi
  4276. .PP
  4277. Note that when using \f[C]--continue\f[R] all passwords should be passed
  4278. in the clear (not obscured).
  4279. Any default config values should be passed in with each invocation of
  4280. \f[C]--continue\f[R].
  4281. .PP
  4282. At the end of the non interactive process, rclone will return a result
  4283. with \f[C]State\f[R] as empty string.
  4284. .PP
  4285. If \f[C]--all\f[R] is passed then rclone will ask all the config
  4286. questions, not just the post config questions.
  4287. Any parameters are used as defaults for questions as usual.
  4288. .PP
  4289. Note that \f[C]bin/config.py\f[R] in the rclone source implements this
  4290. protocol as a readable demonstration.
  4291. .IP
  4292. .nf
  4293. \f[C]
  4294. rclone config create name type [key value]* [flags]
  4295. \f[R]
  4296. .fi
  4297. .SS Options
  4298. .IP
  4299. .nf
  4300. \f[C]
  4301. --all Ask the full set of config questions
  4302. --continue Continue the configuration process with an answer
  4303. -h, --help help for create
  4304. --no-obscure Force any passwords not to be obscured
  4305. --non-interactive Don\[aq]t interact with user and return questions
  4306. --obscure Force any passwords to be obscured
  4307. --result string Result - use with --continue
  4308. --state string State - use with --continue
  4309. \f[R]
  4310. .fi
  4311. .PP
  4312. See the global flags page (https://rclone.org/flags/) for global options
  4313. not listed here.
  4314. .SH SEE ALSO
  4315. .IP \[bu] 2
  4316. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4317. interactive configuration session.
  4318. .SH rclone config delete
  4319. .PP
  4320. Delete an existing remote.
  4321. .IP
  4322. .nf
  4323. \f[C]
  4324. rclone config delete name [flags]
  4325. \f[R]
  4326. .fi
  4327. .SS Options
  4328. .IP
  4329. .nf
  4330. \f[C]
  4331. -h, --help help for delete
  4332. \f[R]
  4333. .fi
  4334. .PP
  4335. See the global flags page (https://rclone.org/flags/) for global options
  4336. not listed here.
  4337. .SH SEE ALSO
  4338. .IP \[bu] 2
  4339. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4340. interactive configuration session.
  4341. .SH rclone config disconnect
  4342. .PP
  4343. Disconnects user from remote
  4344. .SS Synopsis
  4345. .PP
  4346. This disconnects the remote: passed in to the cloud storage system.
  4347. .PP
  4348. This normally means revoking the oauth token.
  4349. .PP
  4350. To reconnect use \[dq]rclone config reconnect\[dq].
  4351. .IP
  4352. .nf
  4353. \f[C]
  4354. rclone config disconnect remote: [flags]
  4355. \f[R]
  4356. .fi
  4357. .SS Options
  4358. .IP
  4359. .nf
  4360. \f[C]
  4361. -h, --help help for disconnect
  4362. \f[R]
  4363. .fi
  4364. .PP
  4365. See the global flags page (https://rclone.org/flags/) for global options
  4366. not listed here.
  4367. .SH SEE ALSO
  4368. .IP \[bu] 2
  4369. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4370. interactive configuration session.
  4371. .SH rclone config dump
  4372. .PP
  4373. Dump the config file as JSON.
  4374. .IP
  4375. .nf
  4376. \f[C]
  4377. rclone config dump [flags]
  4378. \f[R]
  4379. .fi
  4380. .SS Options
  4381. .IP
  4382. .nf
  4383. \f[C]
  4384. -h, --help help for dump
  4385. \f[R]
  4386. .fi
  4387. .PP
  4388. See the global flags page (https://rclone.org/flags/) for global options
  4389. not listed here.
  4390. .SH SEE ALSO
  4391. .IP \[bu] 2
  4392. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4393. interactive configuration session.
  4394. .SH rclone config edit
  4395. .PP
  4396. Enter an interactive configuration session.
  4397. .SS Synopsis
  4398. .PP
  4399. Enter an interactive configuration session where you can setup new
  4400. remotes and manage existing ones.
  4401. You may also set or remove a password to protect your configuration.
  4402. .IP
  4403. .nf
  4404. \f[C]
  4405. rclone config edit [flags]
  4406. \f[R]
  4407. .fi
  4408. .SS Options
  4409. .IP
  4410. .nf
  4411. \f[C]
  4412. -h, --help help for edit
  4413. \f[R]
  4414. .fi
  4415. .PP
  4416. See the global flags page (https://rclone.org/flags/) for global options
  4417. not listed here.
  4418. .SH SEE ALSO
  4419. .IP \[bu] 2
  4420. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4421. interactive configuration session.
  4422. .SH rclone config file
  4423. .PP
  4424. Show path of configuration file in use.
  4425. .IP
  4426. .nf
  4427. \f[C]
  4428. rclone config file [flags]
  4429. \f[R]
  4430. .fi
  4431. .SS Options
  4432. .IP
  4433. .nf
  4434. \f[C]
  4435. -h, --help help for file
  4436. \f[R]
  4437. .fi
  4438. .PP
  4439. See the global flags page (https://rclone.org/flags/) for global options
  4440. not listed here.
  4441. .SH SEE ALSO
  4442. .IP \[bu] 2
  4443. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4444. interactive configuration session.
  4445. .SH rclone config password
  4446. .PP
  4447. Update password in an existing remote.
  4448. .SS Synopsis
  4449. .PP
  4450. Update an existing remote\[aq]s password.
  4451. The password should be passed in pairs of \f[C]key\f[R]
  4452. \f[C]password\f[R] or as \f[C]key=password\f[R].
  4453. The \f[C]password\f[R] should be passed in in clear (unobscured).
  4454. .PP
  4455. For example, to set password of a remote of name myremote you would do:
  4456. .IP
  4457. .nf
  4458. \f[C]
  4459. rclone config password myremote fieldname mypassword
  4460. rclone config password myremote fieldname=mypassword
  4461. \f[R]
  4462. .fi
  4463. .PP
  4464. This command is obsolete now that \[dq]config update\[dq] and
  4465. \[dq]config create\[dq] both support obscuring passwords directly.
  4466. .IP
  4467. .nf
  4468. \f[C]
  4469. rclone config password name [key value]+ [flags]
  4470. \f[R]
  4471. .fi
  4472. .SS Options
  4473. .IP
  4474. .nf
  4475. \f[C]
  4476. -h, --help help for password
  4477. \f[R]
  4478. .fi
  4479. .PP
  4480. See the global flags page (https://rclone.org/flags/) for global options
  4481. not listed here.
  4482. .SH SEE ALSO
  4483. .IP \[bu] 2
  4484. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4485. interactive configuration session.
  4486. .SH rclone config paths
  4487. .PP
  4488. Show paths used for configuration, cache, temp etc.
  4489. .IP
  4490. .nf
  4491. \f[C]
  4492. rclone config paths [flags]
  4493. \f[R]
  4494. .fi
  4495. .SS Options
  4496. .IP
  4497. .nf
  4498. \f[C]
  4499. -h, --help help for paths
  4500. \f[R]
  4501. .fi
  4502. .PP
  4503. See the global flags page (https://rclone.org/flags/) for global options
  4504. not listed here.
  4505. .SH SEE ALSO
  4506. .IP \[bu] 2
  4507. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4508. interactive configuration session.
  4509. .SH rclone config providers
  4510. .PP
  4511. List in JSON format all the providers and options.
  4512. .IP
  4513. .nf
  4514. \f[C]
  4515. rclone config providers [flags]
  4516. \f[R]
  4517. .fi
  4518. .SS Options
  4519. .IP
  4520. .nf
  4521. \f[C]
  4522. -h, --help help for providers
  4523. \f[R]
  4524. .fi
  4525. .PP
  4526. See the global flags page (https://rclone.org/flags/) for global options
  4527. not listed here.
  4528. .SH SEE ALSO
  4529. .IP \[bu] 2
  4530. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4531. interactive configuration session.
  4532. .SH rclone config reconnect
  4533. .PP
  4534. Re-authenticates user with remote.
  4535. .SS Synopsis
  4536. .PP
  4537. This reconnects remote: passed in to the cloud storage system.
  4538. .PP
  4539. To disconnect the remote use \[dq]rclone config disconnect\[dq].
  4540. .PP
  4541. This normally means going through the interactive oauth flow again.
  4542. .IP
  4543. .nf
  4544. \f[C]
  4545. rclone config reconnect remote: [flags]
  4546. \f[R]
  4547. .fi
  4548. .SS Options
  4549. .IP
  4550. .nf
  4551. \f[C]
  4552. -h, --help help for reconnect
  4553. \f[R]
  4554. .fi
  4555. .PP
  4556. See the global flags page (https://rclone.org/flags/) for global options
  4557. not listed here.
  4558. .SH SEE ALSO
  4559. .IP \[bu] 2
  4560. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4561. interactive configuration session.
  4562. .SH rclone config redacted
  4563. .PP
  4564. Print redacted (decrypted) config file, or the redacted config for a
  4565. single remote.
  4566. .SS Synopsis
  4567. .PP
  4568. This prints a redacted copy of the config file, either the whole config
  4569. file or for a given remote.
  4570. .PP
  4571. The config file will be redacted by replacing all passwords and other
  4572. sensitive info with XXX.
  4573. .PP
  4574. This makes the config file suitable for posting online for support.
  4575. .PP
  4576. It should be double checked before posting as the redaction may not be
  4577. perfect.
  4578. .IP
  4579. .nf
  4580. \f[C]
  4581. rclone config redacted [<remote>] [flags]
  4582. \f[R]
  4583. .fi
  4584. .SS Options
  4585. .IP
  4586. .nf
  4587. \f[C]
  4588. -h, --help help for redacted
  4589. \f[R]
  4590. .fi
  4591. .PP
  4592. See the global flags page (https://rclone.org/flags/) for global options
  4593. not listed here.
  4594. .SH SEE ALSO
  4595. .IP \[bu] 2
  4596. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4597. interactive configuration session.
  4598. .SH rclone config show
  4599. .PP
  4600. Print (decrypted) config file, or the config for a single remote.
  4601. .IP
  4602. .nf
  4603. \f[C]
  4604. rclone config show [<remote>] [flags]
  4605. \f[R]
  4606. .fi
  4607. .SS Options
  4608. .IP
  4609. .nf
  4610. \f[C]
  4611. -h, --help help for show
  4612. \f[R]
  4613. .fi
  4614. .PP
  4615. See the global flags page (https://rclone.org/flags/) for global options
  4616. not listed here.
  4617. .SH SEE ALSO
  4618. .IP \[bu] 2
  4619. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4620. interactive configuration session.
  4621. .SH rclone config touch
  4622. .PP
  4623. Ensure configuration file exists.
  4624. .IP
  4625. .nf
  4626. \f[C]
  4627. rclone config touch [flags]
  4628. \f[R]
  4629. .fi
  4630. .SS Options
  4631. .IP
  4632. .nf
  4633. \f[C]
  4634. -h, --help help for touch
  4635. \f[R]
  4636. .fi
  4637. .PP
  4638. See the global flags page (https://rclone.org/flags/) for global options
  4639. not listed here.
  4640. .SH SEE ALSO
  4641. .IP \[bu] 2
  4642. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4643. interactive configuration session.
  4644. .SH rclone config update
  4645. .PP
  4646. Update options in an existing remote.
  4647. .SS Synopsis
  4648. .PP
  4649. Update an existing remote\[aq]s options.
  4650. The options should be passed in pairs of \f[C]key\f[R] \f[C]value\f[R]
  4651. or as \f[C]key=value\f[R].
  4652. .PP
  4653. For example, to update the env_auth field of a remote of name myremote
  4654. you would do:
  4655. .IP
  4656. .nf
  4657. \f[C]
  4658. rclone config update myremote env_auth true
  4659. rclone config update myremote env_auth=true
  4660. \f[R]
  4661. .fi
  4662. .PP
  4663. If the remote uses OAuth the token will be updated, if you don\[aq]t
  4664. require this add an extra parameter thus:
  4665. .IP
  4666. .nf
  4667. \f[C]
  4668. rclone config update myremote env_auth=true config_refresh_token=false
  4669. \f[R]
  4670. .fi
  4671. .PP
  4672. Note that if the config process would normally ask a question the
  4673. default is taken (unless \f[C]--non-interactive\f[R] is used).
  4674. Each time that happens rclone will print or DEBUG a message saying how
  4675. to affect the value taken.
  4676. .PP
  4677. If any of the parameters passed is a password field, then rclone will
  4678. automatically obscure them if they aren\[aq]t already obscured before
  4679. putting them in the config file.
  4680. .PP
  4681. \f[B]NB\f[R] If the password parameter is 22 characters or longer and
  4682. consists only of base64 characters then rclone can get confused about
  4683. whether the password is already obscured or not and put unobscured
  4684. passwords into the config file.
  4685. If you want to be 100% certain that the passwords get obscured then use
  4686. the \f[C]--obscure\f[R] flag, or if you are 100% certain you are already
  4687. passing obscured passwords then use \f[C]--no-obscure\f[R].
  4688. You can also set obscured passwords using the
  4689. \f[C]rclone config password\f[R] command.
  4690. .PP
  4691. The flag \f[C]--non-interactive\f[R] is for use by applications that
  4692. wish to configure rclone themselves, rather than using rclone\[aq]s text
  4693. based configuration questions.
  4694. If this flag is set, and rclone needs to ask the user a question, a JSON
  4695. blob will be returned with the question in it.
  4696. .PP
  4697. This will look something like (some irrelevant detail removed):
  4698. .IP
  4699. .nf
  4700. \f[C]
  4701. {
  4702. \[dq]State\[dq]: \[dq]*oauth-islocal,teamdrive,,\[dq],
  4703. \[dq]Option\[dq]: {
  4704. \[dq]Name\[dq]: \[dq]config_is_local\[dq],
  4705. \[dq]Help\[dq]: \[dq]Use web browser to automatically authenticate rclone with remote?\[rs]n * Say Y if the machine running rclone has a web browser you can use\[rs]n * Say N if running rclone on a (remote) machine without web browser access\[rs]nIf not sure try Y. If Y failed, try N.\[rs]n\[dq],
  4706. \[dq]Default\[dq]: true,
  4707. \[dq]Examples\[dq]: [
  4708. {
  4709. \[dq]Value\[dq]: \[dq]true\[dq],
  4710. \[dq]Help\[dq]: \[dq]Yes\[dq]
  4711. },
  4712. {
  4713. \[dq]Value\[dq]: \[dq]false\[dq],
  4714. \[dq]Help\[dq]: \[dq]No\[dq]
  4715. }
  4716. ],
  4717. \[dq]Required\[dq]: false,
  4718. \[dq]IsPassword\[dq]: false,
  4719. \[dq]Type\[dq]: \[dq]bool\[dq],
  4720. \[dq]Exclusive\[dq]: true,
  4721. },
  4722. \[dq]Error\[dq]: \[dq]\[dq],
  4723. }
  4724. \f[R]
  4725. .fi
  4726. .PP
  4727. The format of \f[C]Option\f[R] is the same as returned by
  4728. \f[C]rclone config providers\f[R].
  4729. The question should be asked to the user and returned to rclone as the
  4730. \f[C]--result\f[R] option along with the \f[C]--state\f[R] parameter.
  4731. .PP
  4732. The keys of \f[C]Option\f[R] are used as follows:
  4733. .IP \[bu] 2
  4734. \f[C]Name\f[R] - name of variable - show to user
  4735. .IP \[bu] 2
  4736. \f[C]Help\f[R] - help text.
  4737. Hard wrapped at 80 chars.
  4738. Any URLs should be clicky.
  4739. .IP \[bu] 2
  4740. \f[C]Default\f[R] - default value - return this if the user just wants
  4741. the default.
  4742. .IP \[bu] 2
  4743. \f[C]Examples\f[R] - the user should be able to choose one of these
  4744. .IP \[bu] 2
  4745. \f[C]Required\f[R] - the value should be non-empty
  4746. .IP \[bu] 2
  4747. \f[C]IsPassword\f[R] - the value is a password and should be edited as
  4748. such
  4749. .IP \[bu] 2
  4750. \f[C]Type\f[R] - type of value, eg \f[C]bool\f[R], \f[C]string\f[R],
  4751. \f[C]int\f[R] and others
  4752. .IP \[bu] 2
  4753. \f[C]Exclusive\f[R] - if set no free-form entry allowed only the
  4754. \f[C]Examples\f[R]
  4755. .IP \[bu] 2
  4756. Irrelevant keys \f[C]Provider\f[R], \f[C]ShortOpt\f[R], \f[C]Hide\f[R],
  4757. \f[C]NoPrefix\f[R], \f[C]Advanced\f[R]
  4758. .PP
  4759. If \f[C]Error\f[R] is set then it should be shown to the user at the
  4760. same time as the question.
  4761. .IP
  4762. .nf
  4763. \f[C]
  4764. rclone config update name --continue --state \[dq]*oauth-islocal,teamdrive,,\[dq] --result \[dq]true\[dq]
  4765. \f[R]
  4766. .fi
  4767. .PP
  4768. Note that when using \f[C]--continue\f[R] all passwords should be passed
  4769. in the clear (not obscured).
  4770. Any default config values should be passed in with each invocation of
  4771. \f[C]--continue\f[R].
  4772. .PP
  4773. At the end of the non interactive process, rclone will return a result
  4774. with \f[C]State\f[R] as empty string.
  4775. .PP
  4776. If \f[C]--all\f[R] is passed then rclone will ask all the config
  4777. questions, not just the post config questions.
  4778. Any parameters are used as defaults for questions as usual.
  4779. .PP
  4780. Note that \f[C]bin/config.py\f[R] in the rclone source implements this
  4781. protocol as a readable demonstration.
  4782. .IP
  4783. .nf
  4784. \f[C]
  4785. rclone config update name [key value]+ [flags]
  4786. \f[R]
  4787. .fi
  4788. .SS Options
  4789. .IP
  4790. .nf
  4791. \f[C]
  4792. --all Ask the full set of config questions
  4793. --continue Continue the configuration process with an answer
  4794. -h, --help help for update
  4795. --no-obscure Force any passwords not to be obscured
  4796. --non-interactive Don\[aq]t interact with user and return questions
  4797. --obscure Force any passwords to be obscured
  4798. --result string Result - use with --continue
  4799. --state string State - use with --continue
  4800. \f[R]
  4801. .fi
  4802. .PP
  4803. See the global flags page (https://rclone.org/flags/) for global options
  4804. not listed here.
  4805. .SH SEE ALSO
  4806. .IP \[bu] 2
  4807. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4808. interactive configuration session.
  4809. .SH rclone config userinfo
  4810. .PP
  4811. Prints info about logged in user of remote.
  4812. .SS Synopsis
  4813. .PP
  4814. This prints the details of the person logged in to the cloud storage
  4815. system.
  4816. .IP
  4817. .nf
  4818. \f[C]
  4819. rclone config userinfo remote: [flags]
  4820. \f[R]
  4821. .fi
  4822. .SS Options
  4823. .IP
  4824. .nf
  4825. \f[C]
  4826. -h, --help help for userinfo
  4827. --json Format output as JSON
  4828. \f[R]
  4829. .fi
  4830. .PP
  4831. See the global flags page (https://rclone.org/flags/) for global options
  4832. not listed here.
  4833. .SH SEE ALSO
  4834. .IP \[bu] 2
  4835. rclone config (https://rclone.org/commands/rclone_config/) - Enter an
  4836. interactive configuration session.
  4837. .SH rclone copyto
  4838. .PP
  4839. Copy files from source to dest, skipping identical files.
  4840. .SS Synopsis
  4841. .PP
  4842. If source:path is a file or directory then it copies it to a file or
  4843. directory named dest:path.
  4844. .PP
  4845. This can be used to upload single files to other than their current
  4846. name.
  4847. If the source is a directory then it acts exactly like the
  4848. copy (https://rclone.org/commands/rclone_copy/) command.
  4849. .PP
  4850. So
  4851. .IP
  4852. .nf
  4853. \f[C]
  4854. rclone copyto src dst
  4855. \f[R]
  4856. .fi
  4857. .PP
  4858. where src and dst are rclone paths, either remote:path or /path/to/local
  4859. or C:.
  4860. .PP
  4861. This will:
  4862. .IP
  4863. .nf
  4864. \f[C]
  4865. if src is file
  4866. copy it to dst, overwriting an existing file if it exists
  4867. if src is directory
  4868. copy it to dst, overwriting existing files if they exist
  4869. see copy command for full details
  4870. \f[R]
  4871. .fi
  4872. .PP
  4873. This doesn\[aq]t transfer files that are identical on src and dst,
  4874. testing by size and modification time or MD5SUM.
  4875. It doesn\[aq]t delete files from the destination.
  4876. .PP
  4877. \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view
  4878. real-time transfer statistics
  4879. .IP
  4880. .nf
  4881. \f[C]
  4882. rclone copyto source:path dest:path [flags]
  4883. \f[R]
  4884. .fi
  4885. .SS Options
  4886. .IP
  4887. .nf
  4888. \f[C]
  4889. -h, --help help for copyto
  4890. \f[R]
  4891. .fi
  4892. .SS Copy Options
  4893. .PP
  4894. Flags for anything which can Copy a file.
  4895. .IP
  4896. .nf
  4897. \f[C]
  4898. --check-first Do all the checks before starting transfers
  4899. -c, --checksum Check for changes with size & checksum (if available, or fallback to size only).
  4900. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  4901. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  4902. --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD)
  4903. --ignore-case-sync Ignore case when synchronizing
  4904. --ignore-checksum Skip post copy check of checksums
  4905. --ignore-existing Skip all files that exist on destination
  4906. --ignore-size Ignore size when skipping use modtime or checksum
  4907. -I, --ignore-times Don\[aq]t skip items that match size and time - transfer all unconditionally
  4908. --immutable Do not modify files, fail if existing files have been modified
  4909. --inplace Download directly to destination file instead of atomic download to temp/rename
  4910. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  4911. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  4912. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  4913. -M, --metadata If set, preserve metadata when copying objects
  4914. --modify-window Duration Max time diff to be considered the same (default 1ns)
  4915. --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi)
  4916. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi)
  4917. --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4)
  4918. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  4919. --no-check-dest Don\[aq]t check the destination, copy regardless
  4920. --no-traverse Don\[aq]t traverse destination file system on copy
  4921. --no-update-dir-modtime Don\[aq]t update directory modification times
  4922. --no-update-modtime Don\[aq]t update destination modtime if files identical
  4923. --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq]
  4924. --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default \[dq].partial\[dq])
  4925. --refresh-times Refresh the modtime of remote files
  4926. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  4927. --size-only Skip based on size only, not modtime or checksum
  4928. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki)
  4929. -u, --update Skip files that are newer on the destination
  4930. \f[R]
  4931. .fi
  4932. .SS Important Options
  4933. .PP
  4934. Important flags useful for most commands.
  4935. .IP
  4936. .nf
  4937. \f[C]
  4938. -n, --dry-run Do a trial run with no permanent changes
  4939. -i, --interactive Enable interactive mode
  4940. -v, --verbose count Print lots more stuff (repeat for more)
  4941. \f[R]
  4942. .fi
  4943. .SS Filter Options
  4944. .PP
  4945. Flags for filtering directory listings.
  4946. .IP
  4947. .nf
  4948. \f[C]
  4949. --delete-excluded Delete files on dest excluded from sync
  4950. --exclude stringArray Exclude files matching pattern
  4951. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  4952. --exclude-if-present stringArray Exclude directories if filename is present
  4953. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  4954. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  4955. -f, --filter stringArray Add a file filtering rule
  4956. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  4957. --ignore-case Ignore case in filters (case insensitive)
  4958. --include stringArray Include files matching pattern
  4959. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  4960. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  4961. --max-depth int If set limits the recursion depth to this (default -1)
  4962. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  4963. --metadata-exclude stringArray Exclude metadatas matching pattern
  4964. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  4965. --metadata-filter stringArray Add a metadata filtering rule
  4966. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  4967. --metadata-include stringArray Include metadatas matching pattern
  4968. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  4969. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  4970. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  4971. \f[R]
  4972. .fi
  4973. .SS Listing Options
  4974. .PP
  4975. Flags for listing directories.
  4976. .IP
  4977. .nf
  4978. \f[C]
  4979. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  4980. --fast-list Use recursive list if available; uses more memory but fewer transactions
  4981. \f[R]
  4982. .fi
  4983. .PP
  4984. See the global flags page (https://rclone.org/flags/) for global options
  4985. not listed here.
  4986. .SH SEE ALSO
  4987. .IP \[bu] 2
  4988. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  4989. commands, flags and backends.
  4990. .SH rclone copyurl
  4991. .PP
  4992. Copy the contents of the URL supplied content to dest:path.
  4993. .SS Synopsis
  4994. .PP
  4995. Download a URL\[aq]s content and copy it to the destination without
  4996. saving it in temporary storage.
  4997. .PP
  4998. Setting \f[C]--auto-filename\f[R] will attempt to automatically
  4999. determine the filename from the URL (after any redirections) and used in
  5000. the destination path.
  5001. .PP
  5002. With \f[C]--auto-filename-header\f[R] in addition, if a specific
  5003. filename is set in HTTP headers, it will be used instead of the name
  5004. from the URL.
  5005. With \f[C]--print-filename\f[R] in addition, the resulting file name
  5006. will be printed.
  5007. .PP
  5008. Setting \f[C]--no-clobber\f[R] will prevent overwriting file on the
  5009. destination if there is one with the same name.
  5010. .PP
  5011. Setting \f[C]--stdout\f[R] or making the output file name \f[C]-\f[R]
  5012. will cause the output to be written to standard output.
  5013. .SS Troublshooting
  5014. .PP
  5015. If you can\[aq]t get \f[C]rclone copyurl\f[R] to work then here are some
  5016. things you can try:
  5017. .IP \[bu] 2
  5018. \f[C]--disable-http2\f[R] rclone will use HTTP2 if available - try
  5019. disabling it
  5020. .IP \[bu] 2
  5021. \f[C]--bind 0.0.0.0\f[R] rclone will use IPv6 if available - try
  5022. disabling it
  5023. .IP \[bu] 2
  5024. \f[C]--bind ::0\f[R] to disable IPv4
  5025. .IP \[bu] 2
  5026. \f[C]--user agent curl\f[R] - some sites have whitelists for curl\[aq]s
  5027. user-agent - try that
  5028. .IP \[bu] 2
  5029. Make sure the site works with \f[C]curl\f[R] directly
  5030. .IP
  5031. .nf
  5032. \f[C]
  5033. rclone copyurl https://example.com dest:path [flags]
  5034. \f[R]
  5035. .fi
  5036. .SS Options
  5037. .IP
  5038. .nf
  5039. \f[C]
  5040. -a, --auto-filename Get the file name from the URL and use it for destination file path
  5041. --header-filename Get the file name from the Content-Disposition header
  5042. -h, --help help for copyurl
  5043. --no-clobber Prevent overwriting file with same name
  5044. -p, --print-filename Print the resulting name from --auto-filename
  5045. --stdout Write the output to stdout rather than a file
  5046. \f[R]
  5047. .fi
  5048. .SS Important Options
  5049. .PP
  5050. Important flags useful for most commands.
  5051. .IP
  5052. .nf
  5053. \f[C]
  5054. -n, --dry-run Do a trial run with no permanent changes
  5055. -i, --interactive Enable interactive mode
  5056. -v, --verbose count Print lots more stuff (repeat for more)
  5057. \f[R]
  5058. .fi
  5059. .PP
  5060. See the global flags page (https://rclone.org/flags/) for global options
  5061. not listed here.
  5062. .SH SEE ALSO
  5063. .IP \[bu] 2
  5064. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5065. commands, flags and backends.
  5066. .SH rclone cryptcheck
  5067. .PP
  5068. Cryptcheck checks the integrity of an encrypted remote.
  5069. .SS Synopsis
  5070. .PP
  5071. rclone cryptcheck checks a remote against a
  5072. crypted (https://rclone.org/crypt/) remote.
  5073. This is the equivalent of running rclone
  5074. check (https://rclone.org/commands/rclone_check/), but able to check the
  5075. checksums of the encrypted remote.
  5076. .PP
  5077. For it to work the underlying remote of the cryptedremote must support
  5078. some kind of checksum.
  5079. .PP
  5080. It works by reading the nonce from each file on the cryptedremote: and
  5081. using that to encrypt each file on the remote:.
  5082. It then checks the checksum of the underlying file on the cryptedremote:
  5083. against the checksum of the file it has just encrypted.
  5084. .PP
  5085. Use it like this
  5086. .IP
  5087. .nf
  5088. \f[C]
  5089. rclone cryptcheck /path/to/files encryptedremote:path
  5090. \f[R]
  5091. .fi
  5092. .PP
  5093. You can use it like this also, but that will involve downloading all the
  5094. files in remote:path.
  5095. .IP
  5096. .nf
  5097. \f[C]
  5098. rclone cryptcheck remote:path encryptedremote:path
  5099. \f[R]
  5100. .fi
  5101. .PP
  5102. After it has run it will log the status of the encryptedremote:.
  5103. .PP
  5104. If you supply the \f[C]--one-way\f[R] flag, it will only check that
  5105. files in the source match the files in the destination, not the other
  5106. way around.
  5107. This means that extra files in the destination that are not in the
  5108. source will not be detected.
  5109. .PP
  5110. The \f[C]--differ\f[R], \f[C]--missing-on-dst\f[R],
  5111. \f[C]--missing-on-src\f[R], \f[C]--match\f[R] and \f[C]--error\f[R]
  5112. flags write paths, one per line, to the file name (or stdout if it is
  5113. \f[C]-\f[R]) supplied.
  5114. What they write is described in the help below.
  5115. For example \f[C]--differ\f[R] will write all paths which are present on
  5116. both the source and destination but different.
  5117. .PP
  5118. The \f[C]--combined\f[R] flag will write a file (or stdout) which
  5119. contains all file paths with a symbol and then a space and then the path
  5120. to tell you what happened to it.
  5121. These are reminiscent of diff files.
  5122. .IP \[bu] 2
  5123. \f[C]= path\f[R] means path was found in source and destination and was
  5124. identical
  5125. .IP \[bu] 2
  5126. \[ga]- path\[ga] means path was missing on the source, so only in the
  5127. destination
  5128. .IP \[bu] 2
  5129. \[ga]+ path\[ga] means path was missing on the destination, so only in
  5130. the source
  5131. .IP \[bu] 2
  5132. \[ga]* path\[ga] means path was present in source and destination but
  5133. different.
  5134. .IP \[bu] 2
  5135. \f[C]! path\f[R] means there was an error reading or hashing the source
  5136. or dest.
  5137. .PP
  5138. The default number of parallel checks is 8.
  5139. See the --checkers=N (https://rclone.org/docs/#checkers-n) option for
  5140. more information.
  5141. .IP
  5142. .nf
  5143. \f[C]
  5144. rclone cryptcheck remote:path cryptedremote:path [flags]
  5145. \f[R]
  5146. .fi
  5147. .SS Options
  5148. .IP
  5149. .nf
  5150. \f[C]
  5151. --combined string Make a combined report of changes to this file
  5152. --differ string Report all non-matching files to this file
  5153. --error string Report all files with errors (hashing or reading) to this file
  5154. -h, --help help for cryptcheck
  5155. --match string Report all matching files to this file
  5156. --missing-on-dst string Report all files missing from the destination to this file
  5157. --missing-on-src string Report all files missing from the source to this file
  5158. --one-way Check one way only, source files must exist on remote
  5159. \f[R]
  5160. .fi
  5161. .SS Check Options
  5162. .PP
  5163. Flags used for \f[C]rclone check\f[R].
  5164. .IP
  5165. .nf
  5166. \f[C]
  5167. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  5168. \f[R]
  5169. .fi
  5170. .SS Filter Options
  5171. .PP
  5172. Flags for filtering directory listings.
  5173. .IP
  5174. .nf
  5175. \f[C]
  5176. --delete-excluded Delete files on dest excluded from sync
  5177. --exclude stringArray Exclude files matching pattern
  5178. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  5179. --exclude-if-present stringArray Exclude directories if filename is present
  5180. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  5181. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  5182. -f, --filter stringArray Add a file filtering rule
  5183. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  5184. --ignore-case Ignore case in filters (case insensitive)
  5185. --include stringArray Include files matching pattern
  5186. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  5187. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5188. --max-depth int If set limits the recursion depth to this (default -1)
  5189. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  5190. --metadata-exclude stringArray Exclude metadatas matching pattern
  5191. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  5192. --metadata-filter stringArray Add a metadata filtering rule
  5193. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  5194. --metadata-include stringArray Include metadatas matching pattern
  5195. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  5196. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5197. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  5198. \f[R]
  5199. .fi
  5200. .SS Listing Options
  5201. .PP
  5202. Flags for listing directories.
  5203. .IP
  5204. .nf
  5205. \f[C]
  5206. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  5207. --fast-list Use recursive list if available; uses more memory but fewer transactions
  5208. \f[R]
  5209. .fi
  5210. .PP
  5211. See the global flags page (https://rclone.org/flags/) for global options
  5212. not listed here.
  5213. .SH SEE ALSO
  5214. .IP \[bu] 2
  5215. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5216. commands, flags and backends.
  5217. .SH rclone cryptdecode
  5218. .PP
  5219. Cryptdecode returns unencrypted file names.
  5220. .SS Synopsis
  5221. .PP
  5222. rclone cryptdecode returns unencrypted file names when provided with a
  5223. list of encrypted file names.
  5224. List limit is 10 items.
  5225. .PP
  5226. If you supply the \f[C]--reverse\f[R] flag, it will return encrypted
  5227. file names.
  5228. .PP
  5229. use it like this
  5230. .IP
  5231. .nf
  5232. \f[C]
  5233. rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
  5234. rclone cryptdecode --reverse encryptedremote: filename1 filename2
  5235. \f[R]
  5236. .fi
  5237. .PP
  5238. Another way to accomplish this is by using the
  5239. \f[C]rclone backend encode\f[R] (or \f[C]decode\f[R]) command.
  5240. See the documentation on the crypt (https://rclone.org/crypt/) overlay
  5241. for more info.
  5242. .IP
  5243. .nf
  5244. \f[C]
  5245. rclone cryptdecode encryptedremote: encryptedfilename [flags]
  5246. \f[R]
  5247. .fi
  5248. .SS Options
  5249. .IP
  5250. .nf
  5251. \f[C]
  5252. -h, --help help for cryptdecode
  5253. --reverse Reverse cryptdecode, encrypts filenames
  5254. \f[R]
  5255. .fi
  5256. .PP
  5257. See the global flags page (https://rclone.org/flags/) for global options
  5258. not listed here.
  5259. .SH SEE ALSO
  5260. .IP \[bu] 2
  5261. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5262. commands, flags and backends.
  5263. .SH rclone deletefile
  5264. .PP
  5265. Remove a single file from remote.
  5266. .SS Synopsis
  5267. .PP
  5268. Remove a single file from remote.
  5269. Unlike \f[C]delete\f[R] it cannot be used to remove a directory and it
  5270. doesn\[aq]t obey include/exclude filters - if the specified file exists,
  5271. it will always be removed.
  5272. .IP
  5273. .nf
  5274. \f[C]
  5275. rclone deletefile remote:path [flags]
  5276. \f[R]
  5277. .fi
  5278. .SS Options
  5279. .IP
  5280. .nf
  5281. \f[C]
  5282. -h, --help help for deletefile
  5283. \f[R]
  5284. .fi
  5285. .SS Important Options
  5286. .PP
  5287. Important flags useful for most commands.
  5288. .IP
  5289. .nf
  5290. \f[C]
  5291. -n, --dry-run Do a trial run with no permanent changes
  5292. -i, --interactive Enable interactive mode
  5293. -v, --verbose count Print lots more stuff (repeat for more)
  5294. \f[R]
  5295. .fi
  5296. .PP
  5297. See the global flags page (https://rclone.org/flags/) for global options
  5298. not listed here.
  5299. .SH SEE ALSO
  5300. .IP \[bu] 2
  5301. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5302. commands, flags and backends.
  5303. .SH rclone genautocomplete
  5304. .PP
  5305. Output completion script for a given shell.
  5306. .SH Synopsis
  5307. .PP
  5308. Generates a shell completion script for rclone.
  5309. Run with \f[C]--help\f[R] to list the supported shells.
  5310. .SH Options
  5311. .IP
  5312. .nf
  5313. \f[C]
  5314. -h, --help help for genautocomplete
  5315. \f[R]
  5316. .fi
  5317. .PP
  5318. See the global flags page (https://rclone.org/flags/) for global options
  5319. not listed here.
  5320. .SH SEE ALSO
  5321. .IP \[bu] 2
  5322. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5323. commands, flags and backends.
  5324. .IP \[bu] 2
  5325. rclone genautocomplete
  5326. bash (https://rclone.org/commands/rclone_genautocomplete_bash/) - Output
  5327. bash completion script for rclone.
  5328. .IP \[bu] 2
  5329. rclone genautocomplete
  5330. fish (https://rclone.org/commands/rclone_genautocomplete_fish/) - Output
  5331. fish completion script for rclone.
  5332. .IP \[bu] 2
  5333. rclone genautocomplete
  5334. zsh (https://rclone.org/commands/rclone_genautocomplete_zsh/) - Output
  5335. zsh completion script for rclone.
  5336. .SH rclone genautocomplete bash
  5337. .PP
  5338. Output bash completion script for rclone.
  5339. .SH Synopsis
  5340. .PP
  5341. Generates a bash shell autocompletion script for rclone.
  5342. .PP
  5343. This writes to /etc/bash_completion.d/rclone by default so will probably
  5344. need to be run with sudo or as root, e.g.
  5345. .IP
  5346. .nf
  5347. \f[C]
  5348. sudo rclone genautocomplete bash
  5349. \f[R]
  5350. .fi
  5351. .PP
  5352. Logout and login again to use the autocompletion scripts, or source them
  5353. directly
  5354. .IP
  5355. .nf
  5356. \f[C]
  5357. \&. /etc/bash_completion
  5358. \f[R]
  5359. .fi
  5360. .PP
  5361. If you supply a command line argument the script will be written there.
  5362. .PP
  5363. If output_file is \[dq]-\[dq], then the output will be written to
  5364. stdout.
  5365. .IP
  5366. .nf
  5367. \f[C]
  5368. rclone genautocomplete bash [output_file] [flags]
  5369. \f[R]
  5370. .fi
  5371. .SH Options
  5372. .IP
  5373. .nf
  5374. \f[C]
  5375. -h, --help help for bash
  5376. \f[R]
  5377. .fi
  5378. .PP
  5379. See the global flags page (https://rclone.org/flags/) for global options
  5380. not listed here.
  5381. .SH SEE ALSO
  5382. .IP \[bu] 2
  5383. rclone
  5384. genautocomplete (https://rclone.org/commands/rclone_genautocomplete/) -
  5385. Output completion script for a given shell.
  5386. .SH rclone genautocomplete fish
  5387. .PP
  5388. Output fish completion script for rclone.
  5389. .SH Synopsis
  5390. .PP
  5391. Generates a fish autocompletion script for rclone.
  5392. .PP
  5393. This writes to /etc/fish/completions/rclone.fish by default so will
  5394. probably need to be run with sudo or as root, e.g.
  5395. .IP
  5396. .nf
  5397. \f[C]
  5398. sudo rclone genautocomplete fish
  5399. \f[R]
  5400. .fi
  5401. .PP
  5402. Logout and login again to use the autocompletion scripts, or source them
  5403. directly
  5404. .IP
  5405. .nf
  5406. \f[C]
  5407. \&. /etc/fish/completions/rclone.fish
  5408. \f[R]
  5409. .fi
  5410. .PP
  5411. If you supply a command line argument the script will be written there.
  5412. .PP
  5413. If output_file is \[dq]-\[dq], then the output will be written to
  5414. stdout.
  5415. .IP
  5416. .nf
  5417. \f[C]
  5418. rclone genautocomplete fish [output_file] [flags]
  5419. \f[R]
  5420. .fi
  5421. .SH Options
  5422. .IP
  5423. .nf
  5424. \f[C]
  5425. -h, --help help for fish
  5426. \f[R]
  5427. .fi
  5428. .PP
  5429. See the global flags page (https://rclone.org/flags/) for global options
  5430. not listed here.
  5431. .SH SEE ALSO
  5432. .IP \[bu] 2
  5433. rclone
  5434. genautocomplete (https://rclone.org/commands/rclone_genautocomplete/) -
  5435. Output completion script for a given shell.
  5436. .SH rclone genautocomplete zsh
  5437. .PP
  5438. Output zsh completion script for rclone.
  5439. .SH Synopsis
  5440. .PP
  5441. Generates a zsh autocompletion script for rclone.
  5442. .PP
  5443. This writes to /usr/share/zsh/vendor-completions/_rclone by default so
  5444. will probably need to be run with sudo or as root, e.g.
  5445. .IP
  5446. .nf
  5447. \f[C]
  5448. sudo rclone genautocomplete zsh
  5449. \f[R]
  5450. .fi
  5451. .PP
  5452. Logout and login again to use the autocompletion scripts, or source them
  5453. directly
  5454. .IP
  5455. .nf
  5456. \f[C]
  5457. autoload -U compinit && compinit
  5458. \f[R]
  5459. .fi
  5460. .PP
  5461. If you supply a command line argument the script will be written there.
  5462. .PP
  5463. If output_file is \[dq]-\[dq], then the output will be written to
  5464. stdout.
  5465. .IP
  5466. .nf
  5467. \f[C]
  5468. rclone genautocomplete zsh [output_file] [flags]
  5469. \f[R]
  5470. .fi
  5471. .SH Options
  5472. .IP
  5473. .nf
  5474. \f[C]
  5475. -h, --help help for zsh
  5476. \f[R]
  5477. .fi
  5478. .PP
  5479. See the global flags page (https://rclone.org/flags/) for global options
  5480. not listed here.
  5481. .SH SEE ALSO
  5482. .IP \[bu] 2
  5483. rclone
  5484. genautocomplete (https://rclone.org/commands/rclone_genautocomplete/) -
  5485. Output completion script for a given shell.
  5486. .SH rclone gendocs
  5487. .PP
  5488. Output markdown docs for rclone to the directory supplied.
  5489. .SS Synopsis
  5490. .PP
  5491. This produces markdown docs for the rclone commands to the directory
  5492. supplied.
  5493. These are in a format suitable for hugo to render into the rclone.org
  5494. website.
  5495. .IP
  5496. .nf
  5497. \f[C]
  5498. rclone gendocs output_directory [flags]
  5499. \f[R]
  5500. .fi
  5501. .SS Options
  5502. .IP
  5503. .nf
  5504. \f[C]
  5505. -h, --help help for gendocs
  5506. \f[R]
  5507. .fi
  5508. .PP
  5509. See the global flags page (https://rclone.org/flags/) for global options
  5510. not listed here.
  5511. .SH SEE ALSO
  5512. .IP \[bu] 2
  5513. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5514. commands, flags and backends.
  5515. .SH rclone hashsum
  5516. .PP
  5517. Produces a hashsum file for all the objects in the path.
  5518. .SS Synopsis
  5519. .PP
  5520. Produces a hash file for all the objects in the path using the hash
  5521. named.
  5522. The output is in the same format as the standard md5sum/sha1sum tool.
  5523. .PP
  5524. By default, the hash is requested from the remote.
  5525. If the hash is not supported by the remote, no hash will be returned.
  5526. With the download flag, the file will be downloaded from the remote and
  5527. hashed locally enabling any hash for any remote.
  5528. .PP
  5529. For the MD5 and SHA1 algorithms there are also dedicated commands,
  5530. md5sum (https://rclone.org/commands/rclone_md5sum/) and
  5531. sha1sum (https://rclone.org/commands/rclone_sha1sum/).
  5532. .PP
  5533. This command can also hash data received on standard input (stdin), by
  5534. not passing a remote:path, or by passing a hyphen as remote:path when
  5535. there is data to read (if not, the hyphen will be treated literally, as
  5536. a relative path).
  5537. .PP
  5538. Run without a hash to see the list of all supported hashes, e.g.
  5539. .IP
  5540. .nf
  5541. \f[C]
  5542. $ rclone hashsum
  5543. Supported hashes are:
  5544. * md5
  5545. * sha1
  5546. * whirlpool
  5547. * crc32
  5548. * sha256
  5549. \f[R]
  5550. .fi
  5551. .PP
  5552. Then
  5553. .IP
  5554. .nf
  5555. \f[C]
  5556. $ rclone hashsum MD5 remote:path
  5557. \f[R]
  5558. .fi
  5559. .PP
  5560. Note that hash names are case insensitive and values are output in lower
  5561. case.
  5562. .IP
  5563. .nf
  5564. \f[C]
  5565. rclone hashsum [<hash> remote:path] [flags]
  5566. \f[R]
  5567. .fi
  5568. .SS Options
  5569. .IP
  5570. .nf
  5571. \f[C]
  5572. --base64 Output base64 encoded hashsum
  5573. -C, --checkfile string Validate hashes against a given SUM file instead of printing them
  5574. --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
  5575. -h, --help help for hashsum
  5576. --output-file string Output hashsums to a file rather than the terminal
  5577. \f[R]
  5578. .fi
  5579. .SS Filter Options
  5580. .PP
  5581. Flags for filtering directory listings.
  5582. .IP
  5583. .nf
  5584. \f[C]
  5585. --delete-excluded Delete files on dest excluded from sync
  5586. --exclude stringArray Exclude files matching pattern
  5587. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  5588. --exclude-if-present stringArray Exclude directories if filename is present
  5589. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  5590. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  5591. -f, --filter stringArray Add a file filtering rule
  5592. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  5593. --ignore-case Ignore case in filters (case insensitive)
  5594. --include stringArray Include files matching pattern
  5595. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  5596. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5597. --max-depth int If set limits the recursion depth to this (default -1)
  5598. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  5599. --metadata-exclude stringArray Exclude metadatas matching pattern
  5600. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  5601. --metadata-filter stringArray Add a metadata filtering rule
  5602. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  5603. --metadata-include stringArray Include metadatas matching pattern
  5604. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  5605. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5606. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  5607. \f[R]
  5608. .fi
  5609. .SS Listing Options
  5610. .PP
  5611. Flags for listing directories.
  5612. .IP
  5613. .nf
  5614. \f[C]
  5615. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  5616. --fast-list Use recursive list if available; uses more memory but fewer transactions
  5617. \f[R]
  5618. .fi
  5619. .PP
  5620. See the global flags page (https://rclone.org/flags/) for global options
  5621. not listed here.
  5622. .SH SEE ALSO
  5623. .IP \[bu] 2
  5624. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5625. commands, flags and backends.
  5626. .SH rclone link
  5627. .PP
  5628. Generate public link to file/folder.
  5629. .SS Synopsis
  5630. .PP
  5631. rclone link will create, retrieve or remove a public link to the given
  5632. file or folder.
  5633. .IP
  5634. .nf
  5635. \f[C]
  5636. rclone link remote:path/to/file
  5637. rclone link remote:path/to/folder/
  5638. rclone link --unlink remote:path/to/folder/
  5639. rclone link --expire 1d remote:path/to/file
  5640. \f[R]
  5641. .fi
  5642. .PP
  5643. If you supply the --expire flag, it will set the expiration time
  5644. otherwise it will use the default (100 years).
  5645. \f[B]Note\f[R] not all backends support the --expire flag - if the
  5646. backend doesn\[aq]t support it then the link returned won\[aq]t expire.
  5647. .PP
  5648. Use the --unlink flag to remove existing public links to the file or
  5649. folder.
  5650. \f[B]Note\f[R] not all backends support \[dq]--unlink\[dq] flag - those
  5651. that don\[aq]t will just ignore it.
  5652. .PP
  5653. If successful, the last line of the output will contain the link.
  5654. Exact capabilities depend on the remote, but the link will always by
  5655. default be created with the least constraints \[en] e.g.
  5656. no expiry, no password protection, accessible without account.
  5657. .IP
  5658. .nf
  5659. \f[C]
  5660. rclone link remote:path [flags]
  5661. \f[R]
  5662. .fi
  5663. .SS Options
  5664. .IP
  5665. .nf
  5666. \f[C]
  5667. --expire Duration The amount of time that the link will be valid (default off)
  5668. -h, --help help for link
  5669. --unlink Remove existing public link to file/folder
  5670. \f[R]
  5671. .fi
  5672. .PP
  5673. See the global flags page (https://rclone.org/flags/) for global options
  5674. not listed here.
  5675. .SH SEE ALSO
  5676. .IP \[bu] 2
  5677. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5678. commands, flags and backends.
  5679. .SH rclone listremotes
  5680. .PP
  5681. List all the remotes in the config file and defined in environment
  5682. variables.
  5683. .SS Synopsis
  5684. .PP
  5685. rclone listremotes lists all the available remotes from the config file.
  5686. .PP
  5687. When used with the \f[C]--long\f[R] flag it lists the types and the
  5688. descriptions too.
  5689. .IP
  5690. .nf
  5691. \f[C]
  5692. rclone listremotes [flags]
  5693. \f[R]
  5694. .fi
  5695. .SS Options
  5696. .IP
  5697. .nf
  5698. \f[C]
  5699. -h, --help help for listremotes
  5700. --long Show the type and the description as well as names
  5701. \f[R]
  5702. .fi
  5703. .PP
  5704. See the global flags page (https://rclone.org/flags/) for global options
  5705. not listed here.
  5706. .SH SEE ALSO
  5707. .IP \[bu] 2
  5708. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5709. commands, flags and backends.
  5710. .SH rclone lsf
  5711. .PP
  5712. List directories and objects in remote:path formatted for parsing.
  5713. .SS Synopsis
  5714. .PP
  5715. List the contents of the source path (directories and objects) to
  5716. standard output in a form which is easy to parse by scripts.
  5717. By default this will just be the names of the objects and directories,
  5718. one per line.
  5719. The directories will have a / suffix.
  5720. .PP
  5721. Eg
  5722. .IP
  5723. .nf
  5724. \f[C]
  5725. $ rclone lsf swift:bucket
  5726. bevajer5jef
  5727. canole
  5728. diwogej7
  5729. ferejej3gux/
  5730. fubuwic
  5731. \f[R]
  5732. .fi
  5733. .PP
  5734. Use the \f[C]--format\f[R] option to control what gets listed.
  5735. By default this is just the path, but you can use these parameters to
  5736. control the output:
  5737. .IP
  5738. .nf
  5739. \f[C]
  5740. p - path
  5741. s - size
  5742. t - modification time
  5743. h - hash
  5744. i - ID of object
  5745. o - Original ID of underlying object
  5746. m - MimeType of object if known
  5747. e - encrypted name
  5748. T - tier of storage if known, e.g. \[dq]Hot\[dq] or \[dq]Cool\[dq]
  5749. M - Metadata of object in JSON blob format, eg {\[dq]key\[dq]:\[dq]value\[dq]}
  5750. \f[R]
  5751. .fi
  5752. .PP
  5753. So if you wanted the path, size and modification time, you would use
  5754. \f[C]--format \[dq]pst\[dq]\f[R], or maybe
  5755. \f[C]--format \[dq]tsp\[dq]\f[R] to put the path last.
  5756. .PP
  5757. Eg
  5758. .IP
  5759. .nf
  5760. \f[C]
  5761. $ rclone lsf --format \[dq]tsp\[dq] swift:bucket
  5762. 2016-06-25 18:55:41;60295;bevajer5jef
  5763. 2016-06-25 18:55:43;90613;canole
  5764. 2016-06-25 18:55:43;94467;diwogej7
  5765. 2018-04-26 08:50:45;0;ferejej3gux/
  5766. 2016-06-25 18:55:40;37600;fubuwic
  5767. \f[R]
  5768. .fi
  5769. .PP
  5770. If you specify \[dq]h\[dq] in the format you will get the MD5 hash by
  5771. default, use the \f[C]--hash\f[R] flag to change which hash you want.
  5772. Note that this can be returned as an empty string if it isn\[aq]t
  5773. available on the object (and for directories), \[dq]ERROR\[dq] if there
  5774. was an error reading it from the object and \[dq]UNSUPPORTED\[dq] if
  5775. that object does not support that hash type.
  5776. .PP
  5777. For example, to emulate the md5sum command you can use
  5778. .IP
  5779. .nf
  5780. \f[C]
  5781. rclone lsf -R --hash MD5 --format hp --separator \[dq] \[dq] --files-only .
  5782. \f[R]
  5783. .fi
  5784. .PP
  5785. Eg
  5786. .IP
  5787. .nf
  5788. \f[C]
  5789. $ rclone lsf -R --hash MD5 --format hp --separator \[dq] \[dq] --files-only swift:bucket
  5790. 7908e352297f0f530b84a756f188baa3 bevajer5jef
  5791. cd65ac234e6fea5925974a51cdd865cc canole
  5792. 03b5341b4f234b9d984d03ad076bae91 diwogej7
  5793. 8fd37c3810dd660778137ac3a66cc06d fubuwic
  5794. 99713e14a4c4ff553acaf1930fad985b gixacuh7ku
  5795. \f[R]
  5796. .fi
  5797. .PP
  5798. (Though \[dq]rclone md5sum .\[dq] is an easier way of typing this.)
  5799. .PP
  5800. By default the separator is \[dq];\[dq] this can be changed with the
  5801. \f[C]--separator\f[R] flag.
  5802. Note that separators aren\[aq]t escaped in the path so putting it last
  5803. is a good strategy.
  5804. .PP
  5805. Eg
  5806. .IP
  5807. .nf
  5808. \f[C]
  5809. $ rclone lsf --separator \[dq],\[dq] --format \[dq]tshp\[dq] swift:bucket
  5810. 2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
  5811. 2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole
  5812. 2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
  5813. 2018-04-26 08:52:53,0,,ferejej3gux/
  5814. 2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
  5815. \f[R]
  5816. .fi
  5817. .PP
  5818. You can output in CSV standard format.
  5819. This will escape things in \[dq] if they contain ,
  5820. .PP
  5821. Eg
  5822. .IP
  5823. .nf
  5824. \f[C]
  5825. $ rclone lsf --csv --files-only --format ps remote:path
  5826. test.log,22355
  5827. test.sh,449
  5828. \[dq]this file contains a comma, in the file name.txt\[dq],6
  5829. \f[R]
  5830. .fi
  5831. .PP
  5832. Note that the \f[C]--absolute\f[R] parameter is useful for making lists
  5833. of files to pass to an rclone copy with the \f[C]--files-from-raw\f[R]
  5834. flag.
  5835. .PP
  5836. For example, to find all the files modified within one day and copy
  5837. those only (without traversing the whole directory structure):
  5838. .IP
  5839. .nf
  5840. \f[C]
  5841. rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
  5842. rclone copy --files-from-raw new_files /path/to/local remote:path
  5843. \f[R]
  5844. .fi
  5845. .PP
  5846. The default time format is \f[C]\[aq]2006-01-02 15:04:05\[aq]\f[R].
  5847. Other formats (https://pkg.go.dev/time#pkg-constants) can be specified
  5848. with the \f[C]--time-format\f[R] flag.
  5849. Examples:
  5850. .IP
  5851. .nf
  5852. \f[C]
  5853. rclone lsf remote:path --format pt --time-format \[aq]Jan 2, 2006 at 3:04pm (MST)\[aq]
  5854. rclone lsf remote:path --format pt --time-format \[aq]2006-01-02 15:04:05.000000000\[aq]
  5855. rclone lsf remote:path --format pt --time-format \[aq]2006-01-02T15:04:05.999999999Z07:00\[aq]
  5856. rclone lsf remote:path --format pt --time-format RFC3339
  5857. rclone lsf remote:path --format pt --time-format DateOnly
  5858. rclone lsf remote:path --format pt --time-format max
  5859. \f[R]
  5860. .fi
  5861. .PP
  5862. \f[C]--time-format max\f[R] will automatically truncate
  5863. \[aq]\f[C]2006-01-02 15:04:05.000000000\f[R]\[aq] to the maximum
  5864. precision supported by the remote.
  5865. .PP
  5866. Any of the filtering options can be applied to this command.
  5867. .PP
  5868. There are several related list commands
  5869. .IP \[bu] 2
  5870. \f[C]ls\f[R] to list size and path of objects only
  5871. .IP \[bu] 2
  5872. \f[C]lsl\f[R] to list modification time, size and path of objects only
  5873. .IP \[bu] 2
  5874. \f[C]lsd\f[R] to list directories only
  5875. .IP \[bu] 2
  5876. \f[C]lsf\f[R] to list objects and directories in easy to parse format
  5877. .IP \[bu] 2
  5878. \f[C]lsjson\f[R] to list objects and directories in JSON format
  5879. .PP
  5880. \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be
  5881. human-readable.
  5882. \f[C]lsf\f[R] is designed to be human and machine-readable.
  5883. \f[C]lsjson\f[R] is designed to be machine-readable.
  5884. .PP
  5885. Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use
  5886. \f[C]--max-depth 1\f[R] to stop the recursion.
  5887. .PP
  5888. The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do
  5889. not recurse by default - use \f[C]-R\f[R] to make them recurse.
  5890. .PP
  5891. Listing a nonexistent directory will produce an error except for remotes
  5892. which can\[aq]t have empty directories (e.g.
  5893. s3, swift, or gcs - the bucket-based remotes).
  5894. .IP
  5895. .nf
  5896. \f[C]
  5897. rclone lsf remote:path [flags]
  5898. \f[R]
  5899. .fi
  5900. .SS Options
  5901. .IP
  5902. .nf
  5903. \f[C]
  5904. --absolute Put a leading / in front of path names
  5905. --csv Output in CSV format
  5906. -d, --dir-slash Append a slash to directory names (default true)
  5907. --dirs-only Only list directories
  5908. --files-only Only list files
  5909. -F, --format string Output format - see help for details (default \[dq]p\[dq])
  5910. --hash h Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default \[dq]md5\[dq])
  5911. -h, --help help for lsf
  5912. -R, --recursive Recurse into the listing
  5913. -s, --separator string Separator for the items in the format (default \[dq];\[dq])
  5914. -t, --time-format string Specify a custom time format, or \[aq]max\[aq] for max precision supported by remote (default: 2006-01-02 15:04:05)
  5915. \f[R]
  5916. .fi
  5917. .SS Filter Options
  5918. .PP
  5919. Flags for filtering directory listings.
  5920. .IP
  5921. .nf
  5922. \f[C]
  5923. --delete-excluded Delete files on dest excluded from sync
  5924. --exclude stringArray Exclude files matching pattern
  5925. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  5926. --exclude-if-present stringArray Exclude directories if filename is present
  5927. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  5928. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  5929. -f, --filter stringArray Add a file filtering rule
  5930. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  5931. --ignore-case Ignore case in filters (case insensitive)
  5932. --include stringArray Include files matching pattern
  5933. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  5934. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5935. --max-depth int If set limits the recursion depth to this (default -1)
  5936. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  5937. --metadata-exclude stringArray Exclude metadatas matching pattern
  5938. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  5939. --metadata-filter stringArray Add a metadata filtering rule
  5940. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  5941. --metadata-include stringArray Include metadatas matching pattern
  5942. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  5943. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  5944. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  5945. \f[R]
  5946. .fi
  5947. .SS Listing Options
  5948. .PP
  5949. Flags for listing directories.
  5950. .IP
  5951. .nf
  5952. \f[C]
  5953. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  5954. --fast-list Use recursive list if available; uses more memory but fewer transactions
  5955. \f[R]
  5956. .fi
  5957. .PP
  5958. See the global flags page (https://rclone.org/flags/) for global options
  5959. not listed here.
  5960. .SH SEE ALSO
  5961. .IP \[bu] 2
  5962. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  5963. commands, flags and backends.
  5964. .SH rclone lsjson
  5965. .PP
  5966. List directories and objects in the path in JSON format.
  5967. .SS Synopsis
  5968. .PP
  5969. List directories and objects in the path in JSON format.
  5970. .PP
  5971. The output is an array of Items, where each Item looks like this
  5972. .IP
  5973. .nf
  5974. \f[C]
  5975. {
  5976. \[dq]Hashes\[dq] : {
  5977. \[dq]SHA-1\[dq] : \[dq]f572d396fae9206628714fb2ce00f72e94f2258f\[dq],
  5978. \[dq]MD5\[dq] : \[dq]b1946ac92492d2347c6235b4d2611184\[dq],
  5979. \[dq]DropboxHash\[dq] : \[dq]ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc\[dq]
  5980. },
  5981. \[dq]ID\[dq]: \[dq]y2djkhiujf83u33\[dq],
  5982. \[dq]OrigID\[dq]: \[dq]UYOJVTUW00Q1RzTDA\[dq],
  5983. \[dq]IsBucket\[dq] : false,
  5984. \[dq]IsDir\[dq] : false,
  5985. \[dq]MimeType\[dq] : \[dq]application/octet-stream\[dq],
  5986. \[dq]ModTime\[dq] : \[dq]2017-05-31T16:15:57.034468261+01:00\[dq],
  5987. \[dq]Name\[dq] : \[dq]file.txt\[dq],
  5988. \[dq]Encrypted\[dq] : \[dq]v0qpsdq8anpci8n929v3uu9338\[dq],
  5989. \[dq]EncryptedPath\[dq] : \[dq]kja9098349023498/v0qpsdq8anpci8n929v3uu9338\[dq],
  5990. \[dq]Path\[dq] : \[dq]full/path/goes/here/file.txt\[dq],
  5991. \[dq]Size\[dq] : 6,
  5992. \[dq]Tier\[dq] : \[dq]hot\[dq],
  5993. }
  5994. \f[R]
  5995. .fi
  5996. .PP
  5997. If \f[C]--hash\f[R] is not specified the Hashes property won\[aq]t be
  5998. emitted.
  5999. The types of hash can be specified with the \f[C]--hash-type\f[R]
  6000. parameter (which may be repeated).
  6001. If \f[C]--hash-type\f[R] is set then it implies \f[C]--hash\f[R].
  6002. .PP
  6003. If \f[C]--no-modtime\f[R] is specified then ModTime will be blank.
  6004. This can speed things up on remotes where reading the ModTime takes an
  6005. extra request (e.g.
  6006. s3, swift).
  6007. .PP
  6008. If \f[C]--no-mimetype\f[R] is specified then MimeType will be blank.
  6009. This can speed things up on remotes where reading the MimeType takes an
  6010. extra request (e.g.
  6011. s3, swift).
  6012. .PP
  6013. If \f[C]--encrypted\f[R] is not specified the Encrypted won\[aq]t be
  6014. emitted.
  6015. .PP
  6016. If \f[C]--dirs-only\f[R] is not specified files in addition to
  6017. directories are returned
  6018. .PP
  6019. If \f[C]--files-only\f[R] is not specified directories in addition to
  6020. the files will be returned.
  6021. .PP
  6022. If \f[C]--metadata\f[R] is set then an additional Metadata key will be
  6023. returned.
  6024. This will have metadata in rclone standard format as a JSON object.
  6025. .PP
  6026. if \f[C]--stat\f[R] is set then a single JSON blob will be returned
  6027. about the item pointed to.
  6028. This will return an error if the item isn\[aq]t found.
  6029. However on bucket based backends (like s3, gcs, b2, azureblob etc) if
  6030. the item isn\[aq]t found it will return an empty directory as it
  6031. isn\[aq]t possible to tell empty directories from missing directories
  6032. there.
  6033. .PP
  6034. The Path field will only show folders below the remote path being
  6035. listed.
  6036. If \[dq]remote:path\[dq] contains the file \[dq]subfolder/file.txt\[dq],
  6037. the Path for \[dq]file.txt\[dq] will be \[dq]subfolder/file.txt\[dq],
  6038. not \[dq]remote:path/subfolder/file.txt\[dq].
  6039. When used without \f[C]--recursive\f[R] the Path will always be the same
  6040. as Name.
  6041. .PP
  6042. If the directory is a bucket in a bucket-based backend, then
  6043. \[dq]IsBucket\[dq] will be set to true.
  6044. This key won\[aq]t be present unless it is \[dq]true\[dq].
  6045. .PP
  6046. The time is in RFC3339 format with up to nanosecond precision.
  6047. The number of decimal digits in the seconds will depend on the precision
  6048. that the remote can hold the times, so if times are accurate to the
  6049. nearest millisecond (e.g.
  6050. Google Drive) then 3 digits will always be shown
  6051. (\[dq]2017-05-31T16:15:57.034+01:00\[dq]) whereas if the times are
  6052. accurate to the nearest second (Dropbox, Box, WebDav, etc.) no digits
  6053. will be shown (\[dq]2017-05-31T16:15:57+01:00\[dq]).
  6054. .PP
  6055. The whole output can be processed as a JSON blob, or alternatively it
  6056. can be processed line by line as each item is written one to a line.
  6057. .PP
  6058. Any of the filtering options can be applied to this command.
  6059. .PP
  6060. There are several related list commands
  6061. .IP \[bu] 2
  6062. \f[C]ls\f[R] to list size and path of objects only
  6063. .IP \[bu] 2
  6064. \f[C]lsl\f[R] to list modification time, size and path of objects only
  6065. .IP \[bu] 2
  6066. \f[C]lsd\f[R] to list directories only
  6067. .IP \[bu] 2
  6068. \f[C]lsf\f[R] to list objects and directories in easy to parse format
  6069. .IP \[bu] 2
  6070. \f[C]lsjson\f[R] to list objects and directories in JSON format
  6071. .PP
  6072. \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be
  6073. human-readable.
  6074. \f[C]lsf\f[R] is designed to be human and machine-readable.
  6075. \f[C]lsjson\f[R] is designed to be machine-readable.
  6076. .PP
  6077. Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use
  6078. \f[C]--max-depth 1\f[R] to stop the recursion.
  6079. .PP
  6080. The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do
  6081. not recurse by default - use \f[C]-R\f[R] to make them recurse.
  6082. .PP
  6083. Listing a nonexistent directory will produce an error except for remotes
  6084. which can\[aq]t have empty directories (e.g.
  6085. s3, swift, or gcs - the bucket-based remotes).
  6086. .IP
  6087. .nf
  6088. \f[C]
  6089. rclone lsjson remote:path [flags]
  6090. \f[R]
  6091. .fi
  6092. .SS Options
  6093. .IP
  6094. .nf
  6095. \f[C]
  6096. --dirs-only Show only directories in the listing
  6097. --encrypted Show the encrypted names
  6098. --files-only Show only files in the listing
  6099. --hash Include hashes in the output (may take longer)
  6100. --hash-type stringArray Show only this hash type (may be repeated)
  6101. -h, --help help for lsjson
  6102. -M, --metadata Add metadata to the listing
  6103. --no-mimetype Don\[aq]t read the mime type (can speed things up)
  6104. --no-modtime Don\[aq]t read the modification time (can speed things up)
  6105. --original Show the ID of the underlying Object
  6106. -R, --recursive Recurse into the listing
  6107. --stat Just return the info for the pointed to file
  6108. \f[R]
  6109. .fi
  6110. .SS Filter Options
  6111. .PP
  6112. Flags for filtering directory listings.
  6113. .IP
  6114. .nf
  6115. \f[C]
  6116. --delete-excluded Delete files on dest excluded from sync
  6117. --exclude stringArray Exclude files matching pattern
  6118. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  6119. --exclude-if-present stringArray Exclude directories if filename is present
  6120. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  6121. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  6122. -f, --filter stringArray Add a file filtering rule
  6123. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  6124. --ignore-case Ignore case in filters (case insensitive)
  6125. --include stringArray Include files matching pattern
  6126. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  6127. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  6128. --max-depth int If set limits the recursion depth to this (default -1)
  6129. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  6130. --metadata-exclude stringArray Exclude metadatas matching pattern
  6131. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  6132. --metadata-filter stringArray Add a metadata filtering rule
  6133. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  6134. --metadata-include stringArray Include metadatas matching pattern
  6135. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  6136. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  6137. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  6138. \f[R]
  6139. .fi
  6140. .SS Listing Options
  6141. .PP
  6142. Flags for listing directories.
  6143. .IP
  6144. .nf
  6145. \f[C]
  6146. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  6147. --fast-list Use recursive list if available; uses more memory but fewer transactions
  6148. \f[R]
  6149. .fi
  6150. .PP
  6151. See the global flags page (https://rclone.org/flags/) for global options
  6152. not listed here.
  6153. .SH SEE ALSO
  6154. .IP \[bu] 2
  6155. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  6156. commands, flags and backends.
  6157. .SH rclone mount
  6158. .PP
  6159. Mount the remote as file system on a mountpoint.
  6160. .SS Synopsis
  6161. .PP
  6162. rclone mount allows Linux, FreeBSD, macOS and Windows to mount any of
  6163. Rclone\[aq]s cloud storage systems as a file system with FUSE.
  6164. .PP
  6165. First set up your remote using \f[C]rclone config\f[R].
  6166. Check it works with \f[C]rclone ls\f[R] etc.
  6167. .PP
  6168. On Linux and macOS, you can run mount in either foreground or background
  6169. (aka daemon) mode.
  6170. Mount runs in foreground mode by default.
  6171. Use the \f[C]--daemon\f[R] flag to force background mode.
  6172. On Windows you can run mount in foreground only, the flag is ignored.
  6173. .PP
  6174. In background mode rclone acts as a generic Unix mount program: the main
  6175. program starts, spawns background rclone process to setup and maintain
  6176. the mount, waits until success or timeout and exits with appropriate
  6177. code (killing the child process if it fails).
  6178. .PP
  6179. On Linux/macOS/FreeBSD start the mount like this, where
  6180. \f[C]/path/to/local/mount\f[R] is an \f[B]empty\f[R] \f[B]existing\f[R]
  6181. directory:
  6182. .IP
  6183. .nf
  6184. \f[C]
  6185. rclone mount remote:path/to/files /path/to/local/mount
  6186. \f[R]
  6187. .fi
  6188. .PP
  6189. On Windows you can start a mount in different ways.
  6190. See below for details.
  6191. If foreground mount is used interactively from a console window, rclone
  6192. will serve the mount and occupy the console so another window should be
  6193. used to work with the mount until rclone is interrupted e.g.
  6194. by pressing Ctrl-C.
  6195. .PP
  6196. The following examples will mount to an automatically assigned drive, to
  6197. specific drive letter \f[C]X:\f[R], to path
  6198. \f[C]C:\[rs]path\[rs]parent\[rs]mount\f[R] (where parent directory or
  6199. drive must exist, and mount must \f[B]not\f[R] exist, and is not
  6200. supported when mounting as a network drive), and the last example will
  6201. mount as network share \f[C]\[rs]\[rs]cloud\[rs]remote\f[R] and map it
  6202. to an automatically assigned drive:
  6203. .IP
  6204. .nf
  6205. \f[C]
  6206. rclone mount remote:path/to/files *
  6207. rclone mount remote:path/to/files X:
  6208. rclone mount remote:path/to/files C:\[rs]path\[rs]parent\[rs]mount
  6209. rclone mount remote:path/to/files \[rs]\[rs]cloud\[rs]remote
  6210. \f[R]
  6211. .fi
  6212. .PP
  6213. When the program ends while in foreground mode, either via Ctrl+C or
  6214. receiving a SIGINT or SIGTERM signal, the mount should be automatically
  6215. stopped.
  6216. .PP
  6217. When running in background mode the user will have to stop the mount
  6218. manually:
  6219. .IP
  6220. .nf
  6221. \f[C]
  6222. # Linux
  6223. fusermount -u /path/to/local/mount
  6224. # OS X
  6225. umount /path/to/local/mount
  6226. \f[R]
  6227. .fi
  6228. .PP
  6229. The umount operation can fail, for example when the mountpoint is busy.
  6230. When that happens, it is the user\[aq]s responsibility to stop the mount
  6231. manually.
  6232. .PP
  6233. The size of the mounted file system will be set according to information
  6234. retrieved from the remote, the same as returned by the rclone
  6235. about (https://rclone.org/commands/rclone_about/) command.
  6236. Remotes with unlimited storage may report the used size only, then an
  6237. additional 1 PiB of free space is assumed.
  6238. If the remote does not
  6239. support (https://rclone.org/overview/#optional-features) the about
  6240. feature at all, then 1 PiB is set as both the total and the free size.
  6241. .SS Installing on Windows
  6242. .PP
  6243. To run rclone mount on Windows, you will need to download and install
  6244. WinFsp (http://www.secfs.net/winfsp/).
  6245. .PP
  6246. WinFsp (https://github.com/winfsp/winfsp) is an open-source Windows File
  6247. System Proxy which makes it easy to write user space file systems for
  6248. Windows.
  6249. It provides a FUSE emulation layer which rclone uses combination with
  6250. cgofuse (https://github.com/winfsp/cgofuse).
  6251. Both of these packages are by Bill Zissimopoulos who was very helpful
  6252. during the implementation of rclone mount for Windows.
  6253. .SS Mounting modes on windows
  6254. .PP
  6255. Unlike other operating systems, Microsoft Windows provides a different
  6256. filesystem type for network and fixed drives.
  6257. It optimises access on the assumption fixed disk drives are fast and
  6258. reliable, while network drives have relatively high latency and less
  6259. reliability.
  6260. Some settings can also be differentiated between the two types, for
  6261. example that Windows Explorer should just display icons and not create
  6262. preview thumbnails for image and video files on network drives.
  6263. .PP
  6264. In most cases, rclone will mount the remote as a normal, fixed disk
  6265. drive by default.
  6266. However, you can also choose to mount it as a remote network drive,
  6267. often described as a network share.
  6268. If you mount an rclone remote using the default, fixed drive mode and
  6269. experience unexpected program errors, freezes or other issues, consider
  6270. mounting as a network drive instead.
  6271. .PP
  6272. When mounting as a fixed disk drive you can either mount to an unused
  6273. drive letter, or to a path representing a \f[B]nonexistent\f[R]
  6274. subdirectory of an \f[B]existing\f[R] parent directory or drive.
  6275. Using the special value \f[C]*\f[R] will tell rclone to automatically
  6276. assign the next available drive letter, starting with Z: and moving
  6277. backward.
  6278. Examples:
  6279. .IP
  6280. .nf
  6281. \f[C]
  6282. rclone mount remote:path/to/files *
  6283. rclone mount remote:path/to/files X:
  6284. rclone mount remote:path/to/files C:\[rs]path\[rs]parent\[rs]mount
  6285. rclone mount remote:path/to/files X:
  6286. \f[R]
  6287. .fi
  6288. .PP
  6289. Option \f[C]--volname\f[R] can be used to set a custom volume name for
  6290. the mounted file system.
  6291. The default is to use the remote name and path.
  6292. .PP
  6293. To mount as network drive, you can add option \f[C]--network-mode\f[R]
  6294. to your mount command.
  6295. Mounting to a directory path is not supported in this mode, it is a
  6296. limitation Windows imposes on junctions, so the remote must always be
  6297. mounted to a drive letter.
  6298. .IP
  6299. .nf
  6300. \f[C]
  6301. rclone mount remote:path/to/files X: --network-mode
  6302. \f[R]
  6303. .fi
  6304. .PP
  6305. A volume name specified with \f[C]--volname\f[R] will be used to create
  6306. the network share path.
  6307. A complete UNC path, such as \f[C]\[rs]\[rs]cloud\[rs]remote\f[R],
  6308. optionally with path
  6309. \f[C]\[rs]\[rs]cloud\[rs]remote\[rs]madeup\[rs]path\f[R], will be used
  6310. as is.
  6311. Any other string will be used as the share part, after a default prefix
  6312. \f[C]\[rs]\[rs]server\[rs]\f[R].
  6313. If no volume name is specified then \f[C]\[rs]\[rs]server\[rs]share\f[R]
  6314. will be used.
  6315. You must make sure the volume name is unique when you are mounting more
  6316. than one drive, or else the mount command will fail.
  6317. The share name will treated as the volume label for the mapped drive,
  6318. shown in Windows Explorer etc, while the complete
  6319. \f[C]\[rs]\[rs]server\[rs]share\f[R] will be reported as the remote UNC
  6320. path by \f[C]net use\f[R] etc, just like a normal network drive mapping.
  6321. .PP
  6322. If you specify a full network share UNC path with \f[C]--volname\f[R],
  6323. this will implicitly set the \f[C]--network-mode\f[R] option, so the
  6324. following two examples have same result:
  6325. .IP
  6326. .nf
  6327. \f[C]
  6328. rclone mount remote:path/to/files X: --network-mode
  6329. rclone mount remote:path/to/files X: --volname \[rs]\[rs]server\[rs]share
  6330. \f[R]
  6331. .fi
  6332. .PP
  6333. You may also specify the network share UNC path as the mountpoint
  6334. itself.
  6335. Then rclone will automatically assign a drive letter, same as with
  6336. \f[C]*\f[R] and use that as mountpoint, and instead use the UNC path
  6337. specified as the volume name, as if it were specified with the
  6338. \f[C]--volname\f[R] option.
  6339. This will also implicitly set the \f[C]--network-mode\f[R] option.
  6340. This means the following two examples have same result:
  6341. .IP
  6342. .nf
  6343. \f[C]
  6344. rclone mount remote:path/to/files \[rs]\[rs]cloud\[rs]remote
  6345. rclone mount remote:path/to/files * --volname \[rs]\[rs]cloud\[rs]remote
  6346. \f[R]
  6347. .fi
  6348. .PP
  6349. There is yet another way to enable network mode, and to set the share
  6350. path, and that is to pass the \[dq]native\[dq] libfuse/WinFsp option
  6351. directly: \f[C]--fuse-flag --VolumePrefix=\[rs]server\[rs]share\f[R].
  6352. Note that the path must be with just a single backslash prefix in this
  6353. case.
  6354. .PP
  6355. \f[I]Note:\f[R] In previous versions of rclone this was the only
  6356. supported method.
  6357. .PP
  6358. Read more about drive
  6359. mapping (https://en.wikipedia.org/wiki/Drive_mapping)
  6360. .PP
  6361. See also Limitations section below.
  6362. .SS Windows filesystem permissions
  6363. .PP
  6364. The FUSE emulation layer on Windows must convert between the POSIX-based
  6365. permission model used in FUSE, and the permission model used in Windows,
  6366. based on access-control lists (ACL).
  6367. .PP
  6368. The mounted filesystem will normally get three entries in its
  6369. access-control list (ACL), representing permissions for the POSIX
  6370. permission scopes: Owner, group and others.
  6371. By default, the owner and group will be taken from the current user, and
  6372. the built-in group \[dq]Everyone\[dq] will be used to represent others.
  6373. The user/group can be customized with FUSE options \[dq]UserName\[dq]
  6374. and \[dq]GroupName\[dq], e.g.
  6375. \f[C]-o UserName=user123 -o GroupName=\[dq]Authenticated Users\[dq]\f[R].
  6376. The permissions on each entry will be set according to options
  6377. \f[C]--dir-perms\f[R] and \f[C]--file-perms\f[R], which takes a value in
  6378. traditional Unix numeric
  6379. notation (https://en.wikipedia.org/wiki/File-system_permissions#Numeric_notation).
  6380. .PP
  6381. The default permissions corresponds to
  6382. \f[C]--file-perms 0666 --dir-perms 0777\f[R], i.e.
  6383. read and write permissions to everyone.
  6384. This means you will not be able to start any programs from the mount.
  6385. To be able to do that you must add execute permissions, e.g.
  6386. \f[C]--file-perms 0777 --dir-perms 0777\f[R] to add it to everyone.
  6387. If the program needs to write files, chances are you will have to enable
  6388. VFS File Caching as well (see also limitations).
  6389. Note that the default write permission have some restrictions for
  6390. accounts other than the owner, specifically it lacks the \[dq]write
  6391. extended attributes\[dq], as explained next.
  6392. .PP
  6393. The mapping of permissions is not always trivial, and the result you see
  6394. in Windows Explorer may not be exactly like you expected.
  6395. For example, when setting a value that includes write access for the
  6396. group or others scope, this will be mapped to individual permissions
  6397. \[dq]write attributes\[dq], \[dq]write data\[dq] and \[dq]append
  6398. data\[dq], but not \[dq]write extended attributes\[dq].
  6399. Windows will then show this as basic permission \[dq]Special\[dq]
  6400. instead of \[dq]Write\[dq], because \[dq]Write\[dq] also covers the
  6401. \[dq]write extended attributes\[dq] permission.
  6402. When setting digit 0 for group or others, to indicate no permissions,
  6403. they will still get individual permissions \[dq]read attributes\[dq],
  6404. \[dq]read extended attributes\[dq] and \[dq]read permissions\[dq].
  6405. This is done for compatibility reasons, e.g.
  6406. to allow users without additional permissions to be able to read basic
  6407. metadata about files like in Unix.
  6408. .PP
  6409. WinFsp 2021 (version 1.9) introduced a new FUSE option
  6410. \[dq]FileSecurity\[dq], that allows the complete specification of file
  6411. security descriptors using
  6412. SDDL (https://docs.microsoft.com/en-us/windows/win32/secauthz/security-descriptor-string-format).
  6413. With this you get detailed control of the resulting permissions,
  6414. compared to use of the POSIX permissions described above, and no
  6415. additional permissions will be added automatically for compatibility
  6416. with Unix.
  6417. Some example use cases will following.
  6418. .PP
  6419. If you set POSIX permissions for only allowing access to the owner,
  6420. using \f[C]--file-perms 0600 --dir-perms 0700\f[R], the user group and
  6421. the built-in \[dq]Everyone\[dq] group will still be given some special
  6422. permissions, as described above.
  6423. Some programs may then (incorrectly) interpret this as the file being
  6424. accessible by everyone, for example an SSH client may warn about
  6425. \[dq]unprotected private key file\[dq].
  6426. You can work around this by specifying
  6427. \f[C]-o FileSecurity=\[dq]D:P(A;;FA;;;OW)\[dq]\f[R], which sets file all
  6428. access (FA) to the owner (OW), and nothing else.
  6429. .PP
  6430. When setting write permissions then, except for the owner, this does not
  6431. include the \[dq]write extended attributes\[dq] permission, as mentioned
  6432. above.
  6433. This may prevent applications from writing to files, giving permission
  6434. denied error instead.
  6435. To set working write permissions for the built-in \[dq]Everyone\[dq]
  6436. group, similar to what it gets by default but with the addition of the
  6437. \[dq]write extended attributes\[dq], you can specify
  6438. \f[C]-o FileSecurity=\[dq]D:P(A;;FRFW;;;WD)\[dq]\f[R], which sets file
  6439. read (FR) and file write (FW) to everyone (WD).
  6440. If file execute (FX) is also needed, then change to
  6441. \f[C]-o FileSecurity=\[dq]D:P(A;;FRFWFX;;;WD)\[dq]\f[R], or set file all
  6442. access (FA) to get full access permissions, including delete, with
  6443. \f[C]-o FileSecurity=\[dq]D:P(A;;FA;;;WD)\[dq]\f[R].
  6444. .SS Windows caveats
  6445. .PP
  6446. Drives created as Administrator are not visible to other accounts, not
  6447. even an account that was elevated to Administrator with the User Account
  6448. Control (UAC) feature.
  6449. A result of this is that if you mount to a drive letter from a Command
  6450. Prompt run as Administrator, and then try to access the same drive from
  6451. Windows Explorer (which does not run as Administrator), you will not be
  6452. able to see the mounted drive.
  6453. .PP
  6454. If you don\[aq]t need to access the drive from applications running with
  6455. administrative privileges, the easiest way around this is to always
  6456. create the mount from a non-elevated command prompt.
  6457. .PP
  6458. To make mapped drives available to the user account that created them
  6459. regardless if elevated or not, there is a special Windows setting called
  6460. linked
  6461. connections (https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/mapped-drives-not-available-from-elevated-command#detail-to-configure-the-enablelinkedconnections-registry-entry)
  6462. that can be enabled.
  6463. .PP
  6464. It is also possible to make a drive mount available to everyone on the
  6465. system, by running the process creating it as the built-in SYSTEM
  6466. account.
  6467. There are several ways to do this: One is to use the command-line
  6468. utility
  6469. PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec),
  6470. from Microsoft\[aq]s Sysinternals suite, which has option \f[C]-s\f[R]
  6471. to start processes as the SYSTEM account.
  6472. Another alternative is to run the mount command from a Windows Scheduled
  6473. Task, or a Windows Service, configured to run as the SYSTEM account.
  6474. A third alternative is to use the WinFsp.Launcher
  6475. infrastructure (https://github.com/winfsp/winfsp/wiki/WinFsp-Service-Architecture)).
  6476. Read more in the install documentation (https://rclone.org/install/).
  6477. Note that when running rclone as another user, it will not use the
  6478. configuration file from your profile unless you tell it to with the
  6479. \f[C]--config\f[R] (https://rclone.org/docs/#config-config-file) option.
  6480. Note also that it is now the SYSTEM account that will have the owner
  6481. permissions, and other accounts will have permissions according to the
  6482. group or others scopes.
  6483. As mentioned above, these will then not get the \[dq]write extended
  6484. attributes\[dq] permission, and this may prevent writing to files.
  6485. You can work around this with the FileSecurity option, see example
  6486. above.
  6487. .PP
  6488. Note that mapping to a directory path, instead of a drive letter, does
  6489. not suffer from the same limitations.
  6490. .SS Mounting on macOS
  6491. .PP
  6492. Mounting on macOS can be done either via built-in NFS
  6493. server (https://rclone.org/commands/rclone_serve_nfs/),
  6494. macFUSE (https://osxfuse.github.io/) (also known as osxfuse) or
  6495. FUSE-T (https://www.fuse-t.org/).
  6496. macFUSE is a traditional FUSE driver utilizing a macOS kernel extension
  6497. (kext).
  6498. FUSE-T is an alternative FUSE system which \[dq]mounts\[dq] via an NFSv4
  6499. local server.
  6500. .SS Unicode Normalization
  6501. .PP
  6502. It is highly recommended to keep the default of
  6503. \f[C]--no-unicode-normalization=false\f[R] for all \f[C]mount\f[R] and
  6504. \f[C]serve\f[R] commands on macOS.
  6505. For details, see
  6506. vfs-case-sensitivity (https://rclone.org/commands/rclone_mount/#vfs-case-sensitivity).
  6507. .SS NFS mount
  6508. .PP
  6509. This method spins up an NFS server using serve
  6510. nfs (https://rclone.org/commands/rclone_serve_nfs/) command and mounts
  6511. it to the specified mountpoint.
  6512. If you run this in background mode using |--daemon|, you will need to
  6513. send SIGTERM signal to the rclone process using |kill| command to stop
  6514. the mount.
  6515. .PP
  6516. Note that \f[C]--nfs-cache-handle-limit\f[R] controls the maximum number
  6517. of cached file handles stored by the \f[C]nfsmount\f[R] caching handler.
  6518. This should not be set too low or you may experience errors when trying
  6519. to access files.
  6520. The default is 1000000, but consider lowering this limit if the
  6521. server\[aq]s system resource usage causes problems.
  6522. .SS macFUSE Notes
  6523. .PP
  6524. If installing macFUSE using dmg
  6525. packages (https://github.com/osxfuse/osxfuse/releases) from the website,
  6526. rclone will locate the macFUSE libraries without any further
  6527. intervention.
  6528. If however, macFUSE is installed using the
  6529. macports (https://www.macports.org/) package manager, the following
  6530. addition steps are required.
  6531. .IP
  6532. .nf
  6533. \f[C]
  6534. sudo mkdir /usr/local/lib
  6535. cd /usr/local/lib
  6536. sudo ln -s /opt/local/lib/libfuse.2.dylib
  6537. \f[R]
  6538. .fi
  6539. .SS FUSE-T Limitations, Caveats, and Notes
  6540. .PP
  6541. There are some limitations, caveats, and notes about how it works.
  6542. These are current as of FUSE-T version 1.0.14.
  6543. .SS ModTime update on read
  6544. .PP
  6545. As per the FUSE-T
  6546. wiki (https://github.com/macos-fuse-t/fuse-t/wiki#caveats):
  6547. .RS
  6548. .PP
  6549. File access and modification times cannot be set separately as it seems
  6550. to be an issue with the NFS client which always modifies both.
  6551. Can be reproduced with \[aq]touch -m\[aq] and \[aq]touch -a\[aq]
  6552. commands
  6553. .RE
  6554. .PP
  6555. This means that viewing files with various tools, notably macOS Finder,
  6556. will cause rlcone to update the modification time of the file.
  6557. This may make rclone upload a full new copy of the file.
  6558. .SS Read Only mounts
  6559. .PP
  6560. When mounting with \f[C]--read-only\f[R], attempts to write to files
  6561. will fail \f[I]silently\f[R] as opposed to with a clear warning as in
  6562. macFUSE.
  6563. .SS Limitations
  6564. .PP
  6565. Without the use of \f[C]--vfs-cache-mode\f[R] this can only write files
  6566. sequentially, it can only seek when reading.
  6567. This means that many applications won\[aq]t work with their files on an
  6568. rclone mount without \f[C]--vfs-cache-mode writes\f[R] or
  6569. \f[C]--vfs-cache-mode full\f[R].
  6570. See the VFS File Caching section for more info.
  6571. When using NFS mount on macOS, if you don\[aq]t specify
  6572. |--vfs-cache-mode| the mount point will be read-only.
  6573. .PP
  6574. The bucket-based remotes (e.g.
  6575. Swift, S3, Google Compute Storage, B2) do not support the concept of
  6576. empty directories, so empty directories will have a tendency to
  6577. disappear once they fall out of the directory cache.
  6578. .PP
  6579. When \f[C]rclone mount\f[R] is invoked on Unix with \f[C]--daemon\f[R]
  6580. flag, the main rclone program will wait for the background mount to
  6581. become ready or until the timeout specified by the
  6582. \f[C]--daemon-wait\f[R] flag.
  6583. On Linux it can check mount status using ProcFS so the flag in fact sets
  6584. \f[B]maximum\f[R] time to wait, while the real wait can be less.
  6585. On macOS / BSD the time to wait is constant and the check is performed
  6586. only at the end.
  6587. We advise you to set wait time on macOS reasonably.
  6588. .PP
  6589. Only supported on Linux, FreeBSD, OS X and Windows at the moment.
  6590. .SS rclone mount vs rclone sync/copy
  6591. .PP
  6592. File systems expect things to be 100% reliable, whereas cloud storage
  6593. systems are a long way from 100% reliable.
  6594. The rclone sync/copy commands cope with this with lots of retries.
  6595. However rclone mount can\[aq]t use retries in the same way without
  6596. making local copies of the uploads.
  6597. Look at the VFS File Caching for solutions to make mount more reliable.
  6598. .SS Attribute caching
  6599. .PP
  6600. You can use the flag \f[C]--attr-timeout\f[R] to set the time the kernel
  6601. caches the attributes (size, modification time, etc.) for directory
  6602. entries.
  6603. .PP
  6604. The default is \f[C]1s\f[R] which caches files just long enough to avoid
  6605. too many callbacks to rclone from the kernel.
  6606. .PP
  6607. In theory 0s should be the correct value for filesystems which can
  6608. change outside the control of the kernel.
  6609. However this causes quite a few problems such as rclone using too much
  6610. memory (https://github.com/rclone/rclone/issues/2157), rclone not
  6611. serving files to
  6612. samba (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-issue/5112)
  6613. and excessive time listing
  6614. directories (https://github.com/rclone/rclone/issues/2095#issuecomment-371141147).
  6615. .PP
  6616. The kernel can cache the info about a file for the time given by
  6617. \f[C]--attr-timeout\f[R].
  6618. You may see corruption if the remote file changes length during this
  6619. window.
  6620. It will show up as either a truncated file or a file with garbage on the
  6621. end.
  6622. With \f[C]--attr-timeout 1s\f[R] this is very unlikely but not
  6623. impossible.
  6624. The higher you set \f[C]--attr-timeout\f[R] the more likely it is.
  6625. The default setting of \[dq]1s\[dq] is the lowest setting which
  6626. mitigates the problems above.
  6627. .PP
  6628. If you set it higher (\f[C]10s\f[R] or \f[C]1m\f[R] say) then the kernel
  6629. will call back to rclone less often making it more efficient, however
  6630. there is more chance of the corruption issue above.
  6631. .PP
  6632. If files don\[aq]t change on the remote outside of the control of rclone
  6633. then there is no chance of corruption.
  6634. .PP
  6635. This is the same as setting the attr_timeout option in mount.fuse.
  6636. .SS Filters
  6637. .PP
  6638. Note that all the rclone filters can be used to select a subset of the
  6639. files to be visible in the mount.
  6640. .SS systemd
  6641. .PP
  6642. When running rclone mount as a systemd service, it is possible to use
  6643. Type=notify.
  6644. In this case the service will enter the started state after the
  6645. mountpoint has been successfully set up.
  6646. Units having the rclone mount service specified as a requirement will
  6647. see all files and folders immediately in this mode.
  6648. .PP
  6649. Note that systemd runs mount units without any environment variables
  6650. including \f[C]PATH\f[R] or \f[C]HOME\f[R].
  6651. This means that tilde (\f[C]\[ti]\f[R]) expansion will not work and you
  6652. should provide \f[C]--config\f[R] and \f[C]--cache-dir\f[R] explicitly
  6653. as absolute paths via rclone arguments.
  6654. Since mounting requires the \f[C]fusermount\f[R] program, rclone will
  6655. use the fallback PATH of \f[C]/bin:/usr/bin\f[R] in this scenario.
  6656. Please ensure that \f[C]fusermount\f[R] is present on this PATH.
  6657. .SS Rclone as Unix mount helper
  6658. .PP
  6659. The core Unix program \f[C]/bin/mount\f[R] normally takes the
  6660. \f[C]-t FSTYPE\f[R] argument then runs the \f[C]/sbin/mount.FSTYPE\f[R]
  6661. helper program passing it mount options as \f[C]-o key=val,...\f[R] or
  6662. \f[C]--opt=...\f[R].
  6663. Automount (classic or systemd) behaves in a similar way.
  6664. .PP
  6665. rclone by default expects GNU-style flags \f[C]--key val\f[R].
  6666. To run it as a mount helper you should symlink rclone binary to
  6667. \f[C]/sbin/mount.rclone\f[R] and optionally \f[C]/usr/bin/rclonefs\f[R],
  6668. e.g.
  6669. \f[C]ln -s /usr/bin/rclone /sbin/mount.rclone\f[R].
  6670. rclone will detect it and translate command-line arguments
  6671. appropriately.
  6672. .PP
  6673. Now you can run classic mounts like this:
  6674. .IP
  6675. .nf
  6676. \f[C]
  6677. mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
  6678. \f[R]
  6679. .fi
  6680. .PP
  6681. or create systemd mount units:
  6682. .IP
  6683. .nf
  6684. \f[C]
  6685. # /etc/systemd/system/mnt-data.mount
  6686. [Unit]
  6687. Description=Mount for /mnt/data
  6688. [Mount]
  6689. Type=rclone
  6690. What=sftp1:subdir
  6691. Where=/mnt/data
  6692. Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
  6693. \f[R]
  6694. .fi
  6695. .PP
  6696. optionally accompanied by systemd automount unit
  6697. .IP
  6698. .nf
  6699. \f[C]
  6700. # /etc/systemd/system/mnt-data.automount
  6701. [Unit]
  6702. Description=AutoMount for /mnt/data
  6703. [Automount]
  6704. Where=/mnt/data
  6705. TimeoutIdleSec=600
  6706. [Install]
  6707. WantedBy=multi-user.target
  6708. \f[R]
  6709. .fi
  6710. .PP
  6711. or add in \f[C]/etc/fstab\f[R] a line like
  6712. .IP
  6713. .nf
  6714. \f[C]
  6715. sftp1:subdir /mnt/data rclone rw,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone 0 0
  6716. \f[R]
  6717. .fi
  6718. .PP
  6719. or use classic Automountd.
  6720. Remember to provide explicit \f[C]config=...,cache-dir=...\f[R] as a
  6721. workaround for mount units being run without \f[C]HOME\f[R].
  6722. .PP
  6723. Rclone in the mount helper mode will split \f[C]-o\f[R] argument(s) by
  6724. comma, replace \f[C]_\f[R] by \f[C]-\f[R] and prepend \f[C]--\f[R] to
  6725. get the command-line flags.
  6726. Options containing commas or spaces can be wrapped in single or double
  6727. quotes.
  6728. Any inner quotes inside outer quotes of the same type should be doubled.
  6729. .PP
  6730. Mount option syntax includes a few extra options treated specially:
  6731. .IP \[bu] 2
  6732. \f[C]env.NAME=VALUE\f[R] will set an environment variable for the mount
  6733. process.
  6734. This helps with Automountd and Systemd.mount which don\[aq]t allow
  6735. setting custom environment for mount helpers.
  6736. Typically you will use \f[C]env.HTTPS_PROXY=proxy.host:3128\f[R] or
  6737. \f[C]env.HOME=/root\f[R]
  6738. .IP \[bu] 2
  6739. \f[C]command=cmount\f[R] can be used to run \f[C]cmount\f[R] or any
  6740. other rclone command rather than the default \f[C]mount\f[R].
  6741. .IP \[bu] 2
  6742. \f[C]args2env\f[R] will pass mount options to the mount helper running
  6743. in background via environment variables instead of command line
  6744. arguments.
  6745. This allows to hide secrets from such commands as \f[C]ps\f[R] or
  6746. \f[C]pgrep\f[R].
  6747. .IP \[bu] 2
  6748. \f[C]vv...\f[R] will be transformed into appropriate
  6749. \f[C]--verbose=N\f[R]
  6750. .IP \[bu] 2
  6751. standard mount options like \f[C]x-systemd.automount\f[R],
  6752. \f[C]_netdev\f[R], \f[C]nosuid\f[R] and alike are intended only for
  6753. Automountd and ignored by rclone.
  6754. ## VFS - Virtual File System
  6755. .PP
  6756. This command uses the VFS layer.
  6757. This adapts the cloud storage objects that rclone uses into something
  6758. which looks much more like a disk filing system.
  6759. .PP
  6760. Cloud storage objects have lots of properties which aren\[aq]t like disk
  6761. files - you can\[aq]t extend them or write to the middle of them, so the
  6762. VFS layer has to deal with that.
  6763. Because there is no one right way of doing this there are various
  6764. options explained below.
  6765. .PP
  6766. The VFS layer also implements a directory cache - this caches info about
  6767. files and directories (but not the data) in memory.
  6768. .SS VFS Directory Cache
  6769. .PP
  6770. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  6771. directory should be considered up to date and not refreshed from the
  6772. backend.
  6773. Changes made through the VFS will appear immediately or invalidate the
  6774. cache.
  6775. .IP
  6776. .nf
  6777. \f[C]
  6778. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  6779. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  6780. \f[R]
  6781. .fi
  6782. .PP
  6783. However, changes made directly on the cloud storage by the web interface
  6784. or a different copy of rclone will only be picked up once the directory
  6785. cache expires if the backend configured does not support polling for
  6786. changes.
  6787. If the backend supports polling, changes will be picked up within the
  6788. polling interval.
  6789. .PP
  6790. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  6791. directory caches, regardless of how old they are.
  6792. Assuming only one rclone instance is running, you can reset the cache
  6793. like this:
  6794. .IP
  6795. .nf
  6796. \f[C]
  6797. kill -SIGHUP $(pidof rclone)
  6798. \f[R]
  6799. .fi
  6800. .PP
  6801. If you configure rclone with a remote control then you can use rclone rc
  6802. to flush the whole directory cache:
  6803. .IP
  6804. .nf
  6805. \f[C]
  6806. rclone rc vfs/forget
  6807. \f[R]
  6808. .fi
  6809. .PP
  6810. Or individual files or directories:
  6811. .IP
  6812. .nf
  6813. \f[C]
  6814. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  6815. \f[R]
  6816. .fi
  6817. .SS VFS File Buffering
  6818. .PP
  6819. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  6820. will be used to buffer data in advance.
  6821. .PP
  6822. Each open file will try to keep the specified amount of data in memory
  6823. at all times.
  6824. The buffered data is bound to one open file and won\[aq]t be shared.
  6825. .PP
  6826. This flag is a upper limit for the used memory per open file.
  6827. The buffer will only use memory for data that is downloaded but not not
  6828. yet read.
  6829. If the buffer is empty, only a small amount of memory will be used.
  6830. .PP
  6831. The maximum memory used by rclone for buffering can be up to
  6832. \f[C]--buffer-size * open files\f[R].
  6833. .SS VFS File Caching
  6834. .PP
  6835. These flags control the VFS file caching options.
  6836. File caching is necessary to make the VFS layer appear compatible with a
  6837. normal file system.
  6838. It can be disabled at the cost of some compatibility.
  6839. .PP
  6840. For example you\[aq]ll need to enable VFS caching if you want to read
  6841. and write simultaneously to a file.
  6842. See below for more details.
  6843. .PP
  6844. Note that the VFS cache is separate from the cache backend and you may
  6845. find that you need one or the other or both.
  6846. .IP
  6847. .nf
  6848. \f[C]
  6849. --cache-dir string Directory rclone will use for caching.
  6850. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  6851. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  6852. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  6853. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  6854. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  6855. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  6856. \f[R]
  6857. .fi
  6858. .PP
  6859. If run with \f[C]-vv\f[R] rclone will print the location of the file
  6860. cache.
  6861. The files are stored in the user cache file area which is OS dependent
  6862. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  6863. appropriate environment variable.
  6864. .PP
  6865. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  6866. The higher the cache mode the more compatible rclone becomes at the cost
  6867. of using disk space.
  6868. .PP
  6869. Note that files are written back to the remote only when they are closed
  6870. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  6871. seconds.
  6872. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  6873. these will be uploaded next time rclone is run with the same flags.
  6874. .PP
  6875. If using \f[C]--vfs-cache-max-size\f[R] or
  6876. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  6877. quotas for two reasons.
  6878. Firstly because it is only checked every
  6879. \f[C]--vfs-cache-poll-interval\f[R].
  6880. Secondly because open files cannot be evicted from the cache.
  6881. When \f[C]--vfs-cache-max-size\f[R] or
  6882. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  6883. evict the least accessed files from the cache first.
  6884. rclone will start with files that haven\[aq]t been accessed for the
  6885. longest.
  6886. This cache flushing strategy is efficient and more relevant files are
  6887. likely to remain cached.
  6888. .PP
  6889. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  6890. the set time since last access has passed.
  6891. The default value of 1 hour will start evicting files from cache that
  6892. haven\[aq]t been accessed for 1 hour.
  6893. When a cached file is accessed the 1 hour timer is reset to 0 and will
  6894. wait for 1 more hour before evicting.
  6895. Specify the time with standard notation, s, m, h, d, w .
  6896. .PP
  6897. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  6898. cache with the same or overlapping remotes if using
  6899. \f[C]--vfs-cache-mode > off\f[R].
  6900. This can potentially cause data corruption if you do.
  6901. You can work around this by giving each rclone its own cache hierarchy
  6902. with \f[C]--cache-dir\f[R].
  6903. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  6904. overlap.
  6905. .SS --vfs-cache-mode off
  6906. .PP
  6907. In this mode (the default) the cache will read directly from the remote
  6908. and write directly to the remote without caching anything on disk.
  6909. .PP
  6910. This will mean some operations are not possible
  6911. .IP \[bu] 2
  6912. Files can\[aq]t be opened for both read AND write
  6913. .IP \[bu] 2
  6914. Files opened for write can\[aq]t be seeked
  6915. .IP \[bu] 2
  6916. Existing files opened for write must have O_TRUNC set
  6917. .IP \[bu] 2
  6918. Files open for read with O_TRUNC will be opened write only
  6919. .IP \[bu] 2
  6920. Files open for write only will behave as if O_TRUNC was supplied
  6921. .IP \[bu] 2
  6922. Open modes O_APPEND, O_TRUNC are ignored
  6923. .IP \[bu] 2
  6924. If an upload fails it can\[aq]t be retried
  6925. .SS --vfs-cache-mode minimal
  6926. .PP
  6927. This is very similar to \[dq]off\[dq] except that files opened for read
  6928. AND write will be buffered to disk.
  6929. This means that files opened for write will be a lot more compatible,
  6930. but uses the minimal disk space.
  6931. .PP
  6932. These operations are not possible
  6933. .IP \[bu] 2
  6934. Files opened for write only can\[aq]t be seeked
  6935. .IP \[bu] 2
  6936. Existing files opened for write must have O_TRUNC set
  6937. .IP \[bu] 2
  6938. Files opened for write only will ignore O_APPEND, O_TRUNC
  6939. .IP \[bu] 2
  6940. If an upload fails it can\[aq]t be retried
  6941. .SS --vfs-cache-mode writes
  6942. .PP
  6943. In this mode files opened for read only are still read directly from the
  6944. remote, write only and read/write files are buffered to disk first.
  6945. .PP
  6946. This mode should support all normal file system operations.
  6947. .PP
  6948. If an upload fails it will be retried at exponentially increasing
  6949. intervals up to 1 minute.
  6950. .SS --vfs-cache-mode full
  6951. .PP
  6952. In this mode all reads and writes are buffered to and from disk.
  6953. When data is read from the remote this is buffered to disk as well.
  6954. .PP
  6955. In this mode the files in the cache will be sparse files and rclone will
  6956. keep track of which bits of the files it has downloaded.
  6957. .PP
  6958. So if an application only reads the starts of each file, then rclone
  6959. will only buffer the start of the file.
  6960. These files will appear to be their full size in the cache, but they
  6961. will be sparse files with only the data that has been downloaded present
  6962. in them.
  6963. .PP
  6964. This mode should support all normal file system operations and is
  6965. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  6966. .PP
  6967. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  6968. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  6969. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  6970. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  6971. .PP
  6972. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  6973. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  6974. required.
  6975. .PP
  6976. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  6977. In particular FAT/exFAT do not.
  6978. Rclone will perform very badly if the cache directory is on a filesystem
  6979. which doesn\[aq]t support sparse files and it will log an ERROR message
  6980. if one is detected.
  6981. .SS Fingerprinting
  6982. .PP
  6983. Various parts of the VFS use fingerprinting to see if a local file copy
  6984. has changed relative to a remote file.
  6985. Fingerprints are made from:
  6986. .IP \[bu] 2
  6987. size
  6988. .IP \[bu] 2
  6989. modification time
  6990. .IP \[bu] 2
  6991. hash
  6992. .PP
  6993. where available on an object.
  6994. .PP
  6995. On some backends some of these attributes are slow to read (they take an
  6996. extra API call per object, or extra work per object).
  6997. .PP
  6998. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  6999. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  7000. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  7001. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  7002. they need to do an extra API call to fetch it.
  7003. .PP
  7004. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  7005. not include the slow operations in the fingerprint.
  7006. This makes the fingerprinting less accurate but much faster and will
  7007. improve the opening time of cached files.
  7008. .PP
  7009. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  7010. \f[C]swift\f[R] backends then using this flag is recommended.
  7011. .PP
  7012. Note that if you change the value of this flag, the fingerprints of the
  7013. files in the cache may be invalidated and the files will need to be
  7014. downloaded again.
  7015. .SS VFS Chunked Reading
  7016. .PP
  7017. When rclone reads files from a remote it reads them in chunks.
  7018. This means that rather than requesting the whole file rclone reads the
  7019. chunk specified.
  7020. This can reduce the used download quota for some remotes by requesting
  7021. only chunks from the remote that are actually read, at the cost of an
  7022. increased number of requests.
  7023. .PP
  7024. These flags control the chunking:
  7025. .IP
  7026. .nf
  7027. \f[C]
  7028. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  7029. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  7030. \f[R]
  7031. .fi
  7032. .PP
  7033. Rclone will start reading a chunk of size
  7034. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  7035. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  7036. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  7037. will get doubled only until the specified value is reached.
  7038. If the value is \[dq]off\[dq], which is the default, the limit is
  7039. disabled and the chunk size will grow indefinitely.
  7040. .PP
  7041. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  7042. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  7043. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  7044. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  7045. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  7046. on.
  7047. .PP
  7048. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  7049. disables chunked reading.
  7050. .SS VFS Performance
  7051. .PP
  7052. These flags may be used to enable/disable features of the VFS for
  7053. performance or other reasons.
  7054. See also the chunked reading feature.
  7055. .PP
  7056. In particular S3 and Swift benefit hugely from the
  7057. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  7058. slightly different effect) as each read of the modification time takes a
  7059. transaction.
  7060. .IP
  7061. .nf
  7062. \f[C]
  7063. --no-checksum Don\[aq]t compare checksums on up/download.
  7064. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  7065. --no-seek Don\[aq]t allow seeking in files.
  7066. --read-only Only allow read-only access.
  7067. \f[R]
  7068. .fi
  7069. .PP
  7070. Sometimes rclone is delivered reads or writes out of order.
  7071. Rather than seeking rclone will wait a short time for the in sequence
  7072. read or write to come in.
  7073. These flags only come into effect when not using an on disk cache file.
  7074. .IP
  7075. .nf
  7076. \f[C]
  7077. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  7078. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  7079. \f[R]
  7080. .fi
  7081. .PP
  7082. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  7083. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  7084. adjust the number of parallel uploads of modified files from the cache
  7085. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  7086. .IP
  7087. .nf
  7088. \f[C]
  7089. --transfers int Number of file transfers to run in parallel (default 4)
  7090. \f[R]
  7091. .fi
  7092. .SS VFS Case Sensitivity
  7093. .PP
  7094. Linux file systems are case-sensitive: two files can differ only by
  7095. case, and the exact case must be used when opening a file.
  7096. .PP
  7097. File systems in modern Windows are case-insensitive but case-preserving:
  7098. although existing files can be opened using any case, the exact case
  7099. used to create the file is preserved and available for programs to
  7100. query.
  7101. It is not allowed for two files in the same directory to differ only by
  7102. case.
  7103. .PP
  7104. Usually file systems on macOS are case-insensitive.
  7105. It is possible to make macOS file systems case-sensitive but that is not
  7106. the default.
  7107. .PP
  7108. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  7109. handles these two cases.
  7110. If its value is \[dq]false\[dq], rclone passes file names to the remote
  7111. as-is.
  7112. If the flag is \[dq]true\[dq] (or appears without a value on the command
  7113. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  7114. .PP
  7115. The user may specify a file name to open/delete/rename/etc with a case
  7116. different than what is stored on the remote.
  7117. If an argument refers to an existing file with exactly the same name,
  7118. then the case of the existing file on the disk will be used.
  7119. However, if a file name with exactly the same name is not found but a
  7120. name differing only by case exists, rclone will transparently fixup the
  7121. name.
  7122. This fixup happens only when an existing file is requested.
  7123. Case sensitivity of file names created anew by rclone is controlled by
  7124. the underlying remote.
  7125. .PP
  7126. Note that case sensitivity of the operating system running rclone (the
  7127. target) may differ from case sensitivity of a file system presented by
  7128. rclone (the source).
  7129. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  7130. target.
  7131. .PP
  7132. If the flag is not provided on the command line, then its default value
  7133. depends on the operating system where rclone runs: \[dq]true\[dq] on
  7134. Windows and macOS, \[dq]false\[dq] otherwise.
  7135. If the flag is provided without a value, then it is \[dq]true\[dq].
  7136. .PP
  7137. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  7138. \[dq]fixup\[dq] is performed for filenames that differ but are
  7139. canonically
  7140. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  7141. respect to unicode.
  7142. Unicode normalization can be particularly helpful for users of macOS,
  7143. which prefers form NFD instead of the NFC used by most other platforms.
  7144. It is therefore highly recommended to keep the default of
  7145. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  7146. .PP
  7147. In the (probably unlikely) event that a directory has multiple duplicate
  7148. filenames after applying case and unicode normalization, the
  7149. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  7150. This comes with a performance tradeoff, as rclone will have to scan the
  7151. entire directory for duplicates when listing a directory.
  7152. For this reason, it is recommended to leave this disabled if not needed.
  7153. However, macOS users may wish to consider using it, as otherwise, if a
  7154. remote directory contains both NFC and NFD versions of the same
  7155. filename, an odd situation will occur: both versions of the file will be
  7156. visible in the mount, and both will appear to be editable, however,
  7157. editing either version will actually result in only the NFD version
  7158. getting edited under the hood.
  7159. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  7160. this scenario, hiding the duplicates, and logging an error, similar to
  7161. how this is handled in \f[C]rclone sync\f[R].
  7162. .SS VFS Disk Options
  7163. .PP
  7164. This flag allows you to manually set the statistics about the filing
  7165. system.
  7166. It can be useful when those statistics cannot be read correctly
  7167. automatically.
  7168. .IP
  7169. .nf
  7170. \f[C]
  7171. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  7172. \f[R]
  7173. .fi
  7174. .SS Alternate report of used bytes
  7175. .PP
  7176. Some backends, most notably S3, do not report the amount of bytes used.
  7177. If you need this information to be available when running \f[C]df\f[R]
  7178. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  7179. rclone.
  7180. With this flag set, instead of relying on the backend to report this
  7181. information, rclone will scan the whole remote similar to
  7182. \f[C]rclone size\f[R] and compute the total used space itself.
  7183. .PP
  7184. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  7185. filters so that the result is accurate.
  7186. However, this is very inefficient and may cost lots of API calls
  7187. resulting in extra charges.
  7188. Use it as a last resort and only with caching.
  7189. .IP
  7190. .nf
  7191. \f[C]
  7192. rclone mount remote:path /path/to/mountpoint [flags]
  7193. \f[R]
  7194. .fi
  7195. .SS Options
  7196. .IP
  7197. .nf
  7198. \f[C]
  7199. --allow-non-empty Allow mounting over a non-empty directory (not supported on Windows)
  7200. --allow-other Allow access to other users (not supported on Windows)
  7201. --allow-root Allow access to root user (not supported on Windows)
  7202. --async-read Use asynchronous reads (not supported on Windows) (default true)
  7203. --attr-timeout Duration Time for which file/directory attributes are cached (default 1s)
  7204. --daemon Run mount in background and exit parent process (as background output is suppressed, use --log-file with --log-format=pid,... to monitor) (not supported on Windows)
  7205. --daemon-timeout Duration Time limit for rclone to respond to kernel (not supported on Windows) (default 0s)
  7206. --daemon-wait Duration Time to wait for ready mount from daemon (maximum time on Linux, constant sleep time on OSX/BSD) (not supported on Windows) (default 1m0s)
  7207. --debug-fuse Debug the FUSE internals - needs -v
  7208. --default-permissions Makes kernel enforce access control based on the file mode (not supported on Windows)
  7209. --devname string Set the device name - default is remote:path
  7210. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  7211. --dir-perms FileMode Directory permissions (default 0777)
  7212. --file-perms FileMode File permissions (default 0666)
  7213. --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required)
  7214. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  7215. -h, --help help for mount
  7216. --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki)
  7217. --mount-case-insensitive Tristate Tell the OS the mount is case insensitive (true) or sensitive (false) regardless of the backend (auto) (default unset)
  7218. --network-mode Mount as remote network drive, instead of fixed disk drive (supported on Windows only)
  7219. --no-checksum Don\[aq]t compare checksums on up/download
  7220. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  7221. --no-seek Don\[aq]t allow seeking in files
  7222. --noappledouble Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true)
  7223. --noapplexattr Ignore all \[dq]com.apple.*\[dq] extended attributes (supported on OSX only)
  7224. -o, --option stringArray Option for libfuse/WinFsp (repeat if required)
  7225. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  7226. --read-only Only allow read-only access
  7227. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  7228. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  7229. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  7230. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  7231. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  7232. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  7233. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  7234. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  7235. --vfs-case-insensitive If a file name not found, find a case insensitive match
  7236. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  7237. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  7238. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  7239. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  7240. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  7241. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  7242. --vfs-refresh Refreshes the directory cache recursively in the background on start
  7243. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  7244. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  7245. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  7246. --volname string Set the volume name (supported on Windows and OSX only)
  7247. --write-back-cache Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows)
  7248. \f[R]
  7249. .fi
  7250. .SS Filter Options
  7251. .PP
  7252. Flags for filtering directory listings.
  7253. .IP
  7254. .nf
  7255. \f[C]
  7256. --delete-excluded Delete files on dest excluded from sync
  7257. --exclude stringArray Exclude files matching pattern
  7258. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  7259. --exclude-if-present stringArray Exclude directories if filename is present
  7260. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  7261. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  7262. -f, --filter stringArray Add a file filtering rule
  7263. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  7264. --ignore-case Ignore case in filters (case insensitive)
  7265. --include stringArray Include files matching pattern
  7266. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  7267. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  7268. --max-depth int If set limits the recursion depth to this (default -1)
  7269. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  7270. --metadata-exclude stringArray Exclude metadatas matching pattern
  7271. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  7272. --metadata-filter stringArray Add a metadata filtering rule
  7273. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  7274. --metadata-include stringArray Include metadatas matching pattern
  7275. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  7276. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  7277. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  7278. \f[R]
  7279. .fi
  7280. .PP
  7281. See the global flags page (https://rclone.org/flags/) for global options
  7282. not listed here.
  7283. .SH SEE ALSO
  7284. .IP \[bu] 2
  7285. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  7286. commands, flags and backends.
  7287. .SH rclone moveto
  7288. .PP
  7289. Move file or directory from source to dest.
  7290. .SS Synopsis
  7291. .PP
  7292. If source:path is a file or directory then it moves it to a file or
  7293. directory named dest:path.
  7294. .PP
  7295. This can be used to rename files or upload single files to other than
  7296. their existing name.
  7297. If the source is a directory then it acts exactly like the
  7298. move (https://rclone.org/commands/rclone_move/) command.
  7299. .PP
  7300. So
  7301. .IP
  7302. .nf
  7303. \f[C]
  7304. rclone moveto src dst
  7305. \f[R]
  7306. .fi
  7307. .PP
  7308. where src and dst are rclone paths, either remote:path or /path/to/local
  7309. or C:.
  7310. .PP
  7311. This will:
  7312. .IP
  7313. .nf
  7314. \f[C]
  7315. if src is file
  7316. move it to dst, overwriting an existing file if it exists
  7317. if src is directory
  7318. move it to dst, overwriting existing files if they exist
  7319. see move command for full details
  7320. \f[R]
  7321. .fi
  7322. .PP
  7323. This doesn\[aq]t transfer files that are identical on src and dst,
  7324. testing by size and modification time or MD5SUM.
  7325. src will be deleted on successful transfer.
  7326. .PP
  7327. \f[B]Important\f[R]: Since this can cause data loss, test first with the
  7328. \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag.
  7329. .PP
  7330. \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view
  7331. real-time transfer statistics.
  7332. .IP
  7333. .nf
  7334. \f[C]
  7335. rclone moveto source:path dest:path [flags]
  7336. \f[R]
  7337. .fi
  7338. .SS Options
  7339. .IP
  7340. .nf
  7341. \f[C]
  7342. -h, --help help for moveto
  7343. \f[R]
  7344. .fi
  7345. .SS Copy Options
  7346. .PP
  7347. Flags for anything which can Copy a file.
  7348. .IP
  7349. .nf
  7350. \f[C]
  7351. --check-first Do all the checks before starting transfers
  7352. -c, --checksum Check for changes with size & checksum (if available, or fallback to size only).
  7353. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  7354. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  7355. --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD)
  7356. --ignore-case-sync Ignore case when synchronizing
  7357. --ignore-checksum Skip post copy check of checksums
  7358. --ignore-existing Skip all files that exist on destination
  7359. --ignore-size Ignore size when skipping use modtime or checksum
  7360. -I, --ignore-times Don\[aq]t skip items that match size and time - transfer all unconditionally
  7361. --immutable Do not modify files, fail if existing files have been modified
  7362. --inplace Download directly to destination file instead of atomic download to temp/rename
  7363. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  7364. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  7365. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  7366. -M, --metadata If set, preserve metadata when copying objects
  7367. --modify-window Duration Max time diff to be considered the same (default 1ns)
  7368. --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi)
  7369. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi)
  7370. --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4)
  7371. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  7372. --no-check-dest Don\[aq]t check the destination, copy regardless
  7373. --no-traverse Don\[aq]t traverse destination file system on copy
  7374. --no-update-dir-modtime Don\[aq]t update directory modification times
  7375. --no-update-modtime Don\[aq]t update destination modtime if files identical
  7376. --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq]
  7377. --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default \[dq].partial\[dq])
  7378. --refresh-times Refresh the modtime of remote files
  7379. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  7380. --size-only Skip based on size only, not modtime or checksum
  7381. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki)
  7382. -u, --update Skip files that are newer on the destination
  7383. \f[R]
  7384. .fi
  7385. .SS Important Options
  7386. .PP
  7387. Important flags useful for most commands.
  7388. .IP
  7389. .nf
  7390. \f[C]
  7391. -n, --dry-run Do a trial run with no permanent changes
  7392. -i, --interactive Enable interactive mode
  7393. -v, --verbose count Print lots more stuff (repeat for more)
  7394. \f[R]
  7395. .fi
  7396. .SS Filter Options
  7397. .PP
  7398. Flags for filtering directory listings.
  7399. .IP
  7400. .nf
  7401. \f[C]
  7402. --delete-excluded Delete files on dest excluded from sync
  7403. --exclude stringArray Exclude files matching pattern
  7404. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  7405. --exclude-if-present stringArray Exclude directories if filename is present
  7406. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  7407. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  7408. -f, --filter stringArray Add a file filtering rule
  7409. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  7410. --ignore-case Ignore case in filters (case insensitive)
  7411. --include stringArray Include files matching pattern
  7412. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  7413. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  7414. --max-depth int If set limits the recursion depth to this (default -1)
  7415. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  7416. --metadata-exclude stringArray Exclude metadatas matching pattern
  7417. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  7418. --metadata-filter stringArray Add a metadata filtering rule
  7419. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  7420. --metadata-include stringArray Include metadatas matching pattern
  7421. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  7422. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  7423. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  7424. \f[R]
  7425. .fi
  7426. .SS Listing Options
  7427. .PP
  7428. Flags for listing directories.
  7429. .IP
  7430. .nf
  7431. \f[C]
  7432. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  7433. --fast-list Use recursive list if available; uses more memory but fewer transactions
  7434. \f[R]
  7435. .fi
  7436. .PP
  7437. See the global flags page (https://rclone.org/flags/) for global options
  7438. not listed here.
  7439. .SH SEE ALSO
  7440. .IP \[bu] 2
  7441. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  7442. commands, flags and backends.
  7443. .SH rclone ncdu
  7444. .PP
  7445. Explore a remote with a text based user interface.
  7446. .SS Synopsis
  7447. .PP
  7448. This displays a text based user interface allowing the navigation of a
  7449. remote.
  7450. It is most useful for answering the question - \[dq]What is using all my
  7451. disk space?\[dq].
  7452. .PP
  7453. To make the user interface it first scans the entire remote given and
  7454. builds an in memory representation.
  7455. rclone ncdu can be used during this scanning phase and you will see it
  7456. building up the directory structure as it goes along.
  7457. .PP
  7458. You can interact with the user interface using key presses, press
  7459. \[aq]?\[aq] to toggle the help on and off.
  7460. The supported keys are:
  7461. .IP
  7462. .nf
  7463. \f[C]
  7464. \[ua],\[da] or k,j to Move
  7465. \[->],l to enter
  7466. \[<-],h to return
  7467. g toggle graph
  7468. c toggle counts
  7469. a toggle average size in directory
  7470. m toggle modified time
  7471. u toggle human-readable format
  7472. n,s,C,A,M sort by name,size,count,asize,mtime
  7473. d delete file/directory
  7474. v select file/directory
  7475. V enter visual select mode
  7476. D delete selected files/directories
  7477. y copy current path to clipboard
  7478. Y display current path
  7479. \[ha]L refresh screen (fix screen corruption)
  7480. r recalculate file sizes
  7481. ? to toggle help on and off
  7482. q/ESC/\[ha]c to quit
  7483. \f[R]
  7484. .fi
  7485. .PP
  7486. Listed files/directories may be prefixed by a one-character flag, some
  7487. of them combined with a description in brackets at end of line.
  7488. These flags have the following meaning:
  7489. .IP
  7490. .nf
  7491. \f[C]
  7492. e means this is an empty directory, i.e. contains no files (but
  7493. may contain empty subdirectories)
  7494. \[ti] means this is a directory where some of the files (possibly in
  7495. subdirectories) have unknown size, and therefore the directory
  7496. size may be underestimated (and average size inaccurate, as it
  7497. is average of the files with known sizes).
  7498. \&. means an error occurred while reading a subdirectory, and
  7499. therefore the directory size may be underestimated (and average
  7500. size inaccurate)
  7501. ! means an error occurred while reading this directory
  7502. \f[R]
  7503. .fi
  7504. .PP
  7505. This an homage to the ncdu tool (https://dev.yorhel.nl/ncdu) but for
  7506. rclone remotes.
  7507. It is missing lots of features at the moment but is useful as it stands.
  7508. .PP
  7509. Note that it might take some time to delete big files/directories.
  7510. The UI won\[aq]t respond in the meantime since the deletion is done
  7511. synchronously.
  7512. .PP
  7513. For a non-interactive listing of the remote, see the
  7514. tree (https://rclone.org/commands/rclone_tree/) command.
  7515. To just get the total size of the remote you can also use the
  7516. size (https://rclone.org/commands/rclone_size/) command.
  7517. .IP
  7518. .nf
  7519. \f[C]
  7520. rclone ncdu remote:path [flags]
  7521. \f[R]
  7522. .fi
  7523. .SS Options
  7524. .IP
  7525. .nf
  7526. \f[C]
  7527. -h, --help help for ncdu
  7528. \f[R]
  7529. .fi
  7530. .SS Filter Options
  7531. .PP
  7532. Flags for filtering directory listings.
  7533. .IP
  7534. .nf
  7535. \f[C]
  7536. --delete-excluded Delete files on dest excluded from sync
  7537. --exclude stringArray Exclude files matching pattern
  7538. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  7539. --exclude-if-present stringArray Exclude directories if filename is present
  7540. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  7541. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  7542. -f, --filter stringArray Add a file filtering rule
  7543. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  7544. --ignore-case Ignore case in filters (case insensitive)
  7545. --include stringArray Include files matching pattern
  7546. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  7547. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  7548. --max-depth int If set limits the recursion depth to this (default -1)
  7549. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  7550. --metadata-exclude stringArray Exclude metadatas matching pattern
  7551. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  7552. --metadata-filter stringArray Add a metadata filtering rule
  7553. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  7554. --metadata-include stringArray Include metadatas matching pattern
  7555. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  7556. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  7557. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  7558. \f[R]
  7559. .fi
  7560. .SS Listing Options
  7561. .PP
  7562. Flags for listing directories.
  7563. .IP
  7564. .nf
  7565. \f[C]
  7566. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  7567. --fast-list Use recursive list if available; uses more memory but fewer transactions
  7568. \f[R]
  7569. .fi
  7570. .PP
  7571. See the global flags page (https://rclone.org/flags/) for global options
  7572. not listed here.
  7573. .SH SEE ALSO
  7574. .IP \[bu] 2
  7575. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  7576. commands, flags and backends.
  7577. .SH rclone nfsmount
  7578. .PP
  7579. Mount the remote as file system on a mountpoint.
  7580. .SS Synopsis
  7581. .PP
  7582. rclone nfsmount allows Linux, FreeBSD, macOS and Windows to mount any of
  7583. Rclone\[aq]s cloud storage systems as a file system with FUSE.
  7584. .PP
  7585. First set up your remote using \f[C]rclone config\f[R].
  7586. Check it works with \f[C]rclone ls\f[R] etc.
  7587. .PP
  7588. On Linux and macOS, you can run mount in either foreground or background
  7589. (aka daemon) mode.
  7590. Mount runs in foreground mode by default.
  7591. Use the \f[C]--daemon\f[R] flag to force background mode.
  7592. On Windows you can run mount in foreground only, the flag is ignored.
  7593. .PP
  7594. In background mode rclone acts as a generic Unix mount program: the main
  7595. program starts, spawns background rclone process to setup and maintain
  7596. the mount, waits until success or timeout and exits with appropriate
  7597. code (killing the child process if it fails).
  7598. .PP
  7599. On Linux/macOS/FreeBSD start the mount like this, where
  7600. \f[C]/path/to/local/mount\f[R] is an \f[B]empty\f[R] \f[B]existing\f[R]
  7601. directory:
  7602. .IP
  7603. .nf
  7604. \f[C]
  7605. rclone nfsmount remote:path/to/files /path/to/local/mount
  7606. \f[R]
  7607. .fi
  7608. .PP
  7609. On Windows you can start a mount in different ways.
  7610. See below for details.
  7611. If foreground mount is used interactively from a console window, rclone
  7612. will serve the mount and occupy the console so another window should be
  7613. used to work with the mount until rclone is interrupted e.g.
  7614. by pressing Ctrl-C.
  7615. .PP
  7616. The following examples will mount to an automatically assigned drive, to
  7617. specific drive letter \f[C]X:\f[R], to path
  7618. \f[C]C:\[rs]path\[rs]parent\[rs]mount\f[R] (where parent directory or
  7619. drive must exist, and mount must \f[B]not\f[R] exist, and is not
  7620. supported when mounting as a network drive), and the last example will
  7621. mount as network share \f[C]\[rs]\[rs]cloud\[rs]remote\f[R] and map it
  7622. to an automatically assigned drive:
  7623. .IP
  7624. .nf
  7625. \f[C]
  7626. rclone nfsmount remote:path/to/files *
  7627. rclone nfsmount remote:path/to/files X:
  7628. rclone nfsmount remote:path/to/files C:\[rs]path\[rs]parent\[rs]mount
  7629. rclone nfsmount remote:path/to/files \[rs]\[rs]cloud\[rs]remote
  7630. \f[R]
  7631. .fi
  7632. .PP
  7633. When the program ends while in foreground mode, either via Ctrl+C or
  7634. receiving a SIGINT or SIGTERM signal, the mount should be automatically
  7635. stopped.
  7636. .PP
  7637. When running in background mode the user will have to stop the mount
  7638. manually:
  7639. .IP
  7640. .nf
  7641. \f[C]
  7642. # Linux
  7643. fusermount -u /path/to/local/mount
  7644. # OS X
  7645. umount /path/to/local/mount
  7646. \f[R]
  7647. .fi
  7648. .PP
  7649. The umount operation can fail, for example when the mountpoint is busy.
  7650. When that happens, it is the user\[aq]s responsibility to stop the mount
  7651. manually.
  7652. .PP
  7653. The size of the mounted file system will be set according to information
  7654. retrieved from the remote, the same as returned by the rclone
  7655. about (https://rclone.org/commands/rclone_about/) command.
  7656. Remotes with unlimited storage may report the used size only, then an
  7657. additional 1 PiB of free space is assumed.
  7658. If the remote does not
  7659. support (https://rclone.org/overview/#optional-features) the about
  7660. feature at all, then 1 PiB is set as both the total and the free size.
  7661. .SS Installing on Windows
  7662. .PP
  7663. To run rclone nfsmount on Windows, you will need to download and install
  7664. WinFsp (http://www.secfs.net/winfsp/).
  7665. .PP
  7666. WinFsp (https://github.com/winfsp/winfsp) is an open-source Windows File
  7667. System Proxy which makes it easy to write user space file systems for
  7668. Windows.
  7669. It provides a FUSE emulation layer which rclone uses combination with
  7670. cgofuse (https://github.com/winfsp/cgofuse).
  7671. Both of these packages are by Bill Zissimopoulos who was very helpful
  7672. during the implementation of rclone nfsmount for Windows.
  7673. .SS Mounting modes on windows
  7674. .PP
  7675. Unlike other operating systems, Microsoft Windows provides a different
  7676. filesystem type for network and fixed drives.
  7677. It optimises access on the assumption fixed disk drives are fast and
  7678. reliable, while network drives have relatively high latency and less
  7679. reliability.
  7680. Some settings can also be differentiated between the two types, for
  7681. example that Windows Explorer should just display icons and not create
  7682. preview thumbnails for image and video files on network drives.
  7683. .PP
  7684. In most cases, rclone will mount the remote as a normal, fixed disk
  7685. drive by default.
  7686. However, you can also choose to mount it as a remote network drive,
  7687. often described as a network share.
  7688. If you mount an rclone remote using the default, fixed drive mode and
  7689. experience unexpected program errors, freezes or other issues, consider
  7690. mounting as a network drive instead.
  7691. .PP
  7692. When mounting as a fixed disk drive you can either mount to an unused
  7693. drive letter, or to a path representing a \f[B]nonexistent\f[R]
  7694. subdirectory of an \f[B]existing\f[R] parent directory or drive.
  7695. Using the special value \f[C]*\f[R] will tell rclone to automatically
  7696. assign the next available drive letter, starting with Z: and moving
  7697. backward.
  7698. Examples:
  7699. .IP
  7700. .nf
  7701. \f[C]
  7702. rclone nfsmount remote:path/to/files *
  7703. rclone nfsmount remote:path/to/files X:
  7704. rclone nfsmount remote:path/to/files C:\[rs]path\[rs]parent\[rs]mount
  7705. rclone nfsmount remote:path/to/files X:
  7706. \f[R]
  7707. .fi
  7708. .PP
  7709. Option \f[C]--volname\f[R] can be used to set a custom volume name for
  7710. the mounted file system.
  7711. The default is to use the remote name and path.
  7712. .PP
  7713. To mount as network drive, you can add option \f[C]--network-mode\f[R]
  7714. to your nfsmount command.
  7715. Mounting to a directory path is not supported in this mode, it is a
  7716. limitation Windows imposes on junctions, so the remote must always be
  7717. mounted to a drive letter.
  7718. .IP
  7719. .nf
  7720. \f[C]
  7721. rclone nfsmount remote:path/to/files X: --network-mode
  7722. \f[R]
  7723. .fi
  7724. .PP
  7725. A volume name specified with \f[C]--volname\f[R] will be used to create
  7726. the network share path.
  7727. A complete UNC path, such as \f[C]\[rs]\[rs]cloud\[rs]remote\f[R],
  7728. optionally with path
  7729. \f[C]\[rs]\[rs]cloud\[rs]remote\[rs]madeup\[rs]path\f[R], will be used
  7730. as is.
  7731. Any other string will be used as the share part, after a default prefix
  7732. \f[C]\[rs]\[rs]server\[rs]\f[R].
  7733. If no volume name is specified then \f[C]\[rs]\[rs]server\[rs]share\f[R]
  7734. will be used.
  7735. You must make sure the volume name is unique when you are mounting more
  7736. than one drive, or else the mount command will fail.
  7737. The share name will treated as the volume label for the mapped drive,
  7738. shown in Windows Explorer etc, while the complete
  7739. \f[C]\[rs]\[rs]server\[rs]share\f[R] will be reported as the remote UNC
  7740. path by \f[C]net use\f[R] etc, just like a normal network drive mapping.
  7741. .PP
  7742. If you specify a full network share UNC path with \f[C]--volname\f[R],
  7743. this will implicitly set the \f[C]--network-mode\f[R] option, so the
  7744. following two examples have same result:
  7745. .IP
  7746. .nf
  7747. \f[C]
  7748. rclone nfsmount remote:path/to/files X: --network-mode
  7749. rclone nfsmount remote:path/to/files X: --volname \[rs]\[rs]server\[rs]share
  7750. \f[R]
  7751. .fi
  7752. .PP
  7753. You may also specify the network share UNC path as the mountpoint
  7754. itself.
  7755. Then rclone will automatically assign a drive letter, same as with
  7756. \f[C]*\f[R] and use that as mountpoint, and instead use the UNC path
  7757. specified as the volume name, as if it were specified with the
  7758. \f[C]--volname\f[R] option.
  7759. This will also implicitly set the \f[C]--network-mode\f[R] option.
  7760. This means the following two examples have same result:
  7761. .IP
  7762. .nf
  7763. \f[C]
  7764. rclone nfsmount remote:path/to/files \[rs]\[rs]cloud\[rs]remote
  7765. rclone nfsmount remote:path/to/files * --volname \[rs]\[rs]cloud\[rs]remote
  7766. \f[R]
  7767. .fi
  7768. .PP
  7769. There is yet another way to enable network mode, and to set the share
  7770. path, and that is to pass the \[dq]native\[dq] libfuse/WinFsp option
  7771. directly: \f[C]--fuse-flag --VolumePrefix=\[rs]server\[rs]share\f[R].
  7772. Note that the path must be with just a single backslash prefix in this
  7773. case.
  7774. .PP
  7775. \f[I]Note:\f[R] In previous versions of rclone this was the only
  7776. supported method.
  7777. .PP
  7778. Read more about drive
  7779. mapping (https://en.wikipedia.org/wiki/Drive_mapping)
  7780. .PP
  7781. See also Limitations section below.
  7782. .SS Windows filesystem permissions
  7783. .PP
  7784. The FUSE emulation layer on Windows must convert between the POSIX-based
  7785. permission model used in FUSE, and the permission model used in Windows,
  7786. based on access-control lists (ACL).
  7787. .PP
  7788. The mounted filesystem will normally get three entries in its
  7789. access-control list (ACL), representing permissions for the POSIX
  7790. permission scopes: Owner, group and others.
  7791. By default, the owner and group will be taken from the current user, and
  7792. the built-in group \[dq]Everyone\[dq] will be used to represent others.
  7793. The user/group can be customized with FUSE options \[dq]UserName\[dq]
  7794. and \[dq]GroupName\[dq], e.g.
  7795. \f[C]-o UserName=user123 -o GroupName=\[dq]Authenticated Users\[dq]\f[R].
  7796. The permissions on each entry will be set according to options
  7797. \f[C]--dir-perms\f[R] and \f[C]--file-perms\f[R], which takes a value in
  7798. traditional Unix numeric
  7799. notation (https://en.wikipedia.org/wiki/File-system_permissions#Numeric_notation).
  7800. .PP
  7801. The default permissions corresponds to
  7802. \f[C]--file-perms 0666 --dir-perms 0777\f[R], i.e.
  7803. read and write permissions to everyone.
  7804. This means you will not be able to start any programs from the mount.
  7805. To be able to do that you must add execute permissions, e.g.
  7806. \f[C]--file-perms 0777 --dir-perms 0777\f[R] to add it to everyone.
  7807. If the program needs to write files, chances are you will have to enable
  7808. VFS File Caching as well (see also limitations).
  7809. Note that the default write permission have some restrictions for
  7810. accounts other than the owner, specifically it lacks the \[dq]write
  7811. extended attributes\[dq], as explained next.
  7812. .PP
  7813. The mapping of permissions is not always trivial, and the result you see
  7814. in Windows Explorer may not be exactly like you expected.
  7815. For example, when setting a value that includes write access for the
  7816. group or others scope, this will be mapped to individual permissions
  7817. \[dq]write attributes\[dq], \[dq]write data\[dq] and \[dq]append
  7818. data\[dq], but not \[dq]write extended attributes\[dq].
  7819. Windows will then show this as basic permission \[dq]Special\[dq]
  7820. instead of \[dq]Write\[dq], because \[dq]Write\[dq] also covers the
  7821. \[dq]write extended attributes\[dq] permission.
  7822. When setting digit 0 for group or others, to indicate no permissions,
  7823. they will still get individual permissions \[dq]read attributes\[dq],
  7824. \[dq]read extended attributes\[dq] and \[dq]read permissions\[dq].
  7825. This is done for compatibility reasons, e.g.
  7826. to allow users without additional permissions to be able to read basic
  7827. metadata about files like in Unix.
  7828. .PP
  7829. WinFsp 2021 (version 1.9) introduced a new FUSE option
  7830. \[dq]FileSecurity\[dq], that allows the complete specification of file
  7831. security descriptors using
  7832. SDDL (https://docs.microsoft.com/en-us/windows/win32/secauthz/security-descriptor-string-format).
  7833. With this you get detailed control of the resulting permissions,
  7834. compared to use of the POSIX permissions described above, and no
  7835. additional permissions will be added automatically for compatibility
  7836. with Unix.
  7837. Some example use cases will following.
  7838. .PP
  7839. If you set POSIX permissions for only allowing access to the owner,
  7840. using \f[C]--file-perms 0600 --dir-perms 0700\f[R], the user group and
  7841. the built-in \[dq]Everyone\[dq] group will still be given some special
  7842. permissions, as described above.
  7843. Some programs may then (incorrectly) interpret this as the file being
  7844. accessible by everyone, for example an SSH client may warn about
  7845. \[dq]unprotected private key file\[dq].
  7846. You can work around this by specifying
  7847. \f[C]-o FileSecurity=\[dq]D:P(A;;FA;;;OW)\[dq]\f[R], which sets file all
  7848. access (FA) to the owner (OW), and nothing else.
  7849. .PP
  7850. When setting write permissions then, except for the owner, this does not
  7851. include the \[dq]write extended attributes\[dq] permission, as mentioned
  7852. above.
  7853. This may prevent applications from writing to files, giving permission
  7854. denied error instead.
  7855. To set working write permissions for the built-in \[dq]Everyone\[dq]
  7856. group, similar to what it gets by default but with the addition of the
  7857. \[dq]write extended attributes\[dq], you can specify
  7858. \f[C]-o FileSecurity=\[dq]D:P(A;;FRFW;;;WD)\[dq]\f[R], which sets file
  7859. read (FR) and file write (FW) to everyone (WD).
  7860. If file execute (FX) is also needed, then change to
  7861. \f[C]-o FileSecurity=\[dq]D:P(A;;FRFWFX;;;WD)\[dq]\f[R], or set file all
  7862. access (FA) to get full access permissions, including delete, with
  7863. \f[C]-o FileSecurity=\[dq]D:P(A;;FA;;;WD)\[dq]\f[R].
  7864. .SS Windows caveats
  7865. .PP
  7866. Drives created as Administrator are not visible to other accounts, not
  7867. even an account that was elevated to Administrator with the User Account
  7868. Control (UAC) feature.
  7869. A result of this is that if you mount to a drive letter from a Command
  7870. Prompt run as Administrator, and then try to access the same drive from
  7871. Windows Explorer (which does not run as Administrator), you will not be
  7872. able to see the mounted drive.
  7873. .PP
  7874. If you don\[aq]t need to access the drive from applications running with
  7875. administrative privileges, the easiest way around this is to always
  7876. create the mount from a non-elevated command prompt.
  7877. .PP
  7878. To make mapped drives available to the user account that created them
  7879. regardless if elevated or not, there is a special Windows setting called
  7880. linked
  7881. connections (https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/mapped-drives-not-available-from-elevated-command#detail-to-configure-the-enablelinkedconnections-registry-entry)
  7882. that can be enabled.
  7883. .PP
  7884. It is also possible to make a drive mount available to everyone on the
  7885. system, by running the process creating it as the built-in SYSTEM
  7886. account.
  7887. There are several ways to do this: One is to use the command-line
  7888. utility
  7889. PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec),
  7890. from Microsoft\[aq]s Sysinternals suite, which has option \f[C]-s\f[R]
  7891. to start processes as the SYSTEM account.
  7892. Another alternative is to run the mount command from a Windows Scheduled
  7893. Task, or a Windows Service, configured to run as the SYSTEM account.
  7894. A third alternative is to use the WinFsp.Launcher
  7895. infrastructure (https://github.com/winfsp/winfsp/wiki/WinFsp-Service-Architecture)).
  7896. Read more in the install documentation (https://rclone.org/install/).
  7897. Note that when running rclone as another user, it will not use the
  7898. configuration file from your profile unless you tell it to with the
  7899. \f[C]--config\f[R] (https://rclone.org/docs/#config-config-file) option.
  7900. Note also that it is now the SYSTEM account that will have the owner
  7901. permissions, and other accounts will have permissions according to the
  7902. group or others scopes.
  7903. As mentioned above, these will then not get the \[dq]write extended
  7904. attributes\[dq] permission, and this may prevent writing to files.
  7905. You can work around this with the FileSecurity option, see example
  7906. above.
  7907. .PP
  7908. Note that mapping to a directory path, instead of a drive letter, does
  7909. not suffer from the same limitations.
  7910. .SS Mounting on macOS
  7911. .PP
  7912. Mounting on macOS can be done either via built-in NFS
  7913. server (https://rclone.org/commands/rclone_serve_nfs/),
  7914. macFUSE (https://osxfuse.github.io/) (also known as osxfuse) or
  7915. FUSE-T (https://www.fuse-t.org/).
  7916. macFUSE is a traditional FUSE driver utilizing a macOS kernel extension
  7917. (kext).
  7918. FUSE-T is an alternative FUSE system which \[dq]mounts\[dq] via an NFSv4
  7919. local server.
  7920. .SS Unicode Normalization
  7921. .PP
  7922. It is highly recommended to keep the default of
  7923. \f[C]--no-unicode-normalization=false\f[R] for all \f[C]mount\f[R] and
  7924. \f[C]serve\f[R] commands on macOS.
  7925. For details, see
  7926. vfs-case-sensitivity (https://rclone.org/commands/rclone_mount/#vfs-case-sensitivity).
  7927. .SS NFS mount
  7928. .PP
  7929. This method spins up an NFS server using serve
  7930. nfs (https://rclone.org/commands/rclone_serve_nfs/) command and mounts
  7931. it to the specified mountpoint.
  7932. If you run this in background mode using |--daemon|, you will need to
  7933. send SIGTERM signal to the rclone process using |kill| command to stop
  7934. the mount.
  7935. .PP
  7936. Note that \f[C]--nfs-cache-handle-limit\f[R] controls the maximum number
  7937. of cached file handles stored by the \f[C]nfsmount\f[R] caching handler.
  7938. This should not be set too low or you may experience errors when trying
  7939. to access files.
  7940. The default is 1000000, but consider lowering this limit if the
  7941. server\[aq]s system resource usage causes problems.
  7942. .SS macFUSE Notes
  7943. .PP
  7944. If installing macFUSE using dmg
  7945. packages (https://github.com/osxfuse/osxfuse/releases) from the website,
  7946. rclone will locate the macFUSE libraries without any further
  7947. intervention.
  7948. If however, macFUSE is installed using the
  7949. macports (https://www.macports.org/) package manager, the following
  7950. addition steps are required.
  7951. .IP
  7952. .nf
  7953. \f[C]
  7954. sudo mkdir /usr/local/lib
  7955. cd /usr/local/lib
  7956. sudo ln -s /opt/local/lib/libfuse.2.dylib
  7957. \f[R]
  7958. .fi
  7959. .SS FUSE-T Limitations, Caveats, and Notes
  7960. .PP
  7961. There are some limitations, caveats, and notes about how it works.
  7962. These are current as of FUSE-T version 1.0.14.
  7963. .SS ModTime update on read
  7964. .PP
  7965. As per the FUSE-T
  7966. wiki (https://github.com/macos-fuse-t/fuse-t/wiki#caveats):
  7967. .RS
  7968. .PP
  7969. File access and modification times cannot be set separately as it seems
  7970. to be an issue with the NFS client which always modifies both.
  7971. Can be reproduced with \[aq]touch -m\[aq] and \[aq]touch -a\[aq]
  7972. commands
  7973. .RE
  7974. .PP
  7975. This means that viewing files with various tools, notably macOS Finder,
  7976. will cause rlcone to update the modification time of the file.
  7977. This may make rclone upload a full new copy of the file.
  7978. .SS Read Only mounts
  7979. .PP
  7980. When mounting with \f[C]--read-only\f[R], attempts to write to files
  7981. will fail \f[I]silently\f[R] as opposed to with a clear warning as in
  7982. macFUSE.
  7983. .SS Limitations
  7984. .PP
  7985. Without the use of \f[C]--vfs-cache-mode\f[R] this can only write files
  7986. sequentially, it can only seek when reading.
  7987. This means that many applications won\[aq]t work with their files on an
  7988. rclone mount without \f[C]--vfs-cache-mode writes\f[R] or
  7989. \f[C]--vfs-cache-mode full\f[R].
  7990. See the VFS File Caching section for more info.
  7991. When using NFS mount on macOS, if you don\[aq]t specify
  7992. |--vfs-cache-mode| the mount point will be read-only.
  7993. .PP
  7994. The bucket-based remotes (e.g.
  7995. Swift, S3, Google Compute Storage, B2) do not support the concept of
  7996. empty directories, so empty directories will have a tendency to
  7997. disappear once they fall out of the directory cache.
  7998. .PP
  7999. When \f[C]rclone mount\f[R] is invoked on Unix with \f[C]--daemon\f[R]
  8000. flag, the main rclone program will wait for the background mount to
  8001. become ready or until the timeout specified by the
  8002. \f[C]--daemon-wait\f[R] flag.
  8003. On Linux it can check mount status using ProcFS so the flag in fact sets
  8004. \f[B]maximum\f[R] time to wait, while the real wait can be less.
  8005. On macOS / BSD the time to wait is constant and the check is performed
  8006. only at the end.
  8007. We advise you to set wait time on macOS reasonably.
  8008. .PP
  8009. Only supported on Linux, FreeBSD, OS X and Windows at the moment.
  8010. .SS rclone nfsmount vs rclone sync/copy
  8011. .PP
  8012. File systems expect things to be 100% reliable, whereas cloud storage
  8013. systems are a long way from 100% reliable.
  8014. The rclone sync/copy commands cope with this with lots of retries.
  8015. However rclone nfsmount can\[aq]t use retries in the same way without
  8016. making local copies of the uploads.
  8017. Look at the VFS File Caching for solutions to make nfsmount more
  8018. reliable.
  8019. .SS Attribute caching
  8020. .PP
  8021. You can use the flag \f[C]--attr-timeout\f[R] to set the time the kernel
  8022. caches the attributes (size, modification time, etc.) for directory
  8023. entries.
  8024. .PP
  8025. The default is \f[C]1s\f[R] which caches files just long enough to avoid
  8026. too many callbacks to rclone from the kernel.
  8027. .PP
  8028. In theory 0s should be the correct value for filesystems which can
  8029. change outside the control of the kernel.
  8030. However this causes quite a few problems such as rclone using too much
  8031. memory (https://github.com/rclone/rclone/issues/2157), rclone not
  8032. serving files to
  8033. samba (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-issue/5112)
  8034. and excessive time listing
  8035. directories (https://github.com/rclone/rclone/issues/2095#issuecomment-371141147).
  8036. .PP
  8037. The kernel can cache the info about a file for the time given by
  8038. \f[C]--attr-timeout\f[R].
  8039. You may see corruption if the remote file changes length during this
  8040. window.
  8041. It will show up as either a truncated file or a file with garbage on the
  8042. end.
  8043. With \f[C]--attr-timeout 1s\f[R] this is very unlikely but not
  8044. impossible.
  8045. The higher you set \f[C]--attr-timeout\f[R] the more likely it is.
  8046. The default setting of \[dq]1s\[dq] is the lowest setting which
  8047. mitigates the problems above.
  8048. .PP
  8049. If you set it higher (\f[C]10s\f[R] or \f[C]1m\f[R] say) then the kernel
  8050. will call back to rclone less often making it more efficient, however
  8051. there is more chance of the corruption issue above.
  8052. .PP
  8053. If files don\[aq]t change on the remote outside of the control of rclone
  8054. then there is no chance of corruption.
  8055. .PP
  8056. This is the same as setting the attr_timeout option in mount.fuse.
  8057. .SS Filters
  8058. .PP
  8059. Note that all the rclone filters can be used to select a subset of the
  8060. files to be visible in the mount.
  8061. .SS systemd
  8062. .PP
  8063. When running rclone nfsmount as a systemd service, it is possible to use
  8064. Type=notify.
  8065. In this case the service will enter the started state after the
  8066. mountpoint has been successfully set up.
  8067. Units having the rclone nfsmount service specified as a requirement will
  8068. see all files and folders immediately in this mode.
  8069. .PP
  8070. Note that systemd runs mount units without any environment variables
  8071. including \f[C]PATH\f[R] or \f[C]HOME\f[R].
  8072. This means that tilde (\f[C]\[ti]\f[R]) expansion will not work and you
  8073. should provide \f[C]--config\f[R] and \f[C]--cache-dir\f[R] explicitly
  8074. as absolute paths via rclone arguments.
  8075. Since mounting requires the \f[C]fusermount\f[R] program, rclone will
  8076. use the fallback PATH of \f[C]/bin:/usr/bin\f[R] in this scenario.
  8077. Please ensure that \f[C]fusermount\f[R] is present on this PATH.
  8078. .SS Rclone as Unix mount helper
  8079. .PP
  8080. The core Unix program \f[C]/bin/mount\f[R] normally takes the
  8081. \f[C]-t FSTYPE\f[R] argument then runs the \f[C]/sbin/mount.FSTYPE\f[R]
  8082. helper program passing it mount options as \f[C]-o key=val,...\f[R] or
  8083. \f[C]--opt=...\f[R].
  8084. Automount (classic or systemd) behaves in a similar way.
  8085. .PP
  8086. rclone by default expects GNU-style flags \f[C]--key val\f[R].
  8087. To run it as a mount helper you should symlink rclone binary to
  8088. \f[C]/sbin/mount.rclone\f[R] and optionally \f[C]/usr/bin/rclonefs\f[R],
  8089. e.g.
  8090. \f[C]ln -s /usr/bin/rclone /sbin/mount.rclone\f[R].
  8091. rclone will detect it and translate command-line arguments
  8092. appropriately.
  8093. .PP
  8094. Now you can run classic mounts like this:
  8095. .IP
  8096. .nf
  8097. \f[C]
  8098. mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
  8099. \f[R]
  8100. .fi
  8101. .PP
  8102. or create systemd mount units:
  8103. .IP
  8104. .nf
  8105. \f[C]
  8106. # /etc/systemd/system/mnt-data.mount
  8107. [Unit]
  8108. Description=Mount for /mnt/data
  8109. [Mount]
  8110. Type=rclone
  8111. What=sftp1:subdir
  8112. Where=/mnt/data
  8113. Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
  8114. \f[R]
  8115. .fi
  8116. .PP
  8117. optionally accompanied by systemd automount unit
  8118. .IP
  8119. .nf
  8120. \f[C]
  8121. # /etc/systemd/system/mnt-data.automount
  8122. [Unit]
  8123. Description=AutoMount for /mnt/data
  8124. [Automount]
  8125. Where=/mnt/data
  8126. TimeoutIdleSec=600
  8127. [Install]
  8128. WantedBy=multi-user.target
  8129. \f[R]
  8130. .fi
  8131. .PP
  8132. or add in \f[C]/etc/fstab\f[R] a line like
  8133. .IP
  8134. .nf
  8135. \f[C]
  8136. sftp1:subdir /mnt/data rclone rw,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone 0 0
  8137. \f[R]
  8138. .fi
  8139. .PP
  8140. or use classic Automountd.
  8141. Remember to provide explicit \f[C]config=...,cache-dir=...\f[R] as a
  8142. workaround for mount units being run without \f[C]HOME\f[R].
  8143. .PP
  8144. Rclone in the mount helper mode will split \f[C]-o\f[R] argument(s) by
  8145. comma, replace \f[C]_\f[R] by \f[C]-\f[R] and prepend \f[C]--\f[R] to
  8146. get the command-line flags.
  8147. Options containing commas or spaces can be wrapped in single or double
  8148. quotes.
  8149. Any inner quotes inside outer quotes of the same type should be doubled.
  8150. .PP
  8151. Mount option syntax includes a few extra options treated specially:
  8152. .IP \[bu] 2
  8153. \f[C]env.NAME=VALUE\f[R] will set an environment variable for the mount
  8154. process.
  8155. This helps with Automountd and Systemd.mount which don\[aq]t allow
  8156. setting custom environment for mount helpers.
  8157. Typically you will use \f[C]env.HTTPS_PROXY=proxy.host:3128\f[R] or
  8158. \f[C]env.HOME=/root\f[R]
  8159. .IP \[bu] 2
  8160. \f[C]command=cmount\f[R] can be used to run \f[C]cmount\f[R] or any
  8161. other rclone command rather than the default \f[C]mount\f[R].
  8162. .IP \[bu] 2
  8163. \f[C]args2env\f[R] will pass mount options to the mount helper running
  8164. in background via environment variables instead of command line
  8165. arguments.
  8166. This allows to hide secrets from such commands as \f[C]ps\f[R] or
  8167. \f[C]pgrep\f[R].
  8168. .IP \[bu] 2
  8169. \f[C]vv...\f[R] will be transformed into appropriate
  8170. \f[C]--verbose=N\f[R]
  8171. .IP \[bu] 2
  8172. standard mount options like \f[C]x-systemd.automount\f[R],
  8173. \f[C]_netdev\f[R], \f[C]nosuid\f[R] and alike are intended only for
  8174. Automountd and ignored by rclone.
  8175. ## VFS - Virtual File System
  8176. .PP
  8177. This command uses the VFS layer.
  8178. This adapts the cloud storage objects that rclone uses into something
  8179. which looks much more like a disk filing system.
  8180. .PP
  8181. Cloud storage objects have lots of properties which aren\[aq]t like disk
  8182. files - you can\[aq]t extend them or write to the middle of them, so the
  8183. VFS layer has to deal with that.
  8184. Because there is no one right way of doing this there are various
  8185. options explained below.
  8186. .PP
  8187. The VFS layer also implements a directory cache - this caches info about
  8188. files and directories (but not the data) in memory.
  8189. .SS VFS Directory Cache
  8190. .PP
  8191. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  8192. directory should be considered up to date and not refreshed from the
  8193. backend.
  8194. Changes made through the VFS will appear immediately or invalidate the
  8195. cache.
  8196. .IP
  8197. .nf
  8198. \f[C]
  8199. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  8200. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  8201. \f[R]
  8202. .fi
  8203. .PP
  8204. However, changes made directly on the cloud storage by the web interface
  8205. or a different copy of rclone will only be picked up once the directory
  8206. cache expires if the backend configured does not support polling for
  8207. changes.
  8208. If the backend supports polling, changes will be picked up within the
  8209. polling interval.
  8210. .PP
  8211. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  8212. directory caches, regardless of how old they are.
  8213. Assuming only one rclone instance is running, you can reset the cache
  8214. like this:
  8215. .IP
  8216. .nf
  8217. \f[C]
  8218. kill -SIGHUP $(pidof rclone)
  8219. \f[R]
  8220. .fi
  8221. .PP
  8222. If you configure rclone with a remote control then you can use rclone rc
  8223. to flush the whole directory cache:
  8224. .IP
  8225. .nf
  8226. \f[C]
  8227. rclone rc vfs/forget
  8228. \f[R]
  8229. .fi
  8230. .PP
  8231. Or individual files or directories:
  8232. .IP
  8233. .nf
  8234. \f[C]
  8235. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  8236. \f[R]
  8237. .fi
  8238. .SS VFS File Buffering
  8239. .PP
  8240. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  8241. will be used to buffer data in advance.
  8242. .PP
  8243. Each open file will try to keep the specified amount of data in memory
  8244. at all times.
  8245. The buffered data is bound to one open file and won\[aq]t be shared.
  8246. .PP
  8247. This flag is a upper limit for the used memory per open file.
  8248. The buffer will only use memory for data that is downloaded but not not
  8249. yet read.
  8250. If the buffer is empty, only a small amount of memory will be used.
  8251. .PP
  8252. The maximum memory used by rclone for buffering can be up to
  8253. \f[C]--buffer-size * open files\f[R].
  8254. .SS VFS File Caching
  8255. .PP
  8256. These flags control the VFS file caching options.
  8257. File caching is necessary to make the VFS layer appear compatible with a
  8258. normal file system.
  8259. It can be disabled at the cost of some compatibility.
  8260. .PP
  8261. For example you\[aq]ll need to enable VFS caching if you want to read
  8262. and write simultaneously to a file.
  8263. See below for more details.
  8264. .PP
  8265. Note that the VFS cache is separate from the cache backend and you may
  8266. find that you need one or the other or both.
  8267. .IP
  8268. .nf
  8269. \f[C]
  8270. --cache-dir string Directory rclone will use for caching.
  8271. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  8272. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  8273. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  8274. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  8275. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  8276. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  8277. \f[R]
  8278. .fi
  8279. .PP
  8280. If run with \f[C]-vv\f[R] rclone will print the location of the file
  8281. cache.
  8282. The files are stored in the user cache file area which is OS dependent
  8283. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  8284. appropriate environment variable.
  8285. .PP
  8286. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  8287. The higher the cache mode the more compatible rclone becomes at the cost
  8288. of using disk space.
  8289. .PP
  8290. Note that files are written back to the remote only when they are closed
  8291. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  8292. seconds.
  8293. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  8294. these will be uploaded next time rclone is run with the same flags.
  8295. .PP
  8296. If using \f[C]--vfs-cache-max-size\f[R] or
  8297. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  8298. quotas for two reasons.
  8299. Firstly because it is only checked every
  8300. \f[C]--vfs-cache-poll-interval\f[R].
  8301. Secondly because open files cannot be evicted from the cache.
  8302. When \f[C]--vfs-cache-max-size\f[R] or
  8303. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  8304. evict the least accessed files from the cache first.
  8305. rclone will start with files that haven\[aq]t been accessed for the
  8306. longest.
  8307. This cache flushing strategy is efficient and more relevant files are
  8308. likely to remain cached.
  8309. .PP
  8310. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  8311. the set time since last access has passed.
  8312. The default value of 1 hour will start evicting files from cache that
  8313. haven\[aq]t been accessed for 1 hour.
  8314. When a cached file is accessed the 1 hour timer is reset to 0 and will
  8315. wait for 1 more hour before evicting.
  8316. Specify the time with standard notation, s, m, h, d, w .
  8317. .PP
  8318. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  8319. cache with the same or overlapping remotes if using
  8320. \f[C]--vfs-cache-mode > off\f[R].
  8321. This can potentially cause data corruption if you do.
  8322. You can work around this by giving each rclone its own cache hierarchy
  8323. with \f[C]--cache-dir\f[R].
  8324. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  8325. overlap.
  8326. .SS --vfs-cache-mode off
  8327. .PP
  8328. In this mode (the default) the cache will read directly from the remote
  8329. and write directly to the remote without caching anything on disk.
  8330. .PP
  8331. This will mean some operations are not possible
  8332. .IP \[bu] 2
  8333. Files can\[aq]t be opened for both read AND write
  8334. .IP \[bu] 2
  8335. Files opened for write can\[aq]t be seeked
  8336. .IP \[bu] 2
  8337. Existing files opened for write must have O_TRUNC set
  8338. .IP \[bu] 2
  8339. Files open for read with O_TRUNC will be opened write only
  8340. .IP \[bu] 2
  8341. Files open for write only will behave as if O_TRUNC was supplied
  8342. .IP \[bu] 2
  8343. Open modes O_APPEND, O_TRUNC are ignored
  8344. .IP \[bu] 2
  8345. If an upload fails it can\[aq]t be retried
  8346. .SS --vfs-cache-mode minimal
  8347. .PP
  8348. This is very similar to \[dq]off\[dq] except that files opened for read
  8349. AND write will be buffered to disk.
  8350. This means that files opened for write will be a lot more compatible,
  8351. but uses the minimal disk space.
  8352. .PP
  8353. These operations are not possible
  8354. .IP \[bu] 2
  8355. Files opened for write only can\[aq]t be seeked
  8356. .IP \[bu] 2
  8357. Existing files opened for write must have O_TRUNC set
  8358. .IP \[bu] 2
  8359. Files opened for write only will ignore O_APPEND, O_TRUNC
  8360. .IP \[bu] 2
  8361. If an upload fails it can\[aq]t be retried
  8362. .SS --vfs-cache-mode writes
  8363. .PP
  8364. In this mode files opened for read only are still read directly from the
  8365. remote, write only and read/write files are buffered to disk first.
  8366. .PP
  8367. This mode should support all normal file system operations.
  8368. .PP
  8369. If an upload fails it will be retried at exponentially increasing
  8370. intervals up to 1 minute.
  8371. .SS --vfs-cache-mode full
  8372. .PP
  8373. In this mode all reads and writes are buffered to and from disk.
  8374. When data is read from the remote this is buffered to disk as well.
  8375. .PP
  8376. In this mode the files in the cache will be sparse files and rclone will
  8377. keep track of which bits of the files it has downloaded.
  8378. .PP
  8379. So if an application only reads the starts of each file, then rclone
  8380. will only buffer the start of the file.
  8381. These files will appear to be their full size in the cache, but they
  8382. will be sparse files with only the data that has been downloaded present
  8383. in them.
  8384. .PP
  8385. This mode should support all normal file system operations and is
  8386. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  8387. .PP
  8388. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  8389. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  8390. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  8391. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  8392. .PP
  8393. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  8394. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  8395. required.
  8396. .PP
  8397. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  8398. In particular FAT/exFAT do not.
  8399. Rclone will perform very badly if the cache directory is on a filesystem
  8400. which doesn\[aq]t support sparse files and it will log an ERROR message
  8401. if one is detected.
  8402. .SS Fingerprinting
  8403. .PP
  8404. Various parts of the VFS use fingerprinting to see if a local file copy
  8405. has changed relative to a remote file.
  8406. Fingerprints are made from:
  8407. .IP \[bu] 2
  8408. size
  8409. .IP \[bu] 2
  8410. modification time
  8411. .IP \[bu] 2
  8412. hash
  8413. .PP
  8414. where available on an object.
  8415. .PP
  8416. On some backends some of these attributes are slow to read (they take an
  8417. extra API call per object, or extra work per object).
  8418. .PP
  8419. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  8420. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  8421. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  8422. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  8423. they need to do an extra API call to fetch it.
  8424. .PP
  8425. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  8426. not include the slow operations in the fingerprint.
  8427. This makes the fingerprinting less accurate but much faster and will
  8428. improve the opening time of cached files.
  8429. .PP
  8430. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  8431. \f[C]swift\f[R] backends then using this flag is recommended.
  8432. .PP
  8433. Note that if you change the value of this flag, the fingerprints of the
  8434. files in the cache may be invalidated and the files will need to be
  8435. downloaded again.
  8436. .SS VFS Chunked Reading
  8437. .PP
  8438. When rclone reads files from a remote it reads them in chunks.
  8439. This means that rather than requesting the whole file rclone reads the
  8440. chunk specified.
  8441. This can reduce the used download quota for some remotes by requesting
  8442. only chunks from the remote that are actually read, at the cost of an
  8443. increased number of requests.
  8444. .PP
  8445. These flags control the chunking:
  8446. .IP
  8447. .nf
  8448. \f[C]
  8449. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  8450. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  8451. \f[R]
  8452. .fi
  8453. .PP
  8454. Rclone will start reading a chunk of size
  8455. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  8456. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  8457. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  8458. will get doubled only until the specified value is reached.
  8459. If the value is \[dq]off\[dq], which is the default, the limit is
  8460. disabled and the chunk size will grow indefinitely.
  8461. .PP
  8462. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  8463. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  8464. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  8465. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  8466. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  8467. on.
  8468. .PP
  8469. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  8470. disables chunked reading.
  8471. .SS VFS Performance
  8472. .PP
  8473. These flags may be used to enable/disable features of the VFS for
  8474. performance or other reasons.
  8475. See also the chunked reading feature.
  8476. .PP
  8477. In particular S3 and Swift benefit hugely from the
  8478. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  8479. slightly different effect) as each read of the modification time takes a
  8480. transaction.
  8481. .IP
  8482. .nf
  8483. \f[C]
  8484. --no-checksum Don\[aq]t compare checksums on up/download.
  8485. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  8486. --no-seek Don\[aq]t allow seeking in files.
  8487. --read-only Only allow read-only access.
  8488. \f[R]
  8489. .fi
  8490. .PP
  8491. Sometimes rclone is delivered reads or writes out of order.
  8492. Rather than seeking rclone will wait a short time for the in sequence
  8493. read or write to come in.
  8494. These flags only come into effect when not using an on disk cache file.
  8495. .IP
  8496. .nf
  8497. \f[C]
  8498. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  8499. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  8500. \f[R]
  8501. .fi
  8502. .PP
  8503. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  8504. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  8505. adjust the number of parallel uploads of modified files from the cache
  8506. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  8507. .IP
  8508. .nf
  8509. \f[C]
  8510. --transfers int Number of file transfers to run in parallel (default 4)
  8511. \f[R]
  8512. .fi
  8513. .SS VFS Case Sensitivity
  8514. .PP
  8515. Linux file systems are case-sensitive: two files can differ only by
  8516. case, and the exact case must be used when opening a file.
  8517. .PP
  8518. File systems in modern Windows are case-insensitive but case-preserving:
  8519. although existing files can be opened using any case, the exact case
  8520. used to create the file is preserved and available for programs to
  8521. query.
  8522. It is not allowed for two files in the same directory to differ only by
  8523. case.
  8524. .PP
  8525. Usually file systems on macOS are case-insensitive.
  8526. It is possible to make macOS file systems case-sensitive but that is not
  8527. the default.
  8528. .PP
  8529. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  8530. handles these two cases.
  8531. If its value is \[dq]false\[dq], rclone passes file names to the remote
  8532. as-is.
  8533. If the flag is \[dq]true\[dq] (or appears without a value on the command
  8534. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  8535. .PP
  8536. The user may specify a file name to open/delete/rename/etc with a case
  8537. different than what is stored on the remote.
  8538. If an argument refers to an existing file with exactly the same name,
  8539. then the case of the existing file on the disk will be used.
  8540. However, if a file name with exactly the same name is not found but a
  8541. name differing only by case exists, rclone will transparently fixup the
  8542. name.
  8543. This fixup happens only when an existing file is requested.
  8544. Case sensitivity of file names created anew by rclone is controlled by
  8545. the underlying remote.
  8546. .PP
  8547. Note that case sensitivity of the operating system running rclone (the
  8548. target) may differ from case sensitivity of a file system presented by
  8549. rclone (the source).
  8550. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  8551. target.
  8552. .PP
  8553. If the flag is not provided on the command line, then its default value
  8554. depends on the operating system where rclone runs: \[dq]true\[dq] on
  8555. Windows and macOS, \[dq]false\[dq] otherwise.
  8556. If the flag is provided without a value, then it is \[dq]true\[dq].
  8557. .PP
  8558. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  8559. \[dq]fixup\[dq] is performed for filenames that differ but are
  8560. canonically
  8561. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  8562. respect to unicode.
  8563. Unicode normalization can be particularly helpful for users of macOS,
  8564. which prefers form NFD instead of the NFC used by most other platforms.
  8565. It is therefore highly recommended to keep the default of
  8566. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  8567. .PP
  8568. In the (probably unlikely) event that a directory has multiple duplicate
  8569. filenames after applying case and unicode normalization, the
  8570. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  8571. This comes with a performance tradeoff, as rclone will have to scan the
  8572. entire directory for duplicates when listing a directory.
  8573. For this reason, it is recommended to leave this disabled if not needed.
  8574. However, macOS users may wish to consider using it, as otherwise, if a
  8575. remote directory contains both NFC and NFD versions of the same
  8576. filename, an odd situation will occur: both versions of the file will be
  8577. visible in the mount, and both will appear to be editable, however,
  8578. editing either version will actually result in only the NFD version
  8579. getting edited under the hood.
  8580. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  8581. this scenario, hiding the duplicates, and logging an error, similar to
  8582. how this is handled in \f[C]rclone sync\f[R].
  8583. .SS VFS Disk Options
  8584. .PP
  8585. This flag allows you to manually set the statistics about the filing
  8586. system.
  8587. It can be useful when those statistics cannot be read correctly
  8588. automatically.
  8589. .IP
  8590. .nf
  8591. \f[C]
  8592. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  8593. \f[R]
  8594. .fi
  8595. .SS Alternate report of used bytes
  8596. .PP
  8597. Some backends, most notably S3, do not report the amount of bytes used.
  8598. If you need this information to be available when running \f[C]df\f[R]
  8599. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  8600. rclone.
  8601. With this flag set, instead of relying on the backend to report this
  8602. information, rclone will scan the whole remote similar to
  8603. \f[C]rclone size\f[R] and compute the total used space itself.
  8604. .PP
  8605. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  8606. filters so that the result is accurate.
  8607. However, this is very inefficient and may cost lots of API calls
  8608. resulting in extra charges.
  8609. Use it as a last resort and only with caching.
  8610. .IP
  8611. .nf
  8612. \f[C]
  8613. rclone nfsmount remote:path /path/to/mountpoint [flags]
  8614. \f[R]
  8615. .fi
  8616. .SS Options
  8617. .IP
  8618. .nf
  8619. \f[C]
  8620. --addr string IPaddress:Port or :Port to bind server to
  8621. --allow-non-empty Allow mounting over a non-empty directory (not supported on Windows)
  8622. --allow-other Allow access to other users (not supported on Windows)
  8623. --allow-root Allow access to root user (not supported on Windows)
  8624. --async-read Use asynchronous reads (not supported on Windows) (default true)
  8625. --attr-timeout Duration Time for which file/directory attributes are cached (default 1s)
  8626. --daemon Run mount in background and exit parent process (as background output is suppressed, use --log-file with --log-format=pid,... to monitor) (not supported on Windows)
  8627. --daemon-timeout Duration Time limit for rclone to respond to kernel (not supported on Windows) (default 0s)
  8628. --daemon-wait Duration Time to wait for ready mount from daemon (maximum time on Linux, constant sleep time on OSX/BSD) (not supported on Windows) (default 1m0s)
  8629. --debug-fuse Debug the FUSE internals - needs -v
  8630. --default-permissions Makes kernel enforce access control based on the file mode (not supported on Windows)
  8631. --devname string Set the device name - default is remote:path
  8632. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  8633. --dir-perms FileMode Directory permissions (default 0777)
  8634. --file-perms FileMode File permissions (default 0666)
  8635. --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required)
  8636. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  8637. -h, --help help for nfsmount
  8638. --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki)
  8639. --mount-case-insensitive Tristate Tell the OS the mount is case insensitive (true) or sensitive (false) regardless of the backend (auto) (default unset)
  8640. --network-mode Mount as remote network drive, instead of fixed disk drive (supported on Windows only)
  8641. --nfs-cache-handle-limit int max file handles cached simultaneously (min 5) (default 1000000)
  8642. --no-checksum Don\[aq]t compare checksums on up/download
  8643. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  8644. --no-seek Don\[aq]t allow seeking in files
  8645. --noappledouble Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true)
  8646. --noapplexattr Ignore all \[dq]com.apple.*\[dq] extended attributes (supported on OSX only)
  8647. -o, --option stringArray Option for libfuse/WinFsp (repeat if required)
  8648. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  8649. --read-only Only allow read-only access
  8650. --sudo Use sudo to run the mount command as root.
  8651. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  8652. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  8653. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  8654. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  8655. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  8656. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  8657. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  8658. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  8659. --vfs-case-insensitive If a file name not found, find a case insensitive match
  8660. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  8661. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  8662. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  8663. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  8664. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  8665. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  8666. --vfs-refresh Refreshes the directory cache recursively in the background on start
  8667. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  8668. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  8669. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  8670. --volname string Set the volume name (supported on Windows and OSX only)
  8671. --write-back-cache Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows)
  8672. \f[R]
  8673. .fi
  8674. .SS Filter Options
  8675. .PP
  8676. Flags for filtering directory listings.
  8677. .IP
  8678. .nf
  8679. \f[C]
  8680. --delete-excluded Delete files on dest excluded from sync
  8681. --exclude stringArray Exclude files matching pattern
  8682. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  8683. --exclude-if-present stringArray Exclude directories if filename is present
  8684. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  8685. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  8686. -f, --filter stringArray Add a file filtering rule
  8687. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  8688. --ignore-case Ignore case in filters (case insensitive)
  8689. --include stringArray Include files matching pattern
  8690. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  8691. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  8692. --max-depth int If set limits the recursion depth to this (default -1)
  8693. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  8694. --metadata-exclude stringArray Exclude metadatas matching pattern
  8695. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  8696. --metadata-filter stringArray Add a metadata filtering rule
  8697. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  8698. --metadata-include stringArray Include metadatas matching pattern
  8699. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  8700. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  8701. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  8702. \f[R]
  8703. .fi
  8704. .PP
  8705. See the global flags page (https://rclone.org/flags/) for global options
  8706. not listed here.
  8707. .SH SEE ALSO
  8708. .IP \[bu] 2
  8709. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  8710. commands, flags and backends.
  8711. .SH rclone obscure
  8712. .PP
  8713. Obscure password for use in the rclone config file.
  8714. .SS Synopsis
  8715. .PP
  8716. In the rclone config file, human-readable passwords are obscured.
  8717. Obscuring them is done by encrypting them and writing them out in
  8718. base64.
  8719. This is \f[B]not\f[R] a secure way of encrypting these passwords as
  8720. rclone can decrypt them - it is to prevent \[dq]eyedropping\[dq] -
  8721. namely someone seeing a password in the rclone config file by accident.
  8722. .PP
  8723. Many equally important things (like access tokens) are not obscured in
  8724. the config file.
  8725. However it is very hard to shoulder surf a 64 character hex token.
  8726. .PP
  8727. This command can also accept a password through STDIN instead of an
  8728. argument by passing a hyphen as an argument.
  8729. This will use the first line of STDIN as the password not including the
  8730. trailing newline.
  8731. .IP
  8732. .nf
  8733. \f[C]
  8734. echo \[dq]secretpassword\[dq] | rclone obscure -
  8735. \f[R]
  8736. .fi
  8737. .PP
  8738. If there is no data on STDIN to read, rclone obscure will default to
  8739. obfuscating the hyphen itself.
  8740. .PP
  8741. If you want to encrypt the config file then please use config file
  8742. encryption - see rclone
  8743. config (https://rclone.org/commands/rclone_config/) for more info.
  8744. .IP
  8745. .nf
  8746. \f[C]
  8747. rclone obscure password [flags]
  8748. \f[R]
  8749. .fi
  8750. .SS Options
  8751. .IP
  8752. .nf
  8753. \f[C]
  8754. -h, --help help for obscure
  8755. \f[R]
  8756. .fi
  8757. .PP
  8758. See the global flags page (https://rclone.org/flags/) for global options
  8759. not listed here.
  8760. .SH SEE ALSO
  8761. .IP \[bu] 2
  8762. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  8763. commands, flags and backends.
  8764. .SH rclone rc
  8765. .PP
  8766. Run a command against a running rclone.
  8767. .SS Synopsis
  8768. .PP
  8769. This runs a command against a running rclone.
  8770. Use the \f[C]--url\f[R] flag to specify an non default URL to connect
  8771. on.
  8772. This can be either a \[dq]:port\[dq] which is taken to mean
  8773. \[dq]http://localhost:port\[dq] or a \[dq]host:port\[dq] which is taken
  8774. to mean \[dq]http://host:port\[dq]
  8775. .PP
  8776. A username and password can be passed in with \f[C]--user\f[R] and
  8777. \f[C]--pass\f[R].
  8778. .PP
  8779. Note that \f[C]--rc-addr\f[R], \f[C]--rc-user\f[R], \f[C]--rc-pass\f[R]
  8780. will be read also for \f[C]--url\f[R], \f[C]--user\f[R],
  8781. \f[C]--pass\f[R].
  8782. .PP
  8783. Arguments should be passed in as parameter=value.
  8784. .PP
  8785. The result will be returned as a JSON object by default.
  8786. .PP
  8787. The \f[C]--json\f[R] parameter can be used to pass in a JSON blob as an
  8788. input instead of key=value arguments.
  8789. This is the only way of passing in more complicated values.
  8790. .PP
  8791. The \f[C]-o\f[R]/\f[C]--opt\f[R] option can be used to set a key
  8792. \[dq]opt\[dq] with key, value options in the form \f[C]-o key=value\f[R]
  8793. or \f[C]-o key\f[R].
  8794. It can be repeated as many times as required.
  8795. This is useful for rc commands which take the \[dq]opt\[dq] parameter
  8796. which by convention is a dictionary of strings.
  8797. .IP
  8798. .nf
  8799. \f[C]
  8800. -o key=value -o key2
  8801. \f[R]
  8802. .fi
  8803. .PP
  8804. Will place this in the \[dq]opt\[dq] value
  8805. .IP
  8806. .nf
  8807. \f[C]
  8808. {\[dq]key\[dq]:\[dq]value\[dq], \[dq]key2\[dq],\[dq]\[dq])
  8809. \f[R]
  8810. .fi
  8811. .PP
  8812. The \f[C]-a\f[R]/\f[C]--arg\f[R] option can be used to set strings in
  8813. the \[dq]arg\[dq] value.
  8814. It can be repeated as many times as required.
  8815. This is useful for rc commands which take the \[dq]arg\[dq] parameter
  8816. which by convention is a list of strings.
  8817. .IP
  8818. .nf
  8819. \f[C]
  8820. -a value -a value2
  8821. \f[R]
  8822. .fi
  8823. .PP
  8824. Will place this in the \[dq]arg\[dq] value
  8825. .IP
  8826. .nf
  8827. \f[C]
  8828. [\[dq]value\[dq], \[dq]value2\[dq]]
  8829. \f[R]
  8830. .fi
  8831. .PP
  8832. Use \f[C]--loopback\f[R] to connect to the rclone instance running
  8833. \f[C]rclone rc\f[R].
  8834. This is very useful for testing commands without having to run an rclone
  8835. rc server, e.g.:
  8836. .IP
  8837. .nf
  8838. \f[C]
  8839. rclone rc --loopback operations/about fs=/
  8840. \f[R]
  8841. .fi
  8842. .PP
  8843. Use \f[C]rclone rc\f[R] to see a list of all possible commands.
  8844. .IP
  8845. .nf
  8846. \f[C]
  8847. rclone rc commands parameter [flags]
  8848. \f[R]
  8849. .fi
  8850. .SS Options
  8851. .IP
  8852. .nf
  8853. \f[C]
  8854. -a, --arg stringArray Argument placed in the \[dq]arg\[dq] array
  8855. -h, --help help for rc
  8856. --json string Input JSON - use instead of key=value args
  8857. --loopback If set connect to this rclone instance not via HTTP
  8858. --no-output If set, don\[aq]t output the JSON result
  8859. -o, --opt stringArray Option in the form name=value or name placed in the \[dq]opt\[dq] array
  8860. --pass string Password to use to connect to rclone remote control
  8861. --url string URL to connect to rclone remote control (default \[dq]http://localhost:5572/\[dq])
  8862. --user string Username to use to rclone remote control
  8863. \f[R]
  8864. .fi
  8865. .PP
  8866. See the global flags page (https://rclone.org/flags/) for global options
  8867. not listed here.
  8868. .SH SEE ALSO
  8869. .IP \[bu] 2
  8870. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  8871. commands, flags and backends.
  8872. .SH rclone rcat
  8873. .PP
  8874. Copies standard input to file on remote.
  8875. .SS Synopsis
  8876. .PP
  8877. rclone rcat reads from standard input (stdin) and copies it to a single
  8878. remote file.
  8879. .IP
  8880. .nf
  8881. \f[C]
  8882. echo \[dq]hello world\[dq] | rclone rcat remote:path/to/file
  8883. ffmpeg - | rclone rcat remote:path/to/file
  8884. \f[R]
  8885. .fi
  8886. .PP
  8887. If the remote file already exists, it will be overwritten.
  8888. .PP
  8889. rcat will try to upload small files in a single request, which is
  8890. usually more efficient than the streaming/chunked upload endpoints,
  8891. which use multiple requests.
  8892. Exact behaviour depends on the remote.
  8893. What is considered a small file may be set through
  8894. \f[C]--streaming-upload-cutoff\f[R].
  8895. Uploading only starts after the cutoff is reached or if the file ends
  8896. before that.
  8897. The data must fit into RAM.
  8898. The cutoff needs to be small enough to adhere the limits of your remote,
  8899. please see there.
  8900. Generally speaking, setting this cutoff too high will decrease your
  8901. performance.
  8902. .PP
  8903. Use the \f[C]--size\f[R] flag to preallocate the file in advance at the
  8904. remote end and actually stream it, even if remote backend doesn\[aq]t
  8905. support streaming.
  8906. .PP
  8907. \f[C]--size\f[R] should be the exact size of the input stream in bytes.
  8908. If the size of the stream is different in length to the \f[C]--size\f[R]
  8909. passed in then the transfer will likely fail.
  8910. .PP
  8911. Note that the upload cannot be retried because the data is not stored.
  8912. If the backend supports multipart uploading then individual chunks can
  8913. be retried.
  8914. If you need to transfer a lot of data, you may be better off caching it
  8915. locally and then \f[C]rclone move\f[R] it to the destination which can
  8916. use retries.
  8917. .IP
  8918. .nf
  8919. \f[C]
  8920. rclone rcat remote:path [flags]
  8921. \f[R]
  8922. .fi
  8923. .SS Options
  8924. .IP
  8925. .nf
  8926. \f[C]
  8927. -h, --help help for rcat
  8928. --size int File size hint to preallocate (default -1)
  8929. \f[R]
  8930. .fi
  8931. .SS Important Options
  8932. .PP
  8933. Important flags useful for most commands.
  8934. .IP
  8935. .nf
  8936. \f[C]
  8937. -n, --dry-run Do a trial run with no permanent changes
  8938. -i, --interactive Enable interactive mode
  8939. -v, --verbose count Print lots more stuff (repeat for more)
  8940. \f[R]
  8941. .fi
  8942. .PP
  8943. See the global flags page (https://rclone.org/flags/) for global options
  8944. not listed here.
  8945. .SH SEE ALSO
  8946. .IP \[bu] 2
  8947. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  8948. commands, flags and backends.
  8949. .SH rclone rcd
  8950. .PP
  8951. Run rclone listening to remote control commands only.
  8952. .SS Synopsis
  8953. .PP
  8954. This runs rclone so that it only listens to remote control commands.
  8955. .PP
  8956. This is useful if you are controlling rclone via the rc API.
  8957. .PP
  8958. If you pass in a path to a directory, rclone will serve that directory
  8959. for GET requests on the URL passed in.
  8960. It will also open the URL in the browser when rclone is run.
  8961. .PP
  8962. See the rc documentation (https://rclone.org/rc/) for more info on the
  8963. rc flags.
  8964. .SS Server options
  8965. .PP
  8966. Use \f[C]--rc-addr\f[R] to specify which IP address and port the server
  8967. should listen on, eg \f[C]--rc-addr 1.2.3.4:8000\f[R] or
  8968. \f[C]--rc-addr :8080\f[R] to listen to all IPs.
  8969. By default it only listens on localhost.
  8970. You can use port :0 to let the OS choose an available port.
  8971. .PP
  8972. If you set \f[C]--rc-addr\f[R] to listen on a public or LAN accessible
  8973. IP address then using Authentication is advised - see the next section
  8974. for info.
  8975. .PP
  8976. You can use a unix socket by setting the url to
  8977. \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name.
  8978. Note that unix sockets bypass the authentication - this is expected to
  8979. be done with file system permissions.
  8980. .PP
  8981. \f[C]--rc-addr\f[R] may be repeated to listen on multiple
  8982. IPs/ports/sockets.
  8983. .PP
  8984. \f[C]--rc-server-read-timeout\f[R] and
  8985. \f[C]--rc-server-write-timeout\f[R] can be used to control the timeouts
  8986. on the server.
  8987. Note that this is the total time for a transfer.
  8988. .PP
  8989. \f[C]--rc-max-header-bytes\f[R] controls the maximum number of bytes the
  8990. server will accept in the HTTP header.
  8991. .PP
  8992. \f[C]--rc-baseurl\f[R] controls the URL prefix that rclone serves from.
  8993. By default rclone will serve from the root.
  8994. If you used \f[C]--rc-baseurl \[dq]/rclone\[dq]\f[R] then rclone would
  8995. serve from a URL starting with \[dq]/rclone/\[dq].
  8996. This is useful if you wish to proxy rclone serve.
  8997. Rclone automatically inserts leading and trailing \[dq]/\[dq] on
  8998. \f[C]--rc-baseurl\f[R], so \f[C]--rc-baseurl \[dq]rclone\[dq]\f[R],
  8999. \f[C]--rc-baseurl \[dq]/rclone\[dq]\f[R] and
  9000. \f[C]--rc-baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically.
  9001. .SS TLS (SSL)
  9002. .PP
  9003. By default this will serve over http.
  9004. If you want you can serve over https.
  9005. You will need to supply the \f[C]--rc-cert\f[R] and \f[C]--rc-key\f[R]
  9006. flags.
  9007. If you wish to do client side certificate validation then you will need
  9008. to supply \f[C]--rc-client-ca\f[R] also.
  9009. .PP
  9010. \f[C]--rc-cert\f[R] should be a either a PEM encoded certificate or a
  9011. concatenation of that with the CA certificate.
  9012. \f[C]--krc-ey\f[R] should be the PEM encoded private key and
  9013. \f[C]--rc-client-ca\f[R] should be the PEM encoded client certificate
  9014. authority certificate.
  9015. .PP
  9016. --rc-min-tls-version is minimum TLS version that is acceptable.
  9017. Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq]
  9018. and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]).
  9019. .SS Template
  9020. .PP
  9021. \f[C]--rc-template\f[R] allows a user to specify a custom markup
  9022. template for HTTP and WebDAV serve functions.
  9023. The server exports the following markup to be used within the template
  9024. to server pages:
  9025. .PP
  9026. .TS
  9027. tab(@);
  9028. lw(35.0n) lw(35.0n).
  9029. T{
  9030. Parameter
  9031. T}@T{
  9032. Description
  9033. T}
  9034. _
  9035. T{
  9036. \&.Name
  9037. T}@T{
  9038. The full path of a file/directory.
  9039. T}
  9040. T{
  9041. \&.Title
  9042. T}@T{
  9043. Directory listing of .Name
  9044. T}
  9045. T{
  9046. \&.Sort
  9047. T}@T{
  9048. The current sort used.
  9049. This is changeable via ?sort= parameter
  9050. T}
  9051. T{
  9052. T}@T{
  9053. Sort Options: namedirfirst,name,size,time (default namedirfirst)
  9054. T}
  9055. T{
  9056. \&.Order
  9057. T}@T{
  9058. The current ordering used.
  9059. This is changeable via ?order= parameter
  9060. T}
  9061. T{
  9062. T}@T{
  9063. Order Options: asc,desc (default asc)
  9064. T}
  9065. T{
  9066. \&.Query
  9067. T}@T{
  9068. Currently unused.
  9069. T}
  9070. T{
  9071. \&.Breadcrumb
  9072. T}@T{
  9073. Allows for creating a relative navigation
  9074. T}
  9075. T{
  9076. -- .Link
  9077. T}@T{
  9078. The relative to the root link of the Text.
  9079. T}
  9080. T{
  9081. -- .Text
  9082. T}@T{
  9083. The Name of the directory.
  9084. T}
  9085. T{
  9086. \&.Entries
  9087. T}@T{
  9088. Information about a specific file/directory.
  9089. T}
  9090. T{
  9091. -- .URL
  9092. T}@T{
  9093. The \[aq]url\[aq] of an entry.
  9094. T}
  9095. T{
  9096. -- .Leaf
  9097. T}@T{
  9098. Currently same as \[aq]URL\[aq] but intended to be \[aq]just\[aq] the
  9099. name.
  9100. T}
  9101. T{
  9102. -- .IsDir
  9103. T}@T{
  9104. Boolean for if an entry is a directory or not.
  9105. T}
  9106. T{
  9107. -- .Size
  9108. T}@T{
  9109. Size in Bytes of the entry.
  9110. T}
  9111. T{
  9112. -- .ModTime
  9113. T}@T{
  9114. The UTC timestamp of an entry.
  9115. T}
  9116. .TE
  9117. .PP
  9118. The server also makes the following functions available so that they can
  9119. be used within the template.
  9120. These functions help extend the options for dynamic rendering of HTML.
  9121. They can be used to render HTML based on specific conditions.
  9122. .PP
  9123. .TS
  9124. tab(@);
  9125. lw(35.0n) lw(35.0n).
  9126. T{
  9127. Function
  9128. T}@T{
  9129. Description
  9130. T}
  9131. _
  9132. T{
  9133. afterEpoch
  9134. T}@T{
  9135. Returns the time since the epoch for the given time.
  9136. T}
  9137. T{
  9138. contains
  9139. T}@T{
  9140. Checks whether a given substring is present or not in a given string.
  9141. T}
  9142. T{
  9143. hasPrefix
  9144. T}@T{
  9145. Checks whether the given string begins with the specified prefix.
  9146. T}
  9147. T{
  9148. hasSuffix
  9149. T}@T{
  9150. Checks whether the given string end with the specified suffix.
  9151. T}
  9152. .TE
  9153. .SS Authentication
  9154. .PP
  9155. By default this will serve files without needing a login.
  9156. .PP
  9157. You can either use an htpasswd file which can take lots of users, or set
  9158. a single username and password with the \f[C]--rc-user\f[R] and
  9159. \f[C]--rc-pass\f[R] flags.
  9160. .PP
  9161. If no static users are configured by either of the above methods, and
  9162. client certificates are required by the \f[C]--client-ca\f[R] flag
  9163. passed to the server, the client certificate common name will be
  9164. considered as the username.
  9165. .PP
  9166. Use \f[C]--rc-htpasswd /path/to/htpasswd\f[R] to provide an htpasswd
  9167. file.
  9168. This is in standard apache format and supports MD5, SHA1 and BCrypt for
  9169. basic authentication.
  9170. Bcrypt is recommended.
  9171. .PP
  9172. To create an htpasswd file:
  9173. .IP
  9174. .nf
  9175. \f[C]
  9176. touch htpasswd
  9177. htpasswd -B htpasswd user
  9178. htpasswd -B htpasswd anotherUser
  9179. \f[R]
  9180. .fi
  9181. .PP
  9182. The password file can be updated while rclone is running.
  9183. .PP
  9184. Use \f[C]--rc-realm\f[R] to set the authentication realm.
  9185. .PP
  9186. Use \f[C]--rc-salt\f[R] to change the password hashing salt from the
  9187. default.
  9188. .IP
  9189. .nf
  9190. \f[C]
  9191. rclone rcd <path to files to serve>* [flags]
  9192. \f[R]
  9193. .fi
  9194. .SS Options
  9195. .IP
  9196. .nf
  9197. \f[C]
  9198. -h, --help help for rcd
  9199. \f[R]
  9200. .fi
  9201. .SS RC Options
  9202. .PP
  9203. Flags to control the Remote Control API.
  9204. .IP
  9205. .nf
  9206. \f[C]
  9207. --rc Enable the remote control server
  9208. --rc-addr stringArray IPaddress:Port or :Port to bind server to (default [localhost:5572])
  9209. --rc-allow-origin string Origin which cross-domain request (CORS) can be executed from
  9210. --rc-baseurl string Prefix for URLs - leave blank for root
  9211. --rc-cert string TLS PEM key (concatenation of certificate and CA certificate)
  9212. --rc-client-ca string Client certificate authority to verify clients with
  9213. --rc-enable-metrics Enable prometheus metrics on /metrics
  9214. --rc-files string Path to local files to serve on the HTTP server
  9215. --rc-htpasswd string A htpasswd file - if not provided no authentication is done
  9216. --rc-job-expire-duration Duration Expire finished async jobs older than this value (default 1m0s)
  9217. --rc-job-expire-interval Duration Interval to check for expired async jobs (default 10s)
  9218. --rc-key string TLS PEM Private key
  9219. --rc-max-header-bytes int Maximum size of request header (default 4096)
  9220. --rc-min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq])
  9221. --rc-no-auth Don\[aq]t require auth for certain methods
  9222. --rc-pass string Password for authentication
  9223. --rc-realm string Realm for authentication
  9224. --rc-salt string Password hashing salt (default \[dq]dlPL2MqE\[dq])
  9225. --rc-serve Enable the serving of remote objects
  9226. --rc-server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  9227. --rc-server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  9228. --rc-template string User-specified template
  9229. --rc-user string User name for authentication
  9230. --rc-web-fetch-url string URL to fetch the releases for webgui (default \[dq]https://api.github.com/repos/rclone/rclone-webui-react/releases/latest\[dq])
  9231. --rc-web-gui Launch WebGUI on localhost
  9232. --rc-web-gui-force-update Force update to latest version of web gui
  9233. --rc-web-gui-no-open-browser Don\[aq]t open the browser automatically
  9234. --rc-web-gui-update Check and update to latest version of web gui
  9235. \f[R]
  9236. .fi
  9237. .PP
  9238. See the global flags page (https://rclone.org/flags/) for global options
  9239. not listed here.
  9240. .SH SEE ALSO
  9241. .IP \[bu] 2
  9242. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  9243. commands, flags and backends.
  9244. .SH rclone rmdirs
  9245. .PP
  9246. Remove empty directories under the path.
  9247. .SS Synopsis
  9248. .PP
  9249. This recursively removes any empty directories (including directories
  9250. that only contain empty directories), that it finds under the path.
  9251. The root path itself will also be removed if it is empty, unless you
  9252. supply the \f[C]--leave-root\f[R] flag.
  9253. .PP
  9254. Use command rmdir (https://rclone.org/commands/rclone_rmdir/) to delete
  9255. just the empty directory given by path, not recurse.
  9256. .PP
  9257. This is useful for tidying up remotes that rclone has left a lot of
  9258. empty directories in.
  9259. For example the delete (https://rclone.org/commands/rclone_delete/)
  9260. command will delete files but leave the directory structure (unless used
  9261. with option \f[C]--rmdirs\f[R]).
  9262. .PP
  9263. This will delete \f[C]--checkers\f[R] directories concurrently so if you
  9264. have thousands of empty directories consider increasing this number.
  9265. .PP
  9266. To delete a path and any objects in it, use the
  9267. purge (https://rclone.org/commands/rclone_purge/) command.
  9268. .IP
  9269. .nf
  9270. \f[C]
  9271. rclone rmdirs remote:path [flags]
  9272. \f[R]
  9273. .fi
  9274. .SS Options
  9275. .IP
  9276. .nf
  9277. \f[C]
  9278. -h, --help help for rmdirs
  9279. --leave-root Do not remove root directory if empty
  9280. \f[R]
  9281. .fi
  9282. .SS Important Options
  9283. .PP
  9284. Important flags useful for most commands.
  9285. .IP
  9286. .nf
  9287. \f[C]
  9288. -n, --dry-run Do a trial run with no permanent changes
  9289. -i, --interactive Enable interactive mode
  9290. -v, --verbose count Print lots more stuff (repeat for more)
  9291. \f[R]
  9292. .fi
  9293. .PP
  9294. See the global flags page (https://rclone.org/flags/) for global options
  9295. not listed here.
  9296. .SH SEE ALSO
  9297. .IP \[bu] 2
  9298. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  9299. commands, flags and backends.
  9300. .SH rclone selfupdate
  9301. .PP
  9302. Update the rclone binary.
  9303. .SS Synopsis
  9304. .PP
  9305. This command downloads the latest release of rclone and replaces the
  9306. currently running binary.
  9307. The download is verified with a hashsum and cryptographically signed
  9308. signature; see the release signing
  9309. docs (https://rclone.org/release_signing/) for details.
  9310. .PP
  9311. If used without flags (or with implied \f[C]--stable\f[R] flag), this
  9312. command will install the latest stable release.
  9313. However, some issues may be fixed (or features added) only in the latest
  9314. beta release.
  9315. In such cases you should run the command with the \f[C]--beta\f[R] flag,
  9316. i.e.
  9317. \f[C]rclone selfupdate --beta\f[R].
  9318. You can check in advance what version would be installed by adding the
  9319. \f[C]--check\f[R] flag, then repeat the command without it when you are
  9320. satisfied.
  9321. .PP
  9322. Sometimes the rclone team may recommend you a concrete beta or stable
  9323. rclone release to troubleshoot your issue or add a bleeding edge
  9324. feature.
  9325. The \f[C]--version VER\f[R] flag, if given, will update to the concrete
  9326. version instead of the latest one.
  9327. If you omit micro version from \f[C]VER\f[R] (for example
  9328. \f[C]1.53\f[R]), the latest matching micro version will be used.
  9329. .PP
  9330. Upon successful update rclone will print a message that contains a
  9331. previous version number.
  9332. You will need it if you later decide to revert your update for some
  9333. reason.
  9334. Then you\[aq]ll have to note the previous version and run the following
  9335. command: \f[C]rclone selfupdate [--beta] OLDVER\f[R].
  9336. If the old version contains only dots and digits (for example
  9337. \f[C]v1.54.0\f[R]) then it\[aq]s a stable release so you won\[aq]t need
  9338. the \f[C]--beta\f[R] flag.
  9339. Beta releases have an additional information similar to
  9340. \f[C]v1.54.0-beta.5111.06f1c0c61\f[R].
  9341. (if you are a developer and use a locally built rclone, the version
  9342. number will end with \f[C]-DEV\f[R], you will have to rebuild it as it
  9343. obviously can\[aq]t be distributed).
  9344. .PP
  9345. If you previously installed rclone via a package manager, the package
  9346. may include local documentation or configure services.
  9347. You may wish to update with the flag \f[C]--package deb\f[R] or
  9348. \f[C]--package rpm\f[R] (whichever is correct for your OS) to update
  9349. these too.
  9350. This command with the default \f[C]--package zip\f[R] will update only
  9351. the rclone executable so the local manual may become inaccurate after
  9352. it.
  9353. .PP
  9354. The rclone mount (https://rclone.org/commands/rclone_mount/) command may
  9355. or may not support extended FUSE options depending on the build and OS.
  9356. \f[C]selfupdate\f[R] will refuse to update if the capability would be
  9357. discarded.
  9358. .PP
  9359. Note: Windows forbids deletion of a currently running executable so this
  9360. command will rename the old executable to \[aq]rclone.old.exe\[aq] upon
  9361. success.
  9362. .PP
  9363. Please note that this command was not available before rclone version
  9364. 1.55.
  9365. If it fails for you with the message
  9366. \f[C]unknown command \[dq]selfupdate\[dq]\f[R] then you will need to
  9367. update manually following the install instructions located at
  9368. https://rclone.org/install/
  9369. .IP
  9370. .nf
  9371. \f[C]
  9372. rclone selfupdate [flags]
  9373. \f[R]
  9374. .fi
  9375. .SS Options
  9376. .IP
  9377. .nf
  9378. \f[C]
  9379. --beta Install beta release
  9380. --check Check for latest release, do not download
  9381. -h, --help help for selfupdate
  9382. --output string Save the downloaded binary at a given path (default: replace running binary)
  9383. --package string Package format: zip|deb|rpm (default: zip)
  9384. --stable Install stable release (this is the default)
  9385. --version string Install the given rclone version (default: latest)
  9386. \f[R]
  9387. .fi
  9388. .PP
  9389. See the global flags page (https://rclone.org/flags/) for global options
  9390. not listed here.
  9391. .SH SEE ALSO
  9392. .IP \[bu] 2
  9393. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  9394. commands, flags and backends.
  9395. .SH rclone serve
  9396. .PP
  9397. Serve a remote over a protocol.
  9398. .SS Synopsis
  9399. .PP
  9400. Serve a remote over a given protocol.
  9401. Requires the use of a subcommand to specify the protocol, e.g.
  9402. .IP
  9403. .nf
  9404. \f[C]
  9405. rclone serve http remote:
  9406. \f[R]
  9407. .fi
  9408. .PP
  9409. Each subcommand has its own options which you can see in their help.
  9410. .IP
  9411. .nf
  9412. \f[C]
  9413. rclone serve <protocol> [opts] <remote> [flags]
  9414. \f[R]
  9415. .fi
  9416. .SS Options
  9417. .IP
  9418. .nf
  9419. \f[C]
  9420. -h, --help help for serve
  9421. \f[R]
  9422. .fi
  9423. .PP
  9424. See the global flags page (https://rclone.org/flags/) for global options
  9425. not listed here.
  9426. .SH SEE ALSO
  9427. .IP \[bu] 2
  9428. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  9429. commands, flags and backends.
  9430. .IP \[bu] 2
  9431. rclone serve dlna (https://rclone.org/commands/rclone_serve_dlna/) -
  9432. Serve remote:path over DLNA
  9433. .IP \[bu] 2
  9434. rclone serve docker (https://rclone.org/commands/rclone_serve_docker/) -
  9435. Serve any remote on docker\[aq]s volume plugin API.
  9436. .IP \[bu] 2
  9437. rclone serve ftp (https://rclone.org/commands/rclone_serve_ftp/) - Serve
  9438. remote:path over FTP.
  9439. .IP \[bu] 2
  9440. rclone serve http (https://rclone.org/commands/rclone_serve_http/) -
  9441. Serve the remote over HTTP.
  9442. .IP \[bu] 2
  9443. rclone serve nfs (https://rclone.org/commands/rclone_serve_nfs/) - Serve
  9444. the remote as an NFS mount
  9445. .IP \[bu] 2
  9446. rclone serve restic (https://rclone.org/commands/rclone_serve_restic/) -
  9447. Serve the remote for restic\[aq]s REST API.
  9448. .IP \[bu] 2
  9449. rclone serve s3 (https://rclone.org/commands/rclone_serve_s3/) - Serve
  9450. remote:path over s3.
  9451. .IP \[bu] 2
  9452. rclone serve sftp (https://rclone.org/commands/rclone_serve_sftp/) -
  9453. Serve the remote over SFTP.
  9454. .IP \[bu] 2
  9455. rclone serve webdav (https://rclone.org/commands/rclone_serve_webdav/) -
  9456. Serve remote:path over WebDAV.
  9457. .SH rclone serve dlna
  9458. .PP
  9459. Serve remote:path over DLNA
  9460. .SS Synopsis
  9461. .PP
  9462. Run a DLNA media server for media stored in an rclone remote.
  9463. Many devices, such as the Xbox and PlayStation, can automatically
  9464. discover this server in the LAN and play audio/video from it.
  9465. VLC is also supported.
  9466. Service discovery uses UDP multicast packets (SSDP) and will thus only
  9467. work on LANs.
  9468. .PP
  9469. Rclone will list all files present in the remote, without filtering
  9470. based on media formats or file extensions.
  9471. Additionally, there is no media transcoding support.
  9472. This means that some players might show files that they are not able to
  9473. play back correctly.
  9474. .SS Server options
  9475. .PP
  9476. Use \f[C]--addr\f[R] to specify which IP address and port the server
  9477. should listen on, e.g.
  9478. \f[C]--addr 1.2.3.4:8000\f[R] or \f[C]--addr :8080\f[R] to listen to all
  9479. IPs.
  9480. .PP
  9481. Use \f[C]--name\f[R] to choose the friendly server name, which is by
  9482. default \[dq]rclone (hostname)\[dq].
  9483. .PP
  9484. Use \f[C]--log-trace\f[R] in conjunction with \f[C]-vv\f[R] to enable
  9485. additional debug logging of all UPNP traffic.
  9486. ## VFS - Virtual File System
  9487. .PP
  9488. This command uses the VFS layer.
  9489. This adapts the cloud storage objects that rclone uses into something
  9490. which looks much more like a disk filing system.
  9491. .PP
  9492. Cloud storage objects have lots of properties which aren\[aq]t like disk
  9493. files - you can\[aq]t extend them or write to the middle of them, so the
  9494. VFS layer has to deal with that.
  9495. Because there is no one right way of doing this there are various
  9496. options explained below.
  9497. .PP
  9498. The VFS layer also implements a directory cache - this caches info about
  9499. files and directories (but not the data) in memory.
  9500. .SS VFS Directory Cache
  9501. .PP
  9502. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  9503. directory should be considered up to date and not refreshed from the
  9504. backend.
  9505. Changes made through the VFS will appear immediately or invalidate the
  9506. cache.
  9507. .IP
  9508. .nf
  9509. \f[C]
  9510. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  9511. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  9512. \f[R]
  9513. .fi
  9514. .PP
  9515. However, changes made directly on the cloud storage by the web interface
  9516. or a different copy of rclone will only be picked up once the directory
  9517. cache expires if the backend configured does not support polling for
  9518. changes.
  9519. If the backend supports polling, changes will be picked up within the
  9520. polling interval.
  9521. .PP
  9522. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  9523. directory caches, regardless of how old they are.
  9524. Assuming only one rclone instance is running, you can reset the cache
  9525. like this:
  9526. .IP
  9527. .nf
  9528. \f[C]
  9529. kill -SIGHUP $(pidof rclone)
  9530. \f[R]
  9531. .fi
  9532. .PP
  9533. If you configure rclone with a remote control then you can use rclone rc
  9534. to flush the whole directory cache:
  9535. .IP
  9536. .nf
  9537. \f[C]
  9538. rclone rc vfs/forget
  9539. \f[R]
  9540. .fi
  9541. .PP
  9542. Or individual files or directories:
  9543. .IP
  9544. .nf
  9545. \f[C]
  9546. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  9547. \f[R]
  9548. .fi
  9549. .SS VFS File Buffering
  9550. .PP
  9551. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  9552. will be used to buffer data in advance.
  9553. .PP
  9554. Each open file will try to keep the specified amount of data in memory
  9555. at all times.
  9556. The buffered data is bound to one open file and won\[aq]t be shared.
  9557. .PP
  9558. This flag is a upper limit for the used memory per open file.
  9559. The buffer will only use memory for data that is downloaded but not not
  9560. yet read.
  9561. If the buffer is empty, only a small amount of memory will be used.
  9562. .PP
  9563. The maximum memory used by rclone for buffering can be up to
  9564. \f[C]--buffer-size * open files\f[R].
  9565. .SS VFS File Caching
  9566. .PP
  9567. These flags control the VFS file caching options.
  9568. File caching is necessary to make the VFS layer appear compatible with a
  9569. normal file system.
  9570. It can be disabled at the cost of some compatibility.
  9571. .PP
  9572. For example you\[aq]ll need to enable VFS caching if you want to read
  9573. and write simultaneously to a file.
  9574. See below for more details.
  9575. .PP
  9576. Note that the VFS cache is separate from the cache backend and you may
  9577. find that you need one or the other or both.
  9578. .IP
  9579. .nf
  9580. \f[C]
  9581. --cache-dir string Directory rclone will use for caching.
  9582. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  9583. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  9584. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  9585. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  9586. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  9587. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  9588. \f[R]
  9589. .fi
  9590. .PP
  9591. If run with \f[C]-vv\f[R] rclone will print the location of the file
  9592. cache.
  9593. The files are stored in the user cache file area which is OS dependent
  9594. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  9595. appropriate environment variable.
  9596. .PP
  9597. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  9598. The higher the cache mode the more compatible rclone becomes at the cost
  9599. of using disk space.
  9600. .PP
  9601. Note that files are written back to the remote only when they are closed
  9602. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  9603. seconds.
  9604. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  9605. these will be uploaded next time rclone is run with the same flags.
  9606. .PP
  9607. If using \f[C]--vfs-cache-max-size\f[R] or
  9608. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  9609. quotas for two reasons.
  9610. Firstly because it is only checked every
  9611. \f[C]--vfs-cache-poll-interval\f[R].
  9612. Secondly because open files cannot be evicted from the cache.
  9613. When \f[C]--vfs-cache-max-size\f[R] or
  9614. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  9615. evict the least accessed files from the cache first.
  9616. rclone will start with files that haven\[aq]t been accessed for the
  9617. longest.
  9618. This cache flushing strategy is efficient and more relevant files are
  9619. likely to remain cached.
  9620. .PP
  9621. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  9622. the set time since last access has passed.
  9623. The default value of 1 hour will start evicting files from cache that
  9624. haven\[aq]t been accessed for 1 hour.
  9625. When a cached file is accessed the 1 hour timer is reset to 0 and will
  9626. wait for 1 more hour before evicting.
  9627. Specify the time with standard notation, s, m, h, d, w .
  9628. .PP
  9629. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  9630. cache with the same or overlapping remotes if using
  9631. \f[C]--vfs-cache-mode > off\f[R].
  9632. This can potentially cause data corruption if you do.
  9633. You can work around this by giving each rclone its own cache hierarchy
  9634. with \f[C]--cache-dir\f[R].
  9635. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  9636. overlap.
  9637. .SS --vfs-cache-mode off
  9638. .PP
  9639. In this mode (the default) the cache will read directly from the remote
  9640. and write directly to the remote without caching anything on disk.
  9641. .PP
  9642. This will mean some operations are not possible
  9643. .IP \[bu] 2
  9644. Files can\[aq]t be opened for both read AND write
  9645. .IP \[bu] 2
  9646. Files opened for write can\[aq]t be seeked
  9647. .IP \[bu] 2
  9648. Existing files opened for write must have O_TRUNC set
  9649. .IP \[bu] 2
  9650. Files open for read with O_TRUNC will be opened write only
  9651. .IP \[bu] 2
  9652. Files open for write only will behave as if O_TRUNC was supplied
  9653. .IP \[bu] 2
  9654. Open modes O_APPEND, O_TRUNC are ignored
  9655. .IP \[bu] 2
  9656. If an upload fails it can\[aq]t be retried
  9657. .SS --vfs-cache-mode minimal
  9658. .PP
  9659. This is very similar to \[dq]off\[dq] except that files opened for read
  9660. AND write will be buffered to disk.
  9661. This means that files opened for write will be a lot more compatible,
  9662. but uses the minimal disk space.
  9663. .PP
  9664. These operations are not possible
  9665. .IP \[bu] 2
  9666. Files opened for write only can\[aq]t be seeked
  9667. .IP \[bu] 2
  9668. Existing files opened for write must have O_TRUNC set
  9669. .IP \[bu] 2
  9670. Files opened for write only will ignore O_APPEND, O_TRUNC
  9671. .IP \[bu] 2
  9672. If an upload fails it can\[aq]t be retried
  9673. .SS --vfs-cache-mode writes
  9674. .PP
  9675. In this mode files opened for read only are still read directly from the
  9676. remote, write only and read/write files are buffered to disk first.
  9677. .PP
  9678. This mode should support all normal file system operations.
  9679. .PP
  9680. If an upload fails it will be retried at exponentially increasing
  9681. intervals up to 1 minute.
  9682. .SS --vfs-cache-mode full
  9683. .PP
  9684. In this mode all reads and writes are buffered to and from disk.
  9685. When data is read from the remote this is buffered to disk as well.
  9686. .PP
  9687. In this mode the files in the cache will be sparse files and rclone will
  9688. keep track of which bits of the files it has downloaded.
  9689. .PP
  9690. So if an application only reads the starts of each file, then rclone
  9691. will only buffer the start of the file.
  9692. These files will appear to be their full size in the cache, but they
  9693. will be sparse files with only the data that has been downloaded present
  9694. in them.
  9695. .PP
  9696. This mode should support all normal file system operations and is
  9697. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  9698. .PP
  9699. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  9700. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  9701. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  9702. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  9703. .PP
  9704. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  9705. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  9706. required.
  9707. .PP
  9708. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  9709. In particular FAT/exFAT do not.
  9710. Rclone will perform very badly if the cache directory is on a filesystem
  9711. which doesn\[aq]t support sparse files and it will log an ERROR message
  9712. if one is detected.
  9713. .SS Fingerprinting
  9714. .PP
  9715. Various parts of the VFS use fingerprinting to see if a local file copy
  9716. has changed relative to a remote file.
  9717. Fingerprints are made from:
  9718. .IP \[bu] 2
  9719. size
  9720. .IP \[bu] 2
  9721. modification time
  9722. .IP \[bu] 2
  9723. hash
  9724. .PP
  9725. where available on an object.
  9726. .PP
  9727. On some backends some of these attributes are slow to read (they take an
  9728. extra API call per object, or extra work per object).
  9729. .PP
  9730. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  9731. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  9732. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  9733. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  9734. they need to do an extra API call to fetch it.
  9735. .PP
  9736. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  9737. not include the slow operations in the fingerprint.
  9738. This makes the fingerprinting less accurate but much faster and will
  9739. improve the opening time of cached files.
  9740. .PP
  9741. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  9742. \f[C]swift\f[R] backends then using this flag is recommended.
  9743. .PP
  9744. Note that if you change the value of this flag, the fingerprints of the
  9745. files in the cache may be invalidated and the files will need to be
  9746. downloaded again.
  9747. .SS VFS Chunked Reading
  9748. .PP
  9749. When rclone reads files from a remote it reads them in chunks.
  9750. This means that rather than requesting the whole file rclone reads the
  9751. chunk specified.
  9752. This can reduce the used download quota for some remotes by requesting
  9753. only chunks from the remote that are actually read, at the cost of an
  9754. increased number of requests.
  9755. .PP
  9756. These flags control the chunking:
  9757. .IP
  9758. .nf
  9759. \f[C]
  9760. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  9761. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  9762. \f[R]
  9763. .fi
  9764. .PP
  9765. Rclone will start reading a chunk of size
  9766. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  9767. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  9768. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  9769. will get doubled only until the specified value is reached.
  9770. If the value is \[dq]off\[dq], which is the default, the limit is
  9771. disabled and the chunk size will grow indefinitely.
  9772. .PP
  9773. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  9774. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  9775. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  9776. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  9777. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  9778. on.
  9779. .PP
  9780. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  9781. disables chunked reading.
  9782. .SS VFS Performance
  9783. .PP
  9784. These flags may be used to enable/disable features of the VFS for
  9785. performance or other reasons.
  9786. See also the chunked reading feature.
  9787. .PP
  9788. In particular S3 and Swift benefit hugely from the
  9789. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  9790. slightly different effect) as each read of the modification time takes a
  9791. transaction.
  9792. .IP
  9793. .nf
  9794. \f[C]
  9795. --no-checksum Don\[aq]t compare checksums on up/download.
  9796. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  9797. --no-seek Don\[aq]t allow seeking in files.
  9798. --read-only Only allow read-only access.
  9799. \f[R]
  9800. .fi
  9801. .PP
  9802. Sometimes rclone is delivered reads or writes out of order.
  9803. Rather than seeking rclone will wait a short time for the in sequence
  9804. read or write to come in.
  9805. These flags only come into effect when not using an on disk cache file.
  9806. .IP
  9807. .nf
  9808. \f[C]
  9809. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  9810. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  9811. \f[R]
  9812. .fi
  9813. .PP
  9814. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  9815. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  9816. adjust the number of parallel uploads of modified files from the cache
  9817. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  9818. .IP
  9819. .nf
  9820. \f[C]
  9821. --transfers int Number of file transfers to run in parallel (default 4)
  9822. \f[R]
  9823. .fi
  9824. .SS VFS Case Sensitivity
  9825. .PP
  9826. Linux file systems are case-sensitive: two files can differ only by
  9827. case, and the exact case must be used when opening a file.
  9828. .PP
  9829. File systems in modern Windows are case-insensitive but case-preserving:
  9830. although existing files can be opened using any case, the exact case
  9831. used to create the file is preserved and available for programs to
  9832. query.
  9833. It is not allowed for two files in the same directory to differ only by
  9834. case.
  9835. .PP
  9836. Usually file systems on macOS are case-insensitive.
  9837. It is possible to make macOS file systems case-sensitive but that is not
  9838. the default.
  9839. .PP
  9840. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  9841. handles these two cases.
  9842. If its value is \[dq]false\[dq], rclone passes file names to the remote
  9843. as-is.
  9844. If the flag is \[dq]true\[dq] (or appears without a value on the command
  9845. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  9846. .PP
  9847. The user may specify a file name to open/delete/rename/etc with a case
  9848. different than what is stored on the remote.
  9849. If an argument refers to an existing file with exactly the same name,
  9850. then the case of the existing file on the disk will be used.
  9851. However, if a file name with exactly the same name is not found but a
  9852. name differing only by case exists, rclone will transparently fixup the
  9853. name.
  9854. This fixup happens only when an existing file is requested.
  9855. Case sensitivity of file names created anew by rclone is controlled by
  9856. the underlying remote.
  9857. .PP
  9858. Note that case sensitivity of the operating system running rclone (the
  9859. target) may differ from case sensitivity of a file system presented by
  9860. rclone (the source).
  9861. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  9862. target.
  9863. .PP
  9864. If the flag is not provided on the command line, then its default value
  9865. depends on the operating system where rclone runs: \[dq]true\[dq] on
  9866. Windows and macOS, \[dq]false\[dq] otherwise.
  9867. If the flag is provided without a value, then it is \[dq]true\[dq].
  9868. .PP
  9869. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  9870. \[dq]fixup\[dq] is performed for filenames that differ but are
  9871. canonically
  9872. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  9873. respect to unicode.
  9874. Unicode normalization can be particularly helpful for users of macOS,
  9875. which prefers form NFD instead of the NFC used by most other platforms.
  9876. It is therefore highly recommended to keep the default of
  9877. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  9878. .PP
  9879. In the (probably unlikely) event that a directory has multiple duplicate
  9880. filenames after applying case and unicode normalization, the
  9881. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  9882. This comes with a performance tradeoff, as rclone will have to scan the
  9883. entire directory for duplicates when listing a directory.
  9884. For this reason, it is recommended to leave this disabled if not needed.
  9885. However, macOS users may wish to consider using it, as otherwise, if a
  9886. remote directory contains both NFC and NFD versions of the same
  9887. filename, an odd situation will occur: both versions of the file will be
  9888. visible in the mount, and both will appear to be editable, however,
  9889. editing either version will actually result in only the NFD version
  9890. getting edited under the hood.
  9891. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  9892. this scenario, hiding the duplicates, and logging an error, similar to
  9893. how this is handled in \f[C]rclone sync\f[R].
  9894. .SS VFS Disk Options
  9895. .PP
  9896. This flag allows you to manually set the statistics about the filing
  9897. system.
  9898. It can be useful when those statistics cannot be read correctly
  9899. automatically.
  9900. .IP
  9901. .nf
  9902. \f[C]
  9903. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  9904. \f[R]
  9905. .fi
  9906. .SS Alternate report of used bytes
  9907. .PP
  9908. Some backends, most notably S3, do not report the amount of bytes used.
  9909. If you need this information to be available when running \f[C]df\f[R]
  9910. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  9911. rclone.
  9912. With this flag set, instead of relying on the backend to report this
  9913. information, rclone will scan the whole remote similar to
  9914. \f[C]rclone size\f[R] and compute the total used space itself.
  9915. .PP
  9916. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  9917. filters so that the result is accurate.
  9918. However, this is very inefficient and may cost lots of API calls
  9919. resulting in extra charges.
  9920. Use it as a last resort and only with caching.
  9921. .IP
  9922. .nf
  9923. \f[C]
  9924. rclone serve dlna remote:path [flags]
  9925. \f[R]
  9926. .fi
  9927. .SS Options
  9928. .IP
  9929. .nf
  9930. \f[C]
  9931. --addr string The ip:port or :port to bind the DLNA http server to (default \[dq]:7879\[dq])
  9932. --announce-interval Duration The interval between SSDP announcements (default 12m0s)
  9933. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  9934. --dir-perms FileMode Directory permissions (default 0777)
  9935. --file-perms FileMode File permissions (default 0666)
  9936. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  9937. -h, --help help for dlna
  9938. --interface stringArray The interface to use for SSDP (repeat as necessary)
  9939. --log-trace Enable trace logging of SOAP traffic
  9940. --name string Name of DLNA server
  9941. --no-checksum Don\[aq]t compare checksums on up/download
  9942. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  9943. --no-seek Don\[aq]t allow seeking in files
  9944. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  9945. --read-only Only allow read-only access
  9946. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  9947. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  9948. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  9949. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  9950. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  9951. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  9952. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  9953. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  9954. --vfs-case-insensitive If a file name not found, find a case insensitive match
  9955. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  9956. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  9957. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  9958. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  9959. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  9960. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  9961. --vfs-refresh Refreshes the directory cache recursively in the background on start
  9962. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  9963. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  9964. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  9965. \f[R]
  9966. .fi
  9967. .SS Filter Options
  9968. .PP
  9969. Flags for filtering directory listings.
  9970. .IP
  9971. .nf
  9972. \f[C]
  9973. --delete-excluded Delete files on dest excluded from sync
  9974. --exclude stringArray Exclude files matching pattern
  9975. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  9976. --exclude-if-present stringArray Exclude directories if filename is present
  9977. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  9978. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  9979. -f, --filter stringArray Add a file filtering rule
  9980. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  9981. --ignore-case Ignore case in filters (case insensitive)
  9982. --include stringArray Include files matching pattern
  9983. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  9984. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  9985. --max-depth int If set limits the recursion depth to this (default -1)
  9986. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  9987. --metadata-exclude stringArray Exclude metadatas matching pattern
  9988. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  9989. --metadata-filter stringArray Add a metadata filtering rule
  9990. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  9991. --metadata-include stringArray Include metadatas matching pattern
  9992. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  9993. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  9994. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  9995. \f[R]
  9996. .fi
  9997. .PP
  9998. See the global flags page (https://rclone.org/flags/) for global options
  9999. not listed here.
  10000. .SH SEE ALSO
  10001. .IP \[bu] 2
  10002. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  10003. remote over a protocol.
  10004. .SH rclone serve docker
  10005. .PP
  10006. Serve any remote on docker\[aq]s volume plugin API.
  10007. .SS Synopsis
  10008. .PP
  10009. This command implements the Docker volume plugin API allowing docker to
  10010. use rclone as a data storage mechanism for various cloud providers.
  10011. rclone provides docker volume plugin based on it.
  10012. .PP
  10013. To create a docker plugin, one must create a Unix or TCP socket that
  10014. Docker will look for when you use the plugin and then it listens for
  10015. commands from docker daemon and runs the corresponding code when
  10016. necessary.
  10017. Docker plugins can run as a managed plugin under control of the docker
  10018. daemon or as an independent native service.
  10019. For testing, you can just run it directly from the command line, for
  10020. example:
  10021. .IP
  10022. .nf
  10023. \f[C]
  10024. sudo rclone serve docker --base-dir /tmp/rclone-volumes --socket-addr localhost:8787 -vv
  10025. \f[R]
  10026. .fi
  10027. .PP
  10028. Running \f[C]rclone serve docker\f[R] will create the said socket,
  10029. listening for commands from Docker to create the necessary Volumes.
  10030. Normally you need not give the \f[C]--socket-addr\f[R] flag.
  10031. The API will listen on the unix domain socket at
  10032. \f[C]/run/docker/plugins/rclone.sock\f[R].
  10033. In the example above rclone will create a TCP socket and a small file
  10034. \f[C]/etc/docker/plugins/rclone.spec\f[R] containing the socket address.
  10035. We use \f[C]sudo\f[R] because both paths are writeable only by the root
  10036. user.
  10037. .PP
  10038. If you later decide to change listening socket, the docker daemon must
  10039. be restarted to reconnect to \f[C]/run/docker/plugins/rclone.sock\f[R]
  10040. or parse new \f[C]/etc/docker/plugins/rclone.spec\f[R].
  10041. Until you restart, any volume related docker commands will timeout
  10042. trying to access the old socket.
  10043. Running directly is supported on \f[B]Linux only\f[R], not on Windows or
  10044. MacOS.
  10045. This is not a problem with managed plugin mode described in details in
  10046. the full documentation (https://rclone.org/docker).
  10047. .PP
  10048. The command will create volume mounts under the path given by
  10049. \f[C]--base-dir\f[R] (by default
  10050. \f[C]/var/lib/docker-volumes/rclone\f[R] available only to root) and
  10051. maintain the JSON formatted file \f[C]docker-plugin.state\f[R] in the
  10052. rclone cache directory with book-keeping records of created and mounted
  10053. volumes.
  10054. .PP
  10055. All mount and VFS options are submitted by the docker daemon via API,
  10056. but you can also provide defaults on the command line as well as set
  10057. path to the config file and cache directory or adjust logging verbosity.
  10058. ## VFS - Virtual File System
  10059. .PP
  10060. This command uses the VFS layer.
  10061. This adapts the cloud storage objects that rclone uses into something
  10062. which looks much more like a disk filing system.
  10063. .PP
  10064. Cloud storage objects have lots of properties which aren\[aq]t like disk
  10065. files - you can\[aq]t extend them or write to the middle of them, so the
  10066. VFS layer has to deal with that.
  10067. Because there is no one right way of doing this there are various
  10068. options explained below.
  10069. .PP
  10070. The VFS layer also implements a directory cache - this caches info about
  10071. files and directories (but not the data) in memory.
  10072. .SS VFS Directory Cache
  10073. .PP
  10074. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  10075. directory should be considered up to date and not refreshed from the
  10076. backend.
  10077. Changes made through the VFS will appear immediately or invalidate the
  10078. cache.
  10079. .IP
  10080. .nf
  10081. \f[C]
  10082. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  10083. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  10084. \f[R]
  10085. .fi
  10086. .PP
  10087. However, changes made directly on the cloud storage by the web interface
  10088. or a different copy of rclone will only be picked up once the directory
  10089. cache expires if the backend configured does not support polling for
  10090. changes.
  10091. If the backend supports polling, changes will be picked up within the
  10092. polling interval.
  10093. .PP
  10094. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  10095. directory caches, regardless of how old they are.
  10096. Assuming only one rclone instance is running, you can reset the cache
  10097. like this:
  10098. .IP
  10099. .nf
  10100. \f[C]
  10101. kill -SIGHUP $(pidof rclone)
  10102. \f[R]
  10103. .fi
  10104. .PP
  10105. If you configure rclone with a remote control then you can use rclone rc
  10106. to flush the whole directory cache:
  10107. .IP
  10108. .nf
  10109. \f[C]
  10110. rclone rc vfs/forget
  10111. \f[R]
  10112. .fi
  10113. .PP
  10114. Or individual files or directories:
  10115. .IP
  10116. .nf
  10117. \f[C]
  10118. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  10119. \f[R]
  10120. .fi
  10121. .SS VFS File Buffering
  10122. .PP
  10123. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  10124. will be used to buffer data in advance.
  10125. .PP
  10126. Each open file will try to keep the specified amount of data in memory
  10127. at all times.
  10128. The buffered data is bound to one open file and won\[aq]t be shared.
  10129. .PP
  10130. This flag is a upper limit for the used memory per open file.
  10131. The buffer will only use memory for data that is downloaded but not not
  10132. yet read.
  10133. If the buffer is empty, only a small amount of memory will be used.
  10134. .PP
  10135. The maximum memory used by rclone for buffering can be up to
  10136. \f[C]--buffer-size * open files\f[R].
  10137. .SS VFS File Caching
  10138. .PP
  10139. These flags control the VFS file caching options.
  10140. File caching is necessary to make the VFS layer appear compatible with a
  10141. normal file system.
  10142. It can be disabled at the cost of some compatibility.
  10143. .PP
  10144. For example you\[aq]ll need to enable VFS caching if you want to read
  10145. and write simultaneously to a file.
  10146. See below for more details.
  10147. .PP
  10148. Note that the VFS cache is separate from the cache backend and you may
  10149. find that you need one or the other or both.
  10150. .IP
  10151. .nf
  10152. \f[C]
  10153. --cache-dir string Directory rclone will use for caching.
  10154. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  10155. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  10156. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  10157. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  10158. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  10159. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  10160. \f[R]
  10161. .fi
  10162. .PP
  10163. If run with \f[C]-vv\f[R] rclone will print the location of the file
  10164. cache.
  10165. The files are stored in the user cache file area which is OS dependent
  10166. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  10167. appropriate environment variable.
  10168. .PP
  10169. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  10170. The higher the cache mode the more compatible rclone becomes at the cost
  10171. of using disk space.
  10172. .PP
  10173. Note that files are written back to the remote only when they are closed
  10174. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  10175. seconds.
  10176. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  10177. these will be uploaded next time rclone is run with the same flags.
  10178. .PP
  10179. If using \f[C]--vfs-cache-max-size\f[R] or
  10180. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  10181. quotas for two reasons.
  10182. Firstly because it is only checked every
  10183. \f[C]--vfs-cache-poll-interval\f[R].
  10184. Secondly because open files cannot be evicted from the cache.
  10185. When \f[C]--vfs-cache-max-size\f[R] or
  10186. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  10187. evict the least accessed files from the cache first.
  10188. rclone will start with files that haven\[aq]t been accessed for the
  10189. longest.
  10190. This cache flushing strategy is efficient and more relevant files are
  10191. likely to remain cached.
  10192. .PP
  10193. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  10194. the set time since last access has passed.
  10195. The default value of 1 hour will start evicting files from cache that
  10196. haven\[aq]t been accessed for 1 hour.
  10197. When a cached file is accessed the 1 hour timer is reset to 0 and will
  10198. wait for 1 more hour before evicting.
  10199. Specify the time with standard notation, s, m, h, d, w .
  10200. .PP
  10201. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  10202. cache with the same or overlapping remotes if using
  10203. \f[C]--vfs-cache-mode > off\f[R].
  10204. This can potentially cause data corruption if you do.
  10205. You can work around this by giving each rclone its own cache hierarchy
  10206. with \f[C]--cache-dir\f[R].
  10207. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  10208. overlap.
  10209. .SS --vfs-cache-mode off
  10210. .PP
  10211. In this mode (the default) the cache will read directly from the remote
  10212. and write directly to the remote without caching anything on disk.
  10213. .PP
  10214. This will mean some operations are not possible
  10215. .IP \[bu] 2
  10216. Files can\[aq]t be opened for both read AND write
  10217. .IP \[bu] 2
  10218. Files opened for write can\[aq]t be seeked
  10219. .IP \[bu] 2
  10220. Existing files opened for write must have O_TRUNC set
  10221. .IP \[bu] 2
  10222. Files open for read with O_TRUNC will be opened write only
  10223. .IP \[bu] 2
  10224. Files open for write only will behave as if O_TRUNC was supplied
  10225. .IP \[bu] 2
  10226. Open modes O_APPEND, O_TRUNC are ignored
  10227. .IP \[bu] 2
  10228. If an upload fails it can\[aq]t be retried
  10229. .SS --vfs-cache-mode minimal
  10230. .PP
  10231. This is very similar to \[dq]off\[dq] except that files opened for read
  10232. AND write will be buffered to disk.
  10233. This means that files opened for write will be a lot more compatible,
  10234. but uses the minimal disk space.
  10235. .PP
  10236. These operations are not possible
  10237. .IP \[bu] 2
  10238. Files opened for write only can\[aq]t be seeked
  10239. .IP \[bu] 2
  10240. Existing files opened for write must have O_TRUNC set
  10241. .IP \[bu] 2
  10242. Files opened for write only will ignore O_APPEND, O_TRUNC
  10243. .IP \[bu] 2
  10244. If an upload fails it can\[aq]t be retried
  10245. .SS --vfs-cache-mode writes
  10246. .PP
  10247. In this mode files opened for read only are still read directly from the
  10248. remote, write only and read/write files are buffered to disk first.
  10249. .PP
  10250. This mode should support all normal file system operations.
  10251. .PP
  10252. If an upload fails it will be retried at exponentially increasing
  10253. intervals up to 1 minute.
  10254. .SS --vfs-cache-mode full
  10255. .PP
  10256. In this mode all reads and writes are buffered to and from disk.
  10257. When data is read from the remote this is buffered to disk as well.
  10258. .PP
  10259. In this mode the files in the cache will be sparse files and rclone will
  10260. keep track of which bits of the files it has downloaded.
  10261. .PP
  10262. So if an application only reads the starts of each file, then rclone
  10263. will only buffer the start of the file.
  10264. These files will appear to be their full size in the cache, but they
  10265. will be sparse files with only the data that has been downloaded present
  10266. in them.
  10267. .PP
  10268. This mode should support all normal file system operations and is
  10269. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  10270. .PP
  10271. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  10272. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  10273. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  10274. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  10275. .PP
  10276. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  10277. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  10278. required.
  10279. .PP
  10280. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  10281. In particular FAT/exFAT do not.
  10282. Rclone will perform very badly if the cache directory is on a filesystem
  10283. which doesn\[aq]t support sparse files and it will log an ERROR message
  10284. if one is detected.
  10285. .SS Fingerprinting
  10286. .PP
  10287. Various parts of the VFS use fingerprinting to see if a local file copy
  10288. has changed relative to a remote file.
  10289. Fingerprints are made from:
  10290. .IP \[bu] 2
  10291. size
  10292. .IP \[bu] 2
  10293. modification time
  10294. .IP \[bu] 2
  10295. hash
  10296. .PP
  10297. where available on an object.
  10298. .PP
  10299. On some backends some of these attributes are slow to read (they take an
  10300. extra API call per object, or extra work per object).
  10301. .PP
  10302. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  10303. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  10304. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  10305. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  10306. they need to do an extra API call to fetch it.
  10307. .PP
  10308. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  10309. not include the slow operations in the fingerprint.
  10310. This makes the fingerprinting less accurate but much faster and will
  10311. improve the opening time of cached files.
  10312. .PP
  10313. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  10314. \f[C]swift\f[R] backends then using this flag is recommended.
  10315. .PP
  10316. Note that if you change the value of this flag, the fingerprints of the
  10317. files in the cache may be invalidated and the files will need to be
  10318. downloaded again.
  10319. .SS VFS Chunked Reading
  10320. .PP
  10321. When rclone reads files from a remote it reads them in chunks.
  10322. This means that rather than requesting the whole file rclone reads the
  10323. chunk specified.
  10324. This can reduce the used download quota for some remotes by requesting
  10325. only chunks from the remote that are actually read, at the cost of an
  10326. increased number of requests.
  10327. .PP
  10328. These flags control the chunking:
  10329. .IP
  10330. .nf
  10331. \f[C]
  10332. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  10333. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  10334. \f[R]
  10335. .fi
  10336. .PP
  10337. Rclone will start reading a chunk of size
  10338. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  10339. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  10340. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  10341. will get doubled only until the specified value is reached.
  10342. If the value is \[dq]off\[dq], which is the default, the limit is
  10343. disabled and the chunk size will grow indefinitely.
  10344. .PP
  10345. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  10346. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  10347. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  10348. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  10349. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  10350. on.
  10351. .PP
  10352. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  10353. disables chunked reading.
  10354. .SS VFS Performance
  10355. .PP
  10356. These flags may be used to enable/disable features of the VFS for
  10357. performance or other reasons.
  10358. See also the chunked reading feature.
  10359. .PP
  10360. In particular S3 and Swift benefit hugely from the
  10361. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  10362. slightly different effect) as each read of the modification time takes a
  10363. transaction.
  10364. .IP
  10365. .nf
  10366. \f[C]
  10367. --no-checksum Don\[aq]t compare checksums on up/download.
  10368. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  10369. --no-seek Don\[aq]t allow seeking in files.
  10370. --read-only Only allow read-only access.
  10371. \f[R]
  10372. .fi
  10373. .PP
  10374. Sometimes rclone is delivered reads or writes out of order.
  10375. Rather than seeking rclone will wait a short time for the in sequence
  10376. read or write to come in.
  10377. These flags only come into effect when not using an on disk cache file.
  10378. .IP
  10379. .nf
  10380. \f[C]
  10381. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  10382. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  10383. \f[R]
  10384. .fi
  10385. .PP
  10386. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  10387. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  10388. adjust the number of parallel uploads of modified files from the cache
  10389. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  10390. .IP
  10391. .nf
  10392. \f[C]
  10393. --transfers int Number of file transfers to run in parallel (default 4)
  10394. \f[R]
  10395. .fi
  10396. .SS VFS Case Sensitivity
  10397. .PP
  10398. Linux file systems are case-sensitive: two files can differ only by
  10399. case, and the exact case must be used when opening a file.
  10400. .PP
  10401. File systems in modern Windows are case-insensitive but case-preserving:
  10402. although existing files can be opened using any case, the exact case
  10403. used to create the file is preserved and available for programs to
  10404. query.
  10405. It is not allowed for two files in the same directory to differ only by
  10406. case.
  10407. .PP
  10408. Usually file systems on macOS are case-insensitive.
  10409. It is possible to make macOS file systems case-sensitive but that is not
  10410. the default.
  10411. .PP
  10412. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  10413. handles these two cases.
  10414. If its value is \[dq]false\[dq], rclone passes file names to the remote
  10415. as-is.
  10416. If the flag is \[dq]true\[dq] (or appears without a value on the command
  10417. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  10418. .PP
  10419. The user may specify a file name to open/delete/rename/etc with a case
  10420. different than what is stored on the remote.
  10421. If an argument refers to an existing file with exactly the same name,
  10422. then the case of the existing file on the disk will be used.
  10423. However, if a file name with exactly the same name is not found but a
  10424. name differing only by case exists, rclone will transparently fixup the
  10425. name.
  10426. This fixup happens only when an existing file is requested.
  10427. Case sensitivity of file names created anew by rclone is controlled by
  10428. the underlying remote.
  10429. .PP
  10430. Note that case sensitivity of the operating system running rclone (the
  10431. target) may differ from case sensitivity of a file system presented by
  10432. rclone (the source).
  10433. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  10434. target.
  10435. .PP
  10436. If the flag is not provided on the command line, then its default value
  10437. depends on the operating system where rclone runs: \[dq]true\[dq] on
  10438. Windows and macOS, \[dq]false\[dq] otherwise.
  10439. If the flag is provided without a value, then it is \[dq]true\[dq].
  10440. .PP
  10441. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  10442. \[dq]fixup\[dq] is performed for filenames that differ but are
  10443. canonically
  10444. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  10445. respect to unicode.
  10446. Unicode normalization can be particularly helpful for users of macOS,
  10447. which prefers form NFD instead of the NFC used by most other platforms.
  10448. It is therefore highly recommended to keep the default of
  10449. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  10450. .PP
  10451. In the (probably unlikely) event that a directory has multiple duplicate
  10452. filenames after applying case and unicode normalization, the
  10453. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  10454. This comes with a performance tradeoff, as rclone will have to scan the
  10455. entire directory for duplicates when listing a directory.
  10456. For this reason, it is recommended to leave this disabled if not needed.
  10457. However, macOS users may wish to consider using it, as otherwise, if a
  10458. remote directory contains both NFC and NFD versions of the same
  10459. filename, an odd situation will occur: both versions of the file will be
  10460. visible in the mount, and both will appear to be editable, however,
  10461. editing either version will actually result in only the NFD version
  10462. getting edited under the hood.
  10463. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  10464. this scenario, hiding the duplicates, and logging an error, similar to
  10465. how this is handled in \f[C]rclone sync\f[R].
  10466. .SS VFS Disk Options
  10467. .PP
  10468. This flag allows you to manually set the statistics about the filing
  10469. system.
  10470. It can be useful when those statistics cannot be read correctly
  10471. automatically.
  10472. .IP
  10473. .nf
  10474. \f[C]
  10475. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  10476. \f[R]
  10477. .fi
  10478. .SS Alternate report of used bytes
  10479. .PP
  10480. Some backends, most notably S3, do not report the amount of bytes used.
  10481. If you need this information to be available when running \f[C]df\f[R]
  10482. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  10483. rclone.
  10484. With this flag set, instead of relying on the backend to report this
  10485. information, rclone will scan the whole remote similar to
  10486. \f[C]rclone size\f[R] and compute the total used space itself.
  10487. .PP
  10488. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  10489. filters so that the result is accurate.
  10490. However, this is very inefficient and may cost lots of API calls
  10491. resulting in extra charges.
  10492. Use it as a last resort and only with caching.
  10493. .IP
  10494. .nf
  10495. \f[C]
  10496. rclone serve docker [flags]
  10497. \f[R]
  10498. .fi
  10499. .SS Options
  10500. .IP
  10501. .nf
  10502. \f[C]
  10503. --allow-non-empty Allow mounting over a non-empty directory (not supported on Windows)
  10504. --allow-other Allow access to other users (not supported on Windows)
  10505. --allow-root Allow access to root user (not supported on Windows)
  10506. --async-read Use asynchronous reads (not supported on Windows) (default true)
  10507. --attr-timeout Duration Time for which file/directory attributes are cached (default 1s)
  10508. --base-dir string Base directory for volumes (default \[dq]/var/lib/docker-volumes/rclone\[dq])
  10509. --daemon Run mount in background and exit parent process (as background output is suppressed, use --log-file with --log-format=pid,... to monitor) (not supported on Windows)
  10510. --daemon-timeout Duration Time limit for rclone to respond to kernel (not supported on Windows) (default 0s)
  10511. --daemon-wait Duration Time to wait for ready mount from daemon (maximum time on Linux, constant sleep time on OSX/BSD) (not supported on Windows) (default 1m0s)
  10512. --debug-fuse Debug the FUSE internals - needs -v
  10513. --default-permissions Makes kernel enforce access control based on the file mode (not supported on Windows)
  10514. --devname string Set the device name - default is remote:path
  10515. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  10516. --dir-perms FileMode Directory permissions (default 0777)
  10517. --file-perms FileMode File permissions (default 0666)
  10518. --forget-state Skip restoring previous state
  10519. --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required)
  10520. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  10521. -h, --help help for docker
  10522. --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki)
  10523. --mount-case-insensitive Tristate Tell the OS the mount is case insensitive (true) or sensitive (false) regardless of the backend (auto) (default unset)
  10524. --network-mode Mount as remote network drive, instead of fixed disk drive (supported on Windows only)
  10525. --no-checksum Don\[aq]t compare checksums on up/download
  10526. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  10527. --no-seek Don\[aq]t allow seeking in files
  10528. --no-spec Do not write spec file
  10529. --noappledouble Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true)
  10530. --noapplexattr Ignore all \[dq]com.apple.*\[dq] extended attributes (supported on OSX only)
  10531. -o, --option stringArray Option for libfuse/WinFsp (repeat if required)
  10532. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  10533. --read-only Only allow read-only access
  10534. --socket-addr string Address <host:port> or absolute path (default: /run/docker/plugins/rclone.sock)
  10535. --socket-gid int GID for unix socket (default: current process GID) (default 1000)
  10536. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  10537. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  10538. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  10539. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  10540. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  10541. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  10542. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  10543. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  10544. --vfs-case-insensitive If a file name not found, find a case insensitive match
  10545. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  10546. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  10547. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  10548. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  10549. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  10550. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  10551. --vfs-refresh Refreshes the directory cache recursively in the background on start
  10552. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  10553. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  10554. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  10555. --volname string Set the volume name (supported on Windows and OSX only)
  10556. --write-back-cache Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows)
  10557. \f[R]
  10558. .fi
  10559. .SS Filter Options
  10560. .PP
  10561. Flags for filtering directory listings.
  10562. .IP
  10563. .nf
  10564. \f[C]
  10565. --delete-excluded Delete files on dest excluded from sync
  10566. --exclude stringArray Exclude files matching pattern
  10567. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  10568. --exclude-if-present stringArray Exclude directories if filename is present
  10569. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  10570. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  10571. -f, --filter stringArray Add a file filtering rule
  10572. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  10573. --ignore-case Ignore case in filters (case insensitive)
  10574. --include stringArray Include files matching pattern
  10575. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  10576. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  10577. --max-depth int If set limits the recursion depth to this (default -1)
  10578. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  10579. --metadata-exclude stringArray Exclude metadatas matching pattern
  10580. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  10581. --metadata-filter stringArray Add a metadata filtering rule
  10582. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  10583. --metadata-include stringArray Include metadatas matching pattern
  10584. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  10585. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  10586. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  10587. \f[R]
  10588. .fi
  10589. .PP
  10590. See the global flags page (https://rclone.org/flags/) for global options
  10591. not listed here.
  10592. .SH SEE ALSO
  10593. .IP \[bu] 2
  10594. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  10595. remote over a protocol.
  10596. .SH rclone serve ftp
  10597. .PP
  10598. Serve remote:path over FTP.
  10599. .SS Synopsis
  10600. .PP
  10601. Run a basic FTP server to serve a remote over FTP protocol.
  10602. This can be viewed with a FTP client or you can make a remote of type
  10603. FTP to read and write it.
  10604. .SS Server options
  10605. .PP
  10606. Use --addr to specify which IP address and port the server should listen
  10607. on, e.g.
  10608. --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
  10609. By default it only listens on localhost.
  10610. You can use port :0 to let the OS choose an available port.
  10611. .PP
  10612. If you set --addr to listen on a public or LAN accessible IP address
  10613. then using Authentication is advised - see the next section for info.
  10614. .SS Authentication
  10615. .PP
  10616. By default this will serve files without needing a login.
  10617. .PP
  10618. You can set a single username and password with the --user and --pass
  10619. flags.
  10620. ## VFS - Virtual File System
  10621. .PP
  10622. This command uses the VFS layer.
  10623. This adapts the cloud storage objects that rclone uses into something
  10624. which looks much more like a disk filing system.
  10625. .PP
  10626. Cloud storage objects have lots of properties which aren\[aq]t like disk
  10627. files - you can\[aq]t extend them or write to the middle of them, so the
  10628. VFS layer has to deal with that.
  10629. Because there is no one right way of doing this there are various
  10630. options explained below.
  10631. .PP
  10632. The VFS layer also implements a directory cache - this caches info about
  10633. files and directories (but not the data) in memory.
  10634. .SS VFS Directory Cache
  10635. .PP
  10636. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  10637. directory should be considered up to date and not refreshed from the
  10638. backend.
  10639. Changes made through the VFS will appear immediately or invalidate the
  10640. cache.
  10641. .IP
  10642. .nf
  10643. \f[C]
  10644. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  10645. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  10646. \f[R]
  10647. .fi
  10648. .PP
  10649. However, changes made directly on the cloud storage by the web interface
  10650. or a different copy of rclone will only be picked up once the directory
  10651. cache expires if the backend configured does not support polling for
  10652. changes.
  10653. If the backend supports polling, changes will be picked up within the
  10654. polling interval.
  10655. .PP
  10656. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  10657. directory caches, regardless of how old they are.
  10658. Assuming only one rclone instance is running, you can reset the cache
  10659. like this:
  10660. .IP
  10661. .nf
  10662. \f[C]
  10663. kill -SIGHUP $(pidof rclone)
  10664. \f[R]
  10665. .fi
  10666. .PP
  10667. If you configure rclone with a remote control then you can use rclone rc
  10668. to flush the whole directory cache:
  10669. .IP
  10670. .nf
  10671. \f[C]
  10672. rclone rc vfs/forget
  10673. \f[R]
  10674. .fi
  10675. .PP
  10676. Or individual files or directories:
  10677. .IP
  10678. .nf
  10679. \f[C]
  10680. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  10681. \f[R]
  10682. .fi
  10683. .SS VFS File Buffering
  10684. .PP
  10685. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  10686. will be used to buffer data in advance.
  10687. .PP
  10688. Each open file will try to keep the specified amount of data in memory
  10689. at all times.
  10690. The buffered data is bound to one open file and won\[aq]t be shared.
  10691. .PP
  10692. This flag is a upper limit for the used memory per open file.
  10693. The buffer will only use memory for data that is downloaded but not not
  10694. yet read.
  10695. If the buffer is empty, only a small amount of memory will be used.
  10696. .PP
  10697. The maximum memory used by rclone for buffering can be up to
  10698. \f[C]--buffer-size * open files\f[R].
  10699. .SS VFS File Caching
  10700. .PP
  10701. These flags control the VFS file caching options.
  10702. File caching is necessary to make the VFS layer appear compatible with a
  10703. normal file system.
  10704. It can be disabled at the cost of some compatibility.
  10705. .PP
  10706. For example you\[aq]ll need to enable VFS caching if you want to read
  10707. and write simultaneously to a file.
  10708. See below for more details.
  10709. .PP
  10710. Note that the VFS cache is separate from the cache backend and you may
  10711. find that you need one or the other or both.
  10712. .IP
  10713. .nf
  10714. \f[C]
  10715. --cache-dir string Directory rclone will use for caching.
  10716. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  10717. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  10718. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  10719. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  10720. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  10721. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  10722. \f[R]
  10723. .fi
  10724. .PP
  10725. If run with \f[C]-vv\f[R] rclone will print the location of the file
  10726. cache.
  10727. The files are stored in the user cache file area which is OS dependent
  10728. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  10729. appropriate environment variable.
  10730. .PP
  10731. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  10732. The higher the cache mode the more compatible rclone becomes at the cost
  10733. of using disk space.
  10734. .PP
  10735. Note that files are written back to the remote only when they are closed
  10736. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  10737. seconds.
  10738. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  10739. these will be uploaded next time rclone is run with the same flags.
  10740. .PP
  10741. If using \f[C]--vfs-cache-max-size\f[R] or
  10742. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  10743. quotas for two reasons.
  10744. Firstly because it is only checked every
  10745. \f[C]--vfs-cache-poll-interval\f[R].
  10746. Secondly because open files cannot be evicted from the cache.
  10747. When \f[C]--vfs-cache-max-size\f[R] or
  10748. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  10749. evict the least accessed files from the cache first.
  10750. rclone will start with files that haven\[aq]t been accessed for the
  10751. longest.
  10752. This cache flushing strategy is efficient and more relevant files are
  10753. likely to remain cached.
  10754. .PP
  10755. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  10756. the set time since last access has passed.
  10757. The default value of 1 hour will start evicting files from cache that
  10758. haven\[aq]t been accessed for 1 hour.
  10759. When a cached file is accessed the 1 hour timer is reset to 0 and will
  10760. wait for 1 more hour before evicting.
  10761. Specify the time with standard notation, s, m, h, d, w .
  10762. .PP
  10763. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  10764. cache with the same or overlapping remotes if using
  10765. \f[C]--vfs-cache-mode > off\f[R].
  10766. This can potentially cause data corruption if you do.
  10767. You can work around this by giving each rclone its own cache hierarchy
  10768. with \f[C]--cache-dir\f[R].
  10769. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  10770. overlap.
  10771. .SS --vfs-cache-mode off
  10772. .PP
  10773. In this mode (the default) the cache will read directly from the remote
  10774. and write directly to the remote without caching anything on disk.
  10775. .PP
  10776. This will mean some operations are not possible
  10777. .IP \[bu] 2
  10778. Files can\[aq]t be opened for both read AND write
  10779. .IP \[bu] 2
  10780. Files opened for write can\[aq]t be seeked
  10781. .IP \[bu] 2
  10782. Existing files opened for write must have O_TRUNC set
  10783. .IP \[bu] 2
  10784. Files open for read with O_TRUNC will be opened write only
  10785. .IP \[bu] 2
  10786. Files open for write only will behave as if O_TRUNC was supplied
  10787. .IP \[bu] 2
  10788. Open modes O_APPEND, O_TRUNC are ignored
  10789. .IP \[bu] 2
  10790. If an upload fails it can\[aq]t be retried
  10791. .SS --vfs-cache-mode minimal
  10792. .PP
  10793. This is very similar to \[dq]off\[dq] except that files opened for read
  10794. AND write will be buffered to disk.
  10795. This means that files opened for write will be a lot more compatible,
  10796. but uses the minimal disk space.
  10797. .PP
  10798. These operations are not possible
  10799. .IP \[bu] 2
  10800. Files opened for write only can\[aq]t be seeked
  10801. .IP \[bu] 2
  10802. Existing files opened for write must have O_TRUNC set
  10803. .IP \[bu] 2
  10804. Files opened for write only will ignore O_APPEND, O_TRUNC
  10805. .IP \[bu] 2
  10806. If an upload fails it can\[aq]t be retried
  10807. .SS --vfs-cache-mode writes
  10808. .PP
  10809. In this mode files opened for read only are still read directly from the
  10810. remote, write only and read/write files are buffered to disk first.
  10811. .PP
  10812. This mode should support all normal file system operations.
  10813. .PP
  10814. If an upload fails it will be retried at exponentially increasing
  10815. intervals up to 1 minute.
  10816. .SS --vfs-cache-mode full
  10817. .PP
  10818. In this mode all reads and writes are buffered to and from disk.
  10819. When data is read from the remote this is buffered to disk as well.
  10820. .PP
  10821. In this mode the files in the cache will be sparse files and rclone will
  10822. keep track of which bits of the files it has downloaded.
  10823. .PP
  10824. So if an application only reads the starts of each file, then rclone
  10825. will only buffer the start of the file.
  10826. These files will appear to be their full size in the cache, but they
  10827. will be sparse files with only the data that has been downloaded present
  10828. in them.
  10829. .PP
  10830. This mode should support all normal file system operations and is
  10831. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  10832. .PP
  10833. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  10834. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  10835. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  10836. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  10837. .PP
  10838. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  10839. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  10840. required.
  10841. .PP
  10842. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  10843. In particular FAT/exFAT do not.
  10844. Rclone will perform very badly if the cache directory is on a filesystem
  10845. which doesn\[aq]t support sparse files and it will log an ERROR message
  10846. if one is detected.
  10847. .SS Fingerprinting
  10848. .PP
  10849. Various parts of the VFS use fingerprinting to see if a local file copy
  10850. has changed relative to a remote file.
  10851. Fingerprints are made from:
  10852. .IP \[bu] 2
  10853. size
  10854. .IP \[bu] 2
  10855. modification time
  10856. .IP \[bu] 2
  10857. hash
  10858. .PP
  10859. where available on an object.
  10860. .PP
  10861. On some backends some of these attributes are slow to read (they take an
  10862. extra API call per object, or extra work per object).
  10863. .PP
  10864. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  10865. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  10866. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  10867. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  10868. they need to do an extra API call to fetch it.
  10869. .PP
  10870. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  10871. not include the slow operations in the fingerprint.
  10872. This makes the fingerprinting less accurate but much faster and will
  10873. improve the opening time of cached files.
  10874. .PP
  10875. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  10876. \f[C]swift\f[R] backends then using this flag is recommended.
  10877. .PP
  10878. Note that if you change the value of this flag, the fingerprints of the
  10879. files in the cache may be invalidated and the files will need to be
  10880. downloaded again.
  10881. .SS VFS Chunked Reading
  10882. .PP
  10883. When rclone reads files from a remote it reads them in chunks.
  10884. This means that rather than requesting the whole file rclone reads the
  10885. chunk specified.
  10886. This can reduce the used download quota for some remotes by requesting
  10887. only chunks from the remote that are actually read, at the cost of an
  10888. increased number of requests.
  10889. .PP
  10890. These flags control the chunking:
  10891. .IP
  10892. .nf
  10893. \f[C]
  10894. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  10895. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  10896. \f[R]
  10897. .fi
  10898. .PP
  10899. Rclone will start reading a chunk of size
  10900. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  10901. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  10902. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  10903. will get doubled only until the specified value is reached.
  10904. If the value is \[dq]off\[dq], which is the default, the limit is
  10905. disabled and the chunk size will grow indefinitely.
  10906. .PP
  10907. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  10908. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  10909. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  10910. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  10911. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  10912. on.
  10913. .PP
  10914. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  10915. disables chunked reading.
  10916. .SS VFS Performance
  10917. .PP
  10918. These flags may be used to enable/disable features of the VFS for
  10919. performance or other reasons.
  10920. See also the chunked reading feature.
  10921. .PP
  10922. In particular S3 and Swift benefit hugely from the
  10923. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  10924. slightly different effect) as each read of the modification time takes a
  10925. transaction.
  10926. .IP
  10927. .nf
  10928. \f[C]
  10929. --no-checksum Don\[aq]t compare checksums on up/download.
  10930. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  10931. --no-seek Don\[aq]t allow seeking in files.
  10932. --read-only Only allow read-only access.
  10933. \f[R]
  10934. .fi
  10935. .PP
  10936. Sometimes rclone is delivered reads or writes out of order.
  10937. Rather than seeking rclone will wait a short time for the in sequence
  10938. read or write to come in.
  10939. These flags only come into effect when not using an on disk cache file.
  10940. .IP
  10941. .nf
  10942. \f[C]
  10943. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  10944. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  10945. \f[R]
  10946. .fi
  10947. .PP
  10948. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  10949. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  10950. adjust the number of parallel uploads of modified files from the cache
  10951. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  10952. .IP
  10953. .nf
  10954. \f[C]
  10955. --transfers int Number of file transfers to run in parallel (default 4)
  10956. \f[R]
  10957. .fi
  10958. .SS VFS Case Sensitivity
  10959. .PP
  10960. Linux file systems are case-sensitive: two files can differ only by
  10961. case, and the exact case must be used when opening a file.
  10962. .PP
  10963. File systems in modern Windows are case-insensitive but case-preserving:
  10964. although existing files can be opened using any case, the exact case
  10965. used to create the file is preserved and available for programs to
  10966. query.
  10967. It is not allowed for two files in the same directory to differ only by
  10968. case.
  10969. .PP
  10970. Usually file systems on macOS are case-insensitive.
  10971. It is possible to make macOS file systems case-sensitive but that is not
  10972. the default.
  10973. .PP
  10974. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  10975. handles these two cases.
  10976. If its value is \[dq]false\[dq], rclone passes file names to the remote
  10977. as-is.
  10978. If the flag is \[dq]true\[dq] (or appears without a value on the command
  10979. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  10980. .PP
  10981. The user may specify a file name to open/delete/rename/etc with a case
  10982. different than what is stored on the remote.
  10983. If an argument refers to an existing file with exactly the same name,
  10984. then the case of the existing file on the disk will be used.
  10985. However, if a file name with exactly the same name is not found but a
  10986. name differing only by case exists, rclone will transparently fixup the
  10987. name.
  10988. This fixup happens only when an existing file is requested.
  10989. Case sensitivity of file names created anew by rclone is controlled by
  10990. the underlying remote.
  10991. .PP
  10992. Note that case sensitivity of the operating system running rclone (the
  10993. target) may differ from case sensitivity of a file system presented by
  10994. rclone (the source).
  10995. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  10996. target.
  10997. .PP
  10998. If the flag is not provided on the command line, then its default value
  10999. depends on the operating system where rclone runs: \[dq]true\[dq] on
  11000. Windows and macOS, \[dq]false\[dq] otherwise.
  11001. If the flag is provided without a value, then it is \[dq]true\[dq].
  11002. .PP
  11003. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  11004. \[dq]fixup\[dq] is performed for filenames that differ but are
  11005. canonically
  11006. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  11007. respect to unicode.
  11008. Unicode normalization can be particularly helpful for users of macOS,
  11009. which prefers form NFD instead of the NFC used by most other platforms.
  11010. It is therefore highly recommended to keep the default of
  11011. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  11012. .PP
  11013. In the (probably unlikely) event that a directory has multiple duplicate
  11014. filenames after applying case and unicode normalization, the
  11015. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  11016. This comes with a performance tradeoff, as rclone will have to scan the
  11017. entire directory for duplicates when listing a directory.
  11018. For this reason, it is recommended to leave this disabled if not needed.
  11019. However, macOS users may wish to consider using it, as otherwise, if a
  11020. remote directory contains both NFC and NFD versions of the same
  11021. filename, an odd situation will occur: both versions of the file will be
  11022. visible in the mount, and both will appear to be editable, however,
  11023. editing either version will actually result in only the NFD version
  11024. getting edited under the hood.
  11025. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  11026. this scenario, hiding the duplicates, and logging an error, similar to
  11027. how this is handled in \f[C]rclone sync\f[R].
  11028. .SS VFS Disk Options
  11029. .PP
  11030. This flag allows you to manually set the statistics about the filing
  11031. system.
  11032. It can be useful when those statistics cannot be read correctly
  11033. automatically.
  11034. .IP
  11035. .nf
  11036. \f[C]
  11037. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  11038. \f[R]
  11039. .fi
  11040. .SS Alternate report of used bytes
  11041. .PP
  11042. Some backends, most notably S3, do not report the amount of bytes used.
  11043. If you need this information to be available when running \f[C]df\f[R]
  11044. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  11045. rclone.
  11046. With this flag set, instead of relying on the backend to report this
  11047. information, rclone will scan the whole remote similar to
  11048. \f[C]rclone size\f[R] and compute the total used space itself.
  11049. .PP
  11050. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  11051. filters so that the result is accurate.
  11052. However, this is very inefficient and may cost lots of API calls
  11053. resulting in extra charges.
  11054. Use it as a last resort and only with caching.
  11055. .SS Auth Proxy
  11056. .PP
  11057. If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then
  11058. rclone will use that program to generate backends on the fly which then
  11059. are used to authenticate incoming requests.
  11060. This uses a simple JSON based protocol with input on STDIN and output on
  11061. STDOUT.
  11062. .PP
  11063. \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and
  11064. \f[C]--authorized-keys\f[R] cannot be used together, if
  11065. \f[C]--auth-proxy\f[R] is set the authorized keys option will be
  11066. ignored.
  11067. .PP
  11068. There is an example program
  11069. bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py)
  11070. in the rclone source code.
  11071. .PP
  11072. The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on
  11073. the input and turn those into the config for a backend on STDOUT in JSON
  11074. format.
  11075. This config will have any default parameters for the backend added, but
  11076. it won\[aq]t use configuration from environment variables or command
  11077. line options - it is the job of the proxy program to make a complete
  11078. config.
  11079. .PP
  11080. This config generated must have this extra parameter - \f[C]_root\f[R] -
  11081. root to use for the backend
  11082. .PP
  11083. And it may have this parameter - \f[C]_obscure\f[R] - comma separated
  11084. strings for parameters to obscure
  11085. .PP
  11086. If password authentication was used by the client, input to the proxy
  11087. process (on STDIN) would look similar to this:
  11088. .IP
  11089. .nf
  11090. \f[C]
  11091. {
  11092. \[dq]user\[dq]: \[dq]me\[dq],
  11093. \[dq]pass\[dq]: \[dq]mypassword\[dq]
  11094. }
  11095. \f[R]
  11096. .fi
  11097. .PP
  11098. If public-key authentication was used by the client, input to the proxy
  11099. process (on STDIN) would look similar to this:
  11100. .IP
  11101. .nf
  11102. \f[C]
  11103. {
  11104. \[dq]user\[dq]: \[dq]me\[dq],
  11105. \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq]
  11106. }
  11107. \f[R]
  11108. .fi
  11109. .PP
  11110. And as an example return this on STDOUT
  11111. .IP
  11112. .nf
  11113. \f[C]
  11114. {
  11115. \[dq]type\[dq]: \[dq]sftp\[dq],
  11116. \[dq]_root\[dq]: \[dq]\[dq],
  11117. \[dq]_obscure\[dq]: \[dq]pass\[dq],
  11118. \[dq]user\[dq]: \[dq]me\[dq],
  11119. \[dq]pass\[dq]: \[dq]mypassword\[dq],
  11120. \[dq]host\[dq]: \[dq]sftp.example.com\[dq]
  11121. }
  11122. \f[R]
  11123. .fi
  11124. .PP
  11125. This would mean that an SFTP backend would be created on the fly for the
  11126. \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the
  11127. output to the host given.
  11128. Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will
  11129. obscure the \f[C]pass\f[R] parameter before creating the backend (which
  11130. is required for sftp backends).
  11131. .PP
  11132. The program can manipulate the supplied \f[C]user\f[R] in any way, for
  11133. example to make proxy to many different sftp backends, you could make
  11134. the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the
  11135. \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to
  11136. \f[C]user\f[R].
  11137. For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a
  11138. limited list.
  11139. .PP
  11140. Note that an internal cache is keyed on \f[C]user\f[R] so only use that
  11141. for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R].
  11142. This also means that if a user\[aq]s password or public-key is changed
  11143. the cache will need to expire (which takes 5 mins) before it takes
  11144. effect.
  11145. .PP
  11146. This can be used to build general purpose proxies to any kind of backend
  11147. that rclone supports.
  11148. .IP
  11149. .nf
  11150. \f[C]
  11151. rclone serve ftp remote:path [flags]
  11152. \f[R]
  11153. .fi
  11154. .SS Options
  11155. .IP
  11156. .nf
  11157. \f[C]
  11158. --addr string IPaddress:Port or :Port to bind server to (default \[dq]localhost:2121\[dq])
  11159. --auth-proxy string A program to use to create the backend from the auth
  11160. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  11161. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  11162. --dir-perms FileMode Directory permissions (default 0777)
  11163. --file-perms FileMode File permissions (default 0666)
  11164. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  11165. -h, --help help for ftp
  11166. --key string TLS PEM Private key
  11167. --no-checksum Don\[aq]t compare checksums on up/download
  11168. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  11169. --no-seek Don\[aq]t allow seeking in files
  11170. --pass string Password for authentication (empty value allow every password)
  11171. --passive-port string Passive port range to use (default \[dq]30000-32000\[dq])
  11172. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  11173. --public-ip string Public IP address to advertise for passive connections
  11174. --read-only Only allow read-only access
  11175. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  11176. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  11177. --user string User name for authentication (default \[dq]anonymous\[dq])
  11178. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  11179. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  11180. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  11181. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  11182. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  11183. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  11184. --vfs-case-insensitive If a file name not found, find a case insensitive match
  11185. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  11186. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  11187. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  11188. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  11189. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  11190. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  11191. --vfs-refresh Refreshes the directory cache recursively in the background on start
  11192. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  11193. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  11194. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  11195. \f[R]
  11196. .fi
  11197. .SS Filter Options
  11198. .PP
  11199. Flags for filtering directory listings.
  11200. .IP
  11201. .nf
  11202. \f[C]
  11203. --delete-excluded Delete files on dest excluded from sync
  11204. --exclude stringArray Exclude files matching pattern
  11205. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  11206. --exclude-if-present stringArray Exclude directories if filename is present
  11207. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  11208. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  11209. -f, --filter stringArray Add a file filtering rule
  11210. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  11211. --ignore-case Ignore case in filters (case insensitive)
  11212. --include stringArray Include files matching pattern
  11213. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  11214. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  11215. --max-depth int If set limits the recursion depth to this (default -1)
  11216. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  11217. --metadata-exclude stringArray Exclude metadatas matching pattern
  11218. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  11219. --metadata-filter stringArray Add a metadata filtering rule
  11220. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  11221. --metadata-include stringArray Include metadatas matching pattern
  11222. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  11223. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  11224. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  11225. \f[R]
  11226. .fi
  11227. .PP
  11228. See the global flags page (https://rclone.org/flags/) for global options
  11229. not listed here.
  11230. .SH SEE ALSO
  11231. .IP \[bu] 2
  11232. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  11233. remote over a protocol.
  11234. .SH rclone serve http
  11235. .PP
  11236. Serve the remote over HTTP.
  11237. .SS Synopsis
  11238. .PP
  11239. Run a basic web server to serve a remote over HTTP.
  11240. This can be viewed in a web browser or you can make a remote of type
  11241. http read from it.
  11242. .PP
  11243. You can use the filter flags (e.g.
  11244. \f[C]--include\f[R], \f[C]--exclude\f[R]) to control what is served.
  11245. .PP
  11246. The server will log errors.
  11247. Use \f[C]-v\f[R] to see access logs.
  11248. .PP
  11249. \f[C]--bwlimit\f[R] will be respected for file transfers.
  11250. Use \f[C]--stats\f[R] to control the stats printing.
  11251. .SS Server options
  11252. .PP
  11253. Use \f[C]--addr\f[R] to specify which IP address and port the server
  11254. should listen on, eg \f[C]--addr 1.2.3.4:8000\f[R] or
  11255. \f[C]--addr :8080\f[R] to listen to all IPs.
  11256. By default it only listens on localhost.
  11257. You can use port :0 to let the OS choose an available port.
  11258. .PP
  11259. If you set \f[C]--addr\f[R] to listen on a public or LAN accessible IP
  11260. address then using Authentication is advised - see the next section for
  11261. info.
  11262. .PP
  11263. You can use a unix socket by setting the url to
  11264. \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name.
  11265. Note that unix sockets bypass the authentication - this is expected to
  11266. be done with file system permissions.
  11267. .PP
  11268. \f[C]--addr\f[R] may be repeated to listen on multiple
  11269. IPs/ports/sockets.
  11270. .PP
  11271. \f[C]--server-read-timeout\f[R] and \f[C]--server-write-timeout\f[R] can
  11272. be used to control the timeouts on the server.
  11273. Note that this is the total time for a transfer.
  11274. .PP
  11275. \f[C]--max-header-bytes\f[R] controls the maximum number of bytes the
  11276. server will accept in the HTTP header.
  11277. .PP
  11278. \f[C]--baseurl\f[R] controls the URL prefix that rclone serves from.
  11279. By default rclone will serve from the root.
  11280. If you used \f[C]--baseurl \[dq]/rclone\[dq]\f[R] then rclone would
  11281. serve from a URL starting with \[dq]/rclone/\[dq].
  11282. This is useful if you wish to proxy rclone serve.
  11283. Rclone automatically inserts leading and trailing \[dq]/\[dq] on
  11284. \f[C]--baseurl\f[R], so \f[C]--baseurl \[dq]rclone\[dq]\f[R],
  11285. \f[C]--baseurl \[dq]/rclone\[dq]\f[R] and
  11286. \f[C]--baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically.
  11287. .SS TLS (SSL)
  11288. .PP
  11289. By default this will serve over http.
  11290. If you want you can serve over https.
  11291. You will need to supply the \f[C]--cert\f[R] and \f[C]--key\f[R] flags.
  11292. If you wish to do client side certificate validation then you will need
  11293. to supply \f[C]--client-ca\f[R] also.
  11294. .PP
  11295. \f[C]--cert\f[R] should be a either a PEM encoded certificate or a
  11296. concatenation of that with the CA certificate.
  11297. \f[C]--key\f[R] should be the PEM encoded private key and
  11298. \f[C]--client-ca\f[R] should be the PEM encoded client certificate
  11299. authority certificate.
  11300. .PP
  11301. --min-tls-version is minimum TLS version that is acceptable.
  11302. Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq]
  11303. and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]).
  11304. .SS Template
  11305. .PP
  11306. \f[C]--template\f[R] allows a user to specify a custom markup template
  11307. for HTTP and WebDAV serve functions.
  11308. The server exports the following markup to be used within the template
  11309. to server pages:
  11310. .PP
  11311. .TS
  11312. tab(@);
  11313. lw(35.0n) lw(35.0n).
  11314. T{
  11315. Parameter
  11316. T}@T{
  11317. Description
  11318. T}
  11319. _
  11320. T{
  11321. \&.Name
  11322. T}@T{
  11323. The full path of a file/directory.
  11324. T}
  11325. T{
  11326. \&.Title
  11327. T}@T{
  11328. Directory listing of .Name
  11329. T}
  11330. T{
  11331. \&.Sort
  11332. T}@T{
  11333. The current sort used.
  11334. This is changeable via ?sort= parameter
  11335. T}
  11336. T{
  11337. T}@T{
  11338. Sort Options: namedirfirst,name,size,time (default namedirfirst)
  11339. T}
  11340. T{
  11341. \&.Order
  11342. T}@T{
  11343. The current ordering used.
  11344. This is changeable via ?order= parameter
  11345. T}
  11346. T{
  11347. T}@T{
  11348. Order Options: asc,desc (default asc)
  11349. T}
  11350. T{
  11351. \&.Query
  11352. T}@T{
  11353. Currently unused.
  11354. T}
  11355. T{
  11356. \&.Breadcrumb
  11357. T}@T{
  11358. Allows for creating a relative navigation
  11359. T}
  11360. T{
  11361. -- .Link
  11362. T}@T{
  11363. The relative to the root link of the Text.
  11364. T}
  11365. T{
  11366. -- .Text
  11367. T}@T{
  11368. The Name of the directory.
  11369. T}
  11370. T{
  11371. \&.Entries
  11372. T}@T{
  11373. Information about a specific file/directory.
  11374. T}
  11375. T{
  11376. -- .URL
  11377. T}@T{
  11378. The \[aq]url\[aq] of an entry.
  11379. T}
  11380. T{
  11381. -- .Leaf
  11382. T}@T{
  11383. Currently same as \[aq]URL\[aq] but intended to be \[aq]just\[aq] the
  11384. name.
  11385. T}
  11386. T{
  11387. -- .IsDir
  11388. T}@T{
  11389. Boolean for if an entry is a directory or not.
  11390. T}
  11391. T{
  11392. -- .Size
  11393. T}@T{
  11394. Size in Bytes of the entry.
  11395. T}
  11396. T{
  11397. -- .ModTime
  11398. T}@T{
  11399. The UTC timestamp of an entry.
  11400. T}
  11401. .TE
  11402. .PP
  11403. The server also makes the following functions available so that they can
  11404. be used within the template.
  11405. These functions help extend the options for dynamic rendering of HTML.
  11406. They can be used to render HTML based on specific conditions.
  11407. .PP
  11408. .TS
  11409. tab(@);
  11410. lw(35.0n) lw(35.0n).
  11411. T{
  11412. Function
  11413. T}@T{
  11414. Description
  11415. T}
  11416. _
  11417. T{
  11418. afterEpoch
  11419. T}@T{
  11420. Returns the time since the epoch for the given time.
  11421. T}
  11422. T{
  11423. contains
  11424. T}@T{
  11425. Checks whether a given substring is present or not in a given string.
  11426. T}
  11427. T{
  11428. hasPrefix
  11429. T}@T{
  11430. Checks whether the given string begins with the specified prefix.
  11431. T}
  11432. T{
  11433. hasSuffix
  11434. T}@T{
  11435. Checks whether the given string end with the specified suffix.
  11436. T}
  11437. .TE
  11438. .SS Authentication
  11439. .PP
  11440. By default this will serve files without needing a login.
  11441. .PP
  11442. You can either use an htpasswd file which can take lots of users, or set
  11443. a single username and password with the \f[C]--user\f[R] and
  11444. \f[C]--pass\f[R] flags.
  11445. .PP
  11446. If no static users are configured by either of the above methods, and
  11447. client certificates are required by the \f[C]--client-ca\f[R] flag
  11448. passed to the server, the client certificate common name will be
  11449. considered as the username.
  11450. .PP
  11451. Use \f[C]--htpasswd /path/to/htpasswd\f[R] to provide an htpasswd file.
  11452. This is in standard apache format and supports MD5, SHA1 and BCrypt for
  11453. basic authentication.
  11454. Bcrypt is recommended.
  11455. .PP
  11456. To create an htpasswd file:
  11457. .IP
  11458. .nf
  11459. \f[C]
  11460. touch htpasswd
  11461. htpasswd -B htpasswd user
  11462. htpasswd -B htpasswd anotherUser
  11463. \f[R]
  11464. .fi
  11465. .PP
  11466. The password file can be updated while rclone is running.
  11467. .PP
  11468. Use \f[C]--realm\f[R] to set the authentication realm.
  11469. .PP
  11470. Use \f[C]--salt\f[R] to change the password hashing salt from the
  11471. default.
  11472. ## VFS - Virtual File System
  11473. .PP
  11474. This command uses the VFS layer.
  11475. This adapts the cloud storage objects that rclone uses into something
  11476. which looks much more like a disk filing system.
  11477. .PP
  11478. Cloud storage objects have lots of properties which aren\[aq]t like disk
  11479. files - you can\[aq]t extend them or write to the middle of them, so the
  11480. VFS layer has to deal with that.
  11481. Because there is no one right way of doing this there are various
  11482. options explained below.
  11483. .PP
  11484. The VFS layer also implements a directory cache - this caches info about
  11485. files and directories (but not the data) in memory.
  11486. .SS VFS Directory Cache
  11487. .PP
  11488. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  11489. directory should be considered up to date and not refreshed from the
  11490. backend.
  11491. Changes made through the VFS will appear immediately or invalidate the
  11492. cache.
  11493. .IP
  11494. .nf
  11495. \f[C]
  11496. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  11497. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  11498. \f[R]
  11499. .fi
  11500. .PP
  11501. However, changes made directly on the cloud storage by the web interface
  11502. or a different copy of rclone will only be picked up once the directory
  11503. cache expires if the backend configured does not support polling for
  11504. changes.
  11505. If the backend supports polling, changes will be picked up within the
  11506. polling interval.
  11507. .PP
  11508. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  11509. directory caches, regardless of how old they are.
  11510. Assuming only one rclone instance is running, you can reset the cache
  11511. like this:
  11512. .IP
  11513. .nf
  11514. \f[C]
  11515. kill -SIGHUP $(pidof rclone)
  11516. \f[R]
  11517. .fi
  11518. .PP
  11519. If you configure rclone with a remote control then you can use rclone rc
  11520. to flush the whole directory cache:
  11521. .IP
  11522. .nf
  11523. \f[C]
  11524. rclone rc vfs/forget
  11525. \f[R]
  11526. .fi
  11527. .PP
  11528. Or individual files or directories:
  11529. .IP
  11530. .nf
  11531. \f[C]
  11532. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  11533. \f[R]
  11534. .fi
  11535. .SS VFS File Buffering
  11536. .PP
  11537. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  11538. will be used to buffer data in advance.
  11539. .PP
  11540. Each open file will try to keep the specified amount of data in memory
  11541. at all times.
  11542. The buffered data is bound to one open file and won\[aq]t be shared.
  11543. .PP
  11544. This flag is a upper limit for the used memory per open file.
  11545. The buffer will only use memory for data that is downloaded but not not
  11546. yet read.
  11547. If the buffer is empty, only a small amount of memory will be used.
  11548. .PP
  11549. The maximum memory used by rclone for buffering can be up to
  11550. \f[C]--buffer-size * open files\f[R].
  11551. .SS VFS File Caching
  11552. .PP
  11553. These flags control the VFS file caching options.
  11554. File caching is necessary to make the VFS layer appear compatible with a
  11555. normal file system.
  11556. It can be disabled at the cost of some compatibility.
  11557. .PP
  11558. For example you\[aq]ll need to enable VFS caching if you want to read
  11559. and write simultaneously to a file.
  11560. See below for more details.
  11561. .PP
  11562. Note that the VFS cache is separate from the cache backend and you may
  11563. find that you need one or the other or both.
  11564. .IP
  11565. .nf
  11566. \f[C]
  11567. --cache-dir string Directory rclone will use for caching.
  11568. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  11569. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  11570. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  11571. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  11572. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  11573. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  11574. \f[R]
  11575. .fi
  11576. .PP
  11577. If run with \f[C]-vv\f[R] rclone will print the location of the file
  11578. cache.
  11579. The files are stored in the user cache file area which is OS dependent
  11580. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  11581. appropriate environment variable.
  11582. .PP
  11583. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  11584. The higher the cache mode the more compatible rclone becomes at the cost
  11585. of using disk space.
  11586. .PP
  11587. Note that files are written back to the remote only when they are closed
  11588. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  11589. seconds.
  11590. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  11591. these will be uploaded next time rclone is run with the same flags.
  11592. .PP
  11593. If using \f[C]--vfs-cache-max-size\f[R] or
  11594. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  11595. quotas for two reasons.
  11596. Firstly because it is only checked every
  11597. \f[C]--vfs-cache-poll-interval\f[R].
  11598. Secondly because open files cannot be evicted from the cache.
  11599. When \f[C]--vfs-cache-max-size\f[R] or
  11600. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  11601. evict the least accessed files from the cache first.
  11602. rclone will start with files that haven\[aq]t been accessed for the
  11603. longest.
  11604. This cache flushing strategy is efficient and more relevant files are
  11605. likely to remain cached.
  11606. .PP
  11607. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  11608. the set time since last access has passed.
  11609. The default value of 1 hour will start evicting files from cache that
  11610. haven\[aq]t been accessed for 1 hour.
  11611. When a cached file is accessed the 1 hour timer is reset to 0 and will
  11612. wait for 1 more hour before evicting.
  11613. Specify the time with standard notation, s, m, h, d, w .
  11614. .PP
  11615. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  11616. cache with the same or overlapping remotes if using
  11617. \f[C]--vfs-cache-mode > off\f[R].
  11618. This can potentially cause data corruption if you do.
  11619. You can work around this by giving each rclone its own cache hierarchy
  11620. with \f[C]--cache-dir\f[R].
  11621. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  11622. overlap.
  11623. .SS --vfs-cache-mode off
  11624. .PP
  11625. In this mode (the default) the cache will read directly from the remote
  11626. and write directly to the remote without caching anything on disk.
  11627. .PP
  11628. This will mean some operations are not possible
  11629. .IP \[bu] 2
  11630. Files can\[aq]t be opened for both read AND write
  11631. .IP \[bu] 2
  11632. Files opened for write can\[aq]t be seeked
  11633. .IP \[bu] 2
  11634. Existing files opened for write must have O_TRUNC set
  11635. .IP \[bu] 2
  11636. Files open for read with O_TRUNC will be opened write only
  11637. .IP \[bu] 2
  11638. Files open for write only will behave as if O_TRUNC was supplied
  11639. .IP \[bu] 2
  11640. Open modes O_APPEND, O_TRUNC are ignored
  11641. .IP \[bu] 2
  11642. If an upload fails it can\[aq]t be retried
  11643. .SS --vfs-cache-mode minimal
  11644. .PP
  11645. This is very similar to \[dq]off\[dq] except that files opened for read
  11646. AND write will be buffered to disk.
  11647. This means that files opened for write will be a lot more compatible,
  11648. but uses the minimal disk space.
  11649. .PP
  11650. These operations are not possible
  11651. .IP \[bu] 2
  11652. Files opened for write only can\[aq]t be seeked
  11653. .IP \[bu] 2
  11654. Existing files opened for write must have O_TRUNC set
  11655. .IP \[bu] 2
  11656. Files opened for write only will ignore O_APPEND, O_TRUNC
  11657. .IP \[bu] 2
  11658. If an upload fails it can\[aq]t be retried
  11659. .SS --vfs-cache-mode writes
  11660. .PP
  11661. In this mode files opened for read only are still read directly from the
  11662. remote, write only and read/write files are buffered to disk first.
  11663. .PP
  11664. This mode should support all normal file system operations.
  11665. .PP
  11666. If an upload fails it will be retried at exponentially increasing
  11667. intervals up to 1 minute.
  11668. .SS --vfs-cache-mode full
  11669. .PP
  11670. In this mode all reads and writes are buffered to and from disk.
  11671. When data is read from the remote this is buffered to disk as well.
  11672. .PP
  11673. In this mode the files in the cache will be sparse files and rclone will
  11674. keep track of which bits of the files it has downloaded.
  11675. .PP
  11676. So if an application only reads the starts of each file, then rclone
  11677. will only buffer the start of the file.
  11678. These files will appear to be their full size in the cache, but they
  11679. will be sparse files with only the data that has been downloaded present
  11680. in them.
  11681. .PP
  11682. This mode should support all normal file system operations and is
  11683. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  11684. .PP
  11685. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  11686. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  11687. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  11688. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  11689. .PP
  11690. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  11691. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  11692. required.
  11693. .PP
  11694. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  11695. In particular FAT/exFAT do not.
  11696. Rclone will perform very badly if the cache directory is on a filesystem
  11697. which doesn\[aq]t support sparse files and it will log an ERROR message
  11698. if one is detected.
  11699. .SS Fingerprinting
  11700. .PP
  11701. Various parts of the VFS use fingerprinting to see if a local file copy
  11702. has changed relative to a remote file.
  11703. Fingerprints are made from:
  11704. .IP \[bu] 2
  11705. size
  11706. .IP \[bu] 2
  11707. modification time
  11708. .IP \[bu] 2
  11709. hash
  11710. .PP
  11711. where available on an object.
  11712. .PP
  11713. On some backends some of these attributes are slow to read (they take an
  11714. extra API call per object, or extra work per object).
  11715. .PP
  11716. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  11717. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  11718. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  11719. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  11720. they need to do an extra API call to fetch it.
  11721. .PP
  11722. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  11723. not include the slow operations in the fingerprint.
  11724. This makes the fingerprinting less accurate but much faster and will
  11725. improve the opening time of cached files.
  11726. .PP
  11727. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  11728. \f[C]swift\f[R] backends then using this flag is recommended.
  11729. .PP
  11730. Note that if you change the value of this flag, the fingerprints of the
  11731. files in the cache may be invalidated and the files will need to be
  11732. downloaded again.
  11733. .SS VFS Chunked Reading
  11734. .PP
  11735. When rclone reads files from a remote it reads them in chunks.
  11736. This means that rather than requesting the whole file rclone reads the
  11737. chunk specified.
  11738. This can reduce the used download quota for some remotes by requesting
  11739. only chunks from the remote that are actually read, at the cost of an
  11740. increased number of requests.
  11741. .PP
  11742. These flags control the chunking:
  11743. .IP
  11744. .nf
  11745. \f[C]
  11746. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  11747. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  11748. \f[R]
  11749. .fi
  11750. .PP
  11751. Rclone will start reading a chunk of size
  11752. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  11753. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  11754. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  11755. will get doubled only until the specified value is reached.
  11756. If the value is \[dq]off\[dq], which is the default, the limit is
  11757. disabled and the chunk size will grow indefinitely.
  11758. .PP
  11759. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  11760. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  11761. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  11762. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  11763. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  11764. on.
  11765. .PP
  11766. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  11767. disables chunked reading.
  11768. .SS VFS Performance
  11769. .PP
  11770. These flags may be used to enable/disable features of the VFS for
  11771. performance or other reasons.
  11772. See also the chunked reading feature.
  11773. .PP
  11774. In particular S3 and Swift benefit hugely from the
  11775. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  11776. slightly different effect) as each read of the modification time takes a
  11777. transaction.
  11778. .IP
  11779. .nf
  11780. \f[C]
  11781. --no-checksum Don\[aq]t compare checksums on up/download.
  11782. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  11783. --no-seek Don\[aq]t allow seeking in files.
  11784. --read-only Only allow read-only access.
  11785. \f[R]
  11786. .fi
  11787. .PP
  11788. Sometimes rclone is delivered reads or writes out of order.
  11789. Rather than seeking rclone will wait a short time for the in sequence
  11790. read or write to come in.
  11791. These flags only come into effect when not using an on disk cache file.
  11792. .IP
  11793. .nf
  11794. \f[C]
  11795. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  11796. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  11797. \f[R]
  11798. .fi
  11799. .PP
  11800. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  11801. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  11802. adjust the number of parallel uploads of modified files from the cache
  11803. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  11804. .IP
  11805. .nf
  11806. \f[C]
  11807. --transfers int Number of file transfers to run in parallel (default 4)
  11808. \f[R]
  11809. .fi
  11810. .SS VFS Case Sensitivity
  11811. .PP
  11812. Linux file systems are case-sensitive: two files can differ only by
  11813. case, and the exact case must be used when opening a file.
  11814. .PP
  11815. File systems in modern Windows are case-insensitive but case-preserving:
  11816. although existing files can be opened using any case, the exact case
  11817. used to create the file is preserved and available for programs to
  11818. query.
  11819. It is not allowed for two files in the same directory to differ only by
  11820. case.
  11821. .PP
  11822. Usually file systems on macOS are case-insensitive.
  11823. It is possible to make macOS file systems case-sensitive but that is not
  11824. the default.
  11825. .PP
  11826. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  11827. handles these two cases.
  11828. If its value is \[dq]false\[dq], rclone passes file names to the remote
  11829. as-is.
  11830. If the flag is \[dq]true\[dq] (or appears without a value on the command
  11831. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  11832. .PP
  11833. The user may specify a file name to open/delete/rename/etc with a case
  11834. different than what is stored on the remote.
  11835. If an argument refers to an existing file with exactly the same name,
  11836. then the case of the existing file on the disk will be used.
  11837. However, if a file name with exactly the same name is not found but a
  11838. name differing only by case exists, rclone will transparently fixup the
  11839. name.
  11840. This fixup happens only when an existing file is requested.
  11841. Case sensitivity of file names created anew by rclone is controlled by
  11842. the underlying remote.
  11843. .PP
  11844. Note that case sensitivity of the operating system running rclone (the
  11845. target) may differ from case sensitivity of a file system presented by
  11846. rclone (the source).
  11847. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  11848. target.
  11849. .PP
  11850. If the flag is not provided on the command line, then its default value
  11851. depends on the operating system where rclone runs: \[dq]true\[dq] on
  11852. Windows and macOS, \[dq]false\[dq] otherwise.
  11853. If the flag is provided without a value, then it is \[dq]true\[dq].
  11854. .PP
  11855. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  11856. \[dq]fixup\[dq] is performed for filenames that differ but are
  11857. canonically
  11858. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  11859. respect to unicode.
  11860. Unicode normalization can be particularly helpful for users of macOS,
  11861. which prefers form NFD instead of the NFC used by most other platforms.
  11862. It is therefore highly recommended to keep the default of
  11863. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  11864. .PP
  11865. In the (probably unlikely) event that a directory has multiple duplicate
  11866. filenames after applying case and unicode normalization, the
  11867. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  11868. This comes with a performance tradeoff, as rclone will have to scan the
  11869. entire directory for duplicates when listing a directory.
  11870. For this reason, it is recommended to leave this disabled if not needed.
  11871. However, macOS users may wish to consider using it, as otherwise, if a
  11872. remote directory contains both NFC and NFD versions of the same
  11873. filename, an odd situation will occur: both versions of the file will be
  11874. visible in the mount, and both will appear to be editable, however,
  11875. editing either version will actually result in only the NFD version
  11876. getting edited under the hood.
  11877. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  11878. this scenario, hiding the duplicates, and logging an error, similar to
  11879. how this is handled in \f[C]rclone sync\f[R].
  11880. .SS VFS Disk Options
  11881. .PP
  11882. This flag allows you to manually set the statistics about the filing
  11883. system.
  11884. It can be useful when those statistics cannot be read correctly
  11885. automatically.
  11886. .IP
  11887. .nf
  11888. \f[C]
  11889. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  11890. \f[R]
  11891. .fi
  11892. .SS Alternate report of used bytes
  11893. .PP
  11894. Some backends, most notably S3, do not report the amount of bytes used.
  11895. If you need this information to be available when running \f[C]df\f[R]
  11896. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  11897. rclone.
  11898. With this flag set, instead of relying on the backend to report this
  11899. information, rclone will scan the whole remote similar to
  11900. \f[C]rclone size\f[R] and compute the total used space itself.
  11901. .PP
  11902. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  11903. filters so that the result is accurate.
  11904. However, this is very inefficient and may cost lots of API calls
  11905. resulting in extra charges.
  11906. Use it as a last resort and only with caching.
  11907. .SS Auth Proxy
  11908. .PP
  11909. If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then
  11910. rclone will use that program to generate backends on the fly which then
  11911. are used to authenticate incoming requests.
  11912. This uses a simple JSON based protocol with input on STDIN and output on
  11913. STDOUT.
  11914. .PP
  11915. \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and
  11916. \f[C]--authorized-keys\f[R] cannot be used together, if
  11917. \f[C]--auth-proxy\f[R] is set the authorized keys option will be
  11918. ignored.
  11919. .PP
  11920. There is an example program
  11921. bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py)
  11922. in the rclone source code.
  11923. .PP
  11924. The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on
  11925. the input and turn those into the config for a backend on STDOUT in JSON
  11926. format.
  11927. This config will have any default parameters for the backend added, but
  11928. it won\[aq]t use configuration from environment variables or command
  11929. line options - it is the job of the proxy program to make a complete
  11930. config.
  11931. .PP
  11932. This config generated must have this extra parameter - \f[C]_root\f[R] -
  11933. root to use for the backend
  11934. .PP
  11935. And it may have this parameter - \f[C]_obscure\f[R] - comma separated
  11936. strings for parameters to obscure
  11937. .PP
  11938. If password authentication was used by the client, input to the proxy
  11939. process (on STDIN) would look similar to this:
  11940. .IP
  11941. .nf
  11942. \f[C]
  11943. {
  11944. \[dq]user\[dq]: \[dq]me\[dq],
  11945. \[dq]pass\[dq]: \[dq]mypassword\[dq]
  11946. }
  11947. \f[R]
  11948. .fi
  11949. .PP
  11950. If public-key authentication was used by the client, input to the proxy
  11951. process (on STDIN) would look similar to this:
  11952. .IP
  11953. .nf
  11954. \f[C]
  11955. {
  11956. \[dq]user\[dq]: \[dq]me\[dq],
  11957. \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq]
  11958. }
  11959. \f[R]
  11960. .fi
  11961. .PP
  11962. And as an example return this on STDOUT
  11963. .IP
  11964. .nf
  11965. \f[C]
  11966. {
  11967. \[dq]type\[dq]: \[dq]sftp\[dq],
  11968. \[dq]_root\[dq]: \[dq]\[dq],
  11969. \[dq]_obscure\[dq]: \[dq]pass\[dq],
  11970. \[dq]user\[dq]: \[dq]me\[dq],
  11971. \[dq]pass\[dq]: \[dq]mypassword\[dq],
  11972. \[dq]host\[dq]: \[dq]sftp.example.com\[dq]
  11973. }
  11974. \f[R]
  11975. .fi
  11976. .PP
  11977. This would mean that an SFTP backend would be created on the fly for the
  11978. \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the
  11979. output to the host given.
  11980. Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will
  11981. obscure the \f[C]pass\f[R] parameter before creating the backend (which
  11982. is required for sftp backends).
  11983. .PP
  11984. The program can manipulate the supplied \f[C]user\f[R] in any way, for
  11985. example to make proxy to many different sftp backends, you could make
  11986. the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the
  11987. \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to
  11988. \f[C]user\f[R].
  11989. For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a
  11990. limited list.
  11991. .PP
  11992. Note that an internal cache is keyed on \f[C]user\f[R] so only use that
  11993. for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R].
  11994. This also means that if a user\[aq]s password or public-key is changed
  11995. the cache will need to expire (which takes 5 mins) before it takes
  11996. effect.
  11997. .PP
  11998. This can be used to build general purpose proxies to any kind of backend
  11999. that rclone supports.
  12000. .IP
  12001. .nf
  12002. \f[C]
  12003. rclone serve http remote:path [flags]
  12004. \f[R]
  12005. .fi
  12006. .SS Options
  12007. .IP
  12008. .nf
  12009. \f[C]
  12010. --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080])
  12011. --allow-origin string Origin which cross-domain request (CORS) can be executed from
  12012. --auth-proxy string A program to use to create the backend from the auth
  12013. --baseurl string Prefix for URLs - leave blank for root
  12014. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  12015. --client-ca string Client certificate authority to verify clients with
  12016. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  12017. --dir-perms FileMode Directory permissions (default 0777)
  12018. --file-perms FileMode File permissions (default 0666)
  12019. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  12020. -h, --help help for http
  12021. --htpasswd string A htpasswd file - if not provided no authentication is done
  12022. --key string TLS PEM Private key
  12023. --max-header-bytes int Maximum size of request header (default 4096)
  12024. --min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq])
  12025. --no-checksum Don\[aq]t compare checksums on up/download
  12026. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  12027. --no-seek Don\[aq]t allow seeking in files
  12028. --pass string Password for authentication
  12029. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  12030. --read-only Only allow read-only access
  12031. --realm string Realm for authentication
  12032. --salt string Password hashing salt (default \[dq]dlPL2MqE\[dq])
  12033. --server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  12034. --server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  12035. --template string User-specified template
  12036. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  12037. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  12038. --user string User name for authentication
  12039. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  12040. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  12041. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  12042. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  12043. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  12044. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  12045. --vfs-case-insensitive If a file name not found, find a case insensitive match
  12046. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  12047. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  12048. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  12049. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  12050. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  12051. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  12052. --vfs-refresh Refreshes the directory cache recursively in the background on start
  12053. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  12054. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  12055. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  12056. \f[R]
  12057. .fi
  12058. .SS Filter Options
  12059. .PP
  12060. Flags for filtering directory listings.
  12061. .IP
  12062. .nf
  12063. \f[C]
  12064. --delete-excluded Delete files on dest excluded from sync
  12065. --exclude stringArray Exclude files matching pattern
  12066. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  12067. --exclude-if-present stringArray Exclude directories if filename is present
  12068. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  12069. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  12070. -f, --filter stringArray Add a file filtering rule
  12071. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  12072. --ignore-case Ignore case in filters (case insensitive)
  12073. --include stringArray Include files matching pattern
  12074. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  12075. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  12076. --max-depth int If set limits the recursion depth to this (default -1)
  12077. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  12078. --metadata-exclude stringArray Exclude metadatas matching pattern
  12079. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  12080. --metadata-filter stringArray Add a metadata filtering rule
  12081. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  12082. --metadata-include stringArray Include metadatas matching pattern
  12083. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  12084. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  12085. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  12086. \f[R]
  12087. .fi
  12088. .PP
  12089. See the global flags page (https://rclone.org/flags/) for global options
  12090. not listed here.
  12091. .SH SEE ALSO
  12092. .IP \[bu] 2
  12093. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  12094. remote over a protocol.
  12095. .SH rclone serve nfs
  12096. .PP
  12097. Serve the remote as an NFS mount
  12098. .SS Synopsis
  12099. .PP
  12100. Create an NFS server that serves the given remote over the network.
  12101. .PP
  12102. The primary purpose for this command is to enable mount
  12103. command (https://rclone.org/commands/rclone_mount/) on recent macOS
  12104. versions where installing FUSE is very cumbersome.
  12105. .PP
  12106. Since this is running on NFSv3, no authentication method is available.
  12107. Any client will be able to access the data.
  12108. To limit access, you can use serve NFS on loopback address and rely on
  12109. secure tunnels (such as SSH).
  12110. For this reason, by default, a random TCP port is chosen and loopback
  12111. interface is used for the listening address; meaning that it is only
  12112. available to the local machine.
  12113. If you want other machines to access the NFS mount over local network,
  12114. you need to specify the listening address and port using
  12115. \f[C]--addr\f[R] flag.
  12116. .PP
  12117. Modifying files through NFS protocol requires VFS caching.
  12118. Usually you will need to specify \f[C]--vfs-cache-mode\f[R] in order to
  12119. be able to write to the mountpoint (full is recommended).
  12120. If you don\[aq]t specify VFS cache mode, the mount will be read-only.
  12121. Note also that \f[C]--nfs-cache-handle-limit\f[R] controls the maximum
  12122. number of cached file handles stored by the caching handler.
  12123. This should not be set too low or you may experience errors when trying
  12124. to access files.
  12125. The default is \f[C]1000000\f[R], but consider lowering this limit if
  12126. the server\[aq]s system resource usage causes problems.
  12127. .PP
  12128. To serve NFS over the network use following command:
  12129. .IP
  12130. .nf
  12131. \f[C]
  12132. rclone serve nfs remote: --addr 0.0.0.0:$PORT --vfs-cache-mode=full
  12133. \f[R]
  12134. .fi
  12135. .PP
  12136. We specify a specific port that we can use in the mount command:
  12137. .PP
  12138. To mount the server under Linux/macOS, use the following command:
  12139. .IP
  12140. .nf
  12141. \f[C]
  12142. mount -oport=$PORT,mountport=$PORT $HOSTNAME: path/to/mountpoint
  12143. \f[R]
  12144. .fi
  12145. .PP
  12146. Where \f[C]$PORT\f[R] is the same port number we used in the serve nfs
  12147. command.
  12148. .PP
  12149. This feature is only available on Unix platforms.
  12150. .SS VFS - Virtual File System
  12151. .PP
  12152. This command uses the VFS layer.
  12153. This adapts the cloud storage objects that rclone uses into something
  12154. which looks much more like a disk filing system.
  12155. .PP
  12156. Cloud storage objects have lots of properties which aren\[aq]t like disk
  12157. files - you can\[aq]t extend them or write to the middle of them, so the
  12158. VFS layer has to deal with that.
  12159. Because there is no one right way of doing this there are various
  12160. options explained below.
  12161. .PP
  12162. The VFS layer also implements a directory cache - this caches info about
  12163. files and directories (but not the data) in memory.
  12164. .SS VFS Directory Cache
  12165. .PP
  12166. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  12167. directory should be considered up to date and not refreshed from the
  12168. backend.
  12169. Changes made through the VFS will appear immediately or invalidate the
  12170. cache.
  12171. .IP
  12172. .nf
  12173. \f[C]
  12174. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  12175. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  12176. \f[R]
  12177. .fi
  12178. .PP
  12179. However, changes made directly on the cloud storage by the web interface
  12180. or a different copy of rclone will only be picked up once the directory
  12181. cache expires if the backend configured does not support polling for
  12182. changes.
  12183. If the backend supports polling, changes will be picked up within the
  12184. polling interval.
  12185. .PP
  12186. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  12187. directory caches, regardless of how old they are.
  12188. Assuming only one rclone instance is running, you can reset the cache
  12189. like this:
  12190. .IP
  12191. .nf
  12192. \f[C]
  12193. kill -SIGHUP $(pidof rclone)
  12194. \f[R]
  12195. .fi
  12196. .PP
  12197. If you configure rclone with a remote control then you can use rclone rc
  12198. to flush the whole directory cache:
  12199. .IP
  12200. .nf
  12201. \f[C]
  12202. rclone rc vfs/forget
  12203. \f[R]
  12204. .fi
  12205. .PP
  12206. Or individual files or directories:
  12207. .IP
  12208. .nf
  12209. \f[C]
  12210. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  12211. \f[R]
  12212. .fi
  12213. .SS VFS File Buffering
  12214. .PP
  12215. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  12216. will be used to buffer data in advance.
  12217. .PP
  12218. Each open file will try to keep the specified amount of data in memory
  12219. at all times.
  12220. The buffered data is bound to one open file and won\[aq]t be shared.
  12221. .PP
  12222. This flag is a upper limit for the used memory per open file.
  12223. The buffer will only use memory for data that is downloaded but not not
  12224. yet read.
  12225. If the buffer is empty, only a small amount of memory will be used.
  12226. .PP
  12227. The maximum memory used by rclone for buffering can be up to
  12228. \f[C]--buffer-size * open files\f[R].
  12229. .SS VFS File Caching
  12230. .PP
  12231. These flags control the VFS file caching options.
  12232. File caching is necessary to make the VFS layer appear compatible with a
  12233. normal file system.
  12234. It can be disabled at the cost of some compatibility.
  12235. .PP
  12236. For example you\[aq]ll need to enable VFS caching if you want to read
  12237. and write simultaneously to a file.
  12238. See below for more details.
  12239. .PP
  12240. Note that the VFS cache is separate from the cache backend and you may
  12241. find that you need one or the other or both.
  12242. .IP
  12243. .nf
  12244. \f[C]
  12245. --cache-dir string Directory rclone will use for caching.
  12246. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  12247. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  12248. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  12249. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  12250. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  12251. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  12252. \f[R]
  12253. .fi
  12254. .PP
  12255. If run with \f[C]-vv\f[R] rclone will print the location of the file
  12256. cache.
  12257. The files are stored in the user cache file area which is OS dependent
  12258. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  12259. appropriate environment variable.
  12260. .PP
  12261. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  12262. The higher the cache mode the more compatible rclone becomes at the cost
  12263. of using disk space.
  12264. .PP
  12265. Note that files are written back to the remote only when they are closed
  12266. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  12267. seconds.
  12268. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  12269. these will be uploaded next time rclone is run with the same flags.
  12270. .PP
  12271. If using \f[C]--vfs-cache-max-size\f[R] or
  12272. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  12273. quotas for two reasons.
  12274. Firstly because it is only checked every
  12275. \f[C]--vfs-cache-poll-interval\f[R].
  12276. Secondly because open files cannot be evicted from the cache.
  12277. When \f[C]--vfs-cache-max-size\f[R] or
  12278. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  12279. evict the least accessed files from the cache first.
  12280. rclone will start with files that haven\[aq]t been accessed for the
  12281. longest.
  12282. This cache flushing strategy is efficient and more relevant files are
  12283. likely to remain cached.
  12284. .PP
  12285. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  12286. the set time since last access has passed.
  12287. The default value of 1 hour will start evicting files from cache that
  12288. haven\[aq]t been accessed for 1 hour.
  12289. When a cached file is accessed the 1 hour timer is reset to 0 and will
  12290. wait for 1 more hour before evicting.
  12291. Specify the time with standard notation, s, m, h, d, w .
  12292. .PP
  12293. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  12294. cache with the same or overlapping remotes if using
  12295. \f[C]--vfs-cache-mode > off\f[R].
  12296. This can potentially cause data corruption if you do.
  12297. You can work around this by giving each rclone its own cache hierarchy
  12298. with \f[C]--cache-dir\f[R].
  12299. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  12300. overlap.
  12301. .SS --vfs-cache-mode off
  12302. .PP
  12303. In this mode (the default) the cache will read directly from the remote
  12304. and write directly to the remote without caching anything on disk.
  12305. .PP
  12306. This will mean some operations are not possible
  12307. .IP \[bu] 2
  12308. Files can\[aq]t be opened for both read AND write
  12309. .IP \[bu] 2
  12310. Files opened for write can\[aq]t be seeked
  12311. .IP \[bu] 2
  12312. Existing files opened for write must have O_TRUNC set
  12313. .IP \[bu] 2
  12314. Files open for read with O_TRUNC will be opened write only
  12315. .IP \[bu] 2
  12316. Files open for write only will behave as if O_TRUNC was supplied
  12317. .IP \[bu] 2
  12318. Open modes O_APPEND, O_TRUNC are ignored
  12319. .IP \[bu] 2
  12320. If an upload fails it can\[aq]t be retried
  12321. .SS --vfs-cache-mode minimal
  12322. .PP
  12323. This is very similar to \[dq]off\[dq] except that files opened for read
  12324. AND write will be buffered to disk.
  12325. This means that files opened for write will be a lot more compatible,
  12326. but uses the minimal disk space.
  12327. .PP
  12328. These operations are not possible
  12329. .IP \[bu] 2
  12330. Files opened for write only can\[aq]t be seeked
  12331. .IP \[bu] 2
  12332. Existing files opened for write must have O_TRUNC set
  12333. .IP \[bu] 2
  12334. Files opened for write only will ignore O_APPEND, O_TRUNC
  12335. .IP \[bu] 2
  12336. If an upload fails it can\[aq]t be retried
  12337. .SS --vfs-cache-mode writes
  12338. .PP
  12339. In this mode files opened for read only are still read directly from the
  12340. remote, write only and read/write files are buffered to disk first.
  12341. .PP
  12342. This mode should support all normal file system operations.
  12343. .PP
  12344. If an upload fails it will be retried at exponentially increasing
  12345. intervals up to 1 minute.
  12346. .SS --vfs-cache-mode full
  12347. .PP
  12348. In this mode all reads and writes are buffered to and from disk.
  12349. When data is read from the remote this is buffered to disk as well.
  12350. .PP
  12351. In this mode the files in the cache will be sparse files and rclone will
  12352. keep track of which bits of the files it has downloaded.
  12353. .PP
  12354. So if an application only reads the starts of each file, then rclone
  12355. will only buffer the start of the file.
  12356. These files will appear to be their full size in the cache, but they
  12357. will be sparse files with only the data that has been downloaded present
  12358. in them.
  12359. .PP
  12360. This mode should support all normal file system operations and is
  12361. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  12362. .PP
  12363. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  12364. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  12365. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  12366. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  12367. .PP
  12368. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  12369. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  12370. required.
  12371. .PP
  12372. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  12373. In particular FAT/exFAT do not.
  12374. Rclone will perform very badly if the cache directory is on a filesystem
  12375. which doesn\[aq]t support sparse files and it will log an ERROR message
  12376. if one is detected.
  12377. .SS Fingerprinting
  12378. .PP
  12379. Various parts of the VFS use fingerprinting to see if a local file copy
  12380. has changed relative to a remote file.
  12381. Fingerprints are made from:
  12382. .IP \[bu] 2
  12383. size
  12384. .IP \[bu] 2
  12385. modification time
  12386. .IP \[bu] 2
  12387. hash
  12388. .PP
  12389. where available on an object.
  12390. .PP
  12391. On some backends some of these attributes are slow to read (they take an
  12392. extra API call per object, or extra work per object).
  12393. .PP
  12394. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  12395. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  12396. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  12397. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  12398. they need to do an extra API call to fetch it.
  12399. .PP
  12400. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  12401. not include the slow operations in the fingerprint.
  12402. This makes the fingerprinting less accurate but much faster and will
  12403. improve the opening time of cached files.
  12404. .PP
  12405. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  12406. \f[C]swift\f[R] backends then using this flag is recommended.
  12407. .PP
  12408. Note that if you change the value of this flag, the fingerprints of the
  12409. files in the cache may be invalidated and the files will need to be
  12410. downloaded again.
  12411. .SS VFS Chunked Reading
  12412. .PP
  12413. When rclone reads files from a remote it reads them in chunks.
  12414. This means that rather than requesting the whole file rclone reads the
  12415. chunk specified.
  12416. This can reduce the used download quota for some remotes by requesting
  12417. only chunks from the remote that are actually read, at the cost of an
  12418. increased number of requests.
  12419. .PP
  12420. These flags control the chunking:
  12421. .IP
  12422. .nf
  12423. \f[C]
  12424. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  12425. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  12426. \f[R]
  12427. .fi
  12428. .PP
  12429. Rclone will start reading a chunk of size
  12430. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  12431. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  12432. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  12433. will get doubled only until the specified value is reached.
  12434. If the value is \[dq]off\[dq], which is the default, the limit is
  12435. disabled and the chunk size will grow indefinitely.
  12436. .PP
  12437. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  12438. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  12439. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  12440. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  12441. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  12442. on.
  12443. .PP
  12444. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  12445. disables chunked reading.
  12446. .SS VFS Performance
  12447. .PP
  12448. These flags may be used to enable/disable features of the VFS for
  12449. performance or other reasons.
  12450. See also the chunked reading feature.
  12451. .PP
  12452. In particular S3 and Swift benefit hugely from the
  12453. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  12454. slightly different effect) as each read of the modification time takes a
  12455. transaction.
  12456. .IP
  12457. .nf
  12458. \f[C]
  12459. --no-checksum Don\[aq]t compare checksums on up/download.
  12460. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  12461. --no-seek Don\[aq]t allow seeking in files.
  12462. --read-only Only allow read-only access.
  12463. \f[R]
  12464. .fi
  12465. .PP
  12466. Sometimes rclone is delivered reads or writes out of order.
  12467. Rather than seeking rclone will wait a short time for the in sequence
  12468. read or write to come in.
  12469. These flags only come into effect when not using an on disk cache file.
  12470. .IP
  12471. .nf
  12472. \f[C]
  12473. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  12474. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  12475. \f[R]
  12476. .fi
  12477. .PP
  12478. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  12479. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  12480. adjust the number of parallel uploads of modified files from the cache
  12481. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  12482. .IP
  12483. .nf
  12484. \f[C]
  12485. --transfers int Number of file transfers to run in parallel (default 4)
  12486. \f[R]
  12487. .fi
  12488. .SS VFS Case Sensitivity
  12489. .PP
  12490. Linux file systems are case-sensitive: two files can differ only by
  12491. case, and the exact case must be used when opening a file.
  12492. .PP
  12493. File systems in modern Windows are case-insensitive but case-preserving:
  12494. although existing files can be opened using any case, the exact case
  12495. used to create the file is preserved and available for programs to
  12496. query.
  12497. It is not allowed for two files in the same directory to differ only by
  12498. case.
  12499. .PP
  12500. Usually file systems on macOS are case-insensitive.
  12501. It is possible to make macOS file systems case-sensitive but that is not
  12502. the default.
  12503. .PP
  12504. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  12505. handles these two cases.
  12506. If its value is \[dq]false\[dq], rclone passes file names to the remote
  12507. as-is.
  12508. If the flag is \[dq]true\[dq] (or appears without a value on the command
  12509. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  12510. .PP
  12511. The user may specify a file name to open/delete/rename/etc with a case
  12512. different than what is stored on the remote.
  12513. If an argument refers to an existing file with exactly the same name,
  12514. then the case of the existing file on the disk will be used.
  12515. However, if a file name with exactly the same name is not found but a
  12516. name differing only by case exists, rclone will transparently fixup the
  12517. name.
  12518. This fixup happens only when an existing file is requested.
  12519. Case sensitivity of file names created anew by rclone is controlled by
  12520. the underlying remote.
  12521. .PP
  12522. Note that case sensitivity of the operating system running rclone (the
  12523. target) may differ from case sensitivity of a file system presented by
  12524. rclone (the source).
  12525. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  12526. target.
  12527. .PP
  12528. If the flag is not provided on the command line, then its default value
  12529. depends on the operating system where rclone runs: \[dq]true\[dq] on
  12530. Windows and macOS, \[dq]false\[dq] otherwise.
  12531. If the flag is provided without a value, then it is \[dq]true\[dq].
  12532. .PP
  12533. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  12534. \[dq]fixup\[dq] is performed for filenames that differ but are
  12535. canonically
  12536. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  12537. respect to unicode.
  12538. Unicode normalization can be particularly helpful for users of macOS,
  12539. which prefers form NFD instead of the NFC used by most other platforms.
  12540. It is therefore highly recommended to keep the default of
  12541. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  12542. .PP
  12543. In the (probably unlikely) event that a directory has multiple duplicate
  12544. filenames after applying case and unicode normalization, the
  12545. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  12546. This comes with a performance tradeoff, as rclone will have to scan the
  12547. entire directory for duplicates when listing a directory.
  12548. For this reason, it is recommended to leave this disabled if not needed.
  12549. However, macOS users may wish to consider using it, as otherwise, if a
  12550. remote directory contains both NFC and NFD versions of the same
  12551. filename, an odd situation will occur: both versions of the file will be
  12552. visible in the mount, and both will appear to be editable, however,
  12553. editing either version will actually result in only the NFD version
  12554. getting edited under the hood.
  12555. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  12556. this scenario, hiding the duplicates, and logging an error, similar to
  12557. how this is handled in \f[C]rclone sync\f[R].
  12558. .SS VFS Disk Options
  12559. .PP
  12560. This flag allows you to manually set the statistics about the filing
  12561. system.
  12562. It can be useful when those statistics cannot be read correctly
  12563. automatically.
  12564. .IP
  12565. .nf
  12566. \f[C]
  12567. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  12568. \f[R]
  12569. .fi
  12570. .SS Alternate report of used bytes
  12571. .PP
  12572. Some backends, most notably S3, do not report the amount of bytes used.
  12573. If you need this information to be available when running \f[C]df\f[R]
  12574. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  12575. rclone.
  12576. With this flag set, instead of relying on the backend to report this
  12577. information, rclone will scan the whole remote similar to
  12578. \f[C]rclone size\f[R] and compute the total used space itself.
  12579. .PP
  12580. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  12581. filters so that the result is accurate.
  12582. However, this is very inefficient and may cost lots of API calls
  12583. resulting in extra charges.
  12584. Use it as a last resort and only with caching.
  12585. .IP
  12586. .nf
  12587. \f[C]
  12588. rclone serve nfs remote:path [flags]
  12589. \f[R]
  12590. .fi
  12591. .SS Options
  12592. .IP
  12593. .nf
  12594. \f[C]
  12595. --addr string IPaddress:Port or :Port to bind server to
  12596. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  12597. --dir-perms FileMode Directory permissions (default 0777)
  12598. --file-perms FileMode File permissions (default 0666)
  12599. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  12600. -h, --help help for nfs
  12601. --nfs-cache-handle-limit int max file handles cached simultaneously (min 5) (default 1000000)
  12602. --no-checksum Don\[aq]t compare checksums on up/download
  12603. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  12604. --no-seek Don\[aq]t allow seeking in files
  12605. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  12606. --read-only Only allow read-only access
  12607. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  12608. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  12609. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  12610. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  12611. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  12612. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  12613. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  12614. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  12615. --vfs-case-insensitive If a file name not found, find a case insensitive match
  12616. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  12617. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  12618. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  12619. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  12620. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  12621. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  12622. --vfs-refresh Refreshes the directory cache recursively in the background on start
  12623. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  12624. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  12625. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  12626. \f[R]
  12627. .fi
  12628. .SS Filter Options
  12629. .PP
  12630. Flags for filtering directory listings.
  12631. .IP
  12632. .nf
  12633. \f[C]
  12634. --delete-excluded Delete files on dest excluded from sync
  12635. --exclude stringArray Exclude files matching pattern
  12636. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  12637. --exclude-if-present stringArray Exclude directories if filename is present
  12638. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  12639. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  12640. -f, --filter stringArray Add a file filtering rule
  12641. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  12642. --ignore-case Ignore case in filters (case insensitive)
  12643. --include stringArray Include files matching pattern
  12644. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  12645. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  12646. --max-depth int If set limits the recursion depth to this (default -1)
  12647. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  12648. --metadata-exclude stringArray Exclude metadatas matching pattern
  12649. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  12650. --metadata-filter stringArray Add a metadata filtering rule
  12651. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  12652. --metadata-include stringArray Include metadatas matching pattern
  12653. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  12654. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  12655. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  12656. \f[R]
  12657. .fi
  12658. .PP
  12659. See the global flags page (https://rclone.org/flags/) for global options
  12660. not listed here.
  12661. .SH SEE ALSO
  12662. .IP \[bu] 2
  12663. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  12664. remote over a protocol.
  12665. .SH rclone serve restic
  12666. .PP
  12667. Serve the remote for restic\[aq]s REST API.
  12668. .SS Synopsis
  12669. .PP
  12670. Run a basic web server to serve a remote over restic\[aq]s REST backend
  12671. API over HTTP.
  12672. This allows restic to use rclone as a data storage mechanism for cloud
  12673. providers that restic does not support directly.
  12674. .PP
  12675. Restic (https://restic.net/) is a command-line program for doing
  12676. backups.
  12677. .PP
  12678. The server will log errors.
  12679. Use -v to see access logs.
  12680. .PP
  12681. \f[C]--bwlimit\f[R] will be respected for file transfers.
  12682. Use \f[C]--stats\f[R] to control the stats printing.
  12683. .SS Setting up rclone for use by restic
  12684. .PP
  12685. First set up a remote for your chosen cloud
  12686. provider (https://rclone.org/docs/#configure).
  12687. .PP
  12688. Once you have set up the remote, check it is working with, for example
  12689. \[dq]rclone lsd remote:\[dq].
  12690. You may have called the remote something other than \[dq]remote:\[dq] -
  12691. just substitute whatever you called it in the following instructions.
  12692. .PP
  12693. Now start the rclone restic server
  12694. .IP
  12695. .nf
  12696. \f[C]
  12697. rclone serve restic -v remote:backup
  12698. \f[R]
  12699. .fi
  12700. .PP
  12701. Where you can replace \[dq]backup\[dq] in the above by whatever path in
  12702. the remote you wish to use.
  12703. .PP
  12704. By default this will serve on \[dq]localhost:8080\[dq] you can change
  12705. this with use of the \f[C]--addr\f[R] flag.
  12706. .PP
  12707. You might wish to start this server on boot.
  12708. .PP
  12709. Adding \f[C]--cache-objects=false\f[R] will cause rclone to stop caching
  12710. objects returned from the List call.
  12711. Caching is normally desirable as it speeds up downloading objects, saves
  12712. transactions and uses very little memory.
  12713. .SS Setting up restic to use rclone
  12714. .PP
  12715. Now you can follow the restic
  12716. instructions (http://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#rest-server)
  12717. on setting up restic.
  12718. .PP
  12719. Note that you will need restic 0.8.2 or later to interoperate with
  12720. rclone.
  12721. .PP
  12722. For the example above you will want to use
  12723. \[dq]http://localhost:8080/\[dq] as the URL for the REST server.
  12724. .PP
  12725. For example:
  12726. .IP
  12727. .nf
  12728. \f[C]
  12729. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/
  12730. $ export RESTIC_PASSWORD=yourpassword
  12731. $ restic init
  12732. created restic backend 8b1a4b56ae at rest:http://localhost:8080/
  12733. Please note that knowledge of your password is required to access
  12734. the repository. Losing your password means that your data is
  12735. irrecoverably lost.
  12736. $ restic backup /path/to/files/to/backup
  12737. scan [/path/to/files/to/backup]
  12738. scanned 189 directories, 312 files in 0:00
  12739. [0:00] 100.00% 38.128 MiB / 38.128 MiB 501 / 501 items 0 errors ETA 0:00
  12740. duration: 0:00
  12741. snapshot 45c8fdd8 saved
  12742. \f[R]
  12743. .fi
  12744. .SS Multiple repositories
  12745. .PP
  12746. Note that you can use the endpoint to host multiple repositories.
  12747. Do this by adding a directory name or path after the URL.
  12748. Note that these \f[B]must\f[R] end with /.
  12749. Eg
  12750. .IP
  12751. .nf
  12752. \f[C]
  12753. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/
  12754. # backup user1 stuff
  12755. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/
  12756. # backup user2 stuff
  12757. \f[R]
  12758. .fi
  12759. .SS Private repositories
  12760. .PP
  12761. The\f[C]--private-repos\f[R] flag can be used to limit users to
  12762. repositories starting with a path of \f[C]/<username>/\f[R].
  12763. .SS Server options
  12764. .PP
  12765. Use \f[C]--addr\f[R] to specify which IP address and port the server
  12766. should listen on, eg \f[C]--addr 1.2.3.4:8000\f[R] or
  12767. \f[C]--addr :8080\f[R] to listen to all IPs.
  12768. By default it only listens on localhost.
  12769. You can use port :0 to let the OS choose an available port.
  12770. .PP
  12771. If you set \f[C]--addr\f[R] to listen on a public or LAN accessible IP
  12772. address then using Authentication is advised - see the next section for
  12773. info.
  12774. .PP
  12775. You can use a unix socket by setting the url to
  12776. \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name.
  12777. Note that unix sockets bypass the authentication - this is expected to
  12778. be done with file system permissions.
  12779. .PP
  12780. \f[C]--addr\f[R] may be repeated to listen on multiple
  12781. IPs/ports/sockets.
  12782. .PP
  12783. \f[C]--server-read-timeout\f[R] and \f[C]--server-write-timeout\f[R] can
  12784. be used to control the timeouts on the server.
  12785. Note that this is the total time for a transfer.
  12786. .PP
  12787. \f[C]--max-header-bytes\f[R] controls the maximum number of bytes the
  12788. server will accept in the HTTP header.
  12789. .PP
  12790. \f[C]--baseurl\f[R] controls the URL prefix that rclone serves from.
  12791. By default rclone will serve from the root.
  12792. If you used \f[C]--baseurl \[dq]/rclone\[dq]\f[R] then rclone would
  12793. serve from a URL starting with \[dq]/rclone/\[dq].
  12794. This is useful if you wish to proxy rclone serve.
  12795. Rclone automatically inserts leading and trailing \[dq]/\[dq] on
  12796. \f[C]--baseurl\f[R], so \f[C]--baseurl \[dq]rclone\[dq]\f[R],
  12797. \f[C]--baseurl \[dq]/rclone\[dq]\f[R] and
  12798. \f[C]--baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically.
  12799. .SS TLS (SSL)
  12800. .PP
  12801. By default this will serve over http.
  12802. If you want you can serve over https.
  12803. You will need to supply the \f[C]--cert\f[R] and \f[C]--key\f[R] flags.
  12804. If you wish to do client side certificate validation then you will need
  12805. to supply \f[C]--client-ca\f[R] also.
  12806. .PP
  12807. \f[C]--cert\f[R] should be a either a PEM encoded certificate or a
  12808. concatenation of that with the CA certificate.
  12809. \f[C]--key\f[R] should be the PEM encoded private key and
  12810. \f[C]--client-ca\f[R] should be the PEM encoded client certificate
  12811. authority certificate.
  12812. .PP
  12813. --min-tls-version is minimum TLS version that is acceptable.
  12814. Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq]
  12815. and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]).
  12816. .SS Authentication
  12817. .PP
  12818. By default this will serve files without needing a login.
  12819. .PP
  12820. You can either use an htpasswd file which can take lots of users, or set
  12821. a single username and password with the \f[C]--user\f[R] and
  12822. \f[C]--pass\f[R] flags.
  12823. .PP
  12824. If no static users are configured by either of the above methods, and
  12825. client certificates are required by the \f[C]--client-ca\f[R] flag
  12826. passed to the server, the client certificate common name will be
  12827. considered as the username.
  12828. .PP
  12829. Use \f[C]--htpasswd /path/to/htpasswd\f[R] to provide an htpasswd file.
  12830. This is in standard apache format and supports MD5, SHA1 and BCrypt for
  12831. basic authentication.
  12832. Bcrypt is recommended.
  12833. .PP
  12834. To create an htpasswd file:
  12835. .IP
  12836. .nf
  12837. \f[C]
  12838. touch htpasswd
  12839. htpasswd -B htpasswd user
  12840. htpasswd -B htpasswd anotherUser
  12841. \f[R]
  12842. .fi
  12843. .PP
  12844. The password file can be updated while rclone is running.
  12845. .PP
  12846. Use \f[C]--realm\f[R] to set the authentication realm.
  12847. .PP
  12848. Use \f[C]--salt\f[R] to change the password hashing salt from the
  12849. default.
  12850. .IP
  12851. .nf
  12852. \f[C]
  12853. rclone serve restic remote:path [flags]
  12854. \f[R]
  12855. .fi
  12856. .SS Options
  12857. .IP
  12858. .nf
  12859. \f[C]
  12860. --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080])
  12861. --allow-origin string Origin which cross-domain request (CORS) can be executed from
  12862. --append-only Disallow deletion of repository data
  12863. --baseurl string Prefix for URLs - leave blank for root
  12864. --cache-objects Cache listed objects (default true)
  12865. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  12866. --client-ca string Client certificate authority to verify clients with
  12867. -h, --help help for restic
  12868. --htpasswd string A htpasswd file - if not provided no authentication is done
  12869. --key string TLS PEM Private key
  12870. --max-header-bytes int Maximum size of request header (default 4096)
  12871. --min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq])
  12872. --pass string Password for authentication
  12873. --private-repos Users can only access their private repo
  12874. --realm string Realm for authentication
  12875. --salt string Password hashing salt (default \[dq]dlPL2MqE\[dq])
  12876. --server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  12877. --server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  12878. --stdio Run an HTTP2 server on stdin/stdout
  12879. --user string User name for authentication
  12880. \f[R]
  12881. .fi
  12882. .PP
  12883. See the global flags page (https://rclone.org/flags/) for global options
  12884. not listed here.
  12885. .SH SEE ALSO
  12886. .IP \[bu] 2
  12887. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  12888. remote over a protocol.
  12889. .SH rclone serve s3
  12890. .PP
  12891. Serve remote:path over s3.
  12892. .SS Synopsis
  12893. .PP
  12894. \f[C]serve s3\f[R] implements a basic s3 server that serves a remote via
  12895. s3.
  12896. This can be viewed with an s3 client, or you can make an s3 type
  12897. remote (https://rclone.org/s3/) to read and write to it with rclone.
  12898. .PP
  12899. \f[C]serve s3\f[R] is considered \f[B]Experimental\f[R] so use with
  12900. care.
  12901. .PP
  12902. S3 server supports Signature Version 4 authentication.
  12903. Just use \f[C]--auth-key accessKey,secretKey\f[R] and set the
  12904. \f[C]Authorization\f[R] header correctly in the request.
  12905. (See the AWS
  12906. docs (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)).
  12907. .PP
  12908. \f[C]--auth-key\f[R] can be repeated for multiple auth pairs.
  12909. If \f[C]--auth-key\f[R] is not provided then \f[C]serve s3\f[R] will
  12910. allow anonymous access.
  12911. .PP
  12912. Please note that some clients may require HTTPS endpoints.
  12913. See the SSL docs for more information.
  12914. .PP
  12915. This command uses the VFS directory cache.
  12916. All the functionality will work with \f[C]--vfs-cache-mode off\f[R].
  12917. Using \f[C]--vfs-cache-mode full\f[R] (or \f[C]writes\f[R]) can be used
  12918. to cache objects locally to improve performance.
  12919. .PP
  12920. Use \f[C]--force-path-style=false\f[R] if you want to use the bucket
  12921. name as a part of the hostname (such as mybucket.local)
  12922. .PP
  12923. Use \f[C]--etag-hash\f[R] if you want to change the hash uses for the
  12924. \f[C]ETag\f[R].
  12925. Note that using anything other than \f[C]MD5\f[R] (the default) is
  12926. likely to cause problems for S3 clients which rely on the Etag being the
  12927. MD5.
  12928. .SS Quickstart
  12929. .PP
  12930. For a simple set up, to serve \f[C]remote:path\f[R] over s3, run the
  12931. server like this:
  12932. .IP
  12933. .nf
  12934. \f[C]
  12935. rclone serve s3 --auth-key ACCESS_KEY_ID,SECRET_ACCESS_KEY remote:path
  12936. \f[R]
  12937. .fi
  12938. .PP
  12939. This will be compatible with an rclone remote which is defined like
  12940. this:
  12941. .IP
  12942. .nf
  12943. \f[C]
  12944. [serves3]
  12945. type = s3
  12946. provider = Rclone
  12947. endpoint = http://127.0.0.1:8080/
  12948. access_key_id = ACCESS_KEY_ID
  12949. secret_access_key = SECRET_ACCESS_KEY
  12950. use_multipart_uploads = false
  12951. \f[R]
  12952. .fi
  12953. .PP
  12954. Note that setting \f[C]disable_multipart_uploads = true\f[R] is to work
  12955. around a bug which will be fixed in due course.
  12956. .SS Bugs
  12957. .PP
  12958. When uploading multipart files \f[C]serve s3\f[R] holds all the parts in
  12959. memory (see #7453 (https://github.com/rclone/rclone/issues/7453)).
  12960. This is a limitaton of the library rclone uses for serving S3 and will
  12961. hopefully be fixed at some point.
  12962. .PP
  12963. Multipart server side copies do not work (see
  12964. #7454 (https://github.com/rclone/rclone/issues/7454)).
  12965. These take a very long time and eventually fail.
  12966. The default threshold for multipart server side copies is 5G which is
  12967. the maximum it can be, so files above this side will fail to be server
  12968. side copied.
  12969. .PP
  12970. For a current list of \f[C]serve s3\f[R] bugs see the serve
  12971. s3 (https://github.com/rclone/rclone/labels/serve%20s3) bug category on
  12972. GitHub.
  12973. .SS Limitations
  12974. .PP
  12975. \f[C]serve s3\f[R] will treat all directories in the root as buckets and
  12976. ignore all files in the root.
  12977. You can use \f[C]CreateBucket\f[R] to create folders under the root, but
  12978. you can\[aq]t create empty folders under other folders not in the root.
  12979. .PP
  12980. When using \f[C]PutObject\f[R] or \f[C]DeleteObject\f[R], rclone will
  12981. automatically create or clean up empty folders.
  12982. If you don\[aq]t want to clean up empty folders automatically, use
  12983. \f[C]--no-cleanup\f[R].
  12984. .PP
  12985. When using \f[C]ListObjects\f[R], rclone will use \f[C]/\f[R] when the
  12986. delimiter is empty.
  12987. This reduces backend requests with no effect on most operations, but if
  12988. the delimiter is something other than \f[C]/\f[R] and empty, rclone will
  12989. do a full recursive search of the backend, which can take some time.
  12990. .PP
  12991. Versioning is not currently supported.
  12992. .PP
  12993. Metadata will only be saved in memory other than the rclone
  12994. \f[C]mtime\f[R] metadata which will be set as the modification time of
  12995. the file.
  12996. .SS Supported operations
  12997. .PP
  12998. \f[C]serve s3\f[R] currently supports the following operations.
  12999. .IP \[bu] 2
  13000. Bucket
  13001. .RS 2
  13002. .IP \[bu] 2
  13003. \f[C]ListBuckets\f[R]
  13004. .IP \[bu] 2
  13005. \f[C]CreateBucket\f[R]
  13006. .IP \[bu] 2
  13007. \f[C]DeleteBucket\f[R]
  13008. .RE
  13009. .IP \[bu] 2
  13010. Object
  13011. .RS 2
  13012. .IP \[bu] 2
  13013. \f[C]HeadObject\f[R]
  13014. .IP \[bu] 2
  13015. \f[C]ListObjects\f[R]
  13016. .IP \[bu] 2
  13017. \f[C]GetObject\f[R]
  13018. .IP \[bu] 2
  13019. \f[C]PutObject\f[R]
  13020. .IP \[bu] 2
  13021. \f[C]DeleteObject\f[R]
  13022. .IP \[bu] 2
  13023. \f[C]DeleteObjects\f[R]
  13024. .IP \[bu] 2
  13025. \f[C]CreateMultipartUpload\f[R]
  13026. .IP \[bu] 2
  13027. \f[C]CompleteMultipartUpload\f[R]
  13028. .IP \[bu] 2
  13029. \f[C]AbortMultipartUpload\f[R]
  13030. .IP \[bu] 2
  13031. \f[C]CopyObject\f[R]
  13032. .IP \[bu] 2
  13033. \f[C]UploadPart\f[R]
  13034. .RE
  13035. .PP
  13036. Other operations will return error \f[C]Unimplemented\f[R].
  13037. .SS Server options
  13038. .PP
  13039. Use \f[C]--addr\f[R] to specify which IP address and port the server
  13040. should listen on, eg \f[C]--addr 1.2.3.4:8000\f[R] or
  13041. \f[C]--addr :8080\f[R] to listen to all IPs.
  13042. By default it only listens on localhost.
  13043. You can use port :0 to let the OS choose an available port.
  13044. .PP
  13045. If you set \f[C]--addr\f[R] to listen on a public or LAN accessible IP
  13046. address then using Authentication is advised - see the next section for
  13047. info.
  13048. .PP
  13049. You can use a unix socket by setting the url to
  13050. \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name.
  13051. Note that unix sockets bypass the authentication - this is expected to
  13052. be done with file system permissions.
  13053. .PP
  13054. \f[C]--addr\f[R] may be repeated to listen on multiple
  13055. IPs/ports/sockets.
  13056. .PP
  13057. \f[C]--server-read-timeout\f[R] and \f[C]--server-write-timeout\f[R] can
  13058. be used to control the timeouts on the server.
  13059. Note that this is the total time for a transfer.
  13060. .PP
  13061. \f[C]--max-header-bytes\f[R] controls the maximum number of bytes the
  13062. server will accept in the HTTP header.
  13063. .PP
  13064. \f[C]--baseurl\f[R] controls the URL prefix that rclone serves from.
  13065. By default rclone will serve from the root.
  13066. If you used \f[C]--baseurl \[dq]/rclone\[dq]\f[R] then rclone would
  13067. serve from a URL starting with \[dq]/rclone/\[dq].
  13068. This is useful if you wish to proxy rclone serve.
  13069. Rclone automatically inserts leading and trailing \[dq]/\[dq] on
  13070. \f[C]--baseurl\f[R], so \f[C]--baseurl \[dq]rclone\[dq]\f[R],
  13071. \f[C]--baseurl \[dq]/rclone\[dq]\f[R] and
  13072. \f[C]--baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically.
  13073. .SS TLS (SSL)
  13074. .PP
  13075. By default this will serve over http.
  13076. If you want you can serve over https.
  13077. You will need to supply the \f[C]--cert\f[R] and \f[C]--key\f[R] flags.
  13078. If you wish to do client side certificate validation then you will need
  13079. to supply \f[C]--client-ca\f[R] also.
  13080. .PP
  13081. \f[C]--cert\f[R] should be a either a PEM encoded certificate or a
  13082. concatenation of that with the CA certificate.
  13083. \f[C]--key\f[R] should be the PEM encoded private key and
  13084. \f[C]--client-ca\f[R] should be the PEM encoded client certificate
  13085. authority certificate.
  13086. .PP
  13087. --min-tls-version is minimum TLS version that is acceptable.
  13088. Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq]
  13089. and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]).
  13090. ## VFS - Virtual File System
  13091. .PP
  13092. This command uses the VFS layer.
  13093. This adapts the cloud storage objects that rclone uses into something
  13094. which looks much more like a disk filing system.
  13095. .PP
  13096. Cloud storage objects have lots of properties which aren\[aq]t like disk
  13097. files - you can\[aq]t extend them or write to the middle of them, so the
  13098. VFS layer has to deal with that.
  13099. Because there is no one right way of doing this there are various
  13100. options explained below.
  13101. .PP
  13102. The VFS layer also implements a directory cache - this caches info about
  13103. files and directories (but not the data) in memory.
  13104. .SS VFS Directory Cache
  13105. .PP
  13106. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  13107. directory should be considered up to date and not refreshed from the
  13108. backend.
  13109. Changes made through the VFS will appear immediately or invalidate the
  13110. cache.
  13111. .IP
  13112. .nf
  13113. \f[C]
  13114. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  13115. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  13116. \f[R]
  13117. .fi
  13118. .PP
  13119. However, changes made directly on the cloud storage by the web interface
  13120. or a different copy of rclone will only be picked up once the directory
  13121. cache expires if the backend configured does not support polling for
  13122. changes.
  13123. If the backend supports polling, changes will be picked up within the
  13124. polling interval.
  13125. .PP
  13126. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  13127. directory caches, regardless of how old they are.
  13128. Assuming only one rclone instance is running, you can reset the cache
  13129. like this:
  13130. .IP
  13131. .nf
  13132. \f[C]
  13133. kill -SIGHUP $(pidof rclone)
  13134. \f[R]
  13135. .fi
  13136. .PP
  13137. If you configure rclone with a remote control then you can use rclone rc
  13138. to flush the whole directory cache:
  13139. .IP
  13140. .nf
  13141. \f[C]
  13142. rclone rc vfs/forget
  13143. \f[R]
  13144. .fi
  13145. .PP
  13146. Or individual files or directories:
  13147. .IP
  13148. .nf
  13149. \f[C]
  13150. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  13151. \f[R]
  13152. .fi
  13153. .SS VFS File Buffering
  13154. .PP
  13155. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  13156. will be used to buffer data in advance.
  13157. .PP
  13158. Each open file will try to keep the specified amount of data in memory
  13159. at all times.
  13160. The buffered data is bound to one open file and won\[aq]t be shared.
  13161. .PP
  13162. This flag is a upper limit for the used memory per open file.
  13163. The buffer will only use memory for data that is downloaded but not not
  13164. yet read.
  13165. If the buffer is empty, only a small amount of memory will be used.
  13166. .PP
  13167. The maximum memory used by rclone for buffering can be up to
  13168. \f[C]--buffer-size * open files\f[R].
  13169. .SS VFS File Caching
  13170. .PP
  13171. These flags control the VFS file caching options.
  13172. File caching is necessary to make the VFS layer appear compatible with a
  13173. normal file system.
  13174. It can be disabled at the cost of some compatibility.
  13175. .PP
  13176. For example you\[aq]ll need to enable VFS caching if you want to read
  13177. and write simultaneously to a file.
  13178. See below for more details.
  13179. .PP
  13180. Note that the VFS cache is separate from the cache backend and you may
  13181. find that you need one or the other or both.
  13182. .IP
  13183. .nf
  13184. \f[C]
  13185. --cache-dir string Directory rclone will use for caching.
  13186. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  13187. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  13188. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  13189. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  13190. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  13191. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  13192. \f[R]
  13193. .fi
  13194. .PP
  13195. If run with \f[C]-vv\f[R] rclone will print the location of the file
  13196. cache.
  13197. The files are stored in the user cache file area which is OS dependent
  13198. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  13199. appropriate environment variable.
  13200. .PP
  13201. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  13202. The higher the cache mode the more compatible rclone becomes at the cost
  13203. of using disk space.
  13204. .PP
  13205. Note that files are written back to the remote only when they are closed
  13206. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  13207. seconds.
  13208. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  13209. these will be uploaded next time rclone is run with the same flags.
  13210. .PP
  13211. If using \f[C]--vfs-cache-max-size\f[R] or
  13212. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  13213. quotas for two reasons.
  13214. Firstly because it is only checked every
  13215. \f[C]--vfs-cache-poll-interval\f[R].
  13216. Secondly because open files cannot be evicted from the cache.
  13217. When \f[C]--vfs-cache-max-size\f[R] or
  13218. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  13219. evict the least accessed files from the cache first.
  13220. rclone will start with files that haven\[aq]t been accessed for the
  13221. longest.
  13222. This cache flushing strategy is efficient and more relevant files are
  13223. likely to remain cached.
  13224. .PP
  13225. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  13226. the set time since last access has passed.
  13227. The default value of 1 hour will start evicting files from cache that
  13228. haven\[aq]t been accessed for 1 hour.
  13229. When a cached file is accessed the 1 hour timer is reset to 0 and will
  13230. wait for 1 more hour before evicting.
  13231. Specify the time with standard notation, s, m, h, d, w .
  13232. .PP
  13233. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  13234. cache with the same or overlapping remotes if using
  13235. \f[C]--vfs-cache-mode > off\f[R].
  13236. This can potentially cause data corruption if you do.
  13237. You can work around this by giving each rclone its own cache hierarchy
  13238. with \f[C]--cache-dir\f[R].
  13239. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  13240. overlap.
  13241. .SS --vfs-cache-mode off
  13242. .PP
  13243. In this mode (the default) the cache will read directly from the remote
  13244. and write directly to the remote without caching anything on disk.
  13245. .PP
  13246. This will mean some operations are not possible
  13247. .IP \[bu] 2
  13248. Files can\[aq]t be opened for both read AND write
  13249. .IP \[bu] 2
  13250. Files opened for write can\[aq]t be seeked
  13251. .IP \[bu] 2
  13252. Existing files opened for write must have O_TRUNC set
  13253. .IP \[bu] 2
  13254. Files open for read with O_TRUNC will be opened write only
  13255. .IP \[bu] 2
  13256. Files open for write only will behave as if O_TRUNC was supplied
  13257. .IP \[bu] 2
  13258. Open modes O_APPEND, O_TRUNC are ignored
  13259. .IP \[bu] 2
  13260. If an upload fails it can\[aq]t be retried
  13261. .SS --vfs-cache-mode minimal
  13262. .PP
  13263. This is very similar to \[dq]off\[dq] except that files opened for read
  13264. AND write will be buffered to disk.
  13265. This means that files opened for write will be a lot more compatible,
  13266. but uses the minimal disk space.
  13267. .PP
  13268. These operations are not possible
  13269. .IP \[bu] 2
  13270. Files opened for write only can\[aq]t be seeked
  13271. .IP \[bu] 2
  13272. Existing files opened for write must have O_TRUNC set
  13273. .IP \[bu] 2
  13274. Files opened for write only will ignore O_APPEND, O_TRUNC
  13275. .IP \[bu] 2
  13276. If an upload fails it can\[aq]t be retried
  13277. .SS --vfs-cache-mode writes
  13278. .PP
  13279. In this mode files opened for read only are still read directly from the
  13280. remote, write only and read/write files are buffered to disk first.
  13281. .PP
  13282. This mode should support all normal file system operations.
  13283. .PP
  13284. If an upload fails it will be retried at exponentially increasing
  13285. intervals up to 1 minute.
  13286. .SS --vfs-cache-mode full
  13287. .PP
  13288. In this mode all reads and writes are buffered to and from disk.
  13289. When data is read from the remote this is buffered to disk as well.
  13290. .PP
  13291. In this mode the files in the cache will be sparse files and rclone will
  13292. keep track of which bits of the files it has downloaded.
  13293. .PP
  13294. So if an application only reads the starts of each file, then rclone
  13295. will only buffer the start of the file.
  13296. These files will appear to be their full size in the cache, but they
  13297. will be sparse files with only the data that has been downloaded present
  13298. in them.
  13299. .PP
  13300. This mode should support all normal file system operations and is
  13301. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  13302. .PP
  13303. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  13304. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  13305. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  13306. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  13307. .PP
  13308. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  13309. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  13310. required.
  13311. .PP
  13312. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  13313. In particular FAT/exFAT do not.
  13314. Rclone will perform very badly if the cache directory is on a filesystem
  13315. which doesn\[aq]t support sparse files and it will log an ERROR message
  13316. if one is detected.
  13317. .SS Fingerprinting
  13318. .PP
  13319. Various parts of the VFS use fingerprinting to see if a local file copy
  13320. has changed relative to a remote file.
  13321. Fingerprints are made from:
  13322. .IP \[bu] 2
  13323. size
  13324. .IP \[bu] 2
  13325. modification time
  13326. .IP \[bu] 2
  13327. hash
  13328. .PP
  13329. where available on an object.
  13330. .PP
  13331. On some backends some of these attributes are slow to read (they take an
  13332. extra API call per object, or extra work per object).
  13333. .PP
  13334. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  13335. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  13336. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  13337. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  13338. they need to do an extra API call to fetch it.
  13339. .PP
  13340. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  13341. not include the slow operations in the fingerprint.
  13342. This makes the fingerprinting less accurate but much faster and will
  13343. improve the opening time of cached files.
  13344. .PP
  13345. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  13346. \f[C]swift\f[R] backends then using this flag is recommended.
  13347. .PP
  13348. Note that if you change the value of this flag, the fingerprints of the
  13349. files in the cache may be invalidated and the files will need to be
  13350. downloaded again.
  13351. .SS VFS Chunked Reading
  13352. .PP
  13353. When rclone reads files from a remote it reads them in chunks.
  13354. This means that rather than requesting the whole file rclone reads the
  13355. chunk specified.
  13356. This can reduce the used download quota for some remotes by requesting
  13357. only chunks from the remote that are actually read, at the cost of an
  13358. increased number of requests.
  13359. .PP
  13360. These flags control the chunking:
  13361. .IP
  13362. .nf
  13363. \f[C]
  13364. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  13365. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  13366. \f[R]
  13367. .fi
  13368. .PP
  13369. Rclone will start reading a chunk of size
  13370. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  13371. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  13372. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  13373. will get doubled only until the specified value is reached.
  13374. If the value is \[dq]off\[dq], which is the default, the limit is
  13375. disabled and the chunk size will grow indefinitely.
  13376. .PP
  13377. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  13378. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  13379. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  13380. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  13381. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  13382. on.
  13383. .PP
  13384. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  13385. disables chunked reading.
  13386. .SS VFS Performance
  13387. .PP
  13388. These flags may be used to enable/disable features of the VFS for
  13389. performance or other reasons.
  13390. See also the chunked reading feature.
  13391. .PP
  13392. In particular S3 and Swift benefit hugely from the
  13393. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  13394. slightly different effect) as each read of the modification time takes a
  13395. transaction.
  13396. .IP
  13397. .nf
  13398. \f[C]
  13399. --no-checksum Don\[aq]t compare checksums on up/download.
  13400. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  13401. --no-seek Don\[aq]t allow seeking in files.
  13402. --read-only Only allow read-only access.
  13403. \f[R]
  13404. .fi
  13405. .PP
  13406. Sometimes rclone is delivered reads or writes out of order.
  13407. Rather than seeking rclone will wait a short time for the in sequence
  13408. read or write to come in.
  13409. These flags only come into effect when not using an on disk cache file.
  13410. .IP
  13411. .nf
  13412. \f[C]
  13413. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  13414. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  13415. \f[R]
  13416. .fi
  13417. .PP
  13418. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  13419. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  13420. adjust the number of parallel uploads of modified files from the cache
  13421. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  13422. .IP
  13423. .nf
  13424. \f[C]
  13425. --transfers int Number of file transfers to run in parallel (default 4)
  13426. \f[R]
  13427. .fi
  13428. .SS VFS Case Sensitivity
  13429. .PP
  13430. Linux file systems are case-sensitive: two files can differ only by
  13431. case, and the exact case must be used when opening a file.
  13432. .PP
  13433. File systems in modern Windows are case-insensitive but case-preserving:
  13434. although existing files can be opened using any case, the exact case
  13435. used to create the file is preserved and available for programs to
  13436. query.
  13437. It is not allowed for two files in the same directory to differ only by
  13438. case.
  13439. .PP
  13440. Usually file systems on macOS are case-insensitive.
  13441. It is possible to make macOS file systems case-sensitive but that is not
  13442. the default.
  13443. .PP
  13444. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  13445. handles these two cases.
  13446. If its value is \[dq]false\[dq], rclone passes file names to the remote
  13447. as-is.
  13448. If the flag is \[dq]true\[dq] (or appears without a value on the command
  13449. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  13450. .PP
  13451. The user may specify a file name to open/delete/rename/etc with a case
  13452. different than what is stored on the remote.
  13453. If an argument refers to an existing file with exactly the same name,
  13454. then the case of the existing file on the disk will be used.
  13455. However, if a file name with exactly the same name is not found but a
  13456. name differing only by case exists, rclone will transparently fixup the
  13457. name.
  13458. This fixup happens only when an existing file is requested.
  13459. Case sensitivity of file names created anew by rclone is controlled by
  13460. the underlying remote.
  13461. .PP
  13462. Note that case sensitivity of the operating system running rclone (the
  13463. target) may differ from case sensitivity of a file system presented by
  13464. rclone (the source).
  13465. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  13466. target.
  13467. .PP
  13468. If the flag is not provided on the command line, then its default value
  13469. depends on the operating system where rclone runs: \[dq]true\[dq] on
  13470. Windows and macOS, \[dq]false\[dq] otherwise.
  13471. If the flag is provided without a value, then it is \[dq]true\[dq].
  13472. .PP
  13473. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  13474. \[dq]fixup\[dq] is performed for filenames that differ but are
  13475. canonically
  13476. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  13477. respect to unicode.
  13478. Unicode normalization can be particularly helpful for users of macOS,
  13479. which prefers form NFD instead of the NFC used by most other platforms.
  13480. It is therefore highly recommended to keep the default of
  13481. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  13482. .PP
  13483. In the (probably unlikely) event that a directory has multiple duplicate
  13484. filenames after applying case and unicode normalization, the
  13485. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  13486. This comes with a performance tradeoff, as rclone will have to scan the
  13487. entire directory for duplicates when listing a directory.
  13488. For this reason, it is recommended to leave this disabled if not needed.
  13489. However, macOS users may wish to consider using it, as otherwise, if a
  13490. remote directory contains both NFC and NFD versions of the same
  13491. filename, an odd situation will occur: both versions of the file will be
  13492. visible in the mount, and both will appear to be editable, however,
  13493. editing either version will actually result in only the NFD version
  13494. getting edited under the hood.
  13495. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  13496. this scenario, hiding the duplicates, and logging an error, similar to
  13497. how this is handled in \f[C]rclone sync\f[R].
  13498. .SS VFS Disk Options
  13499. .PP
  13500. This flag allows you to manually set the statistics about the filing
  13501. system.
  13502. It can be useful when those statistics cannot be read correctly
  13503. automatically.
  13504. .IP
  13505. .nf
  13506. \f[C]
  13507. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  13508. \f[R]
  13509. .fi
  13510. .SS Alternate report of used bytes
  13511. .PP
  13512. Some backends, most notably S3, do not report the amount of bytes used.
  13513. If you need this information to be available when running \f[C]df\f[R]
  13514. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  13515. rclone.
  13516. With this flag set, instead of relying on the backend to report this
  13517. information, rclone will scan the whole remote similar to
  13518. \f[C]rclone size\f[R] and compute the total used space itself.
  13519. .PP
  13520. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  13521. filters so that the result is accurate.
  13522. However, this is very inefficient and may cost lots of API calls
  13523. resulting in extra charges.
  13524. Use it as a last resort and only with caching.
  13525. .IP
  13526. .nf
  13527. \f[C]
  13528. rclone serve s3 remote:path [flags]
  13529. \f[R]
  13530. .fi
  13531. .SS Options
  13532. .IP
  13533. .nf
  13534. \f[C]
  13535. --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080])
  13536. --allow-origin string Origin which cross-domain request (CORS) can be executed from
  13537. --auth-key stringArray Set key pair for v4 authorization: access_key_id,secret_access_key
  13538. --baseurl string Prefix for URLs - leave blank for root
  13539. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  13540. --client-ca string Client certificate authority to verify clients with
  13541. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  13542. --dir-perms FileMode Directory permissions (default 0777)
  13543. --etag-hash string Which hash to use for the ETag, or auto or blank for off (default \[dq]MD5\[dq])
  13544. --file-perms FileMode File permissions (default 0666)
  13545. --force-path-style If true use path style access if false use virtual hosted style (default true) (default true)
  13546. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  13547. -h, --help help for s3
  13548. --key string TLS PEM Private key
  13549. --max-header-bytes int Maximum size of request header (default 4096)
  13550. --min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq])
  13551. --no-checksum Don\[aq]t compare checksums on up/download
  13552. --no-cleanup Not to cleanup empty folder after object is deleted
  13553. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  13554. --no-seek Don\[aq]t allow seeking in files
  13555. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  13556. --read-only Only allow read-only access
  13557. --server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  13558. --server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  13559. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  13560. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  13561. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  13562. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  13563. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  13564. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  13565. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  13566. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  13567. --vfs-case-insensitive If a file name not found, find a case insensitive match
  13568. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  13569. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  13570. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  13571. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  13572. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  13573. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  13574. --vfs-refresh Refreshes the directory cache recursively in the background on start
  13575. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  13576. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  13577. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  13578. \f[R]
  13579. .fi
  13580. .SS Filter Options
  13581. .PP
  13582. Flags for filtering directory listings.
  13583. .IP
  13584. .nf
  13585. \f[C]
  13586. --delete-excluded Delete files on dest excluded from sync
  13587. --exclude stringArray Exclude files matching pattern
  13588. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  13589. --exclude-if-present stringArray Exclude directories if filename is present
  13590. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  13591. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  13592. -f, --filter stringArray Add a file filtering rule
  13593. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  13594. --ignore-case Ignore case in filters (case insensitive)
  13595. --include stringArray Include files matching pattern
  13596. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  13597. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  13598. --max-depth int If set limits the recursion depth to this (default -1)
  13599. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  13600. --metadata-exclude stringArray Exclude metadatas matching pattern
  13601. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  13602. --metadata-filter stringArray Add a metadata filtering rule
  13603. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  13604. --metadata-include stringArray Include metadatas matching pattern
  13605. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  13606. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  13607. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  13608. \f[R]
  13609. .fi
  13610. .PP
  13611. See the global flags page (https://rclone.org/flags/) for global options
  13612. not listed here.
  13613. .SH SEE ALSO
  13614. .IP \[bu] 2
  13615. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  13616. remote over a protocol.
  13617. .SH rclone serve sftp
  13618. .PP
  13619. Serve the remote over SFTP.
  13620. .SS Synopsis
  13621. .PP
  13622. Run an SFTP server to serve a remote over SFTP.
  13623. This can be used with an SFTP client or you can make a remote of type
  13624. sftp to use with it.
  13625. .PP
  13626. You can use the filter flags (e.g.
  13627. \f[C]--include\f[R], \f[C]--exclude\f[R]) to control what is served.
  13628. .PP
  13629. The server will respond to a small number of shell commands, mainly
  13630. md5sum, sha1sum and df, which enable it to provide support for checksums
  13631. and the about feature when accessed from an sftp remote.
  13632. .PP
  13633. Note that this server uses standard 32 KiB packet payload size, which
  13634. means you must not configure the client to expect anything else, e.g.
  13635. with the chunk_size (https://rclone.org/sftp/#sftp-chunk-size) option on
  13636. an sftp remote.
  13637. .PP
  13638. The server will log errors.
  13639. Use \f[C]-v\f[R] to see access logs.
  13640. .PP
  13641. \f[C]--bwlimit\f[R] will be respected for file transfers.
  13642. Use \f[C]--stats\f[R] to control the stats printing.
  13643. .PP
  13644. You must provide some means of authentication, either with
  13645. \f[C]--user\f[R]/\f[C]--pass\f[R], an authorized keys file (specify
  13646. location with \f[C]--authorized-keys\f[R] - the default is the same as
  13647. ssh), an \f[C]--auth-proxy\f[R], or set the \f[C]--no-auth\f[R] flag for
  13648. no authentication when logging in.
  13649. .PP
  13650. If you don\[aq]t supply a host \f[C]--key\f[R] then rclone will generate
  13651. rsa, ecdsa and ed25519 variants, and cache them for later use in
  13652. rclone\[aq]s cache directory (see \f[C]rclone help flags cache-dir\f[R])
  13653. in the \[dq]serve-sftp\[dq] directory.
  13654. .PP
  13655. By default the server binds to localhost:2022 - if you want it to be
  13656. reachable externally then supply \f[C]--addr :2022\f[R] for example.
  13657. .PP
  13658. Note that the default of \f[C]--vfs-cache-mode off\f[R] is fine for the
  13659. rclone sftp backend, but it may not be with other SFTP clients.
  13660. .PP
  13661. If \f[C]--stdio\f[R] is specified, rclone will serve SFTP over stdio,
  13662. which can be used with sshd via \[ti]/.ssh/authorized_keys, for example:
  13663. .IP
  13664. .nf
  13665. \f[C]
  13666. restrict,command=\[dq]rclone serve sftp --stdio ./photos\[dq] ssh-rsa ...
  13667. \f[R]
  13668. .fi
  13669. .PP
  13670. On the client you need to set \f[C]--transfers 1\f[R] when using
  13671. \f[C]--stdio\f[R].
  13672. Otherwise multiple instances of the rclone server are started by OpenSSH
  13673. which can lead to \[dq]corrupted on transfer\[dq] errors.
  13674. This is the case because the client chooses indiscriminately which
  13675. server to send commands to while the servers all have different views of
  13676. the state of the filing system.
  13677. .PP
  13678. The \[dq]restrict\[dq] in authorized_keys prevents SHA1SUMs and MD5SUMs
  13679. from being used.
  13680. Omitting \[dq]restrict\[dq] and using \f[C]--sftp-path-override\f[R] to
  13681. enable checksumming is possible but less secure and you could use the
  13682. SFTP server provided by OpenSSH in this case.
  13683. .SS VFS - Virtual File System
  13684. .PP
  13685. This command uses the VFS layer.
  13686. This adapts the cloud storage objects that rclone uses into something
  13687. which looks much more like a disk filing system.
  13688. .PP
  13689. Cloud storage objects have lots of properties which aren\[aq]t like disk
  13690. files - you can\[aq]t extend them or write to the middle of them, so the
  13691. VFS layer has to deal with that.
  13692. Because there is no one right way of doing this there are various
  13693. options explained below.
  13694. .PP
  13695. The VFS layer also implements a directory cache - this caches info about
  13696. files and directories (but not the data) in memory.
  13697. .SS VFS Directory Cache
  13698. .PP
  13699. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  13700. directory should be considered up to date and not refreshed from the
  13701. backend.
  13702. Changes made through the VFS will appear immediately or invalidate the
  13703. cache.
  13704. .IP
  13705. .nf
  13706. \f[C]
  13707. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  13708. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  13709. \f[R]
  13710. .fi
  13711. .PP
  13712. However, changes made directly on the cloud storage by the web interface
  13713. or a different copy of rclone will only be picked up once the directory
  13714. cache expires if the backend configured does not support polling for
  13715. changes.
  13716. If the backend supports polling, changes will be picked up within the
  13717. polling interval.
  13718. .PP
  13719. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  13720. directory caches, regardless of how old they are.
  13721. Assuming only one rclone instance is running, you can reset the cache
  13722. like this:
  13723. .IP
  13724. .nf
  13725. \f[C]
  13726. kill -SIGHUP $(pidof rclone)
  13727. \f[R]
  13728. .fi
  13729. .PP
  13730. If you configure rclone with a remote control then you can use rclone rc
  13731. to flush the whole directory cache:
  13732. .IP
  13733. .nf
  13734. \f[C]
  13735. rclone rc vfs/forget
  13736. \f[R]
  13737. .fi
  13738. .PP
  13739. Or individual files or directories:
  13740. .IP
  13741. .nf
  13742. \f[C]
  13743. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  13744. \f[R]
  13745. .fi
  13746. .SS VFS File Buffering
  13747. .PP
  13748. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  13749. will be used to buffer data in advance.
  13750. .PP
  13751. Each open file will try to keep the specified amount of data in memory
  13752. at all times.
  13753. The buffered data is bound to one open file and won\[aq]t be shared.
  13754. .PP
  13755. This flag is a upper limit for the used memory per open file.
  13756. The buffer will only use memory for data that is downloaded but not not
  13757. yet read.
  13758. If the buffer is empty, only a small amount of memory will be used.
  13759. .PP
  13760. The maximum memory used by rclone for buffering can be up to
  13761. \f[C]--buffer-size * open files\f[R].
  13762. .SS VFS File Caching
  13763. .PP
  13764. These flags control the VFS file caching options.
  13765. File caching is necessary to make the VFS layer appear compatible with a
  13766. normal file system.
  13767. It can be disabled at the cost of some compatibility.
  13768. .PP
  13769. For example you\[aq]ll need to enable VFS caching if you want to read
  13770. and write simultaneously to a file.
  13771. See below for more details.
  13772. .PP
  13773. Note that the VFS cache is separate from the cache backend and you may
  13774. find that you need one or the other or both.
  13775. .IP
  13776. .nf
  13777. \f[C]
  13778. --cache-dir string Directory rclone will use for caching.
  13779. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  13780. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  13781. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  13782. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  13783. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  13784. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  13785. \f[R]
  13786. .fi
  13787. .PP
  13788. If run with \f[C]-vv\f[R] rclone will print the location of the file
  13789. cache.
  13790. The files are stored in the user cache file area which is OS dependent
  13791. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  13792. appropriate environment variable.
  13793. .PP
  13794. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  13795. The higher the cache mode the more compatible rclone becomes at the cost
  13796. of using disk space.
  13797. .PP
  13798. Note that files are written back to the remote only when they are closed
  13799. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  13800. seconds.
  13801. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  13802. these will be uploaded next time rclone is run with the same flags.
  13803. .PP
  13804. If using \f[C]--vfs-cache-max-size\f[R] or
  13805. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  13806. quotas for two reasons.
  13807. Firstly because it is only checked every
  13808. \f[C]--vfs-cache-poll-interval\f[R].
  13809. Secondly because open files cannot be evicted from the cache.
  13810. When \f[C]--vfs-cache-max-size\f[R] or
  13811. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  13812. evict the least accessed files from the cache first.
  13813. rclone will start with files that haven\[aq]t been accessed for the
  13814. longest.
  13815. This cache flushing strategy is efficient and more relevant files are
  13816. likely to remain cached.
  13817. .PP
  13818. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  13819. the set time since last access has passed.
  13820. The default value of 1 hour will start evicting files from cache that
  13821. haven\[aq]t been accessed for 1 hour.
  13822. When a cached file is accessed the 1 hour timer is reset to 0 and will
  13823. wait for 1 more hour before evicting.
  13824. Specify the time with standard notation, s, m, h, d, w .
  13825. .PP
  13826. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  13827. cache with the same or overlapping remotes if using
  13828. \f[C]--vfs-cache-mode > off\f[R].
  13829. This can potentially cause data corruption if you do.
  13830. You can work around this by giving each rclone its own cache hierarchy
  13831. with \f[C]--cache-dir\f[R].
  13832. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  13833. overlap.
  13834. .SS --vfs-cache-mode off
  13835. .PP
  13836. In this mode (the default) the cache will read directly from the remote
  13837. and write directly to the remote without caching anything on disk.
  13838. .PP
  13839. This will mean some operations are not possible
  13840. .IP \[bu] 2
  13841. Files can\[aq]t be opened for both read AND write
  13842. .IP \[bu] 2
  13843. Files opened for write can\[aq]t be seeked
  13844. .IP \[bu] 2
  13845. Existing files opened for write must have O_TRUNC set
  13846. .IP \[bu] 2
  13847. Files open for read with O_TRUNC will be opened write only
  13848. .IP \[bu] 2
  13849. Files open for write only will behave as if O_TRUNC was supplied
  13850. .IP \[bu] 2
  13851. Open modes O_APPEND, O_TRUNC are ignored
  13852. .IP \[bu] 2
  13853. If an upload fails it can\[aq]t be retried
  13854. .SS --vfs-cache-mode minimal
  13855. .PP
  13856. This is very similar to \[dq]off\[dq] except that files opened for read
  13857. AND write will be buffered to disk.
  13858. This means that files opened for write will be a lot more compatible,
  13859. but uses the minimal disk space.
  13860. .PP
  13861. These operations are not possible
  13862. .IP \[bu] 2
  13863. Files opened for write only can\[aq]t be seeked
  13864. .IP \[bu] 2
  13865. Existing files opened for write must have O_TRUNC set
  13866. .IP \[bu] 2
  13867. Files opened for write only will ignore O_APPEND, O_TRUNC
  13868. .IP \[bu] 2
  13869. If an upload fails it can\[aq]t be retried
  13870. .SS --vfs-cache-mode writes
  13871. .PP
  13872. In this mode files opened for read only are still read directly from the
  13873. remote, write only and read/write files are buffered to disk first.
  13874. .PP
  13875. This mode should support all normal file system operations.
  13876. .PP
  13877. If an upload fails it will be retried at exponentially increasing
  13878. intervals up to 1 minute.
  13879. .SS --vfs-cache-mode full
  13880. .PP
  13881. In this mode all reads and writes are buffered to and from disk.
  13882. When data is read from the remote this is buffered to disk as well.
  13883. .PP
  13884. In this mode the files in the cache will be sparse files and rclone will
  13885. keep track of which bits of the files it has downloaded.
  13886. .PP
  13887. So if an application only reads the starts of each file, then rclone
  13888. will only buffer the start of the file.
  13889. These files will appear to be their full size in the cache, but they
  13890. will be sparse files with only the data that has been downloaded present
  13891. in them.
  13892. .PP
  13893. This mode should support all normal file system operations and is
  13894. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  13895. .PP
  13896. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  13897. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  13898. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  13899. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  13900. .PP
  13901. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  13902. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  13903. required.
  13904. .PP
  13905. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  13906. In particular FAT/exFAT do not.
  13907. Rclone will perform very badly if the cache directory is on a filesystem
  13908. which doesn\[aq]t support sparse files and it will log an ERROR message
  13909. if one is detected.
  13910. .SS Fingerprinting
  13911. .PP
  13912. Various parts of the VFS use fingerprinting to see if a local file copy
  13913. has changed relative to a remote file.
  13914. Fingerprints are made from:
  13915. .IP \[bu] 2
  13916. size
  13917. .IP \[bu] 2
  13918. modification time
  13919. .IP \[bu] 2
  13920. hash
  13921. .PP
  13922. where available on an object.
  13923. .PP
  13924. On some backends some of these attributes are slow to read (they take an
  13925. extra API call per object, or extra work per object).
  13926. .PP
  13927. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  13928. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  13929. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  13930. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  13931. they need to do an extra API call to fetch it.
  13932. .PP
  13933. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  13934. not include the slow operations in the fingerprint.
  13935. This makes the fingerprinting less accurate but much faster and will
  13936. improve the opening time of cached files.
  13937. .PP
  13938. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  13939. \f[C]swift\f[R] backends then using this flag is recommended.
  13940. .PP
  13941. Note that if you change the value of this flag, the fingerprints of the
  13942. files in the cache may be invalidated and the files will need to be
  13943. downloaded again.
  13944. .SS VFS Chunked Reading
  13945. .PP
  13946. When rclone reads files from a remote it reads them in chunks.
  13947. This means that rather than requesting the whole file rclone reads the
  13948. chunk specified.
  13949. This can reduce the used download quota for some remotes by requesting
  13950. only chunks from the remote that are actually read, at the cost of an
  13951. increased number of requests.
  13952. .PP
  13953. These flags control the chunking:
  13954. .IP
  13955. .nf
  13956. \f[C]
  13957. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  13958. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  13959. \f[R]
  13960. .fi
  13961. .PP
  13962. Rclone will start reading a chunk of size
  13963. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  13964. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  13965. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  13966. will get doubled only until the specified value is reached.
  13967. If the value is \[dq]off\[dq], which is the default, the limit is
  13968. disabled and the chunk size will grow indefinitely.
  13969. .PP
  13970. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  13971. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  13972. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  13973. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  13974. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  13975. on.
  13976. .PP
  13977. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  13978. disables chunked reading.
  13979. .SS VFS Performance
  13980. .PP
  13981. These flags may be used to enable/disable features of the VFS for
  13982. performance or other reasons.
  13983. See also the chunked reading feature.
  13984. .PP
  13985. In particular S3 and Swift benefit hugely from the
  13986. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  13987. slightly different effect) as each read of the modification time takes a
  13988. transaction.
  13989. .IP
  13990. .nf
  13991. \f[C]
  13992. --no-checksum Don\[aq]t compare checksums on up/download.
  13993. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  13994. --no-seek Don\[aq]t allow seeking in files.
  13995. --read-only Only allow read-only access.
  13996. \f[R]
  13997. .fi
  13998. .PP
  13999. Sometimes rclone is delivered reads or writes out of order.
  14000. Rather than seeking rclone will wait a short time for the in sequence
  14001. read or write to come in.
  14002. These flags only come into effect when not using an on disk cache file.
  14003. .IP
  14004. .nf
  14005. \f[C]
  14006. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  14007. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  14008. \f[R]
  14009. .fi
  14010. .PP
  14011. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  14012. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  14013. adjust the number of parallel uploads of modified files from the cache
  14014. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  14015. .IP
  14016. .nf
  14017. \f[C]
  14018. --transfers int Number of file transfers to run in parallel (default 4)
  14019. \f[R]
  14020. .fi
  14021. .SS VFS Case Sensitivity
  14022. .PP
  14023. Linux file systems are case-sensitive: two files can differ only by
  14024. case, and the exact case must be used when opening a file.
  14025. .PP
  14026. File systems in modern Windows are case-insensitive but case-preserving:
  14027. although existing files can be opened using any case, the exact case
  14028. used to create the file is preserved and available for programs to
  14029. query.
  14030. It is not allowed for two files in the same directory to differ only by
  14031. case.
  14032. .PP
  14033. Usually file systems on macOS are case-insensitive.
  14034. It is possible to make macOS file systems case-sensitive but that is not
  14035. the default.
  14036. .PP
  14037. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  14038. handles these two cases.
  14039. If its value is \[dq]false\[dq], rclone passes file names to the remote
  14040. as-is.
  14041. If the flag is \[dq]true\[dq] (or appears without a value on the command
  14042. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  14043. .PP
  14044. The user may specify a file name to open/delete/rename/etc with a case
  14045. different than what is stored on the remote.
  14046. If an argument refers to an existing file with exactly the same name,
  14047. then the case of the existing file on the disk will be used.
  14048. However, if a file name with exactly the same name is not found but a
  14049. name differing only by case exists, rclone will transparently fixup the
  14050. name.
  14051. This fixup happens only when an existing file is requested.
  14052. Case sensitivity of file names created anew by rclone is controlled by
  14053. the underlying remote.
  14054. .PP
  14055. Note that case sensitivity of the operating system running rclone (the
  14056. target) may differ from case sensitivity of a file system presented by
  14057. rclone (the source).
  14058. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  14059. target.
  14060. .PP
  14061. If the flag is not provided on the command line, then its default value
  14062. depends on the operating system where rclone runs: \[dq]true\[dq] on
  14063. Windows and macOS, \[dq]false\[dq] otherwise.
  14064. If the flag is provided without a value, then it is \[dq]true\[dq].
  14065. .PP
  14066. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  14067. \[dq]fixup\[dq] is performed for filenames that differ but are
  14068. canonically
  14069. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  14070. respect to unicode.
  14071. Unicode normalization can be particularly helpful for users of macOS,
  14072. which prefers form NFD instead of the NFC used by most other platforms.
  14073. It is therefore highly recommended to keep the default of
  14074. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  14075. .PP
  14076. In the (probably unlikely) event that a directory has multiple duplicate
  14077. filenames after applying case and unicode normalization, the
  14078. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  14079. This comes with a performance tradeoff, as rclone will have to scan the
  14080. entire directory for duplicates when listing a directory.
  14081. For this reason, it is recommended to leave this disabled if not needed.
  14082. However, macOS users may wish to consider using it, as otherwise, if a
  14083. remote directory contains both NFC and NFD versions of the same
  14084. filename, an odd situation will occur: both versions of the file will be
  14085. visible in the mount, and both will appear to be editable, however,
  14086. editing either version will actually result in only the NFD version
  14087. getting edited under the hood.
  14088. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  14089. this scenario, hiding the duplicates, and logging an error, similar to
  14090. how this is handled in \f[C]rclone sync\f[R].
  14091. .SS VFS Disk Options
  14092. .PP
  14093. This flag allows you to manually set the statistics about the filing
  14094. system.
  14095. It can be useful when those statistics cannot be read correctly
  14096. automatically.
  14097. .IP
  14098. .nf
  14099. \f[C]
  14100. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  14101. \f[R]
  14102. .fi
  14103. .SS Alternate report of used bytes
  14104. .PP
  14105. Some backends, most notably S3, do not report the amount of bytes used.
  14106. If you need this information to be available when running \f[C]df\f[R]
  14107. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  14108. rclone.
  14109. With this flag set, instead of relying on the backend to report this
  14110. information, rclone will scan the whole remote similar to
  14111. \f[C]rclone size\f[R] and compute the total used space itself.
  14112. .PP
  14113. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  14114. filters so that the result is accurate.
  14115. However, this is very inefficient and may cost lots of API calls
  14116. resulting in extra charges.
  14117. Use it as a last resort and only with caching.
  14118. .SS Auth Proxy
  14119. .PP
  14120. If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then
  14121. rclone will use that program to generate backends on the fly which then
  14122. are used to authenticate incoming requests.
  14123. This uses a simple JSON based protocol with input on STDIN and output on
  14124. STDOUT.
  14125. .PP
  14126. \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and
  14127. \f[C]--authorized-keys\f[R] cannot be used together, if
  14128. \f[C]--auth-proxy\f[R] is set the authorized keys option will be
  14129. ignored.
  14130. .PP
  14131. There is an example program
  14132. bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py)
  14133. in the rclone source code.
  14134. .PP
  14135. The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on
  14136. the input and turn those into the config for a backend on STDOUT in JSON
  14137. format.
  14138. This config will have any default parameters for the backend added, but
  14139. it won\[aq]t use configuration from environment variables or command
  14140. line options - it is the job of the proxy program to make a complete
  14141. config.
  14142. .PP
  14143. This config generated must have this extra parameter - \f[C]_root\f[R] -
  14144. root to use for the backend
  14145. .PP
  14146. And it may have this parameter - \f[C]_obscure\f[R] - comma separated
  14147. strings for parameters to obscure
  14148. .PP
  14149. If password authentication was used by the client, input to the proxy
  14150. process (on STDIN) would look similar to this:
  14151. .IP
  14152. .nf
  14153. \f[C]
  14154. {
  14155. \[dq]user\[dq]: \[dq]me\[dq],
  14156. \[dq]pass\[dq]: \[dq]mypassword\[dq]
  14157. }
  14158. \f[R]
  14159. .fi
  14160. .PP
  14161. If public-key authentication was used by the client, input to the proxy
  14162. process (on STDIN) would look similar to this:
  14163. .IP
  14164. .nf
  14165. \f[C]
  14166. {
  14167. \[dq]user\[dq]: \[dq]me\[dq],
  14168. \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq]
  14169. }
  14170. \f[R]
  14171. .fi
  14172. .PP
  14173. And as an example return this on STDOUT
  14174. .IP
  14175. .nf
  14176. \f[C]
  14177. {
  14178. \[dq]type\[dq]: \[dq]sftp\[dq],
  14179. \[dq]_root\[dq]: \[dq]\[dq],
  14180. \[dq]_obscure\[dq]: \[dq]pass\[dq],
  14181. \[dq]user\[dq]: \[dq]me\[dq],
  14182. \[dq]pass\[dq]: \[dq]mypassword\[dq],
  14183. \[dq]host\[dq]: \[dq]sftp.example.com\[dq]
  14184. }
  14185. \f[R]
  14186. .fi
  14187. .PP
  14188. This would mean that an SFTP backend would be created on the fly for the
  14189. \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the
  14190. output to the host given.
  14191. Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will
  14192. obscure the \f[C]pass\f[R] parameter before creating the backend (which
  14193. is required for sftp backends).
  14194. .PP
  14195. The program can manipulate the supplied \f[C]user\f[R] in any way, for
  14196. example to make proxy to many different sftp backends, you could make
  14197. the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the
  14198. \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to
  14199. \f[C]user\f[R].
  14200. For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a
  14201. limited list.
  14202. .PP
  14203. Note that an internal cache is keyed on \f[C]user\f[R] so only use that
  14204. for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R].
  14205. This also means that if a user\[aq]s password or public-key is changed
  14206. the cache will need to expire (which takes 5 mins) before it takes
  14207. effect.
  14208. .PP
  14209. This can be used to build general purpose proxies to any kind of backend
  14210. that rclone supports.
  14211. .IP
  14212. .nf
  14213. \f[C]
  14214. rclone serve sftp remote:path [flags]
  14215. \f[R]
  14216. .fi
  14217. .SS Options
  14218. .IP
  14219. .nf
  14220. \f[C]
  14221. --addr string IPaddress:Port or :Port to bind server to (default \[dq]localhost:2022\[dq])
  14222. --auth-proxy string A program to use to create the backend from the auth
  14223. --authorized-keys string Authorized keys file (default \[dq]\[ti]/.ssh/authorized_keys\[dq])
  14224. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  14225. --dir-perms FileMode Directory permissions (default 0777)
  14226. --file-perms FileMode File permissions (default 0666)
  14227. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  14228. -h, --help help for sftp
  14229. --key stringArray SSH private host key file (Can be multi-valued, leave blank to auto generate)
  14230. --no-auth Allow connections with no authentication if set
  14231. --no-checksum Don\[aq]t compare checksums on up/download
  14232. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  14233. --no-seek Don\[aq]t allow seeking in files
  14234. --pass string Password for authentication
  14235. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  14236. --read-only Only allow read-only access
  14237. --stdio Run an sftp server on stdin/stdout
  14238. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  14239. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  14240. --user string User name for authentication
  14241. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  14242. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  14243. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  14244. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  14245. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  14246. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  14247. --vfs-case-insensitive If a file name not found, find a case insensitive match
  14248. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  14249. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  14250. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  14251. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  14252. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  14253. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  14254. --vfs-refresh Refreshes the directory cache recursively in the background on start
  14255. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  14256. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  14257. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  14258. \f[R]
  14259. .fi
  14260. .SS Filter Options
  14261. .PP
  14262. Flags for filtering directory listings.
  14263. .IP
  14264. .nf
  14265. \f[C]
  14266. --delete-excluded Delete files on dest excluded from sync
  14267. --exclude stringArray Exclude files matching pattern
  14268. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  14269. --exclude-if-present stringArray Exclude directories if filename is present
  14270. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  14271. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  14272. -f, --filter stringArray Add a file filtering rule
  14273. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  14274. --ignore-case Ignore case in filters (case insensitive)
  14275. --include stringArray Include files matching pattern
  14276. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  14277. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  14278. --max-depth int If set limits the recursion depth to this (default -1)
  14279. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  14280. --metadata-exclude stringArray Exclude metadatas matching pattern
  14281. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  14282. --metadata-filter stringArray Add a metadata filtering rule
  14283. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  14284. --metadata-include stringArray Include metadatas matching pattern
  14285. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  14286. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  14287. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  14288. \f[R]
  14289. .fi
  14290. .PP
  14291. See the global flags page (https://rclone.org/flags/) for global options
  14292. not listed here.
  14293. .SH SEE ALSO
  14294. .IP \[bu] 2
  14295. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  14296. remote over a protocol.
  14297. .SH rclone serve webdav
  14298. .PP
  14299. Serve remote:path over WebDAV.
  14300. .SS Synopsis
  14301. .PP
  14302. Run a basic WebDAV server to serve a remote over HTTP via the WebDAV
  14303. protocol.
  14304. This can be viewed with a WebDAV client, through a web browser, or you
  14305. can make a remote of type WebDAV to read and write it.
  14306. .SS WebDAV options
  14307. .SS --etag-hash
  14308. .PP
  14309. This controls the ETag header.
  14310. Without this flag the ETag will be based on the ModTime and Size of the
  14311. object.
  14312. .PP
  14313. If this flag is set to \[dq]auto\[dq] then rclone will choose the first
  14314. supported hash on the backend or you can use a named hash such as
  14315. \[dq]MD5\[dq] or \[dq]SHA-1\[dq].
  14316. Use the hashsum (https://rclone.org/commands/rclone_hashsum/) command to
  14317. see the full list.
  14318. .SS Access WebDAV on Windows
  14319. .PP
  14320. WebDAV shared folder can be mapped as a drive on Windows, however the
  14321. default settings prevent it.
  14322. Windows will fail to connect to the server using insecure Basic
  14323. authentication.
  14324. It will not even display any login dialog.
  14325. Windows requires SSL / HTTPS connection to be used with Basic.
  14326. If you try to connect via Add Network Location Wizard you will get the
  14327. following error: \[dq]The folder you entered does not appear to be
  14328. valid.
  14329. Please choose another\[dq].
  14330. However, you still can connect if you set the following registry key on
  14331. a client machine: HKEY_LOCAL_MACHINEto 2.
  14332. The BasicAuthLevel can be set to the following values: 0 - Basic
  14333. authentication disabled 1 - Basic authentication enabled for SSL
  14334. connections only 2 - Basic authentication enabled for SSL connections
  14335. and for non-SSL connections If required, increase the
  14336. FileSizeLimitInBytes to a higher value.
  14337. Navigate to the Services interface, then restart the WebClient service.
  14338. .SS Access Office applications on WebDAV
  14339. .PP
  14340. Navigate to following registry HKEY_CURRENT_USER[14.0/15.0/16.0] Create
  14341. a new DWORD BasicAuthLevel with value 2.
  14342. 0 - Basic authentication disabled 1 - Basic authentication enabled for
  14343. SSL connections only 2 - Basic authentication enabled for SSL and for
  14344. non-SSL connections
  14345. .PP
  14346. https://learn.microsoft.com/en-us/office/troubleshoot/powerpoint/office-opens-blank-from-sharepoint
  14347. .SS Server options
  14348. .PP
  14349. Use \f[C]--addr\f[R] to specify which IP address and port the server
  14350. should listen on, eg \f[C]--addr 1.2.3.4:8000\f[R] or
  14351. \f[C]--addr :8080\f[R] to listen to all IPs.
  14352. By default it only listens on localhost.
  14353. You can use port :0 to let the OS choose an available port.
  14354. .PP
  14355. If you set \f[C]--addr\f[R] to listen on a public or LAN accessible IP
  14356. address then using Authentication is advised - see the next section for
  14357. info.
  14358. .PP
  14359. You can use a unix socket by setting the url to
  14360. \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name.
  14361. Note that unix sockets bypass the authentication - this is expected to
  14362. be done with file system permissions.
  14363. .PP
  14364. \f[C]--addr\f[R] may be repeated to listen on multiple
  14365. IPs/ports/sockets.
  14366. .PP
  14367. \f[C]--server-read-timeout\f[R] and \f[C]--server-write-timeout\f[R] can
  14368. be used to control the timeouts on the server.
  14369. Note that this is the total time for a transfer.
  14370. .PP
  14371. \f[C]--max-header-bytes\f[R] controls the maximum number of bytes the
  14372. server will accept in the HTTP header.
  14373. .PP
  14374. \f[C]--baseurl\f[R] controls the URL prefix that rclone serves from.
  14375. By default rclone will serve from the root.
  14376. If you used \f[C]--baseurl \[dq]/rclone\[dq]\f[R] then rclone would
  14377. serve from a URL starting with \[dq]/rclone/\[dq].
  14378. This is useful if you wish to proxy rclone serve.
  14379. Rclone automatically inserts leading and trailing \[dq]/\[dq] on
  14380. \f[C]--baseurl\f[R], so \f[C]--baseurl \[dq]rclone\[dq]\f[R],
  14381. \f[C]--baseurl \[dq]/rclone\[dq]\f[R] and
  14382. \f[C]--baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically.
  14383. .SS TLS (SSL)
  14384. .PP
  14385. By default this will serve over http.
  14386. If you want you can serve over https.
  14387. You will need to supply the \f[C]--cert\f[R] and \f[C]--key\f[R] flags.
  14388. If you wish to do client side certificate validation then you will need
  14389. to supply \f[C]--client-ca\f[R] also.
  14390. .PP
  14391. \f[C]--cert\f[R] should be a either a PEM encoded certificate or a
  14392. concatenation of that with the CA certificate.
  14393. \f[C]--key\f[R] should be the PEM encoded private key and
  14394. \f[C]--client-ca\f[R] should be the PEM encoded client certificate
  14395. authority certificate.
  14396. .PP
  14397. --min-tls-version is minimum TLS version that is acceptable.
  14398. Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq]
  14399. and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]).
  14400. .SS Template
  14401. .PP
  14402. \f[C]--template\f[R] allows a user to specify a custom markup template
  14403. for HTTP and WebDAV serve functions.
  14404. The server exports the following markup to be used within the template
  14405. to server pages:
  14406. .PP
  14407. .TS
  14408. tab(@);
  14409. lw(35.0n) lw(35.0n).
  14410. T{
  14411. Parameter
  14412. T}@T{
  14413. Description
  14414. T}
  14415. _
  14416. T{
  14417. \&.Name
  14418. T}@T{
  14419. The full path of a file/directory.
  14420. T}
  14421. T{
  14422. \&.Title
  14423. T}@T{
  14424. Directory listing of .Name
  14425. T}
  14426. T{
  14427. \&.Sort
  14428. T}@T{
  14429. The current sort used.
  14430. This is changeable via ?sort= parameter
  14431. T}
  14432. T{
  14433. T}@T{
  14434. Sort Options: namedirfirst,name,size,time (default namedirfirst)
  14435. T}
  14436. T{
  14437. \&.Order
  14438. T}@T{
  14439. The current ordering used.
  14440. This is changeable via ?order= parameter
  14441. T}
  14442. T{
  14443. T}@T{
  14444. Order Options: asc,desc (default asc)
  14445. T}
  14446. T{
  14447. \&.Query
  14448. T}@T{
  14449. Currently unused.
  14450. T}
  14451. T{
  14452. \&.Breadcrumb
  14453. T}@T{
  14454. Allows for creating a relative navigation
  14455. T}
  14456. T{
  14457. -- .Link
  14458. T}@T{
  14459. The relative to the root link of the Text.
  14460. T}
  14461. T{
  14462. -- .Text
  14463. T}@T{
  14464. The Name of the directory.
  14465. T}
  14466. T{
  14467. \&.Entries
  14468. T}@T{
  14469. Information about a specific file/directory.
  14470. T}
  14471. T{
  14472. -- .URL
  14473. T}@T{
  14474. The \[aq]url\[aq] of an entry.
  14475. T}
  14476. T{
  14477. -- .Leaf
  14478. T}@T{
  14479. Currently same as \[aq]URL\[aq] but intended to be \[aq]just\[aq] the
  14480. name.
  14481. T}
  14482. T{
  14483. -- .IsDir
  14484. T}@T{
  14485. Boolean for if an entry is a directory or not.
  14486. T}
  14487. T{
  14488. -- .Size
  14489. T}@T{
  14490. Size in Bytes of the entry.
  14491. T}
  14492. T{
  14493. -- .ModTime
  14494. T}@T{
  14495. The UTC timestamp of an entry.
  14496. T}
  14497. .TE
  14498. .PP
  14499. The server also makes the following functions available so that they can
  14500. be used within the template.
  14501. These functions help extend the options for dynamic rendering of HTML.
  14502. They can be used to render HTML based on specific conditions.
  14503. .PP
  14504. .TS
  14505. tab(@);
  14506. lw(35.0n) lw(35.0n).
  14507. T{
  14508. Function
  14509. T}@T{
  14510. Description
  14511. T}
  14512. _
  14513. T{
  14514. afterEpoch
  14515. T}@T{
  14516. Returns the time since the epoch for the given time.
  14517. T}
  14518. T{
  14519. contains
  14520. T}@T{
  14521. Checks whether a given substring is present or not in a given string.
  14522. T}
  14523. T{
  14524. hasPrefix
  14525. T}@T{
  14526. Checks whether the given string begins with the specified prefix.
  14527. T}
  14528. T{
  14529. hasSuffix
  14530. T}@T{
  14531. Checks whether the given string end with the specified suffix.
  14532. T}
  14533. .TE
  14534. .SS Authentication
  14535. .PP
  14536. By default this will serve files without needing a login.
  14537. .PP
  14538. You can either use an htpasswd file which can take lots of users, or set
  14539. a single username and password with the \f[C]--user\f[R] and
  14540. \f[C]--pass\f[R] flags.
  14541. .PP
  14542. If no static users are configured by either of the above methods, and
  14543. client certificates are required by the \f[C]--client-ca\f[R] flag
  14544. passed to the server, the client certificate common name will be
  14545. considered as the username.
  14546. .PP
  14547. Use \f[C]--htpasswd /path/to/htpasswd\f[R] to provide an htpasswd file.
  14548. This is in standard apache format and supports MD5, SHA1 and BCrypt for
  14549. basic authentication.
  14550. Bcrypt is recommended.
  14551. .PP
  14552. To create an htpasswd file:
  14553. .IP
  14554. .nf
  14555. \f[C]
  14556. touch htpasswd
  14557. htpasswd -B htpasswd user
  14558. htpasswd -B htpasswd anotherUser
  14559. \f[R]
  14560. .fi
  14561. .PP
  14562. The password file can be updated while rclone is running.
  14563. .PP
  14564. Use \f[C]--realm\f[R] to set the authentication realm.
  14565. .PP
  14566. Use \f[C]--salt\f[R] to change the password hashing salt from the
  14567. default.
  14568. ## VFS - Virtual File System
  14569. .PP
  14570. This command uses the VFS layer.
  14571. This adapts the cloud storage objects that rclone uses into something
  14572. which looks much more like a disk filing system.
  14573. .PP
  14574. Cloud storage objects have lots of properties which aren\[aq]t like disk
  14575. files - you can\[aq]t extend them or write to the middle of them, so the
  14576. VFS layer has to deal with that.
  14577. Because there is no one right way of doing this there are various
  14578. options explained below.
  14579. .PP
  14580. The VFS layer also implements a directory cache - this caches info about
  14581. files and directories (but not the data) in memory.
  14582. .SS VFS Directory Cache
  14583. .PP
  14584. Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a
  14585. directory should be considered up to date and not refreshed from the
  14586. backend.
  14587. Changes made through the VFS will appear immediately or invalidate the
  14588. cache.
  14589. .IP
  14590. .nf
  14591. \f[C]
  14592. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  14593. --poll-interval duration Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable (default 1m0s)
  14594. \f[R]
  14595. .fi
  14596. .PP
  14597. However, changes made directly on the cloud storage by the web interface
  14598. or a different copy of rclone will only be picked up once the directory
  14599. cache expires if the backend configured does not support polling for
  14600. changes.
  14601. If the backend supports polling, changes will be picked up within the
  14602. polling interval.
  14603. .PP
  14604. You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all
  14605. directory caches, regardless of how old they are.
  14606. Assuming only one rclone instance is running, you can reset the cache
  14607. like this:
  14608. .IP
  14609. .nf
  14610. \f[C]
  14611. kill -SIGHUP $(pidof rclone)
  14612. \f[R]
  14613. .fi
  14614. .PP
  14615. If you configure rclone with a remote control then you can use rclone rc
  14616. to flush the whole directory cache:
  14617. .IP
  14618. .nf
  14619. \f[C]
  14620. rclone rc vfs/forget
  14621. \f[R]
  14622. .fi
  14623. .PP
  14624. Or individual files or directories:
  14625. .IP
  14626. .nf
  14627. \f[C]
  14628. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  14629. \f[R]
  14630. .fi
  14631. .SS VFS File Buffering
  14632. .PP
  14633. The \f[C]--buffer-size\f[R] flag determines the amount of memory, that
  14634. will be used to buffer data in advance.
  14635. .PP
  14636. Each open file will try to keep the specified amount of data in memory
  14637. at all times.
  14638. The buffered data is bound to one open file and won\[aq]t be shared.
  14639. .PP
  14640. This flag is a upper limit for the used memory per open file.
  14641. The buffer will only use memory for data that is downloaded but not not
  14642. yet read.
  14643. If the buffer is empty, only a small amount of memory will be used.
  14644. .PP
  14645. The maximum memory used by rclone for buffering can be up to
  14646. \f[C]--buffer-size * open files\f[R].
  14647. .SS VFS File Caching
  14648. .PP
  14649. These flags control the VFS file caching options.
  14650. File caching is necessary to make the VFS layer appear compatible with a
  14651. normal file system.
  14652. It can be disabled at the cost of some compatibility.
  14653. .PP
  14654. For example you\[aq]ll need to enable VFS caching if you want to read
  14655. and write simultaneously to a file.
  14656. See below for more details.
  14657. .PP
  14658. Note that the VFS cache is separate from the cache backend and you may
  14659. find that you need one or the other or both.
  14660. .IP
  14661. .nf
  14662. \f[C]
  14663. --cache-dir string Directory rclone will use for caching.
  14664. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  14665. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  14666. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  14667. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  14668. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  14669. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  14670. \f[R]
  14671. .fi
  14672. .PP
  14673. If run with \f[C]-vv\f[R] rclone will print the location of the file
  14674. cache.
  14675. The files are stored in the user cache file area which is OS dependent
  14676. but can be controlled with \f[C]--cache-dir\f[R] or setting the
  14677. appropriate environment variable.
  14678. .PP
  14679. The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R].
  14680. The higher the cache mode the more compatible rclone becomes at the cost
  14681. of using disk space.
  14682. .PP
  14683. Note that files are written back to the remote only when they are closed
  14684. and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R]
  14685. seconds.
  14686. If rclone is quit or dies with files that haven\[aq]t been uploaded,
  14687. these will be uploaded next time rclone is run with the same flags.
  14688. .PP
  14689. If using \f[C]--vfs-cache-max-size\f[R] or
  14690. \f[C]--vfs-cache-min-free-size\f[R] note that the cache may exceed these
  14691. quotas for two reasons.
  14692. Firstly because it is only checked every
  14693. \f[C]--vfs-cache-poll-interval\f[R].
  14694. Secondly because open files cannot be evicted from the cache.
  14695. When \f[C]--vfs-cache-max-size\f[R] or
  14696. \f[C]--vfs-cache-min-free-size\f[R] is exceeded, rclone will attempt to
  14697. evict the least accessed files from the cache first.
  14698. rclone will start with files that haven\[aq]t been accessed for the
  14699. longest.
  14700. This cache flushing strategy is efficient and more relevant files are
  14701. likely to remain cached.
  14702. .PP
  14703. The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after
  14704. the set time since last access has passed.
  14705. The default value of 1 hour will start evicting files from cache that
  14706. haven\[aq]t been accessed for 1 hour.
  14707. When a cached file is accessed the 1 hour timer is reset to 0 and will
  14708. wait for 1 more hour before evicting.
  14709. Specify the time with standard notation, s, m, h, d, w .
  14710. .PP
  14711. You \f[B]should not\f[R] run two copies of rclone using the same VFS
  14712. cache with the same or overlapping remotes if using
  14713. \f[C]--vfs-cache-mode > off\f[R].
  14714. This can potentially cause data corruption if you do.
  14715. You can work around this by giving each rclone its own cache hierarchy
  14716. with \f[C]--cache-dir\f[R].
  14717. You don\[aq]t need to worry about this if the remotes in use don\[aq]t
  14718. overlap.
  14719. .SS --vfs-cache-mode off
  14720. .PP
  14721. In this mode (the default) the cache will read directly from the remote
  14722. and write directly to the remote without caching anything on disk.
  14723. .PP
  14724. This will mean some operations are not possible
  14725. .IP \[bu] 2
  14726. Files can\[aq]t be opened for both read AND write
  14727. .IP \[bu] 2
  14728. Files opened for write can\[aq]t be seeked
  14729. .IP \[bu] 2
  14730. Existing files opened for write must have O_TRUNC set
  14731. .IP \[bu] 2
  14732. Files open for read with O_TRUNC will be opened write only
  14733. .IP \[bu] 2
  14734. Files open for write only will behave as if O_TRUNC was supplied
  14735. .IP \[bu] 2
  14736. Open modes O_APPEND, O_TRUNC are ignored
  14737. .IP \[bu] 2
  14738. If an upload fails it can\[aq]t be retried
  14739. .SS --vfs-cache-mode minimal
  14740. .PP
  14741. This is very similar to \[dq]off\[dq] except that files opened for read
  14742. AND write will be buffered to disk.
  14743. This means that files opened for write will be a lot more compatible,
  14744. but uses the minimal disk space.
  14745. .PP
  14746. These operations are not possible
  14747. .IP \[bu] 2
  14748. Files opened for write only can\[aq]t be seeked
  14749. .IP \[bu] 2
  14750. Existing files opened for write must have O_TRUNC set
  14751. .IP \[bu] 2
  14752. Files opened for write only will ignore O_APPEND, O_TRUNC
  14753. .IP \[bu] 2
  14754. If an upload fails it can\[aq]t be retried
  14755. .SS --vfs-cache-mode writes
  14756. .PP
  14757. In this mode files opened for read only are still read directly from the
  14758. remote, write only and read/write files are buffered to disk first.
  14759. .PP
  14760. This mode should support all normal file system operations.
  14761. .PP
  14762. If an upload fails it will be retried at exponentially increasing
  14763. intervals up to 1 minute.
  14764. .SS --vfs-cache-mode full
  14765. .PP
  14766. In this mode all reads and writes are buffered to and from disk.
  14767. When data is read from the remote this is buffered to disk as well.
  14768. .PP
  14769. In this mode the files in the cache will be sparse files and rclone will
  14770. keep track of which bits of the files it has downloaded.
  14771. .PP
  14772. So if an application only reads the starts of each file, then rclone
  14773. will only buffer the start of the file.
  14774. These files will appear to be their full size in the cache, but they
  14775. will be sparse files with only the data that has been downloaded present
  14776. in them.
  14777. .PP
  14778. This mode should support all normal file system operations and is
  14779. otherwise identical to \f[C]--vfs-cache-mode\f[R] writes.
  14780. .PP
  14781. When reading a file rclone will read \f[C]--buffer-size\f[R] plus
  14782. \f[C]--vfs-read-ahead\f[R] bytes ahead.
  14783. The \f[C]--buffer-size\f[R] is buffered in memory whereas the
  14784. \f[C]--vfs-read-ahead\f[R] is buffered on disk.
  14785. .PP
  14786. When using this mode it is recommended that \f[C]--buffer-size\f[R] is
  14787. not set too large and \f[C]--vfs-read-ahead\f[R] is set large if
  14788. required.
  14789. .PP
  14790. \f[B]IMPORTANT\f[R] not all file systems support sparse files.
  14791. In particular FAT/exFAT do not.
  14792. Rclone will perform very badly if the cache directory is on a filesystem
  14793. which doesn\[aq]t support sparse files and it will log an ERROR message
  14794. if one is detected.
  14795. .SS Fingerprinting
  14796. .PP
  14797. Various parts of the VFS use fingerprinting to see if a local file copy
  14798. has changed relative to a remote file.
  14799. Fingerprints are made from:
  14800. .IP \[bu] 2
  14801. size
  14802. .IP \[bu] 2
  14803. modification time
  14804. .IP \[bu] 2
  14805. hash
  14806. .PP
  14807. where available on an object.
  14808. .PP
  14809. On some backends some of these attributes are slow to read (they take an
  14810. extra API call per object, or extra work per object).
  14811. .PP
  14812. For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and
  14813. \f[C]sftp\f[R] backends as they have to read the entire file and hash
  14814. it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R],
  14815. \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because
  14816. they need to do an extra API call to fetch it.
  14817. .PP
  14818. If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will
  14819. not include the slow operations in the fingerprint.
  14820. This makes the fingerprinting less accurate but much faster and will
  14821. improve the opening time of cached files.
  14822. .PP
  14823. If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or
  14824. \f[C]swift\f[R] backends then using this flag is recommended.
  14825. .PP
  14826. Note that if you change the value of this flag, the fingerprints of the
  14827. files in the cache may be invalidated and the files will need to be
  14828. downloaded again.
  14829. .SS VFS Chunked Reading
  14830. .PP
  14831. When rclone reads files from a remote it reads them in chunks.
  14832. This means that rather than requesting the whole file rclone reads the
  14833. chunk specified.
  14834. This can reduce the used download quota for some remotes by requesting
  14835. only chunks from the remote that are actually read, at the cost of an
  14836. increased number of requests.
  14837. .PP
  14838. These flags control the chunking:
  14839. .IP
  14840. .nf
  14841. \f[C]
  14842. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  14843. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  14844. \f[R]
  14845. .fi
  14846. .PP
  14847. Rclone will start reading a chunk of size
  14848. \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read.
  14849. When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater
  14850. than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file
  14851. will get doubled only until the specified value is reached.
  14852. If the value is \[dq]off\[dq], which is the default, the limit is
  14853. disabled and the chunk size will grow indefinitely.
  14854. .PP
  14855. With \f[C]--vfs-read-chunk-size 100M\f[R] and
  14856. \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be
  14857. downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on.
  14858. When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result
  14859. would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so
  14860. on.
  14861. .PP
  14862. Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq]
  14863. disables chunked reading.
  14864. .SS VFS Performance
  14865. .PP
  14866. These flags may be used to enable/disable features of the VFS for
  14867. performance or other reasons.
  14868. See also the chunked reading feature.
  14869. .PP
  14870. In particular S3 and Swift benefit hugely from the
  14871. \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a
  14872. slightly different effect) as each read of the modification time takes a
  14873. transaction.
  14874. .IP
  14875. .nf
  14876. \f[C]
  14877. --no-checksum Don\[aq]t compare checksums on up/download.
  14878. --no-modtime Don\[aq]t read/write the modification time (can speed things up).
  14879. --no-seek Don\[aq]t allow seeking in files.
  14880. --read-only Only allow read-only access.
  14881. \f[R]
  14882. .fi
  14883. .PP
  14884. Sometimes rclone is delivered reads or writes out of order.
  14885. Rather than seeking rclone will wait a short time for the in sequence
  14886. read or write to come in.
  14887. These flags only come into effect when not using an on disk cache file.
  14888. .IP
  14889. .nf
  14890. \f[C]
  14891. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  14892. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  14893. \f[R]
  14894. .fi
  14895. .PP
  14896. When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value
  14897. writes or full), the global flag \f[C]--transfers\f[R] can be set to
  14898. adjust the number of parallel uploads of modified files from the cache
  14899. (the related global flag \f[C]--checkers\f[R] has no effect on the VFS).
  14900. .IP
  14901. .nf
  14902. \f[C]
  14903. --transfers int Number of file transfers to run in parallel (default 4)
  14904. \f[R]
  14905. .fi
  14906. .SS VFS Case Sensitivity
  14907. .PP
  14908. Linux file systems are case-sensitive: two files can differ only by
  14909. case, and the exact case must be used when opening a file.
  14910. .PP
  14911. File systems in modern Windows are case-insensitive but case-preserving:
  14912. although existing files can be opened using any case, the exact case
  14913. used to create the file is preserved and available for programs to
  14914. query.
  14915. It is not allowed for two files in the same directory to differ only by
  14916. case.
  14917. .PP
  14918. Usually file systems on macOS are case-insensitive.
  14919. It is possible to make macOS file systems case-sensitive but that is not
  14920. the default.
  14921. .PP
  14922. The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone
  14923. handles these two cases.
  14924. If its value is \[dq]false\[dq], rclone passes file names to the remote
  14925. as-is.
  14926. If the flag is \[dq]true\[dq] (or appears without a value on the command
  14927. line), rclone may perform a \[dq]fixup\[dq] as explained below.
  14928. .PP
  14929. The user may specify a file name to open/delete/rename/etc with a case
  14930. different than what is stored on the remote.
  14931. If an argument refers to an existing file with exactly the same name,
  14932. then the case of the existing file on the disk will be used.
  14933. However, if a file name with exactly the same name is not found but a
  14934. name differing only by case exists, rclone will transparently fixup the
  14935. name.
  14936. This fixup happens only when an existing file is requested.
  14937. Case sensitivity of file names created anew by rclone is controlled by
  14938. the underlying remote.
  14939. .PP
  14940. Note that case sensitivity of the operating system running rclone (the
  14941. target) may differ from case sensitivity of a file system presented by
  14942. rclone (the source).
  14943. The flag controls whether \[dq]fixup\[dq] is performed to satisfy the
  14944. target.
  14945. .PP
  14946. If the flag is not provided on the command line, then its default value
  14947. depends on the operating system where rclone runs: \[dq]true\[dq] on
  14948. Windows and macOS, \[dq]false\[dq] otherwise.
  14949. If the flag is provided without a value, then it is \[dq]true\[dq].
  14950. .PP
  14951. The \f[C]--no-unicode-normalization\f[R] flag controls whether a similar
  14952. \[dq]fixup\[dq] is performed for filenames that differ but are
  14953. canonically
  14954. equivalent (https://en.wikipedia.org/wiki/Unicode_equivalence) with
  14955. respect to unicode.
  14956. Unicode normalization can be particularly helpful for users of macOS,
  14957. which prefers form NFD instead of the NFC used by most other platforms.
  14958. It is therefore highly recommended to keep the default of
  14959. \f[C]false\f[R] on macOS, to avoid encoding compatibility issues.
  14960. .PP
  14961. In the (probably unlikely) event that a directory has multiple duplicate
  14962. filenames after applying case and unicode normalization, the
  14963. \f[C]--vfs-block-norm-dupes\f[R] flag allows hiding these duplicates.
  14964. This comes with a performance tradeoff, as rclone will have to scan the
  14965. entire directory for duplicates when listing a directory.
  14966. For this reason, it is recommended to leave this disabled if not needed.
  14967. However, macOS users may wish to consider using it, as otherwise, if a
  14968. remote directory contains both NFC and NFD versions of the same
  14969. filename, an odd situation will occur: both versions of the file will be
  14970. visible in the mount, and both will appear to be editable, however,
  14971. editing either version will actually result in only the NFD version
  14972. getting edited under the hood.
  14973. \f[C]--vfs-block- norm-dupes\f[R] prevents this confusion by detecting
  14974. this scenario, hiding the duplicates, and logging an error, similar to
  14975. how this is handled in \f[C]rclone sync\f[R].
  14976. .SS VFS Disk Options
  14977. .PP
  14978. This flag allows you to manually set the statistics about the filing
  14979. system.
  14980. It can be useful when those statistics cannot be read correctly
  14981. automatically.
  14982. .IP
  14983. .nf
  14984. \f[C]
  14985. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  14986. \f[R]
  14987. .fi
  14988. .SS Alternate report of used bytes
  14989. .PP
  14990. Some backends, most notably S3, do not report the amount of bytes used.
  14991. If you need this information to be available when running \f[C]df\f[R]
  14992. on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to
  14993. rclone.
  14994. With this flag set, instead of relying on the backend to report this
  14995. information, rclone will scan the whole remote similar to
  14996. \f[C]rclone size\f[R] and compute the total used space itself.
  14997. .PP
  14998. \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores
  14999. filters so that the result is accurate.
  15000. However, this is very inefficient and may cost lots of API calls
  15001. resulting in extra charges.
  15002. Use it as a last resort and only with caching.
  15003. .SS Auth Proxy
  15004. .PP
  15005. If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then
  15006. rclone will use that program to generate backends on the fly which then
  15007. are used to authenticate incoming requests.
  15008. This uses a simple JSON based protocol with input on STDIN and output on
  15009. STDOUT.
  15010. .PP
  15011. \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and
  15012. \f[C]--authorized-keys\f[R] cannot be used together, if
  15013. \f[C]--auth-proxy\f[R] is set the authorized keys option will be
  15014. ignored.
  15015. .PP
  15016. There is an example program
  15017. bin/test_proxy.py (https://github.com/rclone/rclone/blob/master/bin/test_proxy.py)
  15018. in the rclone source code.
  15019. .PP
  15020. The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on
  15021. the input and turn those into the config for a backend on STDOUT in JSON
  15022. format.
  15023. This config will have any default parameters for the backend added, but
  15024. it won\[aq]t use configuration from environment variables or command
  15025. line options - it is the job of the proxy program to make a complete
  15026. config.
  15027. .PP
  15028. This config generated must have this extra parameter - \f[C]_root\f[R] -
  15029. root to use for the backend
  15030. .PP
  15031. And it may have this parameter - \f[C]_obscure\f[R] - comma separated
  15032. strings for parameters to obscure
  15033. .PP
  15034. If password authentication was used by the client, input to the proxy
  15035. process (on STDIN) would look similar to this:
  15036. .IP
  15037. .nf
  15038. \f[C]
  15039. {
  15040. \[dq]user\[dq]: \[dq]me\[dq],
  15041. \[dq]pass\[dq]: \[dq]mypassword\[dq]
  15042. }
  15043. \f[R]
  15044. .fi
  15045. .PP
  15046. If public-key authentication was used by the client, input to the proxy
  15047. process (on STDIN) would look similar to this:
  15048. .IP
  15049. .nf
  15050. \f[C]
  15051. {
  15052. \[dq]user\[dq]: \[dq]me\[dq],
  15053. \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq]
  15054. }
  15055. \f[R]
  15056. .fi
  15057. .PP
  15058. And as an example return this on STDOUT
  15059. .IP
  15060. .nf
  15061. \f[C]
  15062. {
  15063. \[dq]type\[dq]: \[dq]sftp\[dq],
  15064. \[dq]_root\[dq]: \[dq]\[dq],
  15065. \[dq]_obscure\[dq]: \[dq]pass\[dq],
  15066. \[dq]user\[dq]: \[dq]me\[dq],
  15067. \[dq]pass\[dq]: \[dq]mypassword\[dq],
  15068. \[dq]host\[dq]: \[dq]sftp.example.com\[dq]
  15069. }
  15070. \f[R]
  15071. .fi
  15072. .PP
  15073. This would mean that an SFTP backend would be created on the fly for the
  15074. \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the
  15075. output to the host given.
  15076. Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will
  15077. obscure the \f[C]pass\f[R] parameter before creating the backend (which
  15078. is required for sftp backends).
  15079. .PP
  15080. The program can manipulate the supplied \f[C]user\f[R] in any way, for
  15081. example to make proxy to many different sftp backends, you could make
  15082. the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the
  15083. \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to
  15084. \f[C]user\f[R].
  15085. For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a
  15086. limited list.
  15087. .PP
  15088. Note that an internal cache is keyed on \f[C]user\f[R] so only use that
  15089. for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R].
  15090. This also means that if a user\[aq]s password or public-key is changed
  15091. the cache will need to expire (which takes 5 mins) before it takes
  15092. effect.
  15093. .PP
  15094. This can be used to build general purpose proxies to any kind of backend
  15095. that rclone supports.
  15096. .IP
  15097. .nf
  15098. \f[C]
  15099. rclone serve webdav remote:path [flags]
  15100. \f[R]
  15101. .fi
  15102. .SS Options
  15103. .IP
  15104. .nf
  15105. \f[C]
  15106. --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080])
  15107. --allow-origin string Origin which cross-domain request (CORS) can be executed from
  15108. --auth-proxy string A program to use to create the backend from the auth
  15109. --baseurl string Prefix for URLs - leave blank for root
  15110. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  15111. --client-ca string Client certificate authority to verify clients with
  15112. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  15113. --dir-perms FileMode Directory permissions (default 0777)
  15114. --disable-dir-list Disable HTML directory list on GET request for a directory
  15115. --etag-hash string Which hash to use for the ETag, or auto or blank for off
  15116. --file-perms FileMode File permissions (default 0666)
  15117. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  15118. -h, --help help for webdav
  15119. --htpasswd string A htpasswd file - if not provided no authentication is done
  15120. --key string TLS PEM Private key
  15121. --max-header-bytes int Maximum size of request header (default 4096)
  15122. --min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq])
  15123. --no-checksum Don\[aq]t compare checksums on up/download
  15124. --no-modtime Don\[aq]t read/write the modification time (can speed things up)
  15125. --no-seek Don\[aq]t allow seeking in files
  15126. --pass string Password for authentication
  15127. --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s)
  15128. --read-only Only allow read-only access
  15129. --realm string Realm for authentication
  15130. --salt string Password hashing salt (default \[dq]dlPL2MqE\[dq])
  15131. --server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  15132. --server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  15133. --template string User-specified template
  15134. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  15135. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  15136. --user string User name for authentication
  15137. --vfs-block-norm-dupes If duplicate filenames exist in the same directory (after normalization), log an error and hide the duplicates (may have a performance cost)
  15138. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  15139. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  15140. --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
  15141. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  15142. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  15143. --vfs-case-insensitive If a file name not found, find a case insensitive match
  15144. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  15145. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  15146. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  15147. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  15148. --vfs-read-chunk-size-limit SizeSuffix If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached (\[aq]off\[aq] is unlimited) (default off)
  15149. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  15150. --vfs-refresh Refreshes the directory cache recursively in the background on start
  15151. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  15152. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  15153. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  15154. \f[R]
  15155. .fi
  15156. .SS Filter Options
  15157. .PP
  15158. Flags for filtering directory listings.
  15159. .IP
  15160. .nf
  15161. \f[C]
  15162. --delete-excluded Delete files on dest excluded from sync
  15163. --exclude stringArray Exclude files matching pattern
  15164. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  15165. --exclude-if-present stringArray Exclude directories if filename is present
  15166. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  15167. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  15168. -f, --filter stringArray Add a file filtering rule
  15169. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  15170. --ignore-case Ignore case in filters (case insensitive)
  15171. --include stringArray Include files matching pattern
  15172. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  15173. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  15174. --max-depth int If set limits the recursion depth to this (default -1)
  15175. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  15176. --metadata-exclude stringArray Exclude metadatas matching pattern
  15177. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  15178. --metadata-filter stringArray Add a metadata filtering rule
  15179. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  15180. --metadata-include stringArray Include metadatas matching pattern
  15181. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  15182. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  15183. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  15184. \f[R]
  15185. .fi
  15186. .PP
  15187. See the global flags page (https://rclone.org/flags/) for global options
  15188. not listed here.
  15189. .SH SEE ALSO
  15190. .IP \[bu] 2
  15191. rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a
  15192. remote over a protocol.
  15193. .SH rclone settier
  15194. .PP
  15195. Changes storage class/tier of objects in remote.
  15196. .SS Synopsis
  15197. .PP
  15198. rclone settier changes storage tier or class at remote if supported.
  15199. Few cloud storage services provides different storage classes on
  15200. objects, for example AWS S3 and Glacier, Azure Blob storage - Hot, Cool
  15201. and Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline
  15202. etc.
  15203. .PP
  15204. Note that, certain tier changes make objects not available to access
  15205. immediately.
  15206. For example tiering to archive in azure blob storage makes objects in
  15207. frozen state, user can restore by setting tier to Hot/Cool, similarly S3
  15208. to Glacier makes object inaccessible.true
  15209. .PP
  15210. You can use it to tier single object
  15211. .IP
  15212. .nf
  15213. \f[C]
  15214. rclone settier Cool remote:path/file
  15215. \f[R]
  15216. .fi
  15217. .PP
  15218. Or use rclone filters to set tier on only specific files
  15219. .IP
  15220. .nf
  15221. \f[C]
  15222. rclone --include \[dq]*.txt\[dq] settier Hot remote:path/dir
  15223. \f[R]
  15224. .fi
  15225. .PP
  15226. Or just provide remote directory and all files in directory will be
  15227. tiered
  15228. .IP
  15229. .nf
  15230. \f[C]
  15231. rclone settier tier remote:path/dir
  15232. \f[R]
  15233. .fi
  15234. .IP
  15235. .nf
  15236. \f[C]
  15237. rclone settier tier remote:path [flags]
  15238. \f[R]
  15239. .fi
  15240. .SS Options
  15241. .IP
  15242. .nf
  15243. \f[C]
  15244. -h, --help help for settier
  15245. \f[R]
  15246. .fi
  15247. .PP
  15248. See the global flags page (https://rclone.org/flags/) for global options
  15249. not listed here.
  15250. .SH SEE ALSO
  15251. .IP \[bu] 2
  15252. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  15253. commands, flags and backends.
  15254. .SH rclone test
  15255. .PP
  15256. Run a test command
  15257. .SS Synopsis
  15258. .PP
  15259. Rclone test is used to run test commands.
  15260. .PP
  15261. Select which test command you want with the subcommand, eg
  15262. .IP
  15263. .nf
  15264. \f[C]
  15265. rclone test memory remote:
  15266. \f[R]
  15267. .fi
  15268. .PP
  15269. Each subcommand has its own options which you can see in their help.
  15270. .PP
  15271. \f[B]NB\f[R] Be careful running these commands, they may do strange
  15272. things so reading their documentation first is recommended.
  15273. .SS Options
  15274. .IP
  15275. .nf
  15276. \f[C]
  15277. -h, --help help for test
  15278. \f[R]
  15279. .fi
  15280. .PP
  15281. See the global flags page (https://rclone.org/flags/) for global options
  15282. not listed here.
  15283. .SH SEE ALSO
  15284. .IP \[bu] 2
  15285. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  15286. commands, flags and backends.
  15287. .IP \[bu] 2
  15288. rclone test
  15289. changenotify (https://rclone.org/commands/rclone_test_changenotify/) -
  15290. Log any change notify requests for the remote passed in.
  15291. .IP \[bu] 2
  15292. rclone test
  15293. histogram (https://rclone.org/commands/rclone_test_histogram/) - Makes a
  15294. histogram of file name characters.
  15295. .IP \[bu] 2
  15296. rclone test info (https://rclone.org/commands/rclone_test_info/) -
  15297. Discovers file name or other limitations for paths.
  15298. .IP \[bu] 2
  15299. rclone test makefile (https://rclone.org/commands/rclone_test_makefile/)
  15300. - Make files with random contents of the size given
  15301. .IP \[bu] 2
  15302. rclone test
  15303. makefiles (https://rclone.org/commands/rclone_test_makefiles/) - Make a
  15304. random file hierarchy in a directory
  15305. .IP \[bu] 2
  15306. rclone test memory (https://rclone.org/commands/rclone_test_memory/) -
  15307. Load all the objects at remote:path into memory and report memory stats.
  15308. .SH rclone test changenotify
  15309. .PP
  15310. Log any change notify requests for the remote passed in.
  15311. .IP
  15312. .nf
  15313. \f[C]
  15314. rclone test changenotify remote: [flags]
  15315. \f[R]
  15316. .fi
  15317. .SS Options
  15318. .IP
  15319. .nf
  15320. \f[C]
  15321. -h, --help help for changenotify
  15322. --poll-interval Duration Time to wait between polling for changes (default 10s)
  15323. \f[R]
  15324. .fi
  15325. .PP
  15326. See the global flags page (https://rclone.org/flags/) for global options
  15327. not listed here.
  15328. .SH SEE ALSO
  15329. .IP \[bu] 2
  15330. rclone test (https://rclone.org/commands/rclone_test/) - Run a test
  15331. command
  15332. .SH rclone test histogram
  15333. .PP
  15334. Makes a histogram of file name characters.
  15335. .SS Synopsis
  15336. .PP
  15337. This command outputs JSON which shows the histogram of characters used
  15338. in filenames in the remote:path specified.
  15339. .PP
  15340. The data doesn\[aq]t contain any identifying information but is useful
  15341. for the rclone developers when developing filename compression.
  15342. .IP
  15343. .nf
  15344. \f[C]
  15345. rclone test histogram [remote:path] [flags]
  15346. \f[R]
  15347. .fi
  15348. .SS Options
  15349. .IP
  15350. .nf
  15351. \f[C]
  15352. -h, --help help for histogram
  15353. \f[R]
  15354. .fi
  15355. .PP
  15356. See the global flags page (https://rclone.org/flags/) for global options
  15357. not listed here.
  15358. .SH SEE ALSO
  15359. .IP \[bu] 2
  15360. rclone test (https://rclone.org/commands/rclone_test/) - Run a test
  15361. command
  15362. .SH rclone test info
  15363. .PP
  15364. Discovers file name or other limitations for paths.
  15365. .SS Synopsis
  15366. .PP
  15367. rclone info discovers what filenames and upload methods are possible to
  15368. write to the paths passed in and how long they can be.
  15369. It can take some time.
  15370. It will write test files into the remote:path passed in.
  15371. It outputs a bit of go code for each one.
  15372. .PP
  15373. \f[B]NB\f[R] this can create undeletable files and other hazards - use
  15374. with care
  15375. .IP
  15376. .nf
  15377. \f[C]
  15378. rclone test info [remote:path]+ [flags]
  15379. \f[R]
  15380. .fi
  15381. .SS Options
  15382. .IP
  15383. .nf
  15384. \f[C]
  15385. --all Run all tests
  15386. --check-base32768 Check can store all possible base32768 characters
  15387. --check-control Check control characters
  15388. --check-length Check max filename length
  15389. --check-normalization Check UTF-8 Normalization
  15390. --check-streaming Check uploads with indeterminate file size
  15391. -h, --help help for info
  15392. --upload-wait Duration Wait after writing a file (default 0s)
  15393. --write-json string Write results to file
  15394. \f[R]
  15395. .fi
  15396. .PP
  15397. See the global flags page (https://rclone.org/flags/) for global options
  15398. not listed here.
  15399. .SH SEE ALSO
  15400. .IP \[bu] 2
  15401. rclone test (https://rclone.org/commands/rclone_test/) - Run a test
  15402. command
  15403. .SH rclone test makefile
  15404. .PP
  15405. Make files with random contents of the size given
  15406. .IP
  15407. .nf
  15408. \f[C]
  15409. rclone test makefile <size> [<file>]+ [flags]
  15410. \f[R]
  15411. .fi
  15412. .SS Options
  15413. .IP
  15414. .nf
  15415. \f[C]
  15416. --ascii Fill files with random ASCII printable bytes only
  15417. --chargen Fill files with a ASCII chargen pattern
  15418. -h, --help help for makefile
  15419. --pattern Fill files with a periodic pattern
  15420. --seed int Seed for the random number generator (0 for random) (default 1)
  15421. --sparse Make the files sparse (appear to be filled with ASCII 0x00)
  15422. --zero Fill files with ASCII 0x00
  15423. \f[R]
  15424. .fi
  15425. .PP
  15426. See the global flags page (https://rclone.org/flags/) for global options
  15427. not listed here.
  15428. .SH SEE ALSO
  15429. .IP \[bu] 2
  15430. rclone test (https://rclone.org/commands/rclone_test/) - Run a test
  15431. command
  15432. .SH rclone test makefiles
  15433. .PP
  15434. Make a random file hierarchy in a directory
  15435. .IP
  15436. .nf
  15437. \f[C]
  15438. rclone test makefiles <dir> [flags]
  15439. \f[R]
  15440. .fi
  15441. .SS Options
  15442. .IP
  15443. .nf
  15444. \f[C]
  15445. --ascii Fill files with random ASCII printable bytes only
  15446. --chargen Fill files with a ASCII chargen pattern
  15447. --files int Number of files to create (default 1000)
  15448. --files-per-directory int Average number of files per directory (default 10)
  15449. -h, --help help for makefiles
  15450. --max-depth int Maximum depth of directory hierarchy (default 10)
  15451. --max-file-size SizeSuffix Maximum size of files to create (default 100)
  15452. --max-name-length int Maximum size of file names (default 12)
  15453. --min-file-size SizeSuffix Minimum size of file to create
  15454. --min-name-length int Minimum size of file names (default 4)
  15455. --pattern Fill files with a periodic pattern
  15456. --seed int Seed for the random number generator (0 for random) (default 1)
  15457. --sparse Make the files sparse (appear to be filled with ASCII 0x00)
  15458. --zero Fill files with ASCII 0x00
  15459. \f[R]
  15460. .fi
  15461. .PP
  15462. See the global flags page (https://rclone.org/flags/) for global options
  15463. not listed here.
  15464. .SH SEE ALSO
  15465. .IP \[bu] 2
  15466. rclone test (https://rclone.org/commands/rclone_test/) - Run a test
  15467. command
  15468. .SH rclone test memory
  15469. .PP
  15470. Load all the objects at remote:path into memory and report memory stats.
  15471. .IP
  15472. .nf
  15473. \f[C]
  15474. rclone test memory remote:path [flags]
  15475. \f[R]
  15476. .fi
  15477. .SS Options
  15478. .IP
  15479. .nf
  15480. \f[C]
  15481. -h, --help help for memory
  15482. \f[R]
  15483. .fi
  15484. .PP
  15485. See the global flags page (https://rclone.org/flags/) for global options
  15486. not listed here.
  15487. .SH SEE ALSO
  15488. .IP \[bu] 2
  15489. rclone test (https://rclone.org/commands/rclone_test/) - Run a test
  15490. command
  15491. .SH rclone touch
  15492. .PP
  15493. Create new file or change file modification time.
  15494. .SS Synopsis
  15495. .PP
  15496. Set the modification time on file(s) as specified by remote:path to have
  15497. the current time.
  15498. .PP
  15499. If remote:path does not exist then a zero sized file will be created,
  15500. unless \f[C]--no-create\f[R] or \f[C]--recursive\f[R] is provided.
  15501. .PP
  15502. If \f[C]--recursive\f[R] is used then recursively sets the modification
  15503. time on all existing files that is found under the path.
  15504. Filters are supported, and you can test with the \f[C]--dry-run\f[R] or
  15505. the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag.
  15506. .PP
  15507. If \f[C]--timestamp\f[R] is used then sets the modification time to that
  15508. time instead of the current time.
  15509. Times may be specified as one of:
  15510. .IP \[bu] 2
  15511. \[aq]YYMMDD\[aq] - e.g.
  15512. 17.10.30
  15513. .IP \[bu] 2
  15514. \[aq]YYYY-MM-DDTHH:MM:SS\[aq] - e.g.
  15515. 2006-01-02T15:04:05
  15516. .IP \[bu] 2
  15517. \[aq]YYYY-MM-DDTHH:MM:SS.SSS\[aq] - e.g.
  15518. 2006-01-02T15:04:05.123456789
  15519. .PP
  15520. Note that value of \f[C]--timestamp\f[R] is in UTC.
  15521. If you want local time then add the \f[C]--localtime\f[R] flag.
  15522. .IP
  15523. .nf
  15524. \f[C]
  15525. rclone touch remote:path [flags]
  15526. \f[R]
  15527. .fi
  15528. .SS Options
  15529. .IP
  15530. .nf
  15531. \f[C]
  15532. -h, --help help for touch
  15533. --localtime Use localtime for timestamp, not UTC
  15534. -C, --no-create Do not create the file if it does not exist (implied with --recursive)
  15535. -R, --recursive Recursively touch all files
  15536. -t, --timestamp string Use specified time instead of the current time of day
  15537. \f[R]
  15538. .fi
  15539. .SS Important Options
  15540. .PP
  15541. Important flags useful for most commands.
  15542. .IP
  15543. .nf
  15544. \f[C]
  15545. -n, --dry-run Do a trial run with no permanent changes
  15546. -i, --interactive Enable interactive mode
  15547. -v, --verbose count Print lots more stuff (repeat for more)
  15548. \f[R]
  15549. .fi
  15550. .SS Filter Options
  15551. .PP
  15552. Flags for filtering directory listings.
  15553. .IP
  15554. .nf
  15555. \f[C]
  15556. --delete-excluded Delete files on dest excluded from sync
  15557. --exclude stringArray Exclude files matching pattern
  15558. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  15559. --exclude-if-present stringArray Exclude directories if filename is present
  15560. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  15561. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  15562. -f, --filter stringArray Add a file filtering rule
  15563. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  15564. --ignore-case Ignore case in filters (case insensitive)
  15565. --include stringArray Include files matching pattern
  15566. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  15567. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  15568. --max-depth int If set limits the recursion depth to this (default -1)
  15569. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  15570. --metadata-exclude stringArray Exclude metadatas matching pattern
  15571. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  15572. --metadata-filter stringArray Add a metadata filtering rule
  15573. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  15574. --metadata-include stringArray Include metadatas matching pattern
  15575. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  15576. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  15577. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  15578. \f[R]
  15579. .fi
  15580. .SS Listing Options
  15581. .PP
  15582. Flags for listing directories.
  15583. .IP
  15584. .nf
  15585. \f[C]
  15586. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  15587. --fast-list Use recursive list if available; uses more memory but fewer transactions
  15588. \f[R]
  15589. .fi
  15590. .PP
  15591. See the global flags page (https://rclone.org/flags/) for global options
  15592. not listed here.
  15593. .SH SEE ALSO
  15594. .IP \[bu] 2
  15595. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  15596. commands, flags and backends.
  15597. .SH rclone tree
  15598. .PP
  15599. List the contents of the remote in a tree like fashion.
  15600. .SS Synopsis
  15601. .PP
  15602. rclone tree lists the contents of a remote in a similar way to the unix
  15603. tree command.
  15604. .PP
  15605. For example
  15606. .IP
  15607. .nf
  15608. \f[C]
  15609. $ rclone tree remote:path
  15610. /
  15611. \[u251C]\[u2500]\[u2500] file1
  15612. \[u251C]\[u2500]\[u2500] file2
  15613. \[u251C]\[u2500]\[u2500] file3
  15614. \[u2514]\[u2500]\[u2500] subdir
  15615. \[u251C]\[u2500]\[u2500] file4
  15616. \[u2514]\[u2500]\[u2500] file5
  15617. 1 directories, 5 files
  15618. \f[R]
  15619. .fi
  15620. .PP
  15621. You can use any of the filtering options with the tree command (e.g.
  15622. \f[C]--include\f[R] and \f[C]--exclude\f[R].
  15623. You can also use \f[C]--fast-list\f[R].
  15624. .PP
  15625. The tree command has many options for controlling the listing which are
  15626. compatible with the tree command, for example you can include file sizes
  15627. with \f[C]--size\f[R].
  15628. Note that not all of them have short options as they conflict with
  15629. rclone\[aq]s short options.
  15630. .PP
  15631. For a more interactive navigation of the remote see the
  15632. ncdu (https://rclone.org/commands/rclone_ncdu/) command.
  15633. .IP
  15634. .nf
  15635. \f[C]
  15636. rclone tree remote:path [flags]
  15637. \f[R]
  15638. .fi
  15639. .SS Options
  15640. .IP
  15641. .nf
  15642. \f[C]
  15643. -a, --all All files are listed (list . files too)
  15644. -d, --dirs-only List directories only
  15645. --dirsfirst List directories before files (-U disables)
  15646. --full-path Print the full path prefix for each file
  15647. -h, --help help for tree
  15648. --level int Descend only level directories deep
  15649. -D, --modtime Print the date of last modification.
  15650. --noindent Don\[aq]t print indentation lines
  15651. --noreport Turn off file/directory count at end of tree listing
  15652. -o, --output string Output to file instead of stdout
  15653. -p, --protections Print the protections for each file.
  15654. -Q, --quote Quote filenames with double quotes.
  15655. -s, --size Print the size in bytes of each file.
  15656. --sort string Select sort: name,version,size,mtime,ctime
  15657. --sort-ctime Sort files by last status change time
  15658. -t, --sort-modtime Sort files by last modification time
  15659. -r, --sort-reverse Reverse the order of the sort
  15660. -U, --unsorted Leave files unsorted
  15661. --version Sort files alphanumerically by version
  15662. \f[R]
  15663. .fi
  15664. .SS Filter Options
  15665. .PP
  15666. Flags for filtering directory listings.
  15667. .IP
  15668. .nf
  15669. \f[C]
  15670. --delete-excluded Delete files on dest excluded from sync
  15671. --exclude stringArray Exclude files matching pattern
  15672. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  15673. --exclude-if-present stringArray Exclude directories if filename is present
  15674. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  15675. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  15676. -f, --filter stringArray Add a file filtering rule
  15677. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  15678. --ignore-case Ignore case in filters (case insensitive)
  15679. --include stringArray Include files matching pattern
  15680. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  15681. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  15682. --max-depth int If set limits the recursion depth to this (default -1)
  15683. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  15684. --metadata-exclude stringArray Exclude metadatas matching pattern
  15685. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  15686. --metadata-filter stringArray Add a metadata filtering rule
  15687. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  15688. --metadata-include stringArray Include metadatas matching pattern
  15689. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  15690. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  15691. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  15692. \f[R]
  15693. .fi
  15694. .SS Listing Options
  15695. .PP
  15696. Flags for listing directories.
  15697. .IP
  15698. .nf
  15699. \f[C]
  15700. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  15701. --fast-list Use recursive list if available; uses more memory but fewer transactions
  15702. \f[R]
  15703. .fi
  15704. .PP
  15705. See the global flags page (https://rclone.org/flags/) for global options
  15706. not listed here.
  15707. .SH SEE ALSO
  15708. .IP \[bu] 2
  15709. rclone (https://rclone.org/commands/rclone/) - Show help for rclone
  15710. commands, flags and backends.
  15711. .SS Copying single files
  15712. .PP
  15713. rclone normally syncs or copies directories.
  15714. However, if the source remote points to a file, rclone will just copy
  15715. that file.
  15716. The destination remote must point to a directory - rclone will give the
  15717. error
  15718. \f[C]Failed to create file system for \[dq]remote:file\[dq]: is a file not a directory\f[R]
  15719. if it isn\[aq]t.
  15720. .PP
  15721. For example, suppose you have a remote with a file in called
  15722. \f[C]test.jpg\f[R], then you could copy just that file like this
  15723. .IP
  15724. .nf
  15725. \f[C]
  15726. rclone copy remote:test.jpg /tmp/download
  15727. \f[R]
  15728. .fi
  15729. .PP
  15730. The file \f[C]test.jpg\f[R] will be placed inside
  15731. \f[C]/tmp/download\f[R].
  15732. .PP
  15733. This is equivalent to specifying
  15734. .IP
  15735. .nf
  15736. \f[C]
  15737. rclone copy --files-from /tmp/files remote: /tmp/download
  15738. \f[R]
  15739. .fi
  15740. .PP
  15741. Where \f[C]/tmp/files\f[R] contains the single line
  15742. .IP
  15743. .nf
  15744. \f[C]
  15745. test.jpg
  15746. \f[R]
  15747. .fi
  15748. .PP
  15749. It is recommended to use \f[C]copy\f[R] when copying individual files,
  15750. not \f[C]sync\f[R].
  15751. They have pretty much the same effect but \f[C]copy\f[R] will use a lot
  15752. less memory.
  15753. .SS Syntax of remote paths
  15754. .PP
  15755. The syntax of the paths passed to the rclone command are as follows.
  15756. .SS /path/to/dir
  15757. .PP
  15758. This refers to the local file system.
  15759. .PP
  15760. On Windows \f[C]\[rs]\f[R] may be used instead of \f[C]/\f[R] in local
  15761. paths \f[B]only\f[R], non local paths must use \f[C]/\f[R].
  15762. See local filesystem (https://rclone.org/local/#paths-on-windows)
  15763. documentation for more about Windows-specific paths.
  15764. .PP
  15765. These paths needn\[aq]t start with a leading \f[C]/\f[R] - if they
  15766. don\[aq]t then they will be relative to the current directory.
  15767. .SS remote:path/to/dir
  15768. .PP
  15769. This refers to a directory \f[C]path/to/dir\f[R] on \f[C]remote:\f[R] as
  15770. defined in the config file (configured with \f[C]rclone config\f[R]).
  15771. .SS remote:/path/to/dir
  15772. .PP
  15773. On most backends this is refers to the same directory as
  15774. \f[C]remote:path/to/dir\f[R] and that format should be preferred.
  15775. On a very small number of remotes (FTP, SFTP, Dropbox for business) this
  15776. will refer to a different directory.
  15777. On these, paths without a leading \f[C]/\f[R] will refer to your
  15778. \[dq]home\[dq] directory and paths with a leading \f[C]/\f[R] will refer
  15779. to the root.
  15780. .SS :backend:path/to/dir
  15781. .PP
  15782. This is an advanced form for creating remotes on the fly.
  15783. \f[C]backend\f[R] should be the name or prefix of a backend (the
  15784. \f[C]type\f[R] in the config file) and all the configuration for the
  15785. backend should be provided on the command line (or in environment
  15786. variables).
  15787. .PP
  15788. Here are some examples:
  15789. .IP
  15790. .nf
  15791. \f[C]
  15792. rclone lsd --http-url https://pub.rclone.org :http:
  15793. \f[R]
  15794. .fi
  15795. .PP
  15796. To list all the directories in the root of
  15797. \f[C]https://pub.rclone.org/\f[R].
  15798. .IP
  15799. .nf
  15800. \f[C]
  15801. rclone lsf --http-url https://example.com :http:path/to/dir
  15802. \f[R]
  15803. .fi
  15804. .PP
  15805. To list files and directories in
  15806. \f[C]https://example.com/path/to/dir/\f[R]
  15807. .IP
  15808. .nf
  15809. \f[C]
  15810. rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir
  15811. \f[R]
  15812. .fi
  15813. .PP
  15814. To copy files and directories in
  15815. \f[C]https://example.com/path/to/dir\f[R] to \f[C]/tmp/dir\f[R].
  15816. .IP
  15817. .nf
  15818. \f[C]
  15819. rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir
  15820. \f[R]
  15821. .fi
  15822. .PP
  15823. To copy files and directories from \f[C]example.com\f[R] in the relative
  15824. directory \f[C]path/to/dir\f[R] to \f[C]/tmp/dir\f[R] using sftp.
  15825. .SS Connection strings
  15826. .PP
  15827. The above examples can also be written using a connection string syntax,
  15828. so instead of providing the arguments as command line parameters
  15829. \f[C]--http-url https://pub.rclone.org\f[R] they are provided as part of
  15830. the remote specification as a kind of connection string.
  15831. .IP
  15832. .nf
  15833. \f[C]
  15834. rclone lsd \[dq]:http,url=\[aq]https://pub.rclone.org\[aq]:\[dq]
  15835. rclone lsf \[dq]:http,url=\[aq]https://example.com\[aq]:path/to/dir\[dq]
  15836. rclone copy \[dq]:http,url=\[aq]https://example.com\[aq]:path/to/dir\[dq] /tmp/dir
  15837. rclone copy :sftp,host=example.com:path/to/dir /tmp/dir
  15838. \f[R]
  15839. .fi
  15840. .PP
  15841. These can apply to modify existing remotes as well as create new remotes
  15842. with the on the fly syntax.
  15843. This example is equivalent to adding the
  15844. \f[C]--drive-shared-with-me\f[R] parameter to the remote
  15845. \f[C]gdrive:\f[R].
  15846. .IP
  15847. .nf
  15848. \f[C]
  15849. rclone lsf \[dq]gdrive,shared_with_me:path/to/dir\[dq]
  15850. \f[R]
  15851. .fi
  15852. .PP
  15853. The major advantage to using the connection string style syntax is that
  15854. it only applies to the remote, not to all the remotes of that type of
  15855. the command line.
  15856. A common confusion is this attempt to copy a file shared on google drive
  15857. to the normal drive which \f[B]does not work\f[R] because the
  15858. \f[C]--drive-shared-with-me\f[R] flag applies to both the source and the
  15859. destination.
  15860. .IP
  15861. .nf
  15862. \f[C]
  15863. rclone copy --drive-shared-with-me gdrive:shared-file.txt gdrive:
  15864. \f[R]
  15865. .fi
  15866. .PP
  15867. However using the connection string syntax, this does work.
  15868. .IP
  15869. .nf
  15870. \f[C]
  15871. rclone copy \[dq]gdrive,shared_with_me:shared-file.txt\[dq] gdrive:
  15872. \f[R]
  15873. .fi
  15874. .PP
  15875. Note that the connection string only affects the options of the
  15876. immediate backend.
  15877. If for example gdriveCrypt is a crypt based on gdrive, then the
  15878. following command \f[B]will not work\f[R] as intended, because
  15879. \f[C]shared_with_me\f[R] is ignored by the crypt backend:
  15880. .IP
  15881. .nf
  15882. \f[C]
  15883. rclone copy \[dq]gdriveCrypt,shared_with_me:shared-file.txt\[dq] gdriveCrypt:
  15884. \f[R]
  15885. .fi
  15886. .PP
  15887. The connection strings have the following syntax
  15888. .IP
  15889. .nf
  15890. \f[C]
  15891. remote,parameter=value,parameter2=value2:path/to/dir
  15892. :backend,parameter=value,parameter2=value2:path/to/dir
  15893. \f[R]
  15894. .fi
  15895. .PP
  15896. If the \f[C]parameter\f[R] has a \f[C]:\f[R] or \f[C],\f[R] then it must
  15897. be placed in quotes \f[C]\[dq]\f[R] or \f[C]\[aq]\f[R], so
  15898. .IP
  15899. .nf
  15900. \f[C]
  15901. remote,parameter=\[dq]colon:value\[dq],parameter2=\[dq]comma,value\[dq]:path/to/dir
  15902. :backend,parameter=\[aq]colon:value\[aq],parameter2=\[aq]comma,value\[aq]:path/to/dir
  15903. \f[R]
  15904. .fi
  15905. .PP
  15906. If a quoted value needs to include that quote, then it should be
  15907. doubled, so
  15908. .IP
  15909. .nf
  15910. \f[C]
  15911. remote,parameter=\[dq]with\[dq]\[dq]quote\[dq],parameter2=\[aq]with\[aq]\[aq]quote\[aq]:path/to/dir
  15912. \f[R]
  15913. .fi
  15914. .PP
  15915. This will make \f[C]parameter\f[R] be \f[C]with\[dq]quote\f[R] and
  15916. \f[C]parameter2\f[R] be \f[C]with\[aq]quote\f[R].
  15917. .PP
  15918. If you leave off the \f[C]=parameter\f[R] then rclone will substitute
  15919. \f[C]=true\f[R] which works very well with flags.
  15920. For example, to use s3 configured in the environment you could use:
  15921. .IP
  15922. .nf
  15923. \f[C]
  15924. rclone lsd :s3,env_auth:
  15925. \f[R]
  15926. .fi
  15927. .PP
  15928. Which is equivalent to
  15929. .IP
  15930. .nf
  15931. \f[C]
  15932. rclone lsd :s3,env_auth=true:
  15933. \f[R]
  15934. .fi
  15935. .PP
  15936. Note that on the command line you might need to surround these
  15937. connection strings with \f[C]\[dq]\f[R] or \f[C]\[aq]\f[R] to stop the
  15938. shell interpreting any special characters within them.
  15939. .PP
  15940. If you are a shell master then you\[aq]ll know which strings are OK and
  15941. which aren\[aq]t, but if you aren\[aq]t sure then enclose them in
  15942. \f[C]\[dq]\f[R] and use \f[C]\[aq]\f[R] as the inside quote.
  15943. This syntax works on all OSes.
  15944. .IP
  15945. .nf
  15946. \f[C]
  15947. rclone copy \[dq]:http,url=\[aq]https://example.com\[aq]:path/to/dir\[dq] /tmp/dir
  15948. \f[R]
  15949. .fi
  15950. .PP
  15951. On Linux/macOS some characters are still interpreted inside
  15952. \f[C]\[dq]\f[R] strings in the shell (notably \f[C]\[rs]\f[R] and
  15953. \f[C]$\f[R] and \f[C]\[dq]\f[R]) so if your strings contain those you
  15954. can swap the roles of \f[C]\[dq]\f[R] and \f[C]\[aq]\f[R] thus.
  15955. (This syntax does not work on Windows.)
  15956. .IP
  15957. .nf
  15958. \f[C]
  15959. rclone copy \[aq]:http,url=\[dq]https://example.com\[dq]:path/to/dir\[aq] /tmp/dir
  15960. \f[R]
  15961. .fi
  15962. .SS Connection strings, config and logging
  15963. .PP
  15964. If you supply extra configuration to a backend by command line flag,
  15965. environment variable or connection string then rclone will add a suffix
  15966. based on the hash of the config to the name of the remote, eg
  15967. .IP
  15968. .nf
  15969. \f[C]
  15970. rclone -vv lsf --s3-chunk-size 20M s3:
  15971. \f[R]
  15972. .fi
  15973. .PP
  15974. Has the log message
  15975. .IP
  15976. .nf
  15977. \f[C]
  15978. DEBUG : s3: detected overridden config - adding \[dq]{Srj1p}\[dq] suffix to name
  15979. \f[R]
  15980. .fi
  15981. .PP
  15982. This is so rclone can tell the modified remote apart from the unmodified
  15983. remote when caching the backends.
  15984. .PP
  15985. This should only be noticeable in the logs.
  15986. .PP
  15987. This means that on the fly backends such as
  15988. .IP
  15989. .nf
  15990. \f[C]
  15991. rclone -vv lsf :s3,env_auth:
  15992. \f[R]
  15993. .fi
  15994. .PP
  15995. Will get their own names
  15996. .IP
  15997. .nf
  15998. \f[C]
  15999. DEBUG : :s3: detected overridden config - adding \[dq]{YTu53}\[dq] suffix to name
  16000. \f[R]
  16001. .fi
  16002. .SS Valid remote names
  16003. .PP
  16004. Remote names are case sensitive, and must adhere to the following rules:
  16005. - May contain number, letter, \f[C]_\f[R], \f[C]-\f[R], \f[C].\f[R],
  16006. \f[C]+\f[R], \f[C]\[at]\f[R] and space.
  16007. - May not start with \f[C]-\f[R] or space.
  16008. - May not end with space.
  16009. .PP
  16010. Starting with rclone version 1.61, any Unicode numbers and letters are
  16011. allowed, while in older versions it was limited to plain ASCII (0-9,
  16012. A-Z, a-z).
  16013. If you use the same rclone configuration from different shells, which
  16014. may be configured with different character encoding, you must be
  16015. cautious to use characters that are possible to write in all of them.
  16016. This is mostly a problem on Windows, where the console traditionally
  16017. uses a non-Unicode character set - defined by the so-called \[dq]code
  16018. page\[dq].
  16019. .PP
  16020. Do not use single character names on Windows as it creates ambiguity
  16021. with Windows drives\[aq] names, e.g.: remote called \f[C]C\f[R] is
  16022. indistinguishable from \f[C]C\f[R] drive.
  16023. Rclone will always assume that single letter name refers to a drive.
  16024. .SS Quoting and the shell
  16025. .PP
  16026. When you are typing commands to your computer you are using something
  16027. called the command line shell.
  16028. This interprets various characters in an OS specific way.
  16029. .PP
  16030. Here are some gotchas which may help users unfamiliar with the shell
  16031. rules
  16032. .SS Linux / OSX
  16033. .PP
  16034. If your names have spaces or shell metacharacters (e.g.
  16035. \f[C]*\f[R], \f[C]?\f[R], \f[C]$\f[R], \f[C]\[aq]\f[R], \f[C]\[dq]\f[R],
  16036. etc.) then you must quote them.
  16037. Use single quotes \f[C]\[aq]\f[R] by default.
  16038. .IP
  16039. .nf
  16040. \f[C]
  16041. rclone copy \[aq]Important files?\[aq] remote:backup
  16042. \f[R]
  16043. .fi
  16044. .PP
  16045. If you want to send a \f[C]\[aq]\f[R] you will need to use
  16046. \f[C]\[dq]\f[R], e.g.
  16047. .IP
  16048. .nf
  16049. \f[C]
  16050. rclone copy \[dq]O\[aq]Reilly Reviews\[dq] remote:backup
  16051. \f[R]
  16052. .fi
  16053. .PP
  16054. The rules for quoting metacharacters are complicated and if you want the
  16055. full details you\[aq]ll have to consult the manual page for your shell.
  16056. .SS Windows
  16057. .PP
  16058. If your names have spaces in you need to put them in \f[C]\[dq]\f[R],
  16059. e.g.
  16060. .IP
  16061. .nf
  16062. \f[C]
  16063. rclone copy \[dq]E:\[rs]folder name\[rs]folder name\[rs]folder name\[dq] remote:backup
  16064. \f[R]
  16065. .fi
  16066. .PP
  16067. If you are using the root directory on its own then don\[aq]t quote it
  16068. (see #464 (https://github.com/rclone/rclone/issues/464) for why), e.g.
  16069. .IP
  16070. .nf
  16071. \f[C]
  16072. rclone copy E:\[rs] remote:backup
  16073. \f[R]
  16074. .fi
  16075. .SS Copying files or directories with \f[C]:\f[R] in the names
  16076. .PP
  16077. rclone uses \f[C]:\f[R] to mark a remote name.
  16078. This is, however, a valid filename component in non-Windows OSes.
  16079. The remote name parser will only search for a \f[C]:\f[R] up to the
  16080. first \f[C]/\f[R] so if you need to act on a file or directory like this
  16081. then use the full path starting with a \f[C]/\f[R], or use \f[C]./\f[R]
  16082. as a current directory prefix.
  16083. .PP
  16084. So to sync a directory called \f[C]sync:me\f[R] to a remote called
  16085. \f[C]remote:\f[R] use
  16086. .IP
  16087. .nf
  16088. \f[C]
  16089. rclone sync --interactive ./sync:me remote:path
  16090. \f[R]
  16091. .fi
  16092. .PP
  16093. or
  16094. .IP
  16095. .nf
  16096. \f[C]
  16097. rclone sync --interactive /full/path/to/sync:me remote:path
  16098. \f[R]
  16099. .fi
  16100. .SS Server Side Copy
  16101. .PP
  16102. Most remotes (but not all - see the
  16103. overview (https://rclone.org/overview/#optional-features)) support
  16104. server-side copy.
  16105. .PP
  16106. This means if you want to copy one folder to another then rclone
  16107. won\[aq]t download all the files and re-upload them; it will instruct
  16108. the server to copy them in place.
  16109. .PP
  16110. Eg
  16111. .IP
  16112. .nf
  16113. \f[C]
  16114. rclone copy s3:oldbucket s3:newbucket
  16115. \f[R]
  16116. .fi
  16117. .PP
  16118. Will copy the contents of \f[C]oldbucket\f[R] to \f[C]newbucket\f[R]
  16119. without downloading and re-uploading.
  16120. .PP
  16121. Remotes which don\[aq]t support server-side copy \f[B]will\f[R] download
  16122. and re-upload in this case.
  16123. .PP
  16124. Server side copies are used with \f[C]sync\f[R] and \f[C]copy\f[R] and
  16125. will be identified in the log when using the \f[C]-v\f[R] flag.
  16126. The \f[C]move\f[R] command may also use them if remote doesn\[aq]t
  16127. support server-side move directly.
  16128. This is done by issuing a server-side copy then a delete which is much
  16129. quicker than a download and re-upload.
  16130. .PP
  16131. Server side copies will only be attempted if the remote names are the
  16132. same.
  16133. .PP
  16134. This can be used when scripting to make aged backups efficiently, e.g.
  16135. .IP
  16136. .nf
  16137. \f[C]
  16138. rclone sync --interactive remote:current-backup remote:previous-backup
  16139. rclone sync --interactive /path/to/files remote:current-backup
  16140. \f[R]
  16141. .fi
  16142. .SS Metadata support
  16143. .PP
  16144. Metadata is data about a file (or directory) which isn\[aq]t the
  16145. contents of the file (or directory).
  16146. Normally rclone only preserves the modification time and the content
  16147. (MIME) type where possible.
  16148. .PP
  16149. Rclone supports preserving all the available metadata on files and
  16150. directories when using the \f[C]--metadata\f[R] or \f[C]-M\f[R] flag.
  16151. .PP
  16152. Exactly what metadata is supported and what that support means depends
  16153. on the backend.
  16154. Backends that support metadata have a metadata section in their docs and
  16155. are listed in the features table (https://rclone.org/overview/#features)
  16156. (Eg local (https://rclone.org/local/#metadata), s3)
  16157. .PP
  16158. Some backends don\[aq]t support metadata, some only support metadata on
  16159. files and some support metadata on both files and directories.
  16160. .PP
  16161. Rclone only supports a one-time sync of metadata.
  16162. This means that metadata will be synced from the source object to the
  16163. destination object only when the source object has changed and needs to
  16164. be re-uploaded.
  16165. If the metadata subsequently changes on the source object without
  16166. changing the object itself then it won\[aq]t be synced to the
  16167. destination object.
  16168. This is in line with the way rclone syncs \f[C]Content-Type\f[R] without
  16169. the \f[C]--metadata\f[R] flag.
  16170. .PP
  16171. Using \f[C]--metadata\f[R] when syncing from local to local will
  16172. preserve file attributes such as file mode, owner, extended attributes
  16173. (not Windows).
  16174. .PP
  16175. Note that arbitrary metadata may be added to objects using the
  16176. \f[C]--metadata-set key=value\f[R] flag when the object is first
  16177. uploaded.
  16178. This flag can be repeated as many times as necessary.
  16179. .PP
  16180. The --metadata-mapper flag can be used to pass the name of a program in
  16181. which can transform metadata when it is being copied from source to
  16182. destination.
  16183. .PP
  16184. Rclone supports \f[C]--metadata-set\f[R] and \f[C]--metadata-mapper\f[R]
  16185. when doing sever side \f[C]Move\f[R] and server side \f[C]Copy\f[R], but
  16186. not when doing server side \f[C]DirMove\f[R] (renaming a directory) as
  16187. this would involve recursing into the directory.
  16188. Note that you can disable \f[C]DirMove\f[R] with
  16189. \f[C]--disable DirMove\f[R] and rclone will revert back to using
  16190. \f[C]Move\f[R] for each individual object where \f[C]--metadata-set\f[R]
  16191. and \f[C]--metadata-mapper\f[R] are supported.
  16192. .SS Types of metadata
  16193. .PP
  16194. Metadata is divided into two type.
  16195. System metadata and User metadata.
  16196. .PP
  16197. Metadata which the backend uses itself is called system metadata.
  16198. For example on the local backend the system metadata \f[C]uid\f[R] will
  16199. store the user ID of the file when used on a unix based platform.
  16200. .PP
  16201. Arbitrary metadata is called user metadata and this can be set however
  16202. is desired.
  16203. .PP
  16204. When objects are copied from backend to backend, they will attempt to
  16205. interpret system metadata if it is supplied.
  16206. Metadata may change from being user metadata to system metadata as
  16207. objects are copied between different backends.
  16208. For example copying an object from s3 sets the \f[C]content-type\f[R]
  16209. metadata.
  16210. In a backend which understands this (like \f[C]azureblob\f[R]) this will
  16211. become the Content-Type of the object.
  16212. In a backend which doesn\[aq]t understand this (like the \f[C]local\f[R]
  16213. backend) this will become user metadata.
  16214. However should the local object be copied back to s3, the Content-Type
  16215. will be set correctly.
  16216. .SS Metadata framework
  16217. .PP
  16218. Rclone implements a metadata framework which can read metadata from an
  16219. object and write it to the object when (and only when) it is being
  16220. uploaded.
  16221. .PP
  16222. This metadata is stored as a dictionary with string keys and string
  16223. values.
  16224. .PP
  16225. There are some limits on the names of the keys (these may be clarified
  16226. further in the future).
  16227. .IP \[bu] 2
  16228. must be lower case
  16229. .IP \[bu] 2
  16230. may be \f[C]a-z\f[R] \f[C]0-9\f[R] containing \f[C].\f[R] \f[C]-\f[R] or
  16231. \f[C]_\f[R]
  16232. .IP \[bu] 2
  16233. length is backend dependent
  16234. .PP
  16235. Each backend can provide system metadata that it understands.
  16236. Some backends can also store arbitrary user metadata.
  16237. .PP
  16238. Where possible the key names are standardized, so, for example, it is
  16239. possible to copy object metadata from s3 to azureblob for example and
  16240. metadata will be translated appropriately.
  16241. .PP
  16242. Some backends have limits on the size of the metadata and rclone will
  16243. give errors on upload if they are exceeded.
  16244. .SS Metadata preservation
  16245. .PP
  16246. The goal of the implementation is to
  16247. .IP "1." 3
  16248. Preserve metadata if at all possible
  16249. .IP "2." 3
  16250. Interpret metadata if at all possible
  16251. .PP
  16252. The consequences of 1 is that you can copy an S3 object to a local disk
  16253. then back to S3 losslessly.
  16254. Likewise you can copy a local file with file attributes and xattrs from
  16255. local disk to s3 and back again losslessly.
  16256. .PP
  16257. The consequence of 2 is that you can copy an S3 object with metadata to
  16258. Azureblob (say) and have the metadata appear on the Azureblob object
  16259. also.
  16260. .SS Standard system metadata
  16261. .PP
  16262. Here is a table of standard system metadata which, if appropriate, a
  16263. backend may implement.
  16264. .PP
  16265. .TS
  16266. tab(@);
  16267. lw(34.2n) lw(21.2n) lw(14.7n).
  16268. T{
  16269. key
  16270. T}@T{
  16271. description
  16272. T}@T{
  16273. example
  16274. T}
  16275. _
  16276. T{
  16277. mode
  16278. T}@T{
  16279. File type and mode: octal, unix style
  16280. T}@T{
  16281. 0100664
  16282. T}
  16283. T{
  16284. uid
  16285. T}@T{
  16286. User ID of owner: decimal number
  16287. T}@T{
  16288. 500
  16289. T}
  16290. T{
  16291. gid
  16292. T}@T{
  16293. Group ID of owner: decimal number
  16294. T}@T{
  16295. 500
  16296. T}
  16297. T{
  16298. rdev
  16299. T}@T{
  16300. Device ID (if special file) => hexadecimal
  16301. T}@T{
  16302. 0
  16303. T}
  16304. T{
  16305. atime
  16306. T}@T{
  16307. Time of last access: RFC 3339
  16308. T}@T{
  16309. 2006-01-02T15:04:05.999999999Z07:00
  16310. T}
  16311. T{
  16312. mtime
  16313. T}@T{
  16314. Time of last modification: RFC 3339
  16315. T}@T{
  16316. 2006-01-02T15:04:05.999999999Z07:00
  16317. T}
  16318. T{
  16319. btime
  16320. T}@T{
  16321. Time of file creation (birth): RFC 3339
  16322. T}@T{
  16323. 2006-01-02T15:04:05.999999999Z07:00
  16324. T}
  16325. T{
  16326. utime
  16327. T}@T{
  16328. Time of file upload: RFC 3339
  16329. T}@T{
  16330. 2006-01-02T15:04:05.999999999Z07:00
  16331. T}
  16332. T{
  16333. cache-control
  16334. T}@T{
  16335. Cache-Control header
  16336. T}@T{
  16337. no-cache
  16338. T}
  16339. T{
  16340. content-disposition
  16341. T}@T{
  16342. Content-Disposition header
  16343. T}@T{
  16344. inline
  16345. T}
  16346. T{
  16347. content-encoding
  16348. T}@T{
  16349. Content-Encoding header
  16350. T}@T{
  16351. gzip
  16352. T}
  16353. T{
  16354. content-language
  16355. T}@T{
  16356. Content-Language header
  16357. T}@T{
  16358. en-US
  16359. T}
  16360. T{
  16361. content-type
  16362. T}@T{
  16363. Content-Type header
  16364. T}@T{
  16365. text/plain
  16366. T}
  16367. .TE
  16368. .PP
  16369. The metadata keys \f[C]mtime\f[R] and \f[C]content-type\f[R] will take
  16370. precedence if supplied in the metadata over reading the
  16371. \f[C]Content-Type\f[R] or modification time of the source object.
  16372. .PP
  16373. Hashes are not included in system metadata as there is a well defined
  16374. way of reading those already.
  16375. .SS Options
  16376. .PP
  16377. Rclone has a number of options to control its behaviour.
  16378. .PP
  16379. Options that take parameters can have the values passed in two ways,
  16380. \f[C]--option=value\f[R] or \f[C]--option value\f[R].
  16381. However boolean (true/false) options behave slightly differently to the
  16382. other options in that \f[C]--boolean\f[R] sets the option to
  16383. \f[C]true\f[R] and the absence of the flag sets it to \f[C]false\f[R].
  16384. It is also possible to specify \f[C]--boolean=false\f[R] or
  16385. \f[C]--boolean=true\f[R].
  16386. Note that \f[C]--boolean false\f[R] is not valid - this is parsed as
  16387. \f[C]--boolean\f[R] and the \f[C]false\f[R] is parsed as an extra
  16388. command line argument for rclone.
  16389. .SS Time or duration options
  16390. .PP
  16391. TIME or DURATION options can be specified as a duration string or a time
  16392. string.
  16393. .PP
  16394. A duration string is a possibly signed sequence of decimal numbers, each
  16395. with optional fraction and a unit suffix, such as \[dq]300ms\[dq],
  16396. \[dq]-1.5h\[dq] or \[dq]2h45m\[dq].
  16397. Default units are seconds or the following abbreviations are valid:
  16398. .IP \[bu] 2
  16399. \f[C]ms\f[R] - Milliseconds
  16400. .IP \[bu] 2
  16401. \f[C]s\f[R] - Seconds
  16402. .IP \[bu] 2
  16403. \f[C]m\f[R] - Minutes
  16404. .IP \[bu] 2
  16405. \f[C]h\f[R] - Hours
  16406. .IP \[bu] 2
  16407. \f[C]d\f[R] - Days
  16408. .IP \[bu] 2
  16409. \f[C]w\f[R] - Weeks
  16410. .IP \[bu] 2
  16411. \f[C]M\f[R] - Months
  16412. .IP \[bu] 2
  16413. \f[C]y\f[R] - Years
  16414. .PP
  16415. These can also be specified as an absolute time in the following
  16416. formats:
  16417. .IP \[bu] 2
  16418. RFC3339 - e.g.
  16419. \f[C]2006-01-02T15:04:05Z\f[R] or \f[C]2006-01-02T15:04:05+07:00\f[R]
  16420. .IP \[bu] 2
  16421. ISO8601 Date and time, local timezone - \f[C]2006-01-02T15:04:05\f[R]
  16422. .IP \[bu] 2
  16423. ISO8601 Date and time, local timezone - \f[C]2006-01-02 15:04:05\f[R]
  16424. .IP \[bu] 2
  16425. ISO8601 Date - \f[C]2006-01-02\f[R] (YYYY-MM-DD)
  16426. .SS Size options
  16427. .PP
  16428. Options which use SIZE use KiB (multiples of 1024 bytes) by default.
  16429. However, a suffix of \f[C]B\f[R] for Byte, \f[C]K\f[R] for KiB,
  16430. \f[C]M\f[R] for MiB, \f[C]G\f[R] for GiB, \f[C]T\f[R] for TiB and
  16431. \f[C]P\f[R] for PiB may be used.
  16432. These are the binary units, e.g.
  16433. 1, 2**10, 2**20, 2**30 respectively.
  16434. .SS --backup-dir=DIR
  16435. .PP
  16436. When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] any files
  16437. which would have been overwritten or deleted are moved in their original
  16438. hierarchy into this directory.
  16439. .PP
  16440. If \f[C]--suffix\f[R] is set, then the moved files will have the suffix
  16441. added to them.
  16442. If there is a file with the same path (after the suffix has been added)
  16443. in DIR, then it will be overwritten.
  16444. .PP
  16445. The remote in use must support server-side move or copy and you must use
  16446. the same remote as the destination of the sync.
  16447. The backup directory must not overlap the destination directory without
  16448. it being excluded by a filter rule.
  16449. .PP
  16450. For example
  16451. .IP
  16452. .nf
  16453. \f[C]
  16454. rclone sync --interactive /path/to/local remote:current --backup-dir remote:old
  16455. \f[R]
  16456. .fi
  16457. .PP
  16458. will sync \f[C]/path/to/local\f[R] to \f[C]remote:current\f[R], but for
  16459. any files which would have been updated or deleted will be stored in
  16460. \f[C]remote:old\f[R].
  16461. .PP
  16462. If running rclone from a script you might want to use today\[aq]s date
  16463. as the directory name passed to \f[C]--backup-dir\f[R] to store the old
  16464. files, or you might want to pass \f[C]--suffix\f[R] with today\[aq]s
  16465. date.
  16466. .PP
  16467. See \f[C]--compare-dest\f[R] and \f[C]--copy-dest\f[R].
  16468. .SS --bind string
  16469. .PP
  16470. Local address to bind to for outgoing connections.
  16471. This can be an IPv4 address (1.2.3.4), an IPv6 address (1234::789A) or
  16472. host name.
  16473. If the host name doesn\[aq]t resolve or resolves to more than one IP
  16474. address it will give an error.
  16475. .PP
  16476. You can use \f[C]--bind 0.0.0.0\f[R] to force rclone to use IPv4
  16477. addresses and \f[C]--bind ::0\f[R] to force rclone to use IPv6
  16478. addresses.
  16479. .SS --bwlimit=BANDWIDTH_SPEC
  16480. .PP
  16481. This option controls the bandwidth limit.
  16482. For example
  16483. .IP
  16484. .nf
  16485. \f[C]
  16486. --bwlimit 10M
  16487. \f[R]
  16488. .fi
  16489. .PP
  16490. would mean limit the upload and download bandwidth to 10 MiB/s.
  16491. \f[B]NB\f[R] this is \f[B]bytes\f[R] per second not \f[B]bits\f[R] per
  16492. second.
  16493. To use a single limit, specify the desired bandwidth in KiB/s, or use a
  16494. suffix B|K|M|G|T|P.
  16495. The default is \f[C]0\f[R] which means to not limit bandwidth.
  16496. .PP
  16497. The upload and download bandwidth can be specified separately, as
  16498. \f[C]--bwlimit UP:DOWN\f[R], so
  16499. .IP
  16500. .nf
  16501. \f[C]
  16502. --bwlimit 10M:100k
  16503. \f[R]
  16504. .fi
  16505. .PP
  16506. would mean limit the upload bandwidth to 10 MiB/s and the download
  16507. bandwidth to 100 KiB/s.
  16508. Either limit can be \[dq]off\[dq] meaning no limit, so to just limit the
  16509. upload bandwidth you would use
  16510. .IP
  16511. .nf
  16512. \f[C]
  16513. --bwlimit 10M:off
  16514. \f[R]
  16515. .fi
  16516. .PP
  16517. this would limit the upload bandwidth to 10 MiB/s but the download
  16518. bandwidth would be unlimited.
  16519. .PP
  16520. When specified as above the bandwidth limits last for the duration of
  16521. run of the rclone binary.
  16522. .PP
  16523. It is also possible to specify a \[dq]timetable\[dq] of limits, which
  16524. will cause certain limits to be applied at certain times.
  16525. To specify a timetable, format your entries as
  16526. \f[C]WEEKDAY-HH:MM,BANDWIDTH WEEKDAY-HH:MM,BANDWIDTH...\f[R] where:
  16527. \f[C]WEEKDAY\f[R] is optional element.
  16528. .IP \[bu] 2
  16529. \f[C]BANDWIDTH\f[R] can be a single number, e.g.\f[C]100k\f[R] or a pair
  16530. of numbers for upload:download, e.g.\f[C]10M:1M\f[R].
  16531. .IP \[bu] 2
  16532. \f[C]WEEKDAY\f[R] can be written as the whole word or only using the
  16533. first 3 characters.
  16534. It is optional.
  16535. .IP \[bu] 2
  16536. \f[C]HH:MM\f[R] is an hour from 00:00 to 23:59.
  16537. .PP
  16538. An example of a typical timetable to avoid link saturation during
  16539. daytime working hours could be:
  16540. .PP
  16541. \f[C]--bwlimit \[dq]08:00,512k 12:00,10M 13:00,512k 18:00,30M 23:00,off\[dq]\f[R]
  16542. .PP
  16543. In this example, the transfer bandwidth will be set to 512 KiB/s at 8am
  16544. every day.
  16545. At noon, it will rise to 10 MiB/s, and drop back to 512 KiB/sec at 1pm.
  16546. At 6pm, the bandwidth limit will be set to 30 MiB/s, and at 11pm it will
  16547. be completely disabled (full speed).
  16548. Anything between 11pm and 8am will remain unlimited.
  16549. .PP
  16550. An example of timetable with \f[C]WEEKDAY\f[R] could be:
  16551. .PP
  16552. \f[C]--bwlimit \[dq]Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off\[dq]\f[R]
  16553. .PP
  16554. It means that, the transfer bandwidth will be set to 512 KiB/s on
  16555. Monday.
  16556. It will rise to 10 MiB/s before the end of Friday.
  16557. At 10:00 on Saturday it will be set to 1 MiB/s.
  16558. From 20:00 on Sunday it will be unlimited.
  16559. .PP
  16560. Timeslots without \f[C]WEEKDAY\f[R] are extended to the whole week.
  16561. So this example:
  16562. .PP
  16563. \f[C]--bwlimit \[dq]Mon-00:00,512 12:00,1M Sun-20:00,off\[dq]\f[R]
  16564. .PP
  16565. Is equivalent to this:
  16566. .PP
  16567. \f[C]--bwlimit \[dq]Mon-00:00,512Mon-12:00,1M Tue-12:00,1M Wed-12:00,1M Thu-12:00,1M Fri-12:00,1M Sat-12:00,1M Sun-12:00,1M Sun-20:00,off\[dq]\f[R]
  16568. .PP
  16569. Bandwidth limit apply to the data transfer for all backends.
  16570. For most backends the directory listing bandwidth is also included
  16571. (exceptions being the non HTTP backends, \f[C]ftp\f[R], \f[C]sftp\f[R]
  16572. and \f[C]storj\f[R]).
  16573. .PP
  16574. Note that the units are \f[B]Byte/s\f[R], not \f[B]bit/s\f[R].
  16575. Typically connections are measured in bit/s - to convert divide by 8.
  16576. For example, let\[aq]s say you have a 10 Mbit/s connection and you wish
  16577. rclone to use half of it - 5 Mbit/s.
  16578. This is 5/8 = 0.625 MiB/s so you would use a \f[C]--bwlimit 0.625M\f[R]
  16579. parameter for rclone.
  16580. .PP
  16581. On Unix systems (Linux, macOS, \&...) the bandwidth limiter can be
  16582. toggled by sending a \f[C]SIGUSR2\f[R] signal to rclone.
  16583. This allows to remove the limitations of a long running rclone transfer
  16584. and to restore it back to the value specified with \f[C]--bwlimit\f[R]
  16585. quickly when needed.
  16586. Assuming there is only one rclone instance running, you can toggle the
  16587. limiter like this:
  16588. .IP
  16589. .nf
  16590. \f[C]
  16591. kill -SIGUSR2 $(pidof rclone)
  16592. \f[R]
  16593. .fi
  16594. .PP
  16595. If you configure rclone with a remote control then you can use change
  16596. the bwlimit dynamically:
  16597. .IP
  16598. .nf
  16599. \f[C]
  16600. rclone rc core/bwlimit rate=1M
  16601. \f[R]
  16602. .fi
  16603. .SS --bwlimit-file=BANDWIDTH_SPEC
  16604. .PP
  16605. This option controls per file bandwidth limit.
  16606. For the options see the \f[C]--bwlimit\f[R] flag.
  16607. .PP
  16608. For example use this to allow no transfers to be faster than 1 MiB/s
  16609. .IP
  16610. .nf
  16611. \f[C]
  16612. --bwlimit-file 1M
  16613. \f[R]
  16614. .fi
  16615. .PP
  16616. This can be used in conjunction with \f[C]--bwlimit\f[R].
  16617. .PP
  16618. Note that if a schedule is provided the file will use the schedule in
  16619. effect at the start of the transfer.
  16620. .SS --buffer-size=SIZE
  16621. .PP
  16622. Use this sized buffer to speed up file transfers.
  16623. Each \f[C]--transfer\f[R] will use this much memory for buffering.
  16624. .PP
  16625. When using \f[C]mount\f[R] or \f[C]cmount\f[R] each open file descriptor
  16626. will use this much memory for buffering.
  16627. See the mount (https://rclone.org/commands/rclone_mount/#file-buffering)
  16628. documentation for more details.
  16629. .PP
  16630. Set to \f[C]0\f[R] to disable the buffering for the minimum memory
  16631. usage.
  16632. .PP
  16633. Note that the memory allocation of the buffers is influenced by the
  16634. --use-mmap flag.
  16635. .SS --cache-dir=DIR
  16636. .PP
  16637. Specify the directory rclone will use for caching, to override the
  16638. default.
  16639. .PP
  16640. Default value is depending on operating system: - Windows
  16641. \f[C]%LocalAppData%\[rs]rclone\f[R], if \f[C]LocalAppData\f[R] is
  16642. defined.
  16643. - macOS \f[C]$HOME/Library/Caches/rclone\f[R] if \f[C]HOME\f[R] is
  16644. defined.
  16645. - Unix \f[C]$XDG_CACHE_HOME/rclone\f[R] if \f[C]XDG_CACHE_HOME\f[R] is
  16646. defined, else \f[C]$HOME/.cache/rclone\f[R] if \f[C]HOME\f[R] is
  16647. defined.
  16648. - Fallback (on all OS) to \f[C]$TMPDIR/rclone\f[R], where
  16649. \f[C]TMPDIR\f[R] is the value from --temp-dir.
  16650. .PP
  16651. You can use the config
  16652. paths (https://rclone.org/commands/rclone_config_paths/) command to see
  16653. the current value.
  16654. .PP
  16655. Cache directory is heavily used by the VFS File
  16656. Caching (https://rclone.org/commands/rclone_mount/#vfs-file-caching)
  16657. mount feature, but also by
  16658. serve (https://rclone.org/commands/rclone_serve/), GUI and other parts
  16659. of rclone.
  16660. .SS --check-first
  16661. .PP
  16662. If this flag is set then in a \f[C]sync\f[R], \f[C]copy\f[R] or
  16663. \f[C]move\f[R], rclone will do all the checks to see whether files need
  16664. to be transferred before doing any of the transfers.
  16665. Normally rclone would start running transfers as soon as possible.
  16666. .PP
  16667. This flag can be useful on IO limited systems where transfers interfere
  16668. with checking.
  16669. .PP
  16670. It can also be useful to ensure perfect ordering when using
  16671. \f[C]--order-by\f[R].
  16672. .PP
  16673. If both \f[C]--check-first\f[R] and \f[C]--order-by\f[R] are set when
  16674. doing \f[C]rclone move\f[R] then rclone will use the transfer thread to
  16675. delete source files which don\[aq]t need transferring.
  16676. This will enable perfect ordering of the transfers and deletes but will
  16677. cause the transfer stats to have more items in than expected.
  16678. .PP
  16679. Using this flag can use more memory as it effectively sets
  16680. \f[C]--max-backlog\f[R] to infinite.
  16681. This means that all the info on the objects to transfer is held in
  16682. memory before the transfers start.
  16683. .SS --checkers=N
  16684. .PP
  16685. Originally controlling just the number of file checkers to run in
  16686. parallel, e.g.
  16687. by \f[C]rclone copy\f[R].
  16688. Now a fairly universal parallelism control used by \f[C]rclone\f[R] in
  16689. several places.
  16690. .PP
  16691. Note: checkers do the equality checking of files during a sync.
  16692. For some storage systems (e.g.
  16693. S3, Swift, Dropbox) this can take a significant amount of time so they
  16694. are run in parallel.
  16695. .PP
  16696. The default is to run 8 checkers in parallel.
  16697. However, in case of slow-reacting backends you may need to lower (rather
  16698. than increase) this default by setting \f[C]--checkers\f[R] to 4 or less
  16699. threads.
  16700. This is especially advised if you are experiencing backend server
  16701. crashes during file checking phase (e.g.
  16702. on subsequent or top-up backups where little or no file copying is done
  16703. and checking takes up most of the time).
  16704. Increase this setting only with utmost care, while monitoring your
  16705. server health and file checking throughput.
  16706. .SS -c, --checksum
  16707. .PP
  16708. Normally rclone will look at modification time and size of files to see
  16709. if they are equal.
  16710. If you set this flag then rclone will check the file hash and size to
  16711. determine if files are equal.
  16712. .PP
  16713. This is useful when the remote doesn\[aq]t support setting modified time
  16714. and a more accurate sync is desired than just checking the file size.
  16715. .PP
  16716. This is very useful when transferring between remotes which store the
  16717. same hash type on the object, e.g.
  16718. Drive and Swift.
  16719. For details of which remotes support which hash type see the table in
  16720. the overview section (https://rclone.org/overview/).
  16721. .PP
  16722. Eg \f[C]rclone --checksum sync s3:/bucket swift:/bucket\f[R] would run
  16723. much quicker than without the \f[C]--checksum\f[R] flag.
  16724. .PP
  16725. When using this flag, rclone won\[aq]t update mtimes of remote files if
  16726. they are incorrect as it would normally.
  16727. .SS --color WHEN
  16728. .PP
  16729. Specify when colors (and other ANSI codes) should be added to the
  16730. output.
  16731. .PP
  16732. \f[C]AUTO\f[R] (default) only allows ANSI codes when the output is a
  16733. terminal
  16734. .PP
  16735. \f[C]NEVER\f[R] never allow ANSI codes
  16736. .PP
  16737. \f[C]ALWAYS\f[R] always add ANSI codes, regardless of the output format
  16738. (terminal or file)
  16739. .SS --compare-dest=DIR
  16740. .PP
  16741. When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] DIR is
  16742. checked in addition to the destination for files.
  16743. If a file identical to the source is found that file is NOT copied from
  16744. source.
  16745. This is useful to copy just files that have changed since the last
  16746. backup.
  16747. .PP
  16748. You must use the same remote as the destination of the sync.
  16749. The compare directory must not overlap the destination directory.
  16750. .PP
  16751. See \f[C]--copy-dest\f[R] and \f[C]--backup-dir\f[R].
  16752. .SS --config=CONFIG_FILE
  16753. .PP
  16754. Specify the location of the rclone configuration file, to override the
  16755. default.
  16756. E.g.
  16757. \f[C]rclone config --config=\[dq]rclone.conf\[dq]\f[R].
  16758. .PP
  16759. The exact default is a bit complex to describe, due to changes
  16760. introduced through different versions of rclone while preserving
  16761. backwards compatibility, but in most cases it is as simple as:
  16762. .IP \[bu] 2
  16763. \f[C]%APPDATA%/rclone/rclone.conf\f[R] on Windows
  16764. .IP \[bu] 2
  16765. \f[C]\[ti]/.config/rclone/rclone.conf\f[R] on other
  16766. .PP
  16767. The complete logic is as follows: Rclone will look for an existing
  16768. configuration file in any of the following locations, in priority order:
  16769. .IP "1." 3
  16770. \f[C]rclone.conf\f[R] (in program directory, where rclone executable is)
  16771. .IP "2." 3
  16772. \f[C]%APPDATA%/rclone/rclone.conf\f[R] (only on Windows)
  16773. .IP "3." 3
  16774. \f[C]$XDG_CONFIG_HOME/rclone/rclone.conf\f[R] (on all systems, including
  16775. Windows)
  16776. .IP "4." 3
  16777. \f[C]\[ti]/.config/rclone/rclone.conf\f[R] (see below for explanation of
  16778. \[ti] symbol)
  16779. .IP "5." 3
  16780. \f[C]\[ti]/.rclone.conf\f[R]
  16781. .PP
  16782. If no existing configuration file is found, then a new one will be
  16783. created in the following location:
  16784. .IP \[bu] 2
  16785. On Windows: Location 2 listed above, except in the unlikely event that
  16786. \f[C]APPDATA\f[R] is not defined, then location 4 is used instead.
  16787. .IP \[bu] 2
  16788. On Unix: Location 3 if \f[C]XDG_CONFIG_HOME\f[R] is defined, else
  16789. location 4.
  16790. .IP \[bu] 2
  16791. Fallback to location 5 (on all OS), when the rclone directory cannot be
  16792. created, but if also a home directory was not found then path
  16793. \f[C].rclone.conf\f[R] relative to current working directory will be
  16794. used as a final resort.
  16795. .PP
  16796. The \f[C]\[ti]\f[R] symbol in paths above represent the home directory
  16797. of the current user on any OS, and the value is defined as following:
  16798. .IP \[bu] 2
  16799. On Windows: \f[C]%HOME%\f[R] if defined, else \f[C]%USERPROFILE%\f[R],
  16800. or else \f[C]%HOMEDRIVE%\[rs]%HOMEPATH%\f[R].
  16801. .IP \[bu] 2
  16802. On Unix: \f[C]$HOME\f[R] if defined, else by looking up current user in
  16803. OS-specific user database (e.g.
  16804. passwd file), or else use the result from shell command
  16805. \f[C]cd && pwd\f[R].
  16806. .PP
  16807. If you run \f[C]rclone config file\f[R] you will see where the default
  16808. location is for you.
  16809. .PP
  16810. The fact that an existing file \f[C]rclone.conf\f[R] in the same
  16811. directory as the rclone executable is always preferred, means that it is
  16812. easy to run in \[dq]portable\[dq] mode by downloading rclone executable
  16813. to a writable directory and then create an empty file
  16814. \f[C]rclone.conf\f[R] in the same directory.
  16815. .PP
  16816. If the location is set to empty string \f[C]\[dq]\[dq]\f[R] or path to a
  16817. file with name \f[C]notfound\f[R], or the os null device represented by
  16818. value \f[C]NUL\f[R] on Windows and \f[C]/dev/null\f[R] on Unix systems,
  16819. then rclone will keep the config file in memory only.
  16820. .PP
  16821. The file format is basic
  16822. INI (https://en.wikipedia.org/wiki/INI_file#Format): Sections of text,
  16823. led by a \f[C][section]\f[R] header and followed by \f[C]key=value\f[R]
  16824. entries on separate lines.
  16825. In rclone each remote is represented by its own section, where the
  16826. section name defines the name of the remote.
  16827. Options are specified as the \f[C]key=value\f[R] entries, where the key
  16828. is the option name without the \f[C]--backend-\f[R] prefix, in lowercase
  16829. and with \f[C]_\f[R] instead of \f[C]-\f[R].
  16830. E.g.
  16831. option \f[C]--mega-hard-delete\f[R] corresponds to key
  16832. \f[C]hard_delete\f[R].
  16833. Only backend options can be specified.
  16834. A special, and required, key \f[C]type\f[R] identifies the storage
  16835. system (https://rclone.org/overview/), where the value is the internal
  16836. lowercase name as returned by command \f[C]rclone help backends\f[R].
  16837. Comments are indicated by \f[C];\f[R] or \f[C]#\f[R] at the beginning of
  16838. a line.
  16839. .PP
  16840. Example:
  16841. .IP
  16842. .nf
  16843. \f[C]
  16844. [megaremote]
  16845. type = mega
  16846. user = you\[at]example.com
  16847. pass = PDPcQVVjVtzFY-GTdDFozqBhTdsPg3qH
  16848. \f[R]
  16849. .fi
  16850. .PP
  16851. Note that passwords are in
  16852. obscured (https://rclone.org/commands/rclone_obscure/) form.
  16853. Also, many storage systems uses token-based authentication instead of
  16854. passwords, and this requires additional steps.
  16855. It is easier, and safer, to use the interactive command
  16856. \f[C]rclone config\f[R] instead of manually editing the configuration
  16857. file.
  16858. .PP
  16859. The configuration file will typically contain login information, and
  16860. should therefore have restricted permissions so that only the current
  16861. user can read it.
  16862. Rclone tries to ensure this when it writes the file.
  16863. You may also choose to encrypt the file.
  16864. .PP
  16865. When token-based authentication are used, the configuration file must be
  16866. writable, because rclone needs to update the tokens inside it.
  16867. .PP
  16868. To reduce risk of corrupting an existing configuration file, rclone will
  16869. not write directly to it when saving changes.
  16870. Instead it will first write to a new, temporary, file.
  16871. If a configuration file already existed, it will (on Unix systems) try
  16872. to mirror its permissions to the new file.
  16873. Then it will rename the existing file to a temporary name as backup.
  16874. Next, rclone will rename the new file to the correct name, before
  16875. finally cleaning up by deleting the backup file.
  16876. .PP
  16877. If the configuration file path used by rclone is a symbolic link, then
  16878. this will be evaluated and rclone will write to the resolved path,
  16879. instead of overwriting the symbolic link.
  16880. Temporary files used in the process (described above) will be written to
  16881. the same parent directory as that of the resolved configuration file,
  16882. but if this directory is also a symbolic link it will not be resolved
  16883. and the temporary files will be written to the location of the directory
  16884. symbolic link.
  16885. .SS --contimeout=TIME
  16886. .PP
  16887. Set the connection timeout.
  16888. This should be in go time format which looks like \f[C]5s\f[R] for 5
  16889. seconds, \f[C]10m\f[R] for 10 minutes, or \f[C]3h30m\f[R].
  16890. .PP
  16891. The connection timeout is the amount of time rclone will wait for a
  16892. connection to go through to a remote object storage system.
  16893. It is \f[C]1m\f[R] by default.
  16894. .SS --copy-dest=DIR
  16895. .PP
  16896. When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] DIR is
  16897. checked in addition to the destination for files.
  16898. If a file identical to the source is found that file is server-side
  16899. copied from DIR to the destination.
  16900. This is useful for incremental backup.
  16901. .PP
  16902. The remote in use must support server-side copy and you must use the
  16903. same remote as the destination of the sync.
  16904. The compare directory must not overlap the destination directory.
  16905. .PP
  16906. See \f[C]--compare-dest\f[R] and \f[C]--backup-dir\f[R].
  16907. .SS --dedupe-mode MODE
  16908. .PP
  16909. Mode to run dedupe command in.
  16910. One of \f[C]interactive\f[R], \f[C]skip\f[R], \f[C]first\f[R],
  16911. \f[C]newest\f[R], \f[C]oldest\f[R], \f[C]rename\f[R].
  16912. The default is \f[C]interactive\f[R].
  16913. .PD 0
  16914. .P
  16915. .PD
  16916. See the dedupe command for more information as to what these options
  16917. mean.
  16918. .SS --default-time TIME
  16919. .PP
  16920. If a file or directory does have a modification time rclone can read
  16921. then rclone will display this fixed time instead.
  16922. .PP
  16923. The default is \f[C]2000-01-01 00:00:00 UTC\f[R].
  16924. This can be configured in any of the ways shown in the time or duration
  16925. options.
  16926. .PP
  16927. For example \f[C]--default-time 2020-06-01\f[R] to set the default time
  16928. to the 1st of June 2020 or \f[C]--default-time 0s\f[R] to set the
  16929. default time to the time rclone started up.
  16930. .SS --disable FEATURE,FEATURE,...
  16931. .PP
  16932. This disables a comma separated list of optional features.
  16933. For example to disable server-side move and server-side copy use:
  16934. .IP
  16935. .nf
  16936. \f[C]
  16937. --disable move,copy
  16938. \f[R]
  16939. .fi
  16940. .PP
  16941. The features can be put in any case.
  16942. .PP
  16943. To see a list of which features can be disabled use:
  16944. .IP
  16945. .nf
  16946. \f[C]
  16947. --disable help
  16948. \f[R]
  16949. .fi
  16950. .PP
  16951. The features a remote has can be seen in JSON format with:
  16952. .IP
  16953. .nf
  16954. \f[C]
  16955. rclone backend features remote:
  16956. \f[R]
  16957. .fi
  16958. .PP
  16959. See the overview features (https://rclone.org/overview/#features) and
  16960. optional features (https://rclone.org/overview/#optional-features) to
  16961. get an idea of which feature does what.
  16962. .PP
  16963. Note that some features can be set to \f[C]true\f[R] if they are
  16964. \f[C]true\f[R]/\f[C]false\f[R] feature flag features by prefixing them
  16965. with \f[C]!\f[R].
  16966. For example the \f[C]CaseInsensitive\f[R] feature can be forced to
  16967. \f[C]false\f[R] with \f[C]--disable CaseInsensitive\f[R] and forced to
  16968. \f[C]true\f[R] with \f[C]--disable \[aq]!CaseInsensitive\[aq]\f[R].
  16969. In general it isn\[aq]t a good idea doing this but it may be useful in
  16970. extremis.
  16971. .PP
  16972. (Note that \f[C]!\f[R] is a shell command which you will need to escape
  16973. with single quotes or a backslash on unix like platforms.)
  16974. .PP
  16975. This flag can be useful for debugging and in exceptional circumstances
  16976. (e.g.
  16977. Google Drive limiting the total volume of Server Side Copies to 100
  16978. GiB/day).
  16979. .SS --disable-http2
  16980. .PP
  16981. This stops rclone from trying to use HTTP/2 if available.
  16982. This can sometimes speed up transfers due to a problem in the Go
  16983. standard library (https://github.com/golang/go/issues/37373).
  16984. .SS --dscp VALUE
  16985. .PP
  16986. Specify a DSCP value or name to use in connections.
  16987. This could help QoS system to identify traffic class.
  16988. BE, EF, DF, LE, CSx and AFxx are allowed.
  16989. .PP
  16990. See the description of differentiated
  16991. services (https://en.wikipedia.org/wiki/Differentiated_services) to get
  16992. an idea of this field.
  16993. Setting this to 1 (LE) to identify the flow to SCAVENGER class can avoid
  16994. occupying too much bandwidth in a network with DiffServ support (RFC
  16995. 8622 (https://tools.ietf.org/html/rfc8622)).
  16996. .PP
  16997. For example, if you configured QoS on router to handle LE properly.
  16998. Running:
  16999. .IP
  17000. .nf
  17001. \f[C]
  17002. rclone copy --dscp LE from:/from to:/to
  17003. \f[R]
  17004. .fi
  17005. .PP
  17006. would make the priority lower than usual internet flows.
  17007. .PP
  17008. This option has no effect on Windows (see
  17009. golang/go#42728 (https://github.com/golang/go/issues/42728)).
  17010. .SS -n, --dry-run
  17011. .PP
  17012. Do a trial run with no permanent changes.
  17013. Use this to see what rclone would do without actually doing it.
  17014. Useful when setting up the \f[C]sync\f[R] command which deletes files in
  17015. the destination.
  17016. .SS --expect-continue-timeout=TIME
  17017. .PP
  17018. This specifies the amount of time to wait for a server\[aq]s first
  17019. response headers after fully writing the request headers if the request
  17020. has an \[dq]Expect: 100-continue\[dq] header.
  17021. Not all backends support using this.
  17022. .PP
  17023. Zero means no timeout and causes the body to be sent immediately,
  17024. without waiting for the server to approve.
  17025. This time does not include the time to send the request header.
  17026. .PP
  17027. The default is \f[C]1s\f[R].
  17028. Set to \f[C]0\f[R] to disable.
  17029. .SS --error-on-no-transfer
  17030. .PP
  17031. By default, rclone will exit with return code 0 if there were no errors.
  17032. .PP
  17033. This option allows rclone to return exit code 9 if no files were
  17034. transferred between the source and destination.
  17035. This allows using rclone in scripts, and triggering follow-on actions if
  17036. data was copied, or skipping if not.
  17037. .PP
  17038. NB: Enabling this option turns a usually non-fatal error into a
  17039. potentially fatal one - please check and adjust your scripts
  17040. accordingly!
  17041. .SS --fix-case
  17042. .PP
  17043. Normally, a sync to a case insensitive dest (such as macOS / Windows)
  17044. will not result in a matching filename if the source and dest filenames
  17045. have casing differences but are otherwise identical.
  17046. For example, syncing \f[C]hello.txt\f[R] to \f[C]HELLO.txt\f[R] will
  17047. normally result in the dest filename remaining \f[C]HELLO.txt\f[R].
  17048. If \f[C]--fix-case\f[R] is set, then \f[C]HELLO.txt\f[R] will be renamed
  17049. to \f[C]hello.txt\f[R] to match the source.
  17050. .PP
  17051. NB: - directory names with incorrect casing will also be fixed -
  17052. \f[C]--fix-case\f[R] will be ignored if \f[C]--immutable\f[R] is set -
  17053. using \f[C]--local-case-sensitive\f[R] instead is not advisable; it will
  17054. cause \f[C]HELLO.txt\f[R] to get deleted! - the old dest filename must
  17055. not be excluded by filters.
  17056. Be especially careful with
  17057. \f[C]--files-from\f[R] (https://rclone.org/filtering/#files-from-read-list-of-source-file-names),
  17058. which does not respect
  17059. \f[C]--ignore-case\f[R] (https://rclone.org/filtering/#ignore-case-make-searches-case-insensitive)!
  17060. - on remotes that do not support server-side move, \f[C]--fix-case\f[R]
  17061. will require downloading the file and re-uploading it.
  17062. To avoid this, do not use \f[C]--fix-case\f[R].
  17063. .SS --fs-cache-expire-duration=TIME
  17064. .PP
  17065. When using rclone via the API rclone caches created remotes for 5
  17066. minutes by default in the \[dq]fs cache\[dq].
  17067. This means that if you do repeated actions on the same remote then
  17068. rclone won\[aq]t have to build it again from scratch, which makes it
  17069. more efficient.
  17070. .PP
  17071. This flag sets the time that the remotes are cached for.
  17072. If you set it to \f[C]0\f[R] (or negative) then rclone won\[aq]t cache
  17073. the remotes at all.
  17074. .PP
  17075. Note that if you use some flags, eg \f[C]--backup-dir\f[R] and if this
  17076. is set to \f[C]0\f[R] rclone may build two remotes (one for the source
  17077. or destination and one for the \f[C]--backup-dir\f[R] where it may have
  17078. only built one before.
  17079. .SS --fs-cache-expire-interval=TIME
  17080. .PP
  17081. This controls how often rclone checks for cached remotes to expire.
  17082. See the \f[C]--fs-cache-expire-duration\f[R] documentation above for
  17083. more info.
  17084. The default is 60s, set to 0 to disable expiry.
  17085. .SS --header
  17086. .PP
  17087. Add an HTTP header for all transactions.
  17088. The flag can be repeated to add multiple headers.
  17089. .PP
  17090. If you want to add headers only for uploads use
  17091. \f[C]--header-upload\f[R] and if you want to add headers only for
  17092. downloads use \f[C]--header-download\f[R].
  17093. .PP
  17094. This flag is supported for all HTTP based backends even those not
  17095. supported by \f[C]--header-upload\f[R] and \f[C]--header-download\f[R]
  17096. so may be used as a workaround for those with care.
  17097. .IP
  17098. .nf
  17099. \f[C]
  17100. rclone ls remote:test --header \[dq]X-Rclone: Foo\[dq] --header \[dq]X-LetMeIn: Yes\[dq]
  17101. \f[R]
  17102. .fi
  17103. .SS --header-download
  17104. .PP
  17105. Add an HTTP header for all download transactions.
  17106. The flag can be repeated to add multiple headers.
  17107. .IP
  17108. .nf
  17109. \f[C]
  17110. rclone sync --interactive s3:test/src \[ti]/dst --header-download \[dq]X-Amz-Meta-Test: Foo\[dq] --header-download \[dq]X-Amz-Meta-Test2: Bar\[dq]
  17111. \f[R]
  17112. .fi
  17113. .PP
  17114. See the GitHub issue here (https://github.com/rclone/rclone/issues/59)
  17115. for currently supported backends.
  17116. .SS --header-upload
  17117. .PP
  17118. Add an HTTP header for all upload transactions.
  17119. The flag can be repeated to add multiple headers.
  17120. .IP
  17121. .nf
  17122. \f[C]
  17123. rclone sync --interactive \[ti]/src s3:test/dst --header-upload \[dq]Content-Disposition: attachment; filename=\[aq]cool.html\[aq]\[dq] --header-upload \[dq]X-Amz-Meta-Test: FooBar\[dq]
  17124. \f[R]
  17125. .fi
  17126. .PP
  17127. See the GitHub issue here (https://github.com/rclone/rclone/issues/59)
  17128. for currently supported backends.
  17129. .SS --human-readable
  17130. .PP
  17131. Rclone commands output values for sizes (e.g.
  17132. number of bytes) and counts (e.g.
  17133. number of files) either as \f[I]raw\f[R] numbers, or in
  17134. \f[I]human-readable\f[R] format.
  17135. .PP
  17136. In human-readable format the values are scaled to larger units,
  17137. indicated with a suffix shown after the value, and rounded to three
  17138. decimals.
  17139. Rclone consistently uses binary units (powers of 2) for sizes and
  17140. decimal units (powers of 10) for counts.
  17141. The unit prefix for size is according to IEC standard notation, e.g.
  17142. \f[C]Ki\f[R] for kibi.
  17143. Used with byte unit, \f[C]1 KiB\f[R] means 1024 Byte.
  17144. In list type of output, only the unit prefix appended to the value (e.g.
  17145. \f[C]9.762Ki\f[R]), while in more textual output the full unit is shown
  17146. (e.g.
  17147. \f[C]9.762 KiB\f[R]).
  17148. For counts the SI standard notation is used, e.g.
  17149. prefix \f[C]k\f[R] for kilo.
  17150. Used with file counts, \f[C]1k\f[R] means 1000 files.
  17151. .PP
  17152. The various list (https://rclone.org/commands/rclone_ls/) commands
  17153. output raw numbers by default.
  17154. Option \f[C]--human-readable\f[R] will make them output values in
  17155. human-readable format instead (with the short unit prefix).
  17156. .PP
  17157. The about (https://rclone.org/commands/rclone_about/) command outputs
  17158. human-readable by default, with a command-specific option
  17159. \f[C]--full\f[R] to output the raw numbers instead.
  17160. .PP
  17161. Command size (https://rclone.org/commands/rclone_size/) outputs both
  17162. human-readable and raw numbers in the same output.
  17163. .PP
  17164. The tree (https://rclone.org/commands/rclone_tree/) command also
  17165. considers \f[C]--human-readable\f[R], but it will not use the exact same
  17166. notation as the other commands: It rounds to one decimal, and uses
  17167. single letter suffix, e.g.
  17168. \f[C]K\f[R] instead of \f[C]Ki\f[R].
  17169. The reason for this is that it relies on an external library.
  17170. .PP
  17171. The interactive command ncdu (https://rclone.org/commands/rclone_ncdu/)
  17172. shows human-readable by default, and responds to key \f[C]u\f[R] for
  17173. toggling human-readable format.
  17174. .SS --ignore-case-sync
  17175. .PP
  17176. Using this option will cause rclone to ignore the case of the files when
  17177. synchronizing so files will not be copied/synced when the existing
  17178. filenames are the same, even if the casing is different.
  17179. .SS --ignore-checksum
  17180. .PP
  17181. Normally rclone will check that the checksums of transferred files
  17182. match, and give an error \[dq]corrupted on transfer\[dq] if they
  17183. don\[aq]t.
  17184. .PP
  17185. You can use this option to skip that check.
  17186. You should only use it if you have had the \[dq]corrupted on
  17187. transfer\[dq] error message and you are sure you might want to transfer
  17188. potentially corrupted data.
  17189. .SS --ignore-existing
  17190. .PP
  17191. Using this option will make rclone unconditionally skip all files that
  17192. exist on the destination, no matter the content of these files.
  17193. .PP
  17194. While this isn\[aq]t a generally recommended option, it can be useful in
  17195. cases where your files change due to encryption.
  17196. However, it cannot correct partial transfers in case a transfer was
  17197. interrupted.
  17198. .PP
  17199. When performing a \f[C]move\f[R]/\f[C]moveto\f[R] command, this flag
  17200. will leave skipped files in the source location unchanged when a file
  17201. with the same name exists on the destination.
  17202. .SS --ignore-size
  17203. .PP
  17204. Normally rclone will look at modification time and size of files to see
  17205. if they are equal.
  17206. If you set this flag then rclone will check only the modification time.
  17207. If \f[C]--checksum\f[R] is set then it only checks the checksum.
  17208. .PP
  17209. It will also cause rclone to skip verifying the sizes are the same after
  17210. transfer.
  17211. .PP
  17212. This can be useful for transferring files to and from OneDrive which
  17213. occasionally misreports the size of image files (see
  17214. #399 (https://github.com/rclone/rclone/issues/399) for more info).
  17215. .SS -I, --ignore-times
  17216. .PP
  17217. Using this option will cause rclone to unconditionally upload all files
  17218. regardless of the state of files on the destination.
  17219. .PP
  17220. Normally rclone would skip any files that have the same modification
  17221. time and are the same size (or have the same checksum if using
  17222. \f[C]--checksum\f[R]).
  17223. .SS --immutable
  17224. .PP
  17225. Treat source and destination files as immutable and disallow
  17226. modification.
  17227. .PP
  17228. With this option set, files will be created and deleted as requested,
  17229. but existing files will never be updated.
  17230. If an existing file does not match between the source and destination,
  17231. rclone will give the error
  17232. \f[C]Source and destination exist but do not match: immutable file modified\f[R].
  17233. .PP
  17234. Note that only commands which transfer files (e.g.
  17235. \f[C]sync\f[R], \f[C]copy\f[R], \f[C]move\f[R]) are affected by this
  17236. behavior, and only modification is disallowed.
  17237. Files may still be deleted explicitly (e.g.
  17238. \f[C]delete\f[R], \f[C]purge\f[R]) or implicitly (e.g.
  17239. \f[C]sync\f[R], \f[C]move\f[R]).
  17240. Use \f[C]copy --immutable\f[R] if it is desired to avoid deletion as
  17241. well as modification.
  17242. .PP
  17243. This can be useful as an additional layer of protection for immutable or
  17244. append-only data sets (notably backup archives), where modification
  17245. implies corruption and should not be propagated.
  17246. .SS --inplace
  17247. .PP
  17248. The \f[C]--inplace\f[R] flag changes the behaviour of rclone when
  17249. uploading files to some backends (backends with the
  17250. \f[C]PartialUploads\f[R] feature flag set) such as:
  17251. .IP \[bu] 2
  17252. local
  17253. .IP \[bu] 2
  17254. ftp
  17255. .IP \[bu] 2
  17256. sftp
  17257. .PP
  17258. Without \f[C]--inplace\f[R] (the default) rclone will first upload to a
  17259. temporary file with an extension like this, where \f[C]XXXXXX\f[R]
  17260. represents a random string and \f[C].partial\f[R] is --partial-suffix
  17261. value (\f[C].partial\f[R] by default).
  17262. .IP
  17263. .nf
  17264. \f[C]
  17265. original-file-name.XXXXXX.partial
  17266. \f[R]
  17267. .fi
  17268. .PP
  17269. (rclone will make sure the final name is no longer than 100 characters
  17270. by truncating the \f[C]original-file-name\f[R] part if necessary).
  17271. .PP
  17272. When the upload is complete, rclone will rename the \f[C].partial\f[R]
  17273. file to the correct name, overwriting any existing file at that point.
  17274. If the upload fails then the \f[C].partial\f[R] file will be deleted.
  17275. .PP
  17276. This prevents other users of the backend from seeing partially uploaded
  17277. files in their new names and prevents overwriting the old file until the
  17278. new one is completely uploaded.
  17279. .PP
  17280. If the \f[C]--inplace\f[R] flag is supplied, rclone will upload directly
  17281. to the final name without creating a \f[C].partial\f[R] file.
  17282. .PP
  17283. This means that an incomplete file will be visible in the directory
  17284. listings while the upload is in progress and any existing files will be
  17285. overwritten as soon as the upload starts.
  17286. If the transfer fails then the file will be deleted.
  17287. This can cause data loss of the existing file if the transfer fails.
  17288. .PP
  17289. Note that on the local file system if you don\[aq]t use
  17290. \f[C]--inplace\f[R] hard links (Unix only) will be broken.
  17291. And if you do use \f[C]--inplace\f[R] you won\[aq]t be able to update in
  17292. use executables.
  17293. .PP
  17294. Note also that versions of rclone prior to v1.63.0 behave as if the
  17295. \f[C]--inplace\f[R] flag is always supplied.
  17296. .SS -i, --interactive
  17297. .PP
  17298. This flag can be used to tell rclone that you wish a manual confirmation
  17299. before destructive operations.
  17300. .PP
  17301. It is \f[B]recommended\f[R] that you use this flag while learning rclone
  17302. especially with \f[C]rclone sync\f[R].
  17303. .PP
  17304. For example
  17305. .IP
  17306. .nf
  17307. \f[C]
  17308. $ rclone delete --interactive /tmp/dir
  17309. rclone: delete \[dq]important-file.txt\[dq]?
  17310. y) Yes, this is OK (default)
  17311. n) No, skip this
  17312. s) Skip all delete operations with no more questions
  17313. !) Do all delete operations with no more questions
  17314. q) Exit rclone now.
  17315. y/n/s/!/q> n
  17316. \f[R]
  17317. .fi
  17318. .PP
  17319. The options mean
  17320. .IP \[bu] 2
  17321. \f[C]y\f[R]: \f[B]Yes\f[R], this operation should go ahead.
  17322. You can also press Return for this to happen.
  17323. You\[aq]ll be asked every time unless you choose \f[C]s\f[R] or
  17324. \f[C]!\f[R].
  17325. .IP \[bu] 2
  17326. \f[C]n\f[R]: \f[B]No\f[R], do not do this operation.
  17327. You\[aq]ll be asked every time unless you choose \f[C]s\f[R] or
  17328. \f[C]!\f[R].
  17329. .IP \[bu] 2
  17330. \f[C]s\f[R]: \f[B]Skip\f[R] all the following operations of this type
  17331. with no more questions.
  17332. This takes effect until rclone exits.
  17333. If there are any different kind of operations you\[aq]ll be prompted for
  17334. them.
  17335. .IP \[bu] 2
  17336. \f[C]!\f[R]: \f[B]Do all\f[R] the following operations with no more
  17337. questions.
  17338. Useful if you\[aq]ve decided that you don\[aq]t mind rclone doing that
  17339. kind of operation.
  17340. This takes effect until rclone exits .
  17341. If there are any different kind of operations you\[aq]ll be prompted for
  17342. them.
  17343. .IP \[bu] 2
  17344. \f[C]q\f[R]: \f[B]Quit\f[R] rclone now, just in case!
  17345. .SS --leave-root
  17346. .PP
  17347. During rmdirs it will not remove root directory, even if it\[aq]s empty.
  17348. .SS --log-file=FILE
  17349. .PP
  17350. Log all of rclone\[aq]s output to FILE.
  17351. This is not active by default.
  17352. This can be useful for tracking down problems with syncs in combination
  17353. with the \f[C]-v\f[R] flag.
  17354. See the Logging section for more info.
  17355. .PP
  17356. If FILE exists then rclone will append to it.
  17357. .PP
  17358. Note that if you are using the \f[C]logrotate\f[R] program to manage
  17359. rclone\[aq]s logs, then you should use the \f[C]copytruncate\f[R] option
  17360. as rclone doesn\[aq]t have a signal to rotate logs.
  17361. .SS --log-format LIST
  17362. .PP
  17363. Comma separated list of log format options.
  17364. Accepted options are \f[C]date\f[R], \f[C]time\f[R],
  17365. \f[C]microseconds\f[R], \f[C]pid\f[R], \f[C]longfile\f[R],
  17366. \f[C]shortfile\f[R], \f[C]UTC\f[R].
  17367. Any other keywords will be silently ignored.
  17368. \f[C]pid\f[R] will tag log messages with process identifier which useful
  17369. with \f[C]rclone mount --daemon\f[R].
  17370. Other accepted options are explained in the go
  17371. documentation (https://pkg.go.dev/log#pkg-constants).
  17372. The default log format is \[dq]\f[C]date\f[R],\f[C]time\f[R]\[dq].
  17373. .SS --log-level LEVEL
  17374. .PP
  17375. This sets the log level for rclone.
  17376. The default log level is \f[C]NOTICE\f[R].
  17377. .PP
  17378. \f[C]DEBUG\f[R] is equivalent to \f[C]-vv\f[R].
  17379. It outputs lots of debug info - useful for bug reports and really
  17380. finding out what rclone is doing.
  17381. .PP
  17382. \f[C]INFO\f[R] is equivalent to \f[C]-v\f[R].
  17383. It outputs information about each transfer and prints stats once a
  17384. minute by default.
  17385. .PP
  17386. \f[C]NOTICE\f[R] is the default log level if no logging flags are
  17387. supplied.
  17388. It outputs very little when things are working normally.
  17389. It outputs warnings and significant events.
  17390. .PP
  17391. \f[C]ERROR\f[R] is equivalent to \f[C]-q\f[R].
  17392. It only outputs error messages.
  17393. .SS --use-json-log
  17394. .PP
  17395. This switches the log format to JSON for rclone.
  17396. The fields of json log are level, msg, source, time.
  17397. .SS --low-level-retries NUMBER
  17398. .PP
  17399. This controls the number of low level retries rclone does.
  17400. .PP
  17401. A low level retry is used to retry a failing operation - typically one
  17402. HTTP request.
  17403. This might be uploading a chunk of a big file for example.
  17404. You will see low level retries in the log with the \f[C]-v\f[R] flag.
  17405. .PP
  17406. This shouldn\[aq]t need to be changed from the default in normal
  17407. operations.
  17408. However, if you get a lot of low level retries you may wish to reduce
  17409. the value so rclone moves on to a high level retry (see the
  17410. \f[C]--retries\f[R] flag) quicker.
  17411. .PP
  17412. Disable low level retries with \f[C]--low-level-retries 1\f[R].
  17413. .SS --max-backlog=N
  17414. .PP
  17415. This is the maximum allowable backlog of files in a sync/copy/move
  17416. queued for being checked or transferred.
  17417. .PP
  17418. This can be set arbitrarily large.
  17419. It will only use memory when the queue is in use.
  17420. Note that it will use in the order of N KiB of memory when the backlog
  17421. is in use.
  17422. .PP
  17423. Setting this large allows rclone to calculate how many files are pending
  17424. more accurately, give a more accurate estimated finish time and make
  17425. \f[C]--order-by\f[R] work more accurately.
  17426. .PP
  17427. Setting this small will make rclone more synchronous to the listings of
  17428. the remote which may be desirable.
  17429. .PP
  17430. Setting this to a negative number will make the backlog as large as
  17431. possible.
  17432. .SS --max-delete=N
  17433. .PP
  17434. This tells rclone not to delete more than N files.
  17435. If that limit is exceeded then a fatal error will be generated and
  17436. rclone will stop the operation in progress.
  17437. .SS --max-delete-size=SIZE
  17438. .PP
  17439. Rclone will stop deleting files when the total size of deletions has
  17440. reached the size specified.
  17441. It defaults to off.
  17442. .PP
  17443. If that limit is exceeded then a fatal error will be generated and
  17444. rclone will stop the operation in progress.
  17445. .SS --max-depth=N
  17446. .PP
  17447. This modifies the recursion depth for all the commands except purge.
  17448. .PP
  17449. So if you do \f[C]rclone --max-depth 1 ls remote:path\f[R] you will see
  17450. only the files in the top level directory.
  17451. Using \f[C]--max-depth 2\f[R] means you will see all the files in first
  17452. two directory levels and so on.
  17453. .PP
  17454. For historical reasons the \f[C]lsd\f[R] command defaults to using a
  17455. \f[C]--max-depth\f[R] of 1 - you can override this with the command line
  17456. flag.
  17457. .PP
  17458. You can use this command to disable recursion (with
  17459. \f[C]--max-depth 1\f[R]).
  17460. .PP
  17461. Note that if you use this with \f[C]sync\f[R] and
  17462. \f[C]--delete-excluded\f[R] the files not recursed through are
  17463. considered excluded and will be deleted on the destination.
  17464. Test first with \f[C]--dry-run\f[R] if you are not sure what will
  17465. happen.
  17466. .SS --max-duration=TIME
  17467. .PP
  17468. Rclone will stop transferring when it has run for the duration
  17469. specified.
  17470. Defaults to off.
  17471. .PP
  17472. When the limit is reached all transfers will stop immediately.
  17473. Use \f[C]--cutoff-mode\f[R] to modify this behaviour.
  17474. .PP
  17475. Rclone will exit with exit code 10 if the duration limit is reached.
  17476. .SS --max-transfer=SIZE
  17477. .PP
  17478. Rclone will stop transferring when it has reached the size specified.
  17479. Defaults to off.
  17480. .PP
  17481. When the limit is reached all transfers will stop immediately.
  17482. Use \f[C]--cutoff-mode\f[R] to modify this behaviour.
  17483. .PP
  17484. Rclone will exit with exit code 8 if the transfer limit is reached.
  17485. .SS --cutoff-mode=hard|soft|cautious
  17486. .PP
  17487. This modifies the behavior of \f[C]--max-transfer\f[R] and
  17488. \f[C]--max-duration\f[R] Defaults to \f[C]--cutoff-mode=hard\f[R].
  17489. .PP
  17490. Specifying \f[C]--cutoff-mode=hard\f[R] will stop transferring
  17491. immediately when Rclone reaches the limit.
  17492. .PP
  17493. Specifying \f[C]--cutoff-mode=soft\f[R] will stop starting new transfers
  17494. when Rclone reaches the limit.
  17495. .PP
  17496. Specifying \f[C]--cutoff-mode=cautious\f[R] will try to prevent Rclone
  17497. from reaching the limit.
  17498. Only applicable for \f[C]--max-transfer\f[R]
  17499. .SS -M, --metadata
  17500. .PP
  17501. Setting this flag enables rclone to copy the metadata from the source to
  17502. the destination.
  17503. For local backends this is ownership, permissions, xattr etc.
  17504. See the metadata section for more info.
  17505. .SS --metadata-mapper SpaceSepList
  17506. .PP
  17507. If you supply the parameter \f[C]--metadata-mapper /path/to/program\f[R]
  17508. then rclone will use that program to map metadata from source object to
  17509. destination object.
  17510. .PP
  17511. The argument to this flag should be a command with an optional space
  17512. separated list of arguments.
  17513. If one of the arguments has a space in then enclose it in
  17514. \f[C]\[dq]\f[R], if you want a literal \f[C]\[dq]\f[R] in an argument
  17515. then enclose the argument in \f[C]\[dq]\f[R] and double the
  17516. \f[C]\[dq]\f[R].
  17517. See CSV encoding (https://godoc.org/encoding/csv) for more info.
  17518. .IP
  17519. .nf
  17520. \f[C]
  17521. --metadata-mapper \[dq]python bin/test_metadata_mapper.py\[dq]
  17522. --metadata-mapper \[aq]python bin/test_metadata_mapper.py \[dq]argument with a space\[dq]\[aq]
  17523. --metadata-mapper \[aq]python bin/test_metadata_mapper.py \[dq]argument with \[dq]\[dq]two\[dq]\[dq] quotes\[dq]\[aq]
  17524. \f[R]
  17525. .fi
  17526. .PP
  17527. This uses a simple JSON based protocol with input on STDIN and output on
  17528. STDOUT.
  17529. This will be called for every file and directory copied and may be
  17530. called concurrently.
  17531. .PP
  17532. The program\[aq]s job is to take a metadata blob on the input and turn
  17533. it into a metadata blob on the output suitable for the destination
  17534. backend.
  17535. .PP
  17536. Input to the program (via STDIN) might look like this.
  17537. This provides some context for the \f[C]Metadata\f[R] which may be
  17538. important.
  17539. .IP \[bu] 2
  17540. \f[C]SrcFs\f[R] is the config string for the remote that the object is
  17541. currently on.
  17542. .IP \[bu] 2
  17543. \f[C]SrcFsType\f[R] is the name of the source backend.
  17544. .IP \[bu] 2
  17545. \f[C]DstFs\f[R] is the config string for the remote that the object is
  17546. being copied to
  17547. .IP \[bu] 2
  17548. \f[C]DstFsType\f[R] is the name of the destination backend.
  17549. .IP \[bu] 2
  17550. \f[C]Remote\f[R] is the path of the object relative to the root.
  17551. .IP \[bu] 2
  17552. \f[C]Size\f[R], \f[C]MimeType\f[R], \f[C]ModTime\f[R] are attributes of
  17553. the object.
  17554. .IP \[bu] 2
  17555. \f[C]IsDir\f[R] is \f[C]true\f[R] if this is a directory (not yet
  17556. implemented).
  17557. .IP \[bu] 2
  17558. \f[C]ID\f[R] is the source \f[C]ID\f[R] of the object if known.
  17559. .IP \[bu] 2
  17560. \f[C]Metadata\f[R] is the backend specific metadata as described in the
  17561. backend docs.
  17562. .IP
  17563. .nf
  17564. \f[C]
  17565. {
  17566. \[dq]SrcFs\[dq]: \[dq]gdrive:\[dq],
  17567. \[dq]SrcFsType\[dq]: \[dq]drive\[dq],
  17568. \[dq]DstFs\[dq]: \[dq]newdrive:user\[dq],
  17569. \[dq]DstFsType\[dq]: \[dq]onedrive\[dq],
  17570. \[dq]Remote\[dq]: \[dq]test.txt\[dq],
  17571. \[dq]Size\[dq]: 6,
  17572. \[dq]MimeType\[dq]: \[dq]text/plain; charset=utf-8\[dq],
  17573. \[dq]ModTime\[dq]: \[dq]2022-10-11T17:53:10.286745272+01:00\[dq],
  17574. \[dq]IsDir\[dq]: false,
  17575. \[dq]ID\[dq]: \[dq]xyz\[dq],
  17576. \[dq]Metadata\[dq]: {
  17577. \[dq]btime\[dq]: \[dq]2022-10-11T16:53:11Z\[dq],
  17578. \[dq]content-type\[dq]: \[dq]text/plain; charset=utf-8\[dq],
  17579. \[dq]mtime\[dq]: \[dq]2022-10-11T17:53:10.286745272+01:00\[dq],
  17580. \[dq]owner\[dq]: \[dq]user1\[at]domain1.com\[dq],
  17581. \[dq]permissions\[dq]: \[dq]...\[dq],
  17582. \[dq]description\[dq]: \[dq]my nice file\[dq],
  17583. \[dq]starred\[dq]: \[dq]false\[dq]
  17584. }
  17585. }
  17586. \f[R]
  17587. .fi
  17588. .PP
  17589. The program should then modify the input as desired and send it to
  17590. STDOUT.
  17591. The returned \f[C]Metadata\f[R] field will be used in its entirety for
  17592. the destination object.
  17593. Any other fields will be ignored.
  17594. Note in this example we translate user names and permissions and add
  17595. something to the description:
  17596. .IP
  17597. .nf
  17598. \f[C]
  17599. {
  17600. \[dq]Metadata\[dq]: {
  17601. \[dq]btime\[dq]: \[dq]2022-10-11T16:53:11Z\[dq],
  17602. \[dq]content-type\[dq]: \[dq]text/plain; charset=utf-8\[dq],
  17603. \[dq]mtime\[dq]: \[dq]2022-10-11T17:53:10.286745272+01:00\[dq],
  17604. \[dq]owner\[dq]: \[dq]user1\[at]domain2.com\[dq],
  17605. \[dq]permissions\[dq]: \[dq]...\[dq],
  17606. \[dq]description\[dq]: \[dq]my nice file [migrated from domain1]\[dq],
  17607. \[dq]starred\[dq]: \[dq]false\[dq]
  17608. }
  17609. }
  17610. \f[R]
  17611. .fi
  17612. .PP
  17613. Metadata can be removed here too.
  17614. .PP
  17615. An example python program might look something like this to implement
  17616. the above transformations.
  17617. .IP
  17618. .nf
  17619. \f[C]
  17620. import sys, json
  17621. i = json.load(sys.stdin)
  17622. metadata = i[\[dq]Metadata\[dq]]
  17623. # Add tag to description
  17624. if \[dq]description\[dq] in metadata:
  17625. metadata[\[dq]description\[dq]] += \[dq] [migrated from domain1]\[dq]
  17626. else:
  17627. metadata[\[dq]description\[dq]] = \[dq][migrated from domain1]\[dq]
  17628. # Modify owner
  17629. if \[dq]owner\[dq] in metadata:
  17630. metadata[\[dq]owner\[dq]] = metadata[\[dq]owner\[dq]].replace(\[dq]domain1.com\[dq], \[dq]domain2.com\[dq])
  17631. o = { \[dq]Metadata\[dq]: metadata }
  17632. json.dump(o, sys.stdout, indent=\[dq]\[rs]t\[dq])
  17633. \f[R]
  17634. .fi
  17635. .PP
  17636. You can find this example (slightly expanded) in the rclone source code
  17637. at
  17638. bin/test_metadata_mapper.py (https://github.com/rclone/rclone/blob/master/bin/test_metadata_mapper.py).
  17639. .PP
  17640. If you want to see the input to the metadata mapper and the output
  17641. returned from it in the log you can use \f[C]-vv --dump mapper\f[R].
  17642. .PP
  17643. See the metadata section for more info.
  17644. .SS --metadata-set key=value
  17645. .PP
  17646. Add metadata \f[C]key\f[R] = \f[C]value\f[R] when uploading.
  17647. This can be repeated as many times as required.
  17648. See the metadata section for more info.
  17649. .SS --modify-window=TIME
  17650. .PP
  17651. When checking whether a file has been modified, this is the maximum
  17652. allowed time difference that a file can have and still be considered
  17653. equivalent.
  17654. .PP
  17655. The default is \f[C]1ns\f[R] unless this is overridden by a remote.
  17656. For example OS X only stores modification times to the nearest second so
  17657. if you are reading and writing to an OS X filing system this will be
  17658. \f[C]1s\f[R] by default.
  17659. .PP
  17660. This command line flag allows you to override that computed default.
  17661. .SS --multi-thread-write-buffer-size=SIZE
  17662. .PP
  17663. When transferring with multiple threads, rclone will buffer SIZE bytes
  17664. in memory before writing to disk for each thread.
  17665. .PP
  17666. This can improve performance if the underlying filesystem does not deal
  17667. well with a lot of small writes in different positions of the file, so
  17668. if you see transfers being limited by disk write speed, you might want
  17669. to experiment with different values.
  17670. Specially for magnetic drives and remote file systems a higher value can
  17671. be useful.
  17672. .PP
  17673. Nevertheless, the default of \f[C]128k\f[R] should be fine for almost
  17674. all use cases, so before changing it ensure that network is not really
  17675. your bottleneck.
  17676. .PP
  17677. As a final hint, size is not the only factor: block size (or similar
  17678. concept) can have an impact.
  17679. In one case, we observed that exact multiples of 16k performed much
  17680. better than other values.
  17681. .SS --multi-thread-chunk-size=SizeSuffix
  17682. .PP
  17683. Normally the chunk size for multi thread transfers is set by the
  17684. backend.
  17685. However some backends such as \f[C]local\f[R] and \f[C]smb\f[R] (which
  17686. implement \f[C]OpenWriterAt\f[R] but not \f[C]OpenChunkWriter\f[R])
  17687. don\[aq]t have a natural chunk size.
  17688. .PP
  17689. In this case the value of this option is used (default 64Mi).
  17690. .SS --multi-thread-cutoff=SIZE
  17691. .PP
  17692. When transferring files above SIZE to capable backends, rclone will use
  17693. multiple threads to transfer the file (default 256M).
  17694. .PP
  17695. Capable backends are marked in the
  17696. overview (https://rclone.org/overview/#optional-features) as
  17697. \f[C]MultithreadUpload\f[R].
  17698. (They need to implement either the \f[C]OpenWriterAt\f[R] or
  17699. \f[C]OpenChunkWriter\f[R] internal interfaces).
  17700. These include include, \f[C]local\f[R], \f[C]s3\f[R],
  17701. \f[C]azureblob\f[R], \f[C]b2\f[R], \f[C]oracleobjectstorage\f[R] and
  17702. \f[C]smb\f[R] at the time of writing.
  17703. .PP
  17704. On the local disk, rclone preallocates the file (using
  17705. \f[C]fallocate(FALLOC_FL_KEEP_SIZE)\f[R] on unix or
  17706. \f[C]NTSetInformationFile\f[R] on Windows both of which takes no time)
  17707. then each thread writes directly into the file at the correct place.
  17708. This means that rclone won\[aq]t create fragmented or sparse files and
  17709. there won\[aq]t be any assembly time at the end of the transfer.
  17710. .PP
  17711. The number of threads used to transfer is controlled by
  17712. \f[C]--multi-thread-streams\f[R].
  17713. .PP
  17714. Use \f[C]-vv\f[R] if you wish to see info about the threads.
  17715. .PP
  17716. This will work with the \f[C]sync\f[R]/\f[C]copy\f[R]/\f[C]move\f[R]
  17717. commands and friends \f[C]copyto\f[R]/\f[C]moveto\f[R].
  17718. Multi thread transfers will be used with \f[C]rclone mount\f[R] and
  17719. \f[C]rclone serve\f[R] if \f[C]--vfs-cache-mode\f[R] is set to
  17720. \f[C]writes\f[R] or above.
  17721. .PP
  17722. \f[B]NB\f[R] that this \f[B]only\f[R] works with supported backends as
  17723. the destination but will work with any backend as the source.
  17724. .PP
  17725. \f[B]NB\f[R] that multi-thread copies are disabled for local to local
  17726. copies as they are faster without unless
  17727. \f[C]--multi-thread-streams\f[R] is set explicitly.
  17728. .PP
  17729. \f[B]NB\f[R] on Windows using multi-thread transfers to the local disk
  17730. will cause the resulting files to be
  17731. sparse (https://en.wikipedia.org/wiki/Sparse_file).
  17732. Use \f[C]--local-no-sparse\f[R] to disable sparse files (which may cause
  17733. long delays at the start of transfers) or disable multi-thread transfers
  17734. with \f[C]--multi-thread-streams 0\f[R]
  17735. .SS --multi-thread-streams=N
  17736. .PP
  17737. When using multi thread transfers (see above
  17738. \f[C]--multi-thread-cutoff\f[R]) this sets the number of streams to use.
  17739. Set to \f[C]0\f[R] to disable multi thread transfers (Default 4).
  17740. .PP
  17741. If the backend has a \f[C]--backend-upload-concurrency\f[R] setting (eg
  17742. \f[C]--s3-upload-concurrency\f[R]) then this setting will be used as the
  17743. number of transfers instead if it is larger than the value of
  17744. \f[C]--multi-thread-streams\f[R] or \f[C]--multi-thread-streams\f[R]
  17745. isn\[aq]t set.
  17746. .SS --no-check-dest
  17747. .PP
  17748. The \f[C]--no-check-dest\f[R] can be used with \f[C]move\f[R] or
  17749. \f[C]copy\f[R] and it causes rclone not to check the destination at all
  17750. when copying files.
  17751. .PP
  17752. This means that:
  17753. .IP \[bu] 2
  17754. the destination is not listed minimising the API calls
  17755. .IP \[bu] 2
  17756. files are always transferred
  17757. .IP \[bu] 2
  17758. this can cause duplicates on remotes which allow it (e.g.
  17759. Google Drive)
  17760. .IP \[bu] 2
  17761. \f[C]--retries 1\f[R] is recommended otherwise you\[aq]ll transfer
  17762. everything again on a retry
  17763. .PP
  17764. This flag is useful to minimise the transactions if you know that none
  17765. of the files are on the destination.
  17766. .PP
  17767. This is a specialized flag which should be ignored by most users!
  17768. .SS --no-gzip-encoding
  17769. .PP
  17770. Don\[aq]t set \f[C]Accept-Encoding: gzip\f[R].
  17771. This means that rclone won\[aq]t ask the server for compressed files
  17772. automatically.
  17773. Useful if you\[aq]ve set the server to return files with
  17774. \f[C]Content-Encoding: gzip\f[R] but you uploaded compressed files.
  17775. .PP
  17776. There is no need to set this in normal operation, and doing so will
  17777. decrease the network transfer efficiency of rclone.
  17778. .SS --no-traverse
  17779. .PP
  17780. The \f[C]--no-traverse\f[R] flag controls whether the destination file
  17781. system is traversed when using the \f[C]copy\f[R] or \f[C]move\f[R]
  17782. commands.
  17783. \f[C]--no-traverse\f[R] is not compatible with \f[C]sync\f[R] and will
  17784. be ignored if you supply it with \f[C]sync\f[R].
  17785. .PP
  17786. If you are only copying a small number of files (or are filtering most
  17787. of the files) and/or have a large number of files on the destination
  17788. then \f[C]--no-traverse\f[R] will stop rclone listing the destination
  17789. and save time.
  17790. .PP
  17791. However, if you are copying a large number of files, especially if you
  17792. are doing a copy where lots of the files under consideration haven\[aq]t
  17793. changed and won\[aq]t need copying then you shouldn\[aq]t use
  17794. \f[C]--no-traverse\f[R].
  17795. .PP
  17796. See rclone copy (https://rclone.org/commands/rclone_copy/) for an
  17797. example of how to use it.
  17798. .SS --no-unicode-normalization
  17799. .PP
  17800. Don\[aq]t normalize unicode characters in filenames during the sync
  17801. routine.
  17802. .PP
  17803. Sometimes, an operating system will store filenames containing unicode
  17804. parts in their decomposed form (particularly macOS).
  17805. Some cloud storage systems will then recompose the unicode, resulting in
  17806. duplicate files if the data is ever copied back to a local filesystem.
  17807. .PP
  17808. Using this flag will disable that functionality, treating each unicode
  17809. character as unique.
  17810. For example, by default e\[u0301] and \['e] will be normalized into the
  17811. same character.
  17812. With \f[C]--no-unicode-normalization\f[R] they will be treated as unique
  17813. characters.
  17814. .SS --no-update-modtime
  17815. .PP
  17816. When using this flag, rclone won\[aq]t update modification times of
  17817. remote files if they are incorrect as it would normally.
  17818. .PP
  17819. This can be used if the remote is being synced with another tool also
  17820. (e.g.
  17821. the Google Drive client).
  17822. .SS --no-update-dir-modtime
  17823. .PP
  17824. When using this flag, rclone won\[aq]t update modification times of
  17825. remote directories if they are incorrect as it would normally.
  17826. .SS --order-by string
  17827. .PP
  17828. The \f[C]--order-by\f[R] flag controls the order in which files in the
  17829. backlog are processed in \f[C]rclone sync\f[R], \f[C]rclone copy\f[R]
  17830. and \f[C]rclone move\f[R].
  17831. .PP
  17832. The order by string is constructed like this.
  17833. The first part describes what aspect is being measured:
  17834. .IP \[bu] 2
  17835. \f[C]size\f[R] - order by the size of the files
  17836. .IP \[bu] 2
  17837. \f[C]name\f[R] - order by the full path of the files
  17838. .IP \[bu] 2
  17839. \f[C]modtime\f[R] - order by the modification date of the files
  17840. .PP
  17841. This can have a modifier appended with a comma:
  17842. .IP \[bu] 2
  17843. \f[C]ascending\f[R] or \f[C]asc\f[R] - order so that the smallest (or
  17844. oldest) is processed first
  17845. .IP \[bu] 2
  17846. \f[C]descending\f[R] or \f[C]desc\f[R] - order so that the largest (or
  17847. newest) is processed first
  17848. .IP \[bu] 2
  17849. \f[C]mixed\f[R] - order so that the smallest is processed first for some
  17850. threads and the largest for others
  17851. .PP
  17852. If the modifier is \f[C]mixed\f[R] then it can have an optional
  17853. percentage (which defaults to \f[C]50\f[R]), e.g.
  17854. \f[C]size,mixed,25\f[R] which means that 25% of the threads should be
  17855. taking the smallest items and 75% the largest.
  17856. The threads which take the smallest first will always take the smallest
  17857. first and likewise the largest first threads.
  17858. The \f[C]mixed\f[R] mode can be useful to minimise the transfer time
  17859. when you are transferring a mixture of large and small files - the large
  17860. files are guaranteed upload threads and bandwidth and the small files
  17861. will be processed continuously.
  17862. .PP
  17863. If no modifier is supplied then the order is \f[C]ascending\f[R].
  17864. .PP
  17865. For example
  17866. .IP \[bu] 2
  17867. \f[C]--order-by size,desc\f[R] - send the largest files first
  17868. .IP \[bu] 2
  17869. \f[C]--order-by modtime,ascending\f[R] - send the oldest files first
  17870. .IP \[bu] 2
  17871. \f[C]--order-by name\f[R] - send the files with alphabetically by path
  17872. first
  17873. .PP
  17874. If the \f[C]--order-by\f[R] flag is not supplied or it is supplied with
  17875. an empty string then the default ordering will be used which is as
  17876. scanned.
  17877. With \f[C]--checkers 1\f[R] this is mostly alphabetical, however with
  17878. the default \f[C]--checkers 8\f[R] it is somewhat random.
  17879. .SS Limitations
  17880. .PP
  17881. The \f[C]--order-by\f[R] flag does not do a separate pass over the data.
  17882. This means that it may transfer some files out of the order specified if
  17883. .IP \[bu] 2
  17884. there are no files in the backlog or the source has not been fully
  17885. scanned yet
  17886. .IP \[bu] 2
  17887. there are more than --max-backlog files in the backlog
  17888. .PP
  17889. Rclone will do its best to transfer the best file it has so in practice
  17890. this should not cause a problem.
  17891. Think of \f[C]--order-by\f[R] as being more of a best efforts flag
  17892. rather than a perfect ordering.
  17893. .PP
  17894. If you want perfect ordering then you will need to specify --check-first
  17895. which will find all the files which need transferring first before
  17896. transferring any.
  17897. .SS --partial-suffix
  17898. .PP
  17899. When --inplace is not used, it causes rclone to use the
  17900. \f[C]--partial-suffix\f[R] as suffix for temporary files.
  17901. .PP
  17902. Suffix length limit is 16 characters.
  17903. .PP
  17904. The default is \f[C].partial\f[R].
  17905. .SS --password-command SpaceSepList
  17906. .PP
  17907. This flag supplies a program which should supply the config password
  17908. when run.
  17909. This is an alternative to rclone prompting for the password or setting
  17910. the \f[C]RCLONE_CONFIG_PASS\f[R] variable.
  17911. .PP
  17912. The argument to this should be a command with a space separated list of
  17913. arguments.
  17914. If one of the arguments has a space in then enclose it in
  17915. \f[C]\[dq]\f[R], if you want a literal \f[C]\[dq]\f[R] in an argument
  17916. then enclose the argument in \f[C]\[dq]\f[R] and double the
  17917. \f[C]\[dq]\f[R].
  17918. See CSV encoding (https://godoc.org/encoding/csv) for more info.
  17919. .PP
  17920. Eg
  17921. .IP
  17922. .nf
  17923. \f[C]
  17924. --password-command \[dq]echo hello\[dq]
  17925. --password-command \[aq]echo \[dq]hello with space\[dq]\[aq]
  17926. --password-command \[aq]echo \[dq]hello with \[dq]\[dq]quotes\[dq]\[dq] and space\[dq]\[aq]
  17927. \f[R]
  17928. .fi
  17929. .PP
  17930. See the Configuration Encryption for more info.
  17931. .PP
  17932. See a Windows PowerShell example on the
  17933. Wiki (https://github.com/rclone/rclone/wiki/Windows-Powershell-use-rclone-password-command-for-Config-file-password).
  17934. .SS -P, --progress
  17935. .PP
  17936. This flag makes rclone update the stats in a static block in the
  17937. terminal providing a realtime overview of the transfer.
  17938. .PP
  17939. Any log messages will scroll above the static block.
  17940. Log messages will push the static block down to the bottom of the
  17941. terminal where it will stay.
  17942. .PP
  17943. Normally this is updated every 500mS but this period can be overridden
  17944. with the \f[C]--stats\f[R] flag.
  17945. .PP
  17946. This can be used with the \f[C]--stats-one-line\f[R] flag for a simpler
  17947. display.
  17948. .PP
  17949. Note: On Windows until this
  17950. bug (https://github.com/Azure/go-ansiterm/issues/26) is fixed all
  17951. non-ASCII characters will be replaced with \f[C].\f[R] when
  17952. \f[C]--progress\f[R] is in use.
  17953. .SS --progress-terminal-title
  17954. .PP
  17955. This flag, when used with \f[C]-P/--progress\f[R], will print the string
  17956. \f[C]ETA: %s\f[R] to the terminal title.
  17957. .SS -q, --quiet
  17958. .PP
  17959. This flag will limit rclone\[aq]s output to error messages only.
  17960. .SS --refresh-times
  17961. .PP
  17962. The \f[C]--refresh-times\f[R] flag can be used to update modification
  17963. times of existing files when they are out of sync on backends which
  17964. don\[aq]t support hashes.
  17965. .PP
  17966. This is useful if you uploaded files with the incorrect timestamps and
  17967. you now wish to correct them.
  17968. .PP
  17969. This flag is \f[B]only\f[R] useful for destinations which don\[aq]t
  17970. support hashes (e.g.
  17971. \f[C]crypt\f[R]).
  17972. .PP
  17973. This can be used any of the sync commands \f[C]sync\f[R], \f[C]copy\f[R]
  17974. or \f[C]move\f[R].
  17975. .PP
  17976. To use this flag you will need to be doing a modification time sync (so
  17977. not using \f[C]--size-only\f[R] or \f[C]--checksum\f[R]).
  17978. The flag will have no effect when using \f[C]--size-only\f[R] or
  17979. \f[C]--checksum\f[R].
  17980. .PP
  17981. If this flag is used when rclone comes to upload a file it will check to
  17982. see if there is an existing file on the destination.
  17983. If this file matches the source with size (and checksum if available)
  17984. but has a differing timestamp then instead of re-uploading it, rclone
  17985. will update the timestamp on the destination file.
  17986. If the checksum does not match rclone will upload the new file.
  17987. If the checksum is absent (e.g.
  17988. on a \f[C]crypt\f[R] backend) then rclone will update the timestamp.
  17989. .PP
  17990. Note that some remotes can\[aq]t set the modification time without
  17991. re-uploading the file so this flag is less useful on them.
  17992. .PP
  17993. Normally if you are doing a modification time sync rclone will update
  17994. modification times without \f[C]--refresh-times\f[R] provided that the
  17995. remote supports checksums \f[B]and\f[R] the checksums match on the file.
  17996. However if the checksums are absent then rclone will upload the file
  17997. rather than setting the timestamp as this is the safe behaviour.
  17998. .SS --retries int
  17999. .PP
  18000. Retry the entire sync if it fails this many times it fails (default 3).
  18001. .PP
  18002. Some remotes can be unreliable and a few retries help pick up the files
  18003. which didn\[aq]t get transferred because of errors.
  18004. .PP
  18005. Disable retries with \f[C]--retries 1\f[R].
  18006. .SS --retries-sleep=TIME
  18007. .PP
  18008. This sets the interval between each retry specified by
  18009. \f[C]--retries\f[R]
  18010. .PP
  18011. The default is \f[C]0\f[R].
  18012. Use \f[C]0\f[R] to disable.
  18013. .SS --server-side-across-configs
  18014. .PP
  18015. Allow server-side operations (e.g.
  18016. copy or move) to work across different configurations.
  18017. .PP
  18018. This can be useful if you wish to do a server-side copy or move between
  18019. two remotes which use the same backend but are configured differently.
  18020. .PP
  18021. Note that this isn\[aq]t enabled by default because it isn\[aq]t easy
  18022. for rclone to tell if it will work between any two configurations.
  18023. .SS --size-only
  18024. .PP
  18025. Normally rclone will look at modification time and size of files to see
  18026. if they are equal.
  18027. If you set this flag then rclone will check only the size.
  18028. .PP
  18029. This can be useful transferring files from Dropbox which have been
  18030. modified by the desktop sync client which doesn\[aq]t set checksums of
  18031. modification times in the same way as rclone.
  18032. .SS --stats=TIME
  18033. .PP
  18034. Commands which transfer data (\f[C]sync\f[R], \f[C]copy\f[R],
  18035. \f[C]copyto\f[R], \f[C]move\f[R], \f[C]moveto\f[R]) will print data
  18036. transfer stats at regular intervals to show their progress.
  18037. .PP
  18038. This sets the interval.
  18039. .PP
  18040. The default is \f[C]1m\f[R].
  18041. Use \f[C]0\f[R] to disable.
  18042. .PP
  18043. If you set the stats interval then all commands can show stats.
  18044. This can be useful when running other commands, \f[C]check\f[R] or
  18045. \f[C]mount\f[R] for example.
  18046. .PP
  18047. Stats are logged at \f[C]INFO\f[R] level by default which means they
  18048. won\[aq]t show at default log level \f[C]NOTICE\f[R].
  18049. Use \f[C]--stats-log-level NOTICE\f[R] or \f[C]-v\f[R] to make them
  18050. show.
  18051. See the Logging section for more info on log levels.
  18052. .PP
  18053. Note that on macOS you can send a SIGINFO (which is normally ctrl-T in
  18054. the terminal) to make the stats print immediately.
  18055. .SS --stats-file-name-length integer
  18056. .PP
  18057. By default, the \f[C]--stats\f[R] output will truncate file names and
  18058. paths longer than 40 characters.
  18059. This is equivalent to providing \f[C]--stats-file-name-length 40\f[R].
  18060. Use \f[C]--stats-file-name-length 0\f[R] to disable any truncation of
  18061. file names printed by stats.
  18062. .SS --stats-log-level string
  18063. .PP
  18064. Log level to show \f[C]--stats\f[R] output at.
  18065. This can be \f[C]DEBUG\f[R], \f[C]INFO\f[R], \f[C]NOTICE\f[R], or
  18066. \f[C]ERROR\f[R].
  18067. The default is \f[C]INFO\f[R].
  18068. This means at the default level of logging which is \f[C]NOTICE\f[R] the
  18069. stats won\[aq]t show - if you want them to then use
  18070. \f[C]--stats-log-level NOTICE\f[R].
  18071. See the Logging section for more info on log levels.
  18072. .SS --stats-one-line
  18073. .PP
  18074. When this is specified, rclone condenses the stats into a single line
  18075. showing the most important stats only.
  18076. .SS --stats-one-line-date
  18077. .PP
  18078. When this is specified, rclone enables the single-line stats and
  18079. prepends the display with a date string.
  18080. The default is \f[C]2006/01/02 15:04:05 -\f[R]
  18081. .SS --stats-one-line-date-format
  18082. .PP
  18083. When this is specified, rclone enables the single-line stats and
  18084. prepends the display with a user-supplied date string.
  18085. The date string MUST be enclosed in quotes.
  18086. Follow golang specs (https://golang.org/pkg/time/#Time.Format) for date
  18087. formatting syntax.
  18088. .SS --stats-unit=bits|bytes
  18089. .PP
  18090. By default, data transfer rates will be printed in bytes per second.
  18091. .PP
  18092. This option allows the data rate to be printed in bits per second.
  18093. .PP
  18094. Data transfer volume will still be reported in bytes.
  18095. .PP
  18096. The rate is reported as a binary unit, not SI unit.
  18097. So 1 Mbit/s equals 1,048,576 bit/s and not 1,000,000 bit/s.
  18098. .PP
  18099. The default is \f[C]bytes\f[R].
  18100. .SS --suffix=SUFFIX
  18101. .PP
  18102. When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] any files
  18103. which would have been overwritten or deleted will have the suffix added
  18104. to them.
  18105. If there is a file with the same path (after the suffix has been added),
  18106. then it will be overwritten.
  18107. .PP
  18108. The remote in use must support server-side move or copy and you must use
  18109. the same remote as the destination of the sync.
  18110. .PP
  18111. This is for use with files to add the suffix in the current directory or
  18112. with \f[C]--backup-dir\f[R].
  18113. See \f[C]--backup-dir\f[R] for more info.
  18114. .PP
  18115. For example
  18116. .IP
  18117. .nf
  18118. \f[C]
  18119. rclone copy --interactive /path/to/local/file remote:current --suffix .bak
  18120. \f[R]
  18121. .fi
  18122. .PP
  18123. will copy \f[C]/path/to/local\f[R] to \f[C]remote:current\f[R], but for
  18124. any files which would have been updated or deleted have .bak added.
  18125. .PP
  18126. If using \f[C]rclone sync\f[R] with \f[C]--suffix\f[R] and without
  18127. \f[C]--backup-dir\f[R] then it is recommended to put a filter rule in
  18128. excluding the suffix otherwise the \f[C]sync\f[R] will delete the backup
  18129. files.
  18130. .IP
  18131. .nf
  18132. \f[C]
  18133. rclone sync --interactive /path/to/local/file remote:current --suffix .bak --exclude \[dq]*.bak\[dq]
  18134. \f[R]
  18135. .fi
  18136. .SS --suffix-keep-extension
  18137. .PP
  18138. When using \f[C]--suffix\f[R], setting this causes rclone put the SUFFIX
  18139. before the extension of the files that it backs up rather than after.
  18140. .PP
  18141. So let\[aq]s say we had \f[C]--suffix -2019-01-01\f[R], without the flag
  18142. \f[C]file.txt\f[R] would be backed up to \f[C]file.txt-2019-01-01\f[R]
  18143. and with the flag it would be backed up to
  18144. \f[C]file-2019-01-01.txt\f[R].
  18145. This can be helpful to make sure the suffixed files can still be opened.
  18146. .PP
  18147. If a file has two (or more) extensions and the second (or subsequent)
  18148. extension is recognised as a valid mime type, then the suffix will go
  18149. before that extension.
  18150. So \f[C]file.tar.gz\f[R] would be backed up to
  18151. \f[C]file-2019-01-01.tar.gz\f[R] whereas \f[C]file.badextension.gz\f[R]
  18152. would be backed up to \f[C]file.badextension-2019-01-01.gz\f[R].
  18153. .SS --syslog
  18154. .PP
  18155. On capable OSes (not Windows or Plan9) send all log output to syslog.
  18156. .PP
  18157. This can be useful for running rclone in a script or
  18158. \f[C]rclone mount\f[R].
  18159. .SS --syslog-facility string
  18160. .PP
  18161. If using \f[C]--syslog\f[R] this sets the syslog facility (e.g.
  18162. \f[C]KERN\f[R], \f[C]USER\f[R]).
  18163. See \f[C]man syslog\f[R] for a list of possible facilities.
  18164. The default facility is \f[C]DAEMON\f[R].
  18165. .SS --temp-dir=DIR
  18166. .PP
  18167. Specify the directory rclone will use for temporary files, to override
  18168. the default.
  18169. Make sure the directory exists and have accessible permissions.
  18170. .PP
  18171. By default the operating system\[aq]s temp directory will be used: - On
  18172. Unix systems, \f[C]$TMPDIR\f[R] if non-empty, else \f[C]/tmp\f[R].
  18173. - On Windows, the first non-empty value from \f[C]%TMP%\f[R],
  18174. \f[C]%TEMP%\f[R], \f[C]%USERPROFILE%\f[R], or the Windows directory.
  18175. .PP
  18176. When overriding the default with this option, the specified path will be
  18177. set as value of environment variable \f[C]TMPDIR\f[R] on Unix systems
  18178. and \f[C]TMP\f[R] and \f[C]TEMP\f[R] on Windows.
  18179. .PP
  18180. You can use the config
  18181. paths (https://rclone.org/commands/rclone_config_paths/) command to see
  18182. the current value.
  18183. .SS --tpslimit float
  18184. .PP
  18185. Limit transactions per second to this number.
  18186. Default is 0 which is used to mean unlimited transactions per second.
  18187. .PP
  18188. A transaction is roughly defined as an API call; its exact meaning will
  18189. depend on the backend.
  18190. For HTTP based backends it is an HTTP PUT/GET/POST/etc and its response.
  18191. For FTP/SFTP it is a round trip transaction over TCP.
  18192. .PP
  18193. For example, to limit rclone to 10 transactions per second use
  18194. \f[C]--tpslimit 10\f[R], or to 1 transaction every 2 seconds use
  18195. \f[C]--tpslimit 0.5\f[R].
  18196. .PP
  18197. Use this when the number of transactions per second from rclone is
  18198. causing a problem with the cloud storage provider (e.g.
  18199. getting you banned or rate limited).
  18200. .PP
  18201. This can be very useful for \f[C]rclone mount\f[R] to control the
  18202. behaviour of applications using it.
  18203. .PP
  18204. This limit applies to all HTTP based backends and to the FTP and SFTP
  18205. backends.
  18206. It does not apply to the local backend or the Storj backend.
  18207. .PP
  18208. See also \f[C]--tpslimit-burst\f[R].
  18209. .SS --tpslimit-burst int
  18210. .PP
  18211. Max burst of transactions for \f[C]--tpslimit\f[R] (default
  18212. \f[C]1\f[R]).
  18213. .PP
  18214. Normally \f[C]--tpslimit\f[R] will do exactly the number of transaction
  18215. per second specified.
  18216. However if you supply \f[C]--tps-burst\f[R] then rclone can save up some
  18217. transactions from when it was idle giving a burst of up to the parameter
  18218. supplied.
  18219. .PP
  18220. For example if you provide \f[C]--tpslimit-burst 10\f[R] then if rclone
  18221. has been idle for more than 10*\f[C]--tpslimit\f[R] then it can do 10
  18222. transactions very quickly before they are limited again.
  18223. .PP
  18224. This may be used to increase performance of \f[C]--tpslimit\f[R] without
  18225. changing the long term average number of transactions per second.
  18226. .SS --track-renames
  18227. .PP
  18228. By default, rclone doesn\[aq]t keep track of renamed files, so if you
  18229. rename a file locally then sync it to a remote, rclone will delete the
  18230. old file on the remote and upload a new copy.
  18231. .PP
  18232. An rclone sync with \f[C]--track-renames\f[R] runs like a normal sync,
  18233. but keeps track of objects which exist in the destination but not in the
  18234. source (which would normally be deleted), and which objects exist in the
  18235. source but not the destination (which would normally be transferred).
  18236. These objects are then candidates for renaming.
  18237. .PP
  18238. After the sync, rclone matches up the source only and destination only
  18239. objects using the \f[C]--track-renames-strategy\f[R] specified and
  18240. either renames the destination object or transfers the source and
  18241. deletes the destination object.
  18242. \f[C]--track-renames\f[R] is stateless like all of rclone\[aq]s syncs.
  18243. .PP
  18244. To use this flag the destination must support server-side copy or
  18245. server-side move, and to use a hash based
  18246. \f[C]--track-renames-strategy\f[R] (the default) the source and the
  18247. destination must have a compatible hash.
  18248. .PP
  18249. If the destination does not support server-side copy or move, rclone
  18250. will fall back to the default behaviour and log an error level message
  18251. to the console.
  18252. .PP
  18253. Encrypted destinations are not currently supported by
  18254. \f[C]--track-renames\f[R] if \f[C]--track-renames-strategy\f[R] includes
  18255. \f[C]hash\f[R].
  18256. .PP
  18257. Note that \f[C]--track-renames\f[R] is incompatible with
  18258. \f[C]--no-traverse\f[R] and that it uses extra memory to keep track of
  18259. all the rename candidates.
  18260. .PP
  18261. Note also that \f[C]--track-renames\f[R] is incompatible with
  18262. \f[C]--delete-before\f[R] and will select \f[C]--delete-after\f[R]
  18263. instead of \f[C]--delete-during\f[R].
  18264. .SS --track-renames-strategy (hash,modtime,leaf,size)
  18265. .PP
  18266. This option changes the file matching criteria for
  18267. \f[C]--track-renames\f[R].
  18268. .PP
  18269. The matching is controlled by a comma separated selection of these
  18270. tokens:
  18271. .IP \[bu] 2
  18272. \f[C]modtime\f[R] - the modification time of the file - not supported on
  18273. all backends
  18274. .IP \[bu] 2
  18275. \f[C]hash\f[R] - the hash of the file contents - not supported on all
  18276. backends
  18277. .IP \[bu] 2
  18278. \f[C]leaf\f[R] - the name of the file not including its directory name
  18279. .IP \[bu] 2
  18280. \f[C]size\f[R] - the size of the file (this is always enabled)
  18281. .PP
  18282. The default option is \f[C]hash\f[R].
  18283. .PP
  18284. Using \f[C]--track-renames-strategy modtime,leaf\f[R] would match files
  18285. based on modification time, the leaf of the file name and the size only.
  18286. .PP
  18287. Using \f[C]--track-renames-strategy modtime\f[R] or \f[C]leaf\f[R] can
  18288. enable \f[C]--track-renames\f[R] support for encrypted destinations.
  18289. .PP
  18290. Note that the \f[C]hash\f[R] strategy is not supported with encrypted
  18291. destinations.
  18292. .SS --delete-(before,during,after)
  18293. .PP
  18294. This option allows you to specify when files on your destination are
  18295. deleted when you sync folders.
  18296. .PP
  18297. Specifying the value \f[C]--delete-before\f[R] will delete all files
  18298. present on the destination, but not on the source \f[I]before\f[R]
  18299. starting the transfer of any new or updated files.
  18300. This uses two passes through the file systems, one for the deletions and
  18301. one for the copies.
  18302. .PP
  18303. Specifying \f[C]--delete-during\f[R] will delete files while checking
  18304. and uploading files.
  18305. This is the fastest option and uses the least memory.
  18306. .PP
  18307. Specifying \f[C]--delete-after\f[R] (the default value) will delay
  18308. deletion of files until all new/updated files have been successfully
  18309. transferred.
  18310. The files to be deleted are collected in the copy pass then deleted
  18311. after the copy pass has completed successfully.
  18312. The files to be deleted are held in memory so this mode may use more
  18313. memory.
  18314. This is the safest mode as it will only delete files if there have been
  18315. no errors subsequent to that.
  18316. If there have been errors before the deletions start then you will get
  18317. the message \f[C]not deleting files as there were IO errors\f[R].
  18318. .SS --fast-list
  18319. .PP
  18320. When doing anything which involves a directory listing (e.g.
  18321. \f[C]sync\f[R], \f[C]copy\f[R], \f[C]ls\f[R] - in fact nearly every
  18322. command), rclone has different strategies to choose from.
  18323. .PP
  18324. The basic strategy is to list one directory and processes it before
  18325. using more directory lists to process any subdirectories.
  18326. This is a mandatory backend feature, called \f[C]List\f[R], which means
  18327. it is supported by all backends.
  18328. This strategy uses small amount of memory, and because it can be
  18329. parallelised it is fast for operations involving processing of the list
  18330. results.
  18331. .PP
  18332. Some backends provide the support for an alternative strategy, where all
  18333. files beneath a directory can be listed in one (or a small number) of
  18334. transactions.
  18335. Rclone supports this alternative strategy through an optional backend
  18336. feature called \f[C]ListR\f[R] (https://rclone.org/overview/#listr).
  18337. You can see in the storage system overview documentation\[aq]s optional
  18338. features (https://rclone.org/overview/#optional-features) section which
  18339. backends it is enabled for (these tend to be the bucket-based ones, e.g.
  18340. S3, B2, GCS, Swift).
  18341. This strategy requires fewer transactions for highly recursive
  18342. operations, which is important on backends where this is charged or
  18343. heavily rate limited.
  18344. It may be faster (due to fewer transactions) or slower (because it
  18345. can\[aq]t be parallelized) depending on different parameters, and may
  18346. require more memory if rclone has to keep the whole listing in memory.
  18347. .PP
  18348. Which listing strategy rclone picks for a given operation is
  18349. complicated, but in general it tries to choose the best possible.
  18350. It will prefer \f[C]ListR\f[R] in situations where it doesn\[aq]t need
  18351. to store the listed files in memory, e.g.
  18352. for unlimited recursive \f[C]ls\f[R] command variants.
  18353. In other situations it will prefer \f[C]List\f[R], e.g.
  18354. for \f[C]sync\f[R] and \f[C]copy\f[R], where it needs to keep the listed
  18355. files in memory, and is performing operations on them where
  18356. parallelization may be a huge advantage.
  18357. .PP
  18358. Rclone is not able to take all relevant parameters into account for
  18359. deciding the best strategy, and therefore allows you to influence the
  18360. choice in two ways: You can stop rclone from using \f[C]ListR\f[R] by
  18361. disabling the feature, using the --disable option
  18362. (\f[C]--disable ListR\f[R]), or you can allow rclone to use
  18363. \f[C]ListR\f[R] where it would normally choose not to do so due to
  18364. higher memory usage, using the \f[C]--fast-list\f[R] option.
  18365. Rclone should always produce identical results either way.
  18366. Using \f[C]--disable ListR\f[R] or \f[C]--fast-list\f[R] on a remote
  18367. which doesn\[aq]t support \f[C]ListR\f[R] does nothing, rclone will just
  18368. ignore it.
  18369. .PP
  18370. A rule of thumb is that if you pay for transactions and can fit your
  18371. entire sync listing into memory, then \f[C]--fast-list\f[R] is
  18372. recommended.
  18373. If you have a very big sync to do, then don\[aq]t use
  18374. \f[C]--fast-list\f[R], otherwise you will run out of memory.
  18375. Run some tests and compare before you decide, and if in doubt then just
  18376. leave the default, let rclone decide, i.e.
  18377. not use \f[C]--fast-list\f[R].
  18378. .SS --timeout=TIME
  18379. .PP
  18380. This sets the IO idle timeout.
  18381. If a transfer has started but then becomes idle for this long it is
  18382. considered broken and disconnected.
  18383. .PP
  18384. The default is \f[C]5m\f[R].
  18385. Set to \f[C]0\f[R] to disable.
  18386. .SS --transfers=N
  18387. .PP
  18388. The number of file transfers to run in parallel.
  18389. It can sometimes be useful to set this to a smaller number if the remote
  18390. is giving a lot of timeouts or bigger if you have lots of bandwidth and
  18391. a fast remote.
  18392. .PP
  18393. The default is to run 4 file transfers in parallel.
  18394. .PP
  18395. Look at --multi-thread-streams if you would like to control single file
  18396. transfers.
  18397. .SS -u, --update
  18398. .PP
  18399. This forces rclone to skip any files which exist on the destination and
  18400. have a modified time that is newer than the source file.
  18401. .PP
  18402. This can be useful in avoiding needless transfers when transferring to a
  18403. remote which doesn\[aq]t support modification times directly (or when
  18404. using \f[C]--use-server-modtime\f[R] to avoid extra API calls) as it is
  18405. more accurate than a \f[C]--size-only\f[R] check and faster than using
  18406. \f[C]--checksum\f[R].
  18407. On such remotes (or when using \f[C]--use-server-modtime\f[R]) the time
  18408. checked will be the uploaded time.
  18409. .PP
  18410. If an existing destination file has a modification time older than the
  18411. source file\[aq]s, it will be updated if the sizes are different.
  18412. If the sizes are the same, it will be updated if the checksum is
  18413. different or not available.
  18414. .PP
  18415. If an existing destination file has a modification time equal (within
  18416. the computed modify window) to the source file\[aq]s, it will be updated
  18417. if the sizes are different.
  18418. The checksum will not be checked in this case unless the
  18419. \f[C]--checksum\f[R] flag is provided.
  18420. .PP
  18421. In all other cases the file will not be updated.
  18422. .PP
  18423. Consider using the \f[C]--modify-window\f[R] flag to compensate for time
  18424. skews between the source and the backend, for backends that do not
  18425. support mod times, and instead use uploaded times.
  18426. However, if the backend does not support checksums, note that syncing or
  18427. copying within the time skew window may still result in additional
  18428. transfers for safety.
  18429. .SS --use-mmap
  18430. .PP
  18431. If this flag is set then rclone will use anonymous memory allocated by
  18432. mmap on Unix based platforms and VirtualAlloc on Windows for its
  18433. transfer buffers (size controlled by \f[C]--buffer-size\f[R]).
  18434. Memory allocated like this does not go on the Go heap and can be
  18435. returned to the OS immediately when it is finished with.
  18436. .PP
  18437. If this flag is not set then rclone will allocate and free the buffers
  18438. using the Go memory allocator which may use more memory as memory pages
  18439. are returned less aggressively to the OS.
  18440. .PP
  18441. It is possible this does not work well on all platforms so it is
  18442. disabled by default; in the future it may be enabled by default.
  18443. .SS --use-server-modtime
  18444. .PP
  18445. Some object-store backends (e.g, Swift, S3) do not preserve file
  18446. modification times (modtime).
  18447. On these backends, rclone stores the original modtime as additional
  18448. metadata on the object.
  18449. By default it will make an API call to retrieve the metadata when the
  18450. modtime is needed by an operation.
  18451. .PP
  18452. Use this flag to disable the extra API call and rely instead on the
  18453. server\[aq]s modified time.
  18454. In cases such as a local to remote sync using \f[C]--update\f[R],
  18455. knowing the local file is newer than the time it was last uploaded to
  18456. the remote is sufficient.
  18457. In those cases, this flag can speed up the process and reduce the number
  18458. of API calls necessary.
  18459. .PP
  18460. Using this flag on a sync operation without also using
  18461. \f[C]--update\f[R] would cause all files modified at any time other than
  18462. the last upload time to be uploaded again, which is probably not what
  18463. you want.
  18464. .SS -v, -vv, --verbose
  18465. .PP
  18466. With \f[C]-v\f[R] rclone will tell you about each file that is
  18467. transferred and a small number of significant events.
  18468. .PP
  18469. With \f[C]-vv\f[R] rclone will become very verbose telling you about
  18470. every file it considers and transfers.
  18471. Please send bug reports with a log with this setting.
  18472. .PP
  18473. When setting verbosity as an environment variable, use
  18474. \f[C]RCLONE_VERBOSE=1\f[R] or \f[C]RCLONE_VERBOSE=2\f[R] for
  18475. \f[C]-v\f[R] and \f[C]-vv\f[R] respectively.
  18476. .SS -V, --version
  18477. .PP
  18478. Prints the version number
  18479. .SS SSL/TLS options
  18480. .PP
  18481. The outgoing SSL/TLS connections rclone makes can be controlled with
  18482. these options.
  18483. For example this can be very useful with the HTTP or WebDAV backends.
  18484. Rclone HTTP servers have their own set of configuration for SSL/TLS
  18485. which you can find in their documentation.
  18486. .SS --ca-cert stringArray
  18487. .PP
  18488. This loads the PEM encoded certificate authority certificates and uses
  18489. it to verify the certificates of the servers rclone connects to.
  18490. .PP
  18491. If you have generated certificates signed with a local CA then you will
  18492. need this flag to connect to servers using those certificates.
  18493. .SS --client-cert string
  18494. .PP
  18495. This loads the PEM encoded client side certificate.
  18496. .PP
  18497. This is used for mutual TLS
  18498. authentication (https://en.wikipedia.org/wiki/Mutual_authentication).
  18499. .PP
  18500. The \f[C]--client-key\f[R] flag is required too when using this.
  18501. .SS --client-key string
  18502. .PP
  18503. This loads the PEM encoded client side private key used for mutual TLS
  18504. authentication.
  18505. Used in conjunction with \f[C]--client-cert\f[R].
  18506. .SS --no-check-certificate=true/false
  18507. .PP
  18508. \f[C]--no-check-certificate\f[R] controls whether a client verifies the
  18509. server\[aq]s certificate chain and host name.
  18510. If \f[C]--no-check-certificate\f[R] is true, TLS accepts any certificate
  18511. presented by the server and any host name in that certificate.
  18512. In this mode, TLS is susceptible to man-in-the-middle attacks.
  18513. .PP
  18514. This option defaults to \f[C]false\f[R].
  18515. .PP
  18516. \f[B]This should be used only for testing.\f[R]
  18517. .SS Configuration Encryption
  18518. .PP
  18519. Your configuration file contains information for logging in to your
  18520. cloud services.
  18521. This means that you should keep your \f[C]rclone.conf\f[R] file in a
  18522. secure location.
  18523. .PP
  18524. If you are in an environment where that isn\[aq]t possible, you can add
  18525. a password to your configuration.
  18526. This means that you will have to supply the password every time you
  18527. start rclone.
  18528. .PP
  18529. To add a password to your rclone configuration, execute
  18530. \f[C]rclone config\f[R].
  18531. .IP
  18532. .nf
  18533. \f[C]
  18534. >rclone config
  18535. Current remotes:
  18536. e) Edit existing remote
  18537. n) New remote
  18538. d) Delete remote
  18539. s) Set configuration password
  18540. q) Quit config
  18541. e/n/d/s/q>
  18542. \f[R]
  18543. .fi
  18544. .PP
  18545. Go into \f[C]s\f[R], Set configuration password:
  18546. .IP
  18547. .nf
  18548. \f[C]
  18549. e/n/d/s/q> s
  18550. Your configuration is not encrypted.
  18551. If you add a password, you will protect your login information to cloud services.
  18552. a) Add Password
  18553. q) Quit to main menu
  18554. a/q> a
  18555. Enter NEW configuration password:
  18556. password:
  18557. Confirm NEW password:
  18558. password:
  18559. Password set
  18560. Your configuration is encrypted.
  18561. c) Change Password
  18562. u) Unencrypt configuration
  18563. q) Quit to main menu
  18564. c/u/q>
  18565. \f[R]
  18566. .fi
  18567. .PP
  18568. Your configuration is now encrypted, and every time you start rclone you
  18569. will have to supply the password.
  18570. See below for details.
  18571. In the same menu, you can change the password or completely remove
  18572. encryption from your configuration.
  18573. .PP
  18574. There is no way to recover the configuration if you lose your password.
  18575. .PP
  18576. rclone uses nacl
  18577. secretbox (https://godoc.org/golang.org/x/crypto/nacl/secretbox) which
  18578. in turn uses XSalsa20 and Poly1305 to encrypt and authenticate your
  18579. configuration with secret-key cryptography.
  18580. The password is SHA-256 hashed, which produces the key for secretbox.
  18581. The hashed password is not stored.
  18582. .PP
  18583. While this provides very good security, we do not recommend storing your
  18584. encrypted rclone configuration in public if it contains sensitive
  18585. information, maybe except if you use a very strong password.
  18586. .PP
  18587. If it is safe in your environment, you can set the
  18588. \f[C]RCLONE_CONFIG_PASS\f[R] environment variable to contain your
  18589. password, in which case it will be used for decrypting the
  18590. configuration.
  18591. .PP
  18592. You can set this for a session from a script.
  18593. For unix like systems save this to a file called
  18594. \f[C]set-rclone-password\f[R]:
  18595. .IP
  18596. .nf
  18597. \f[C]
  18598. #!/bin/echo Source this file don\[aq]t run it
  18599. read -s RCLONE_CONFIG_PASS
  18600. export RCLONE_CONFIG_PASS
  18601. \f[R]
  18602. .fi
  18603. .PP
  18604. Then source the file when you want to use it.
  18605. From the shell you would do \f[C]source set-rclone-password\f[R].
  18606. It will then ask you for the password and set it in the environment
  18607. variable.
  18608. .PP
  18609. An alternate means of supplying the password is to provide a script
  18610. which will retrieve the password and print on standard output.
  18611. This script should have a fully specified path name and not rely on any
  18612. environment variables.
  18613. The script is supplied either via
  18614. \f[C]--password-command=\[dq]...\[dq]\f[R] command line argument or via
  18615. the \f[C]RCLONE_PASSWORD_COMMAND\f[R] environment variable.
  18616. .PP
  18617. One useful example of this is using the \f[C]passwordstore\f[R]
  18618. application to retrieve the password:
  18619. .IP
  18620. .nf
  18621. \f[C]
  18622. export RCLONE_PASSWORD_COMMAND=\[dq]pass rclone/config\[dq]
  18623. \f[R]
  18624. .fi
  18625. .PP
  18626. If the \f[C]passwordstore\f[R] password manager holds the password for
  18627. the rclone configuration, using the script method means the password is
  18628. primarily protected by the \f[C]passwordstore\f[R] system, and is never
  18629. embedded in the clear in scripts, nor available for examination using
  18630. the standard commands available.
  18631. It is quite possible with long running rclone sessions for copies of
  18632. passwords to be innocently captured in log files or terminal scroll
  18633. buffers, etc.
  18634. Using the script method of supplying the password enhances the security
  18635. of the config password considerably.
  18636. .PP
  18637. If you are running rclone inside a script, unless you are using the
  18638. \f[C]--password-command\f[R] method, you might want to disable password
  18639. prompts.
  18640. To do that, pass the parameter \f[C]--ask-password=false\f[R] to rclone.
  18641. This will make rclone fail instead of asking for a password if
  18642. \f[C]RCLONE_CONFIG_PASS\f[R] doesn\[aq]t contain a valid password, and
  18643. \f[C]--password-command\f[R] has not been supplied.
  18644. .PP
  18645. Whenever running commands that may be affected by options in a
  18646. configuration file, rclone will look for an existing file according to
  18647. the rules described above, and load any it finds.
  18648. If an encrypted file is found, this includes decrypting it, with the
  18649. possible consequence of a password prompt.
  18650. When executing a command line that you know are not actually using
  18651. anything from such a configuration file, you can avoid it being loaded
  18652. by overriding the location, e.g.
  18653. with one of the documented special values for memory-only configuration.
  18654. Since only backend options can be stored in configuration files, this is
  18655. normally unnecessary for commands that do not operate on backends, e.g.
  18656. \f[C]genautocomplete\f[R].
  18657. However, it will be relevant for commands that do operate on backends in
  18658. general, but are used without referencing a stored remote, e.g.
  18659. listing local filesystem paths, or connection strings:
  18660. \f[C]rclone --config=\[dq]\[dq] ls .\f[R]
  18661. .SS Developer options
  18662. .PP
  18663. These options are useful when developing or debugging rclone.
  18664. There are also some more remote specific options which aren\[aq]t
  18665. documented here which are used for testing.
  18666. These start with remote name e.g.
  18667. \f[C]--drive-test-option\f[R] - see the docs for the remote in question.
  18668. .SS --cpuprofile=FILE
  18669. .PP
  18670. Write CPU profile to file.
  18671. This can be analysed with \f[C]go tool pprof\f[R].
  18672. .SS --dump flag,flag,flag
  18673. .PP
  18674. The \f[C]--dump\f[R] flag takes a comma separated list of flags to dump
  18675. info about.
  18676. .PP
  18677. Note that some headers including \f[C]Accept-Encoding\f[R] as shown may
  18678. not be correct in the request and the response may not show
  18679. \f[C]Content-Encoding\f[R] if the go standard libraries auto gzip
  18680. encoding was in effect.
  18681. In this case the body of the request will be gunzipped before showing
  18682. it.
  18683. .PP
  18684. The available flags are:
  18685. .SS --dump headers
  18686. .PP
  18687. Dump HTTP headers with \f[C]Authorization:\f[R] lines removed.
  18688. May still contain sensitive info.
  18689. Can be very verbose.
  18690. Useful for debugging only.
  18691. .PP
  18692. Use \f[C]--dump auth\f[R] if you do want the \f[C]Authorization:\f[R]
  18693. headers.
  18694. .SS --dump bodies
  18695. .PP
  18696. Dump HTTP headers and bodies - may contain sensitive info.
  18697. Can be very verbose.
  18698. Useful for debugging only.
  18699. .PP
  18700. Note that the bodies are buffered in memory so don\[aq]t use this for
  18701. enormous files.
  18702. .SS --dump requests
  18703. .PP
  18704. Like \f[C]--dump bodies\f[R] but dumps the request bodies and the
  18705. response headers.
  18706. Useful for debugging download problems.
  18707. .SS --dump responses
  18708. .PP
  18709. Like \f[C]--dump bodies\f[R] but dumps the response bodies and the
  18710. request headers.
  18711. Useful for debugging upload problems.
  18712. .SS --dump auth
  18713. .PP
  18714. Dump HTTP headers - will contain sensitive info such as
  18715. \f[C]Authorization:\f[R] headers - use \f[C]--dump headers\f[R] to dump
  18716. without \f[C]Authorization:\f[R] headers.
  18717. Can be very verbose.
  18718. Useful for debugging only.
  18719. .SS --dump filters
  18720. .PP
  18721. Dump the filters to the output.
  18722. Useful to see exactly what include and exclude options are filtering on.
  18723. .SS --dump goroutines
  18724. .PP
  18725. This dumps a list of the running go-routines at the end of the command
  18726. to standard output.
  18727. .SS --dump openfiles
  18728. .PP
  18729. This dumps a list of the open files at the end of the command.
  18730. It uses the \f[C]lsof\f[R] command to do that so you\[aq]ll need that
  18731. installed to use it.
  18732. .SS --dump mapper
  18733. .PP
  18734. This shows the JSON blobs being sent to the program supplied with
  18735. \f[C]--metadata-mapper\f[R] and received from it.
  18736. It can be useful for debugging the metadata mapper interface.
  18737. .SS --memprofile=FILE
  18738. .PP
  18739. Write memory profile to file.
  18740. This can be analysed with \f[C]go tool pprof\f[R].
  18741. .SS Filtering
  18742. .PP
  18743. For the filtering options
  18744. .IP \[bu] 2
  18745. \f[C]--delete-excluded\f[R]
  18746. .IP \[bu] 2
  18747. \f[C]--filter\f[R]
  18748. .IP \[bu] 2
  18749. \f[C]--filter-from\f[R]
  18750. .IP \[bu] 2
  18751. \f[C]--exclude\f[R]
  18752. .IP \[bu] 2
  18753. \f[C]--exclude-from\f[R]
  18754. .IP \[bu] 2
  18755. \f[C]--exclude-if-present\f[R]
  18756. .IP \[bu] 2
  18757. \f[C]--include\f[R]
  18758. .IP \[bu] 2
  18759. \f[C]--include-from\f[R]
  18760. .IP \[bu] 2
  18761. \f[C]--files-from\f[R]
  18762. .IP \[bu] 2
  18763. \f[C]--files-from-raw\f[R]
  18764. .IP \[bu] 2
  18765. \f[C]--min-size\f[R]
  18766. .IP \[bu] 2
  18767. \f[C]--max-size\f[R]
  18768. .IP \[bu] 2
  18769. \f[C]--min-age\f[R]
  18770. .IP \[bu] 2
  18771. \f[C]--max-age\f[R]
  18772. .IP \[bu] 2
  18773. \f[C]--dump filters\f[R]
  18774. .IP \[bu] 2
  18775. \f[C]--metadata-include\f[R]
  18776. .IP \[bu] 2
  18777. \f[C]--metadata-include-from\f[R]
  18778. .IP \[bu] 2
  18779. \f[C]--metadata-exclude\f[R]
  18780. .IP \[bu] 2
  18781. \f[C]--metadata-exclude-from\f[R]
  18782. .IP \[bu] 2
  18783. \f[C]--metadata-filter\f[R]
  18784. .IP \[bu] 2
  18785. \f[C]--metadata-filter-from\f[R]
  18786. .PP
  18787. See the filtering section (https://rclone.org/filtering/).
  18788. .SS Remote control
  18789. .PP
  18790. For the remote control options and for instructions on how to remote
  18791. control rclone
  18792. .IP \[bu] 2
  18793. \f[C]--rc\f[R]
  18794. .IP \[bu] 2
  18795. and anything starting with \f[C]--rc-\f[R]
  18796. .PP
  18797. See the remote control section (https://rclone.org/rc/).
  18798. .SS Logging
  18799. .PP
  18800. rclone has 4 levels of logging, \f[C]ERROR\f[R], \f[C]NOTICE\f[R],
  18801. \f[C]INFO\f[R] and \f[C]DEBUG\f[R].
  18802. .PP
  18803. By default, rclone logs to standard error.
  18804. This means you can redirect standard error and still see the normal
  18805. output of rclone commands (e.g.
  18806. \f[C]rclone ls\f[R]).
  18807. .PP
  18808. By default, rclone will produce \f[C]Error\f[R] and \f[C]Notice\f[R]
  18809. level messages.
  18810. .PP
  18811. If you use the \f[C]-q\f[R] flag, rclone will only produce
  18812. \f[C]Error\f[R] messages.
  18813. .PP
  18814. If you use the \f[C]-v\f[R] flag, rclone will produce \f[C]Error\f[R],
  18815. \f[C]Notice\f[R] and \f[C]Info\f[R] messages.
  18816. .PP
  18817. If you use the \f[C]-vv\f[R] flag, rclone will produce \f[C]Error\f[R],
  18818. \f[C]Notice\f[R], \f[C]Info\f[R] and \f[C]Debug\f[R] messages.
  18819. .PP
  18820. You can also control the log levels with the \f[C]--log-level\f[R] flag.
  18821. .PP
  18822. If you use the \f[C]--log-file=FILE\f[R] option, rclone will redirect
  18823. \f[C]Error\f[R], \f[C]Info\f[R] and \f[C]Debug\f[R] messages along with
  18824. standard error to FILE.
  18825. .PP
  18826. If you use the \f[C]--syslog\f[R] flag then rclone will log to syslog
  18827. and the \f[C]--syslog-facility\f[R] control which facility it uses.
  18828. .PP
  18829. Rclone prefixes all log messages with their level in capitals, e.g.
  18830. INFO which makes it easy to grep the log file for different kinds of
  18831. information.
  18832. .SS Exit Code
  18833. .PP
  18834. If any errors occur during the command execution, rclone will exit with
  18835. a non-zero exit code.
  18836. This allows scripts to detect when rclone operations have failed.
  18837. .PP
  18838. During the startup phase, rclone will exit immediately if an error is
  18839. detected in the configuration.
  18840. There will always be a log message immediately before exiting.
  18841. .PP
  18842. When rclone is running it will accumulate errors as it goes along, and
  18843. only exit with a non-zero exit code if (after retries) there were still
  18844. failed transfers.
  18845. For every error counted there will be a high priority log message
  18846. (visible with \f[C]-q\f[R]) showing the message and which file caused
  18847. the problem.
  18848. A high priority message is also shown when starting a retry so the user
  18849. can see that any previous error messages may not be valid after the
  18850. retry.
  18851. If rclone has done a retry it will log a high priority message if the
  18852. retry was successful.
  18853. .SS List of exit codes
  18854. .IP \[bu] 2
  18855. \f[C]0\f[R] - success
  18856. .IP \[bu] 2
  18857. \f[C]1\f[R] - Syntax or usage error
  18858. .IP \[bu] 2
  18859. \f[C]2\f[R] - Error not otherwise categorised
  18860. .IP \[bu] 2
  18861. \f[C]3\f[R] - Directory not found
  18862. .IP \[bu] 2
  18863. \f[C]4\f[R] - File not found
  18864. .IP \[bu] 2
  18865. \f[C]5\f[R] - Temporary error (one that more retries might fix) (Retry
  18866. errors)
  18867. .IP \[bu] 2
  18868. \f[C]6\f[R] - Less serious errors (like 461 errors from dropbox)
  18869. (NoRetry errors)
  18870. .IP \[bu] 2
  18871. \f[C]7\f[R] - Fatal error (one that more retries won\[aq]t fix, like
  18872. account suspended) (Fatal errors)
  18873. .IP \[bu] 2
  18874. \f[C]8\f[R] - Transfer exceeded - limit set by --max-transfer reached
  18875. .IP \[bu] 2
  18876. \f[C]9\f[R] - Operation successful, but no files transferred
  18877. .IP \[bu] 2
  18878. \f[C]10\f[R] - Duration exceeded - limit set by --max-duration reached
  18879. .SS Environment Variables
  18880. .PP
  18881. Rclone can be configured entirely using environment variables.
  18882. These can be used to set defaults for options or config file entries.
  18883. .SS Options
  18884. .PP
  18885. Every option in rclone can have its default set by environment variable.
  18886. .PP
  18887. To find the name of the environment variable, first, take the long
  18888. option name, strip the leading \f[C]--\f[R], change \f[C]-\f[R] to
  18889. \f[C]_\f[R], make upper case and prepend \f[C]RCLONE_\f[R].
  18890. .PP
  18891. For example, to always set \f[C]--stats 5s\f[R], set the environment
  18892. variable \f[C]RCLONE_STATS=5s\f[R].
  18893. If you set stats on the command line this will override the environment
  18894. variable setting.
  18895. .PP
  18896. Or to always use the trash in drive \f[C]--drive-use-trash\f[R], set
  18897. \f[C]RCLONE_DRIVE_USE_TRASH=true\f[R].
  18898. .PP
  18899. Verbosity is slightly different, the environment variable equivalent of
  18900. \f[C]--verbose\f[R] or \f[C]-v\f[R] is \f[C]RCLONE_VERBOSE=1\f[R], or
  18901. for \f[C]-vv\f[R], \f[C]RCLONE_VERBOSE=2\f[R].
  18902. .PP
  18903. The same parser is used for the options and the environment variables so
  18904. they take exactly the same form.
  18905. .PP
  18906. The options set by environment variables can be seen with the
  18907. \f[C]-vv\f[R] flag, e.g.
  18908. \f[C]rclone version -vv\f[R].
  18909. .SS Config file
  18910. .PP
  18911. You can set defaults for values in the config file on an individual
  18912. remote basis.
  18913. The names of the config items are documented in the page for each
  18914. backend.
  18915. .PP
  18916. To find the name of the environment variable, you need to set, take
  18917. \f[C]RCLONE_CONFIG_\f[R] + name of remote + \f[C]_\f[R] + name of config
  18918. file option and make it all uppercase.
  18919. Note one implication here is the remote\[aq]s name must be convertible
  18920. into a valid environment variable name, so it can only contain letters,
  18921. digits, or the \f[C]_\f[R] (underscore) character.
  18922. .PP
  18923. For example, to configure an S3 remote named \f[C]mys3:\f[R] without a
  18924. config file (using unix ways of setting environment variables):
  18925. .IP
  18926. .nf
  18927. \f[C]
  18928. $ export RCLONE_CONFIG_MYS3_TYPE=s3
  18929. $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX
  18930. $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX
  18931. $ rclone lsd mys3:
  18932. -1 2016-09-21 12:54:21 -1 my-bucket
  18933. $ rclone listremotes | grep mys3
  18934. mys3:
  18935. \f[R]
  18936. .fi
  18937. .PP
  18938. Note that if you want to create a remote using environment variables you
  18939. must create the \f[C]..._TYPE\f[R] variable as above.
  18940. .PP
  18941. Note that the name of a remote created using environment variable is
  18942. case insensitive, in contrast to regular remotes stored in config file
  18943. as documented above.
  18944. You must write the name in uppercase in the environment variable, but as
  18945. seen from example above it will be listed and can be accessed in
  18946. lowercase, while you can also refer to the same remote in uppercase:
  18947. .IP
  18948. .nf
  18949. \f[C]
  18950. $ rclone lsd mys3:
  18951. -1 2016-09-21 12:54:21 -1 my-bucket
  18952. $ rclone lsd MYS3:
  18953. -1 2016-09-21 12:54:21 -1 my-bucket
  18954. \f[R]
  18955. .fi
  18956. .PP
  18957. Note that you can only set the options of the immediate backend, so
  18958. RCLONE_CONFIG_MYS3CRYPT_ACCESS_KEY_ID has no effect, if myS3Crypt is a
  18959. crypt remote based on an S3 remote.
  18960. However RCLONE_S3_ACCESS_KEY_ID will set the access key of all remotes
  18961. using S3, including myS3Crypt.
  18962. .PP
  18963. Note also that now rclone has connection strings, it is probably easier
  18964. to use those instead which makes the above example
  18965. .IP
  18966. .nf
  18967. \f[C]
  18968. rclone lsd :s3,access_key_id=XXX,secret_access_key=XXX:
  18969. \f[R]
  18970. .fi
  18971. .SS Precedence
  18972. .PP
  18973. The various different methods of backend configuration are read in this
  18974. order and the first one with a value is used.
  18975. .IP \[bu] 2
  18976. Parameters in connection strings, e.g.
  18977. \f[C]myRemote,skip_links:\f[R]
  18978. .IP \[bu] 2
  18979. Flag values as supplied on the command line, e.g.
  18980. \f[C]--skip-links\f[R]
  18981. .IP \[bu] 2
  18982. Remote specific environment vars, e.g.
  18983. \f[C]RCLONE_CONFIG_MYREMOTE_SKIP_LINKS\f[R] (see above).
  18984. .IP \[bu] 2
  18985. Backend-specific environment vars, e.g.
  18986. \f[C]RCLONE_LOCAL_SKIP_LINKS\f[R].
  18987. .IP \[bu] 2
  18988. Backend generic environment vars, e.g.
  18989. \f[C]RCLONE_SKIP_LINKS\f[R].
  18990. .IP \[bu] 2
  18991. Config file, e.g.
  18992. \f[C]skip_links = true\f[R].
  18993. .IP \[bu] 2
  18994. Default values, e.g.
  18995. \f[C]false\f[R] - these can\[aq]t be changed.
  18996. .PP
  18997. So if both \f[C]--skip-links\f[R] is supplied on the command line and an
  18998. environment variable \f[C]RCLONE_LOCAL_SKIP_LINKS\f[R] is set, the
  18999. command line flag will take preference.
  19000. .PP
  19001. The backend configurations set by environment variables can be seen with
  19002. the \f[C]-vv\f[R] flag, e.g.
  19003. \f[C]rclone about myRemote: -vv\f[R].
  19004. .PP
  19005. For non backend configuration the order is as follows:
  19006. .IP \[bu] 2
  19007. Flag values as supplied on the command line, e.g.
  19008. \f[C]--stats 5s\f[R].
  19009. .IP \[bu] 2
  19010. Environment vars, e.g.
  19011. \f[C]RCLONE_STATS=5s\f[R].
  19012. .IP \[bu] 2
  19013. Default values, e.g.
  19014. \f[C]1m\f[R] - these can\[aq]t be changed.
  19015. .SS Other environment variables
  19016. .IP \[bu] 2
  19017. \f[C]RCLONE_CONFIG_PASS\f[R] set to contain your config file password
  19018. (see Configuration Encryption section)
  19019. .IP \[bu] 2
  19020. \f[C]HTTP_PROXY\f[R], \f[C]HTTPS_PROXY\f[R] and \f[C]NO_PROXY\f[R] (or
  19021. the lowercase versions thereof).
  19022. .RS 2
  19023. .IP \[bu] 2
  19024. \f[C]HTTPS_PROXY\f[R] takes precedence over \f[C]HTTP_PROXY\f[R] for
  19025. https requests.
  19026. .IP \[bu] 2
  19027. The environment values may be either a complete URL or a
  19028. \[dq]host[:port]\[dq] for, in which case the \[dq]http\[dq] scheme is
  19029. assumed.
  19030. .RE
  19031. .IP \[bu] 2
  19032. \f[C]USER\f[R] and \f[C]LOGNAME\f[R] values are used as fallbacks for
  19033. current username.
  19034. The primary method for looking up username is OS-specific: Windows API
  19035. on Windows, real user ID in /etc/passwd on Unix systems.
  19036. In the documentation the current username is simply referred to as
  19037. \f[C]$USER\f[R].
  19038. .IP \[bu] 2
  19039. \f[C]RCLONE_CONFIG_DIR\f[R] - rclone \f[B]sets\f[R] this variable for
  19040. use in config files and sub processes to point to the directory holding
  19041. the config file.
  19042. .PP
  19043. The options set by environment variables can be seen with the
  19044. \f[C]-vv\f[R] and \f[C]--log-level=DEBUG\f[R] flags, e.g.
  19045. \f[C]rclone version -vv\f[R].
  19046. .SH Configuring rclone on a remote / headless machine
  19047. .PP
  19048. Some of the configurations (those involving oauth2) require an Internet
  19049. connected web browser.
  19050. .PP
  19051. If you are trying to set rclone up on a remote or headless box with no
  19052. browser available on it (e.g.
  19053. a NAS or a server in a datacenter) then you will need to use an
  19054. alternative means of configuration.
  19055. There are two ways of doing it, described below.
  19056. .SS Configuring using rclone authorize
  19057. .PP
  19058. On the headless box run \f[C]rclone\f[R] config but answer \f[C]N\f[R]
  19059. to the \f[C]Use web browser to automatically authenticate?\f[R]
  19060. question.
  19061. .IP
  19062. .nf
  19063. \f[C]
  19064. \&...
  19065. Remote config
  19066. Use web browser to automatically authenticate rclone with remote?
  19067. * Say Y if the machine running rclone has a web browser you can use
  19068. * Say N if running rclone on a (remote) machine without web browser access
  19069. If not sure try Y. If Y failed, try N.
  19070. y) Yes (default)
  19071. n) No
  19072. y/n> n
  19073. For this to work, you will need rclone available on a machine that has
  19074. a web browser available.
  19075. For more help and alternate methods see: https://rclone.org/remote_setup/
  19076. Execute the following on the machine with the web browser (same rclone
  19077. version recommended):
  19078. rclone authorize \[dq]dropbox\[dq]
  19079. Then paste the result below:
  19080. result>
  19081. \f[R]
  19082. .fi
  19083. .PP
  19084. Then on your main desktop machine
  19085. .IP
  19086. .nf
  19087. \f[C]
  19088. rclone authorize \[dq]dropbox\[dq]
  19089. If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth
  19090. Log in and authorize rclone for access
  19091. Waiting for code...
  19092. Got code
  19093. Paste the following into your remote machine --->
  19094. SECRET_TOKEN
  19095. <---End paste
  19096. \f[R]
  19097. .fi
  19098. .PP
  19099. Then back to the headless box, paste in the code
  19100. .IP
  19101. .nf
  19102. \f[C]
  19103. result> SECRET_TOKEN
  19104. --------------------
  19105. [acd12]
  19106. client_id =
  19107. client_secret =
  19108. token = SECRET_TOKEN
  19109. --------------------
  19110. y) Yes this is OK
  19111. e) Edit this remote
  19112. d) Delete this remote
  19113. y/e/d>
  19114. \f[R]
  19115. .fi
  19116. .SS Configuring by copying the config file
  19117. .PP
  19118. Rclone stores all of its config in a single configuration file.
  19119. This can easily be copied to configure a remote rclone.
  19120. .PP
  19121. So first configure rclone on your desktop machine with
  19122. .IP
  19123. .nf
  19124. \f[C]
  19125. rclone config
  19126. \f[R]
  19127. .fi
  19128. .PP
  19129. to set up the config file.
  19130. .PP
  19131. Find the config file by running \f[C]rclone config file\f[R], for
  19132. example
  19133. .IP
  19134. .nf
  19135. \f[C]
  19136. $ rclone config file
  19137. Configuration file is stored at:
  19138. /home/user/.rclone.conf
  19139. \f[R]
  19140. .fi
  19141. .PP
  19142. Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
  19143. place it in the correct place (use \f[C]rclone config file\f[R] on the
  19144. remote box to find out where).
  19145. .SS Configuring using SSH Tunnel
  19146. .PP
  19147. Linux and MacOS users can utilize SSH Tunnel to redirect the headless
  19148. box port 53682 to local machine by using the following command:
  19149. .IP
  19150. .nf
  19151. \f[C]
  19152. ssh -L localhost:53682:localhost:53682 username\[at]remote_server
  19153. \f[R]
  19154. .fi
  19155. .PP
  19156. Then on the headless box run \f[C]rclone\f[R] config and answer
  19157. \f[C]Y\f[R] to the
  19158. \f[C]Use web browser to automatically authenticate?\f[R] question.
  19159. .IP
  19160. .nf
  19161. \f[C]
  19162. \&...
  19163. Remote config
  19164. Use web browser to automatically authenticate rclone with remote?
  19165. * Say Y if the machine running rclone has a web browser you can use
  19166. * Say N if running rclone on a (remote) machine without web browser access
  19167. If not sure try Y. If Y failed, try N.
  19168. y) Yes (default)
  19169. n) No
  19170. y/n> y
  19171. \f[R]
  19172. .fi
  19173. .PP
  19174. Then copy and paste the auth url
  19175. \f[C]http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx\f[R] to the browser
  19176. on your local machine, complete the auth and it is done.
  19177. .SH Filtering, includes and excludes
  19178. .PP
  19179. Filter flags determine which files rclone \f[C]sync\f[R],
  19180. \f[C]move\f[R], \f[C]ls\f[R], \f[C]lsl\f[R], \f[C]md5sum\f[R],
  19181. \f[C]sha1sum\f[R], \f[C]size\f[R], \f[C]delete\f[R], \f[C]check\f[R] and
  19182. similar commands apply to.
  19183. .PP
  19184. They are specified in terms of path/file name patterns; path/file lists;
  19185. file age and size, or presence of a file in a directory.
  19186. Bucket based remotes without the concept of directory apply filters to
  19187. object key, age and size in an analogous way.
  19188. .PP
  19189. Rclone \f[C]purge\f[R] does not obey filters.
  19190. .PP
  19191. To test filters without risk of damage to data, apply them to
  19192. \f[C]rclone ls\f[R], or with the \f[C]--dry-run\f[R] and \f[C]-vv\f[R]
  19193. flags.
  19194. .PP
  19195. Rclone filter patterns can only be used in filter command line options,
  19196. not in the specification of a remote.
  19197. .PP
  19198. E.g.
  19199. \f[C]rclone copy \[dq]remote:dir*.jpg\[dq] /path/to/dir\f[R] does not
  19200. have a filter effect.
  19201. \f[C]rclone copy remote:dir /path/to/dir --include \[dq]*.jpg\[dq]\f[R]
  19202. does.
  19203. .PP
  19204. \f[B]Important\f[R] Avoid mixing any two of \f[C]--include...\f[R],
  19205. \f[C]--exclude...\f[R] or \f[C]--filter...\f[R] flags in an rclone
  19206. command.
  19207. The results might not be what you expect.
  19208. Instead use a \f[C]--filter...\f[R] flag.
  19209. .SS Patterns for matching path/file names
  19210. .SS Pattern syntax
  19211. .PP
  19212. Here is a formal definition of the pattern syntax, examples are below.
  19213. .PP
  19214. Rclone matching rules follow a glob style:
  19215. .IP
  19216. .nf
  19217. \f[C]
  19218. * matches any sequence of non-separator (/) characters
  19219. ** matches any sequence of characters including / separators
  19220. ? matches any single non-separator (/) character
  19221. [ [ ! ] { character-range } ]
  19222. character class (must be non-empty)
  19223. { pattern-list }
  19224. pattern alternatives
  19225. {{ regexp }}
  19226. regular expression to match
  19227. c matches character c (c != *, **, ?, \[rs], [, {, })
  19228. \[rs]c matches reserved character c (c = *, **, ?, \[rs], [, {, }) or character class
  19229. \f[R]
  19230. .fi
  19231. .PP
  19232. character-range:
  19233. .IP
  19234. .nf
  19235. \f[C]
  19236. c matches character c (c != \[rs], -, ])
  19237. \[rs]c matches reserved character c (c = \[rs], -, ])
  19238. lo - hi matches character c for lo <= c <= hi
  19239. \f[R]
  19240. .fi
  19241. .PP
  19242. pattern-list:
  19243. .IP
  19244. .nf
  19245. \f[C]
  19246. pattern { , pattern }
  19247. comma-separated (without spaces) patterns
  19248. \f[R]
  19249. .fi
  19250. .PP
  19251. character classes (see Go regular expression
  19252. reference (https://golang.org/pkg/regexp/syntax/)) include:
  19253. .IP
  19254. .nf
  19255. \f[C]
  19256. Named character classes (e.g. [\[rs]d], [\[ha]\[rs]d], [\[rs]D], [\[ha]\[rs]D])
  19257. Perl character classes (e.g. \[rs]s, \[rs]S, \[rs]w, \[rs]W)
  19258. ASCII character classes (e.g. [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]])
  19259. \f[R]
  19260. .fi
  19261. .PP
  19262. regexp for advanced users to insert a regular expression - see below for
  19263. more info:
  19264. .IP
  19265. .nf
  19266. \f[C]
  19267. Any re2 regular expression not containing \[ga]}}\[ga]
  19268. \f[R]
  19269. .fi
  19270. .PP
  19271. If the filter pattern starts with a \f[C]/\f[R] then it only matches at
  19272. the top level of the directory tree, \f[B]relative to the root of the
  19273. remote\f[R] (not necessarily the root of the drive).
  19274. If it does not start with \f[C]/\f[R] then it is matched starting at the
  19275. \f[B]end of the path/file name\f[R] but it only matches a complete path
  19276. element - it must match from a \f[C]/\f[R] separator or the beginning of
  19277. the path/file.
  19278. .IP
  19279. .nf
  19280. \f[C]
  19281. file.jpg - matches \[dq]file.jpg\[dq]
  19282. - matches \[dq]directory/file.jpg\[dq]
  19283. - doesn\[aq]t match \[dq]afile.jpg\[dq]
  19284. - doesn\[aq]t match \[dq]directory/afile.jpg\[dq]
  19285. /file.jpg - matches \[dq]file.jpg\[dq] in the root directory of the remote
  19286. - doesn\[aq]t match \[dq]afile.jpg\[dq]
  19287. - doesn\[aq]t match \[dq]directory/file.jpg\[dq]
  19288. \f[R]
  19289. .fi
  19290. .PP
  19291. The top level of the remote might not be the top level of the drive.
  19292. .PP
  19293. E.g.
  19294. for a Microsoft Windows local directory structure
  19295. .IP
  19296. .nf
  19297. \f[C]
  19298. F:
  19299. \[u251C]\[u2500]\[u2500] bkp
  19300. \[u251C]\[u2500]\[u2500] data
  19301. \[br] \[u251C]\[u2500]\[u2500] excl
  19302. \[br] \[br] \[u251C]\[u2500]\[u2500] 123.jpg
  19303. \[br] \[br] \[u2514]\[u2500]\[u2500] 456.jpg
  19304. \[br] \[u251C]\[u2500]\[u2500] incl
  19305. \[br] \[br] \[u2514]\[u2500]\[u2500] document.pdf
  19306. \f[R]
  19307. .fi
  19308. .PP
  19309. To copy the contents of folder \f[C]data\f[R] into folder \f[C]bkp\f[R]
  19310. excluding the contents of subfolder \f[C]excl\f[R]the following command
  19311. treats \f[C]F:\[rs]data\f[R] and \f[C]F:\[rs]bkp\f[R] as top level for
  19312. filtering.
  19313. .PP
  19314. \f[C]rclone copy F:\[rs]data\[rs] F:\[rs]bkp\[rs] --exclude=/excl/**\f[R]
  19315. .PP
  19316. \f[B]Important\f[R] Use \f[C]/\f[R] in path/file name patterns and not
  19317. \f[C]\[rs]\f[R] even if running on Microsoft Windows.
  19318. .PP
  19319. Simple patterns are case sensitive unless the \f[C]--ignore-case\f[R]
  19320. flag is used.
  19321. .PP
  19322. Without \f[C]--ignore-case\f[R] (default)
  19323. .IP
  19324. .nf
  19325. \f[C]
  19326. potato - matches \[dq]potato\[dq]
  19327. - doesn\[aq]t match \[dq]POTATO\[dq]
  19328. \f[R]
  19329. .fi
  19330. .PP
  19331. With \f[C]--ignore-case\f[R]
  19332. .IP
  19333. .nf
  19334. \f[C]
  19335. potato - matches \[dq]potato\[dq]
  19336. - matches \[dq]POTATO\[dq]
  19337. \f[R]
  19338. .fi
  19339. .SS Using regular expressions in filter patterns
  19340. .PP
  19341. The syntax of filter patterns is glob style matching (like
  19342. \f[C]bash\f[R] uses) to make things easy for users.
  19343. However this does not provide absolute control over the matching, so for
  19344. advanced users rclone also provides a regular expression syntax.
  19345. .PP
  19346. The regular expressions used are as defined in the Go regular expression
  19347. reference (https://golang.org/pkg/regexp/syntax/).
  19348. Regular expressions should be enclosed in \f[C]{{\f[R] \f[C]}}\f[R].
  19349. They will match only the last path segment if the glob doesn\[aq]t start
  19350. with \f[C]/\f[R] or the whole path name if it does.
  19351. Note that rclone does not attempt to parse the supplied regular
  19352. expression, meaning that using any regular expression filter will
  19353. prevent rclone from using directory filter rules, as it will instead
  19354. check every path against the supplied regular expression(s).
  19355. .PP
  19356. Here is how the \f[C]{{regexp}}\f[R] is transformed into an full regular
  19357. expression to match the entire path:
  19358. .IP
  19359. .nf
  19360. \f[C]
  19361. {{regexp}} becomes (\[ha]|/)(regexp)$
  19362. /{{regexp}} becomes \[ha](regexp)$
  19363. \f[R]
  19364. .fi
  19365. .PP
  19366. Regexp syntax can be mixed with glob syntax, for example
  19367. .IP
  19368. .nf
  19369. \f[C]
  19370. *.{{jpe?g}} to match file.jpg, file.jpeg but not file.png
  19371. \f[R]
  19372. .fi
  19373. .PP
  19374. You can also use regexp flags - to set case insensitive, for example
  19375. .IP
  19376. .nf
  19377. \f[C]
  19378. *.{{(?i)jpg}} to match file.jpg, file.JPG but not file.png
  19379. \f[R]
  19380. .fi
  19381. .PP
  19382. Be careful with wildcards in regular expressions - you don\[aq]t want
  19383. them to match path separators normally.
  19384. To match any file name starting with \f[C]start\f[R] and ending with
  19385. \f[C]end\f[R] write
  19386. .IP
  19387. .nf
  19388. \f[C]
  19389. {{start[\[ha]/]*end\[rs].jpg}}
  19390. \f[R]
  19391. .fi
  19392. .PP
  19393. Not
  19394. .IP
  19395. .nf
  19396. \f[C]
  19397. {{start.*end\[rs].jpg}}
  19398. \f[R]
  19399. .fi
  19400. .PP
  19401. Which will match a directory called \f[C]start\f[R] with a file called
  19402. \f[C]end.jpg\f[R] in it as the \f[C].*\f[R] will match \f[C]/\f[R]
  19403. characters.
  19404. .PP
  19405. Note that you can use \f[C]-vv --dump filters\f[R] to show the filter
  19406. patterns in regexp format - rclone implements the glob patterns by
  19407. transforming them into regular expressions.
  19408. .SS Filter pattern examples
  19409. .PP
  19410. .TS
  19411. tab(@);
  19412. l l l l.
  19413. T{
  19414. Description
  19415. T}@T{
  19416. Pattern
  19417. T}@T{
  19418. Matches
  19419. T}@T{
  19420. Does not match
  19421. T}
  19422. _
  19423. T{
  19424. Wildcard
  19425. T}@T{
  19426. \f[C]*.jpg\f[R]
  19427. T}@T{
  19428. \f[C]/file.jpg\f[R]
  19429. T}@T{
  19430. \f[C]/file.png\f[R]
  19431. T}
  19432. T{
  19433. T}@T{
  19434. T}@T{
  19435. \f[C]/dir/file.jpg\f[R]
  19436. T}@T{
  19437. \f[C]/dir/file.png\f[R]
  19438. T}
  19439. T{
  19440. Rooted
  19441. T}@T{
  19442. \f[C]/*.jpg\f[R]
  19443. T}@T{
  19444. \f[C]/file.jpg\f[R]
  19445. T}@T{
  19446. \f[C]/file.png\f[R]
  19447. T}
  19448. T{
  19449. T}@T{
  19450. T}@T{
  19451. \f[C]/file2.jpg\f[R]
  19452. T}@T{
  19453. \f[C]/dir/file.jpg\f[R]
  19454. T}
  19455. T{
  19456. Alternates
  19457. T}@T{
  19458. \f[C]*.{jpg,png}\f[R]
  19459. T}@T{
  19460. \f[C]/file.jpg\f[R]
  19461. T}@T{
  19462. \f[C]/file.gif\f[R]
  19463. T}
  19464. T{
  19465. T}@T{
  19466. T}@T{
  19467. \f[C]/dir/file.png\f[R]
  19468. T}@T{
  19469. \f[C]/dir/file.gif\f[R]
  19470. T}
  19471. T{
  19472. Path Wildcard
  19473. T}@T{
  19474. \f[C]dir/**\f[R]
  19475. T}@T{
  19476. \f[C]/dir/anyfile\f[R]
  19477. T}@T{
  19478. \f[C]file.png\f[R]
  19479. T}
  19480. T{
  19481. T}@T{
  19482. T}@T{
  19483. \f[C]/subdir/dir/subsubdir/anyfile\f[R]
  19484. T}@T{
  19485. \f[C]/subdir/file.png\f[R]
  19486. T}
  19487. T{
  19488. Any Char
  19489. T}@T{
  19490. \f[C]*.t?t\f[R]
  19491. T}@T{
  19492. \f[C]/file.txt\f[R]
  19493. T}@T{
  19494. \f[C]/file.qxt\f[R]
  19495. T}
  19496. T{
  19497. T}@T{
  19498. T}@T{
  19499. \f[C]/dir/file.tzt\f[R]
  19500. T}@T{
  19501. \f[C]/dir/file.png\f[R]
  19502. T}
  19503. T{
  19504. Range
  19505. T}@T{
  19506. \f[C]*.[a-z]\f[R]
  19507. T}@T{
  19508. \f[C]/file.a\f[R]
  19509. T}@T{
  19510. \f[C]/file.0\f[R]
  19511. T}
  19512. T{
  19513. T}@T{
  19514. T}@T{
  19515. \f[C]/dir/file.b\f[R]
  19516. T}@T{
  19517. \f[C]/dir/file.1\f[R]
  19518. T}
  19519. T{
  19520. Escape
  19521. T}@T{
  19522. \f[C]*.\[rs]?\[rs]?\[rs]?\f[R]
  19523. T}@T{
  19524. \f[C]/file.???\f[R]
  19525. T}@T{
  19526. \f[C]/file.abc\f[R]
  19527. T}
  19528. T{
  19529. T}@T{
  19530. T}@T{
  19531. \f[C]/dir/file.???\f[R]
  19532. T}@T{
  19533. \f[C]/dir/file.def\f[R]
  19534. T}
  19535. T{
  19536. Class
  19537. T}@T{
  19538. \f[C]*.\[rs]d\[rs]d\[rs]d\f[R]
  19539. T}@T{
  19540. \f[C]/file.012\f[R]
  19541. T}@T{
  19542. \f[C]/file.abc\f[R]
  19543. T}
  19544. T{
  19545. T}@T{
  19546. T}@T{
  19547. \f[C]/dir/file.345\f[R]
  19548. T}@T{
  19549. \f[C]/dir/file.def\f[R]
  19550. T}
  19551. T{
  19552. Regexp
  19553. T}@T{
  19554. \f[C]*.{{jpe?g}}\f[R]
  19555. T}@T{
  19556. \f[C]/file.jpeg\f[R]
  19557. T}@T{
  19558. \f[C]/file.png\f[R]
  19559. T}
  19560. T{
  19561. T}@T{
  19562. T}@T{
  19563. \f[C]/dir/file.jpg\f[R]
  19564. T}@T{
  19565. \f[C]/dir/file.jpeeg\f[R]
  19566. T}
  19567. T{
  19568. Rooted Regexp
  19569. T}@T{
  19570. \f[C]/{{.*\[rs].jpe?g}}\f[R]
  19571. T}@T{
  19572. \f[C]/file.jpeg\f[R]
  19573. T}@T{
  19574. \f[C]/file.png\f[R]
  19575. T}
  19576. T{
  19577. T}@T{
  19578. T}@T{
  19579. \f[C]/file.jpg\f[R]
  19580. T}@T{
  19581. \f[C]/dir/file.jpg\f[R]
  19582. T}
  19583. .TE
  19584. .SS How filter rules are applied to files
  19585. .PP
  19586. Rclone path/file name filters are made up of one or more of the
  19587. following flags:
  19588. .IP \[bu] 2
  19589. \f[C]--include\f[R]
  19590. .IP \[bu] 2
  19591. \f[C]--include-from\f[R]
  19592. .IP \[bu] 2
  19593. \f[C]--exclude\f[R]
  19594. .IP \[bu] 2
  19595. \f[C]--exclude-from\f[R]
  19596. .IP \[bu] 2
  19597. \f[C]--filter\f[R]
  19598. .IP \[bu] 2
  19599. \f[C]--filter-from\f[R]
  19600. .PP
  19601. There can be more than one instance of individual flags.
  19602. .PP
  19603. Rclone internally uses a combined list of all the include and exclude
  19604. rules.
  19605. The order in which rules are processed can influence the result of the
  19606. filter.
  19607. .PP
  19608. All flags of the same type are processed together in the order above,
  19609. regardless of what order the different types of flags are included on
  19610. the command line.
  19611. .PP
  19612. Multiple instances of the same flag are processed from left to right
  19613. according to their position in the command line.
  19614. .PP
  19615. To mix up the order of processing includes and excludes use
  19616. \f[C]--filter...\f[R] flags.
  19617. .PP
  19618. Within \f[C]--include-from\f[R], \f[C]--exclude-from\f[R] and
  19619. \f[C]--filter-from\f[R] flags rules are processed from top to bottom of
  19620. the referenced file.
  19621. .PP
  19622. If there is an \f[C]--include\f[R] or \f[C]--include-from\f[R] flag
  19623. specified, rclone implies a \f[C]- **\f[R] rule which it adds to the
  19624. bottom of the internal rule list.
  19625. Specifying a \f[C]+\f[R] rule with a \f[C]--filter...\f[R] flag does not
  19626. imply that rule.
  19627. .PP
  19628. Each path/file name passed through rclone is matched against the
  19629. combined filter list.
  19630. At first match to a rule the path/file name is included or excluded and
  19631. no further filter rules are processed for that path/file.
  19632. .PP
  19633. If rclone does not find a match, after testing against all rules
  19634. (including the implied rule if appropriate), the path/file name is
  19635. included.
  19636. .PP
  19637. Any path/file included at that stage is processed by the rclone command.
  19638. .PP
  19639. \f[C]--files-from\f[R] and \f[C]--files-from-raw\f[R] flags over-ride
  19640. and cannot be combined with other filter options.
  19641. .PP
  19642. To see the internal combined rule list, in regular expression form, for
  19643. a command add the \f[C]--dump filters\f[R] flag.
  19644. Running an rclone command with \f[C]--dump filters\f[R] and
  19645. \f[C]-vv\f[R] flags lists the internal filter elements and shows how
  19646. they are applied to each source path/file.
  19647. There is not currently a means provided to pass regular expression
  19648. filter options into rclone directly though character class filter rules
  19649. contain character classes.
  19650. Go regular expression reference (https://golang.org/pkg/regexp/syntax/)
  19651. .SS How filter rules are applied to directories
  19652. .PP
  19653. Rclone commands are applied to path/file names not directories.
  19654. The entire contents of a directory can be matched to a filter by the
  19655. pattern \f[C]directory/*\f[R] or recursively by \f[C]directory/**\f[R].
  19656. .PP
  19657. Directory filter rules are defined with a closing \f[C]/\f[R] separator.
  19658. .PP
  19659. E.g.
  19660. \f[C]/directory/subdirectory/\f[R] is an rclone directory filter rule.
  19661. .PP
  19662. Rclone commands can use directory filter rules to determine whether they
  19663. recurse into subdirectories.
  19664. This potentially optimises access to a remote by avoiding listing
  19665. unnecessary directories.
  19666. Whether optimisation is desirable depends on the specific filter rules
  19667. and source remote content.
  19668. .PP
  19669. If any regular expression filters are in use, then no directory
  19670. recursion optimisation is possible, as rclone must check every path
  19671. against the supplied regular expression(s).
  19672. .PP
  19673. Directory recursion optimisation occurs if either:
  19674. .IP \[bu] 2
  19675. A source remote does not support the rclone \f[C]ListR\f[R] primitive.
  19676. local, sftp, Microsoft OneDrive and WebDAV do not support
  19677. \f[C]ListR\f[R].
  19678. Google Drive and most bucket type storage do.
  19679. Full list (https://rclone.org/overview/#optional-features)
  19680. .IP \[bu] 2
  19681. On other remotes (those that support \f[C]ListR\f[R]), if the rclone
  19682. command is not naturally recursive, and provided it is not run with the
  19683. \f[C]--fast-list\f[R] flag.
  19684. \f[C]ls\f[R], \f[C]lsf -R\f[R] and \f[C]size\f[R] are naturally
  19685. recursive but \f[C]sync\f[R], \f[C]copy\f[R] and \f[C]move\f[R] are not.
  19686. .IP \[bu] 2
  19687. Whenever the \f[C]--disable ListR\f[R] flag is applied to an rclone
  19688. command.
  19689. .PP
  19690. Rclone commands imply directory filter rules from path/file filter
  19691. rules.
  19692. To view the directory filter rules rclone has implied for a command
  19693. specify the \f[C]--dump filters\f[R] flag.
  19694. .PP
  19695. E.g.
  19696. for an include rule
  19697. .IP
  19698. .nf
  19699. \f[C]
  19700. /a/*.jpg
  19701. \f[R]
  19702. .fi
  19703. .PP
  19704. Rclone implies the directory include rule
  19705. .IP
  19706. .nf
  19707. \f[C]
  19708. /a/
  19709. \f[R]
  19710. .fi
  19711. .PP
  19712. Directory filter rules specified in an rclone command can limit the
  19713. scope of an rclone command but path/file filters still have to be
  19714. specified.
  19715. .PP
  19716. E.g.
  19717. \f[C]rclone ls remote: --include /directory/\f[R] will not match any
  19718. files.
  19719. Because it is an \f[C]--include\f[R] option the \f[C]--exclude **\f[R]
  19720. rule is implied, and the \f[C]/directory/\f[R] pattern serves only to
  19721. optimise access to the remote by ignoring everything outside of that
  19722. directory.
  19723. .PP
  19724. E.g.
  19725. \f[C]rclone ls remote: --filter-from filter-list.txt\f[R] with a file
  19726. \f[C]filter-list.txt\f[R]:
  19727. .IP
  19728. .nf
  19729. \f[C]
  19730. - /dir1/
  19731. - /dir2/
  19732. + *.pdf
  19733. - **
  19734. \f[R]
  19735. .fi
  19736. .PP
  19737. All files in directories \f[C]dir1\f[R] or \f[C]dir2\f[R] or their
  19738. subdirectories are completely excluded from the listing.
  19739. Only files of suffix \f[C]pdf\f[R] in the root of \f[C]remote:\f[R] or
  19740. its subdirectories are listed.
  19741. The \f[C]- **\f[R] rule prevents listing of any path/files not
  19742. previously matched by the rules above.
  19743. .PP
  19744. Option \f[C]exclude-if-present\f[R] creates a directory exclude rule
  19745. based on the presence of a file in a directory and takes precedence over
  19746. other rclone directory filter rules.
  19747. .PP
  19748. When using pattern list syntax, if a pattern item contains either
  19749. \f[C]/\f[R] or \f[C]**\f[R], then rclone will not able to imply a
  19750. directory filter rule from this pattern list.
  19751. .PP
  19752. E.g.
  19753. for an include rule
  19754. .IP
  19755. .nf
  19756. \f[C]
  19757. {dir1/**,dir2/**}
  19758. \f[R]
  19759. .fi
  19760. .PP
  19761. Rclone will match files below directories \f[C]dir1\f[R] or
  19762. \f[C]dir2\f[R] only, but will not be able to use this filter to exclude
  19763. a directory \f[C]dir3\f[R] from being traversed.
  19764. .PP
  19765. Directory recursion optimisation may affect performance, but normally
  19766. not the result.
  19767. One exception to this is sync operations with option
  19768. \f[C]--create-empty-src-dirs\f[R], where any traversed empty directories
  19769. will be created.
  19770. With the pattern list example \f[C]{dir1/**,dir2/**}\f[R] above, this
  19771. would create an empty directory \f[C]dir3\f[R] on destination (when it
  19772. exists on source).
  19773. Changing the filter to \f[C]{dir1,dir2}/**\f[R], or splitting it into
  19774. two include rules \f[C]--include dir1/** --include dir2/**\f[R], will
  19775. match the same files while also filtering directories, with the result
  19776. that an empty directory \f[C]dir3\f[R] will no longer be created.
  19777. .SS \f[C]--exclude\f[R] - Exclude files matching pattern
  19778. .PP
  19779. Excludes path/file names from an rclone command based on a single
  19780. exclude rule.
  19781. .PP
  19782. This flag can be repeated.
  19783. See above for the order filter flags are processed in.
  19784. .PP
  19785. \f[C]--exclude\f[R] should not be used with \f[C]--include\f[R],
  19786. \f[C]--include-from\f[R], \f[C]--filter\f[R] or \f[C]--filter-from\f[R]
  19787. flags.
  19788. .PP
  19789. \f[C]--exclude\f[R] has no effect when combined with
  19790. \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags.
  19791. .PP
  19792. E.g.
  19793. \f[C]rclone ls remote: --exclude *.bak\f[R] excludes all .bak files from
  19794. listing.
  19795. .PP
  19796. E.g.
  19797. \f[C]rclone size remote: \[dq]--exclude /dir/**\[dq]\f[R] returns the
  19798. total size of all files on \f[C]remote:\f[R] excluding those in root
  19799. directory \f[C]dir\f[R] and sub directories.
  19800. .PP
  19801. E.g.
  19802. on Microsoft Windows
  19803. \f[C]rclone ls remote: --exclude \[dq]*\[rs][{JP,KR,HK}\[rs]]*\[dq]\f[R]
  19804. lists the files in \f[C]remote:\f[R] without \f[C][JP]\f[R] or
  19805. \f[C][KR]\f[R] or \f[C][HK]\f[R] in their name.
  19806. Quotes prevent the shell from interpreting the \f[C]\[rs]\f[R]
  19807. characters.\f[C]\[rs]\f[R] characters escape the \f[C][\f[R] and
  19808. \f[C]]\f[R] so an rclone filter treats them literally rather than as a
  19809. character-range.
  19810. The \f[C]{\f[R] and \f[C]}\f[R] define an rclone pattern list.
  19811. For other operating systems single quotes are required ie
  19812. \f[C]rclone ls remote: --exclude \[aq]*\[rs][{JP,KR,HK}\[rs]]*\[aq]\f[R]
  19813. .SS \f[C]--exclude-from\f[R] - Read exclude patterns from file
  19814. .PP
  19815. Excludes path/file names from an rclone command based on rules in a
  19816. named file.
  19817. The file contains a list of remarks and pattern rules.
  19818. .PP
  19819. For an example \f[C]exclude-file.txt\f[R]:
  19820. .IP
  19821. .nf
  19822. \f[C]
  19823. # a sample exclude rule file
  19824. *.bak
  19825. file2.jpg
  19826. \f[R]
  19827. .fi
  19828. .PP
  19829. \f[C]rclone ls remote: --exclude-from exclude-file.txt\f[R] lists the
  19830. files on \f[C]remote:\f[R] except those named \f[C]file2.jpg\f[R] or
  19831. with a suffix \f[C].bak\f[R].
  19832. That is equivalent to
  19833. \f[C]rclone ls remote: --exclude file2.jpg --exclude \[dq]*.bak\[dq]\f[R].
  19834. .PP
  19835. This flag can be repeated.
  19836. See above for the order filter flags are processed in.
  19837. .PP
  19838. The \f[C]--exclude-from\f[R] flag is useful where multiple exclude
  19839. filter rules are applied to an rclone command.
  19840. .PP
  19841. \f[C]--exclude-from\f[R] should not be used with \f[C]--include\f[R],
  19842. \f[C]--include-from\f[R], \f[C]--filter\f[R] or \f[C]--filter-from\f[R]
  19843. flags.
  19844. .PP
  19845. \f[C]--exclude-from\f[R] has no effect when combined with
  19846. \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags.
  19847. .PP
  19848. \f[C]--exclude-from\f[R] followed by \f[C]-\f[R] reads filter rules from
  19849. standard input.
  19850. .SS \f[C]--include\f[R] - Include files matching pattern
  19851. .PP
  19852. Adds a single include rule based on path/file names to an rclone
  19853. command.
  19854. .PP
  19855. This flag can be repeated.
  19856. See above for the order filter flags are processed in.
  19857. .PP
  19858. \f[C]--include\f[R] has no effect when combined with
  19859. \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags.
  19860. .PP
  19861. \f[C]--include\f[R] implies \f[C]--exclude **\f[R] at the end of an
  19862. rclone internal filter list.
  19863. Therefore if you mix \f[C]--include\f[R] and \f[C]--include-from\f[R]
  19864. flags with \f[C]--exclude\f[R], \f[C]--exclude-from\f[R],
  19865. \f[C]--filter\f[R] or \f[C]--filter-from\f[R], you must use include
  19866. rules for all the files you want in the include statement.
  19867. For more flexibility use the \f[C]--filter-from\f[R] flag.
  19868. .PP
  19869. E.g.
  19870. \f[C]rclone ls remote: --include \[dq]*.{png,jpg}\[dq]\f[R] lists the
  19871. files on \f[C]remote:\f[R] with suffix \f[C].png\f[R] and
  19872. \f[C].jpg\f[R].
  19873. All other files are excluded.
  19874. .PP
  19875. E.g.
  19876. multiple rclone copy commands can be combined with \f[C]--include\f[R]
  19877. and a pattern-list.
  19878. .IP
  19879. .nf
  19880. \f[C]
  19881. rclone copy /vol1/A remote:A
  19882. rclone copy /vol1/B remote:B
  19883. \f[R]
  19884. .fi
  19885. .PP
  19886. is equivalent to:
  19887. .IP
  19888. .nf
  19889. \f[C]
  19890. rclone copy /vol1 remote: --include \[dq]{A,B}/**\[dq]
  19891. \f[R]
  19892. .fi
  19893. .PP
  19894. E.g.
  19895. \f[C]rclone ls remote:/wheat --include \[dq]??[\[ha][:punct:]]*\[dq]\f[R]
  19896. lists the files \f[C]remote:\f[R] directory \f[C]wheat\f[R] (and
  19897. subdirectories) whose third character is not punctuation.
  19898. This example uses an ASCII character
  19899. class (https://golang.org/pkg/regexp/syntax/).
  19900. .SS \f[C]--include-from\f[R] - Read include patterns from file
  19901. .PP
  19902. Adds path/file names to an rclone command based on rules in a named
  19903. file.
  19904. The file contains a list of remarks and pattern rules.
  19905. .PP
  19906. For an example \f[C]include-file.txt\f[R]:
  19907. .IP
  19908. .nf
  19909. \f[C]
  19910. # a sample include rule file
  19911. *.jpg
  19912. file2.avi
  19913. \f[R]
  19914. .fi
  19915. .PP
  19916. \f[C]rclone ls remote: --include-from include-file.txt\f[R] lists the
  19917. files on \f[C]remote:\f[R] with name \f[C]file2.avi\f[R] or suffix
  19918. \f[C].jpg\f[R].
  19919. That is equivalent to
  19920. \f[C]rclone ls remote: --include file2.avi --include \[dq]*.jpg\[dq]\f[R].
  19921. .PP
  19922. This flag can be repeated.
  19923. See above for the order filter flags are processed in.
  19924. .PP
  19925. The \f[C]--include-from\f[R] flag is useful where multiple include
  19926. filter rules are applied to an rclone command.
  19927. .PP
  19928. \f[C]--include-from\f[R] implies \f[C]--exclude **\f[R] at the end of an
  19929. rclone internal filter list.
  19930. Therefore if you mix \f[C]--include\f[R] and \f[C]--include-from\f[R]
  19931. flags with \f[C]--exclude\f[R], \f[C]--exclude-from\f[R],
  19932. \f[C]--filter\f[R] or \f[C]--filter-from\f[R], you must use include
  19933. rules for all the files you want in the include statement.
  19934. For more flexibility use the \f[C]--filter-from\f[R] flag.
  19935. .PP
  19936. \f[C]--exclude-from\f[R] has no effect when combined with
  19937. \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags.
  19938. .PP
  19939. \f[C]--exclude-from\f[R] followed by \f[C]-\f[R] reads filter rules from
  19940. standard input.
  19941. .SS \f[C]--filter\f[R] - Add a file-filtering rule
  19942. .PP
  19943. Specifies path/file names to an rclone command, based on a single
  19944. include or exclude rule, in \f[C]+\f[R] or \f[C]-\f[R] format.
  19945. .PP
  19946. This flag can be repeated.
  19947. See above for the order filter flags are processed in.
  19948. .PP
  19949. \f[C]--filter +\f[R] differs from \f[C]--include\f[R].
  19950. In the case of \f[C]--include\f[R] rclone implies an
  19951. \f[C]--exclude *\f[R] rule which it adds to the bottom of the internal
  19952. rule list.
  19953. \f[C]--filter...+\f[R] does not imply that rule.
  19954. .PP
  19955. \f[C]--filter\f[R] has no effect when combined with
  19956. \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags.
  19957. .PP
  19958. \f[C]--filter\f[R] should not be used with \f[C]--include\f[R],
  19959. \f[C]--include-from\f[R], \f[C]--exclude\f[R] or
  19960. \f[C]--exclude-from\f[R] flags.
  19961. .PP
  19962. E.g.
  19963. \f[C]rclone ls remote: --filter \[dq]- *.bak\[dq]\f[R] excludes all
  19964. \f[C].bak\f[R] files from a list of \f[C]remote:\f[R].
  19965. .SS \f[C]--filter-from\f[R] - Read filtering patterns from a file
  19966. .PP
  19967. Adds path/file names to an rclone command based on rules in a named
  19968. file.
  19969. The file contains a list of remarks and pattern rules.
  19970. Include rules start with \f[C]+\f[R] and exclude rules with \f[C]-\f[R].
  19971. \f[C]!\f[R] clears existing rules.
  19972. Rules are processed in the order they are defined.
  19973. .PP
  19974. This flag can be repeated.
  19975. See above for the order filter flags are processed in.
  19976. .PP
  19977. Arrange the order of filter rules with the most restrictive first and
  19978. work down.
  19979. .PP
  19980. E.g.
  19981. for \f[C]filter-file.txt\f[R]:
  19982. .IP
  19983. .nf
  19984. \f[C]
  19985. # a sample filter rule file
  19986. - secret*.jpg
  19987. + *.jpg
  19988. + *.png
  19989. + file2.avi
  19990. - /dir/Trash/**
  19991. + /dir/**
  19992. # exclude everything else
  19993. - *
  19994. \f[R]
  19995. .fi
  19996. .PP
  19997. \f[C]rclone ls remote: --filter-from filter-file.txt\f[R] lists the
  19998. path/files on \f[C]remote:\f[R] including all \f[C]jpg\f[R] and
  19999. \f[C]png\f[R] files, excluding any matching \f[C]secret*.jpg\f[R] and
  20000. including \f[C]file2.avi\f[R].
  20001. It also includes everything in the directory \f[C]dir\f[R] at the root
  20002. of \f[C]remote\f[R], except \f[C]remote:dir/Trash\f[R] which it
  20003. excludes.
  20004. Everything else is excluded.
  20005. .PP
  20006. E.g.
  20007. for an alternative \f[C]filter-file.txt\f[R]:
  20008. .IP
  20009. .nf
  20010. \f[C]
  20011. - secret*.jpg
  20012. + *.jpg
  20013. + *.png
  20014. + file2.avi
  20015. - *
  20016. \f[R]
  20017. .fi
  20018. .PP
  20019. Files \f[C]file1.jpg\f[R], \f[C]file3.png\f[R] and \f[C]file2.avi\f[R]
  20020. are listed whilst \f[C]secret17.jpg\f[R] and files without the suffix
  20021. \f[C].jpg\f[R] or \f[C].png\f[R] are excluded.
  20022. .PP
  20023. E.g.
  20024. for an alternative \f[C]filter-file.txt\f[R]:
  20025. .IP
  20026. .nf
  20027. \f[C]
  20028. + *.jpg
  20029. + *.gif
  20030. !
  20031. + 42.doc
  20032. - *
  20033. \f[R]
  20034. .fi
  20035. .PP
  20036. Only file 42.doc is listed.
  20037. Prior rules are cleared by the \f[C]!\f[R].
  20038. .SS \f[C]--files-from\f[R] - Read list of source-file names
  20039. .PP
  20040. Adds path/files to an rclone command from a list in a named file.
  20041. Rclone processes the path/file names in the order of the list, and no
  20042. others.
  20043. .PP
  20044. Other filter flags (\f[C]--include\f[R], \f[C]--include-from\f[R],
  20045. \f[C]--exclude\f[R], \f[C]--exclude-from\f[R], \f[C]--filter\f[R] and
  20046. \f[C]--filter-from\f[R]) are ignored when \f[C]--files-from\f[R] is
  20047. used.
  20048. .PP
  20049. \f[C]--files-from\f[R] expects a list of files as its input.
  20050. Leading or trailing whitespace is stripped from the input lines.
  20051. Lines starting with \f[C]#\f[R] or \f[C];\f[R] are ignored.
  20052. .PP
  20053. Rclone commands with a \f[C]--files-from\f[R] flag traverse the remote,
  20054. treating the names in \f[C]--files-from\f[R] as a set of filters.
  20055. .PP
  20056. If the \f[C]--no-traverse\f[R] and \f[C]--files-from\f[R] flags are used
  20057. together an rclone command does not traverse the remote.
  20058. Instead it addresses each path/file named in the file individually.
  20059. For each path/file name, that requires typically 1 API call.
  20060. This can be efficient for a short \f[C]--files-from\f[R] list and a
  20061. remote containing many files.
  20062. .PP
  20063. Rclone commands do not error if any names in the \f[C]--files-from\f[R]
  20064. file are missing from the source remote.
  20065. .PP
  20066. The \f[C]--files-from\f[R] flag can be repeated in a single rclone
  20067. command to read path/file names from more than one file.
  20068. The files are read from left to right along the command line.
  20069. .PP
  20070. Paths within the \f[C]--files-from\f[R] file are interpreted as starting
  20071. with the root specified in the rclone command.
  20072. Leading \f[C]/\f[R] separators are ignored.
  20073. See --files-from-raw if you need the input to be processed in a raw
  20074. manner.
  20075. .PP
  20076. E.g.
  20077. for a file \f[C]files-from.txt\f[R]:
  20078. .IP
  20079. .nf
  20080. \f[C]
  20081. # comment
  20082. file1.jpg
  20083. subdir/file2.jpg
  20084. \f[R]
  20085. .fi
  20086. .PP
  20087. \f[C]rclone copy --files-from files-from.txt /home/me/pics remote:pics\f[R]
  20088. copies the following, if they exist, and only those files.
  20089. .IP
  20090. .nf
  20091. \f[C]
  20092. /home/me/pics/file1.jpg \[->] remote:pics/file1.jpg
  20093. /home/me/pics/subdir/file2.jpg \[->] remote:pics/subdir/file2.jpg
  20094. \f[R]
  20095. .fi
  20096. .PP
  20097. E.g.
  20098. to copy the following files referenced by their absolute paths:
  20099. .IP
  20100. .nf
  20101. \f[C]
  20102. /home/user1/42
  20103. /home/user1/dir/ford
  20104. /home/user2/prefect
  20105. \f[R]
  20106. .fi
  20107. .PP
  20108. First find a common subdirectory - in this case \f[C]/home\f[R] and put
  20109. the remaining files in \f[C]files-from.txt\f[R] with or without leading
  20110. \f[C]/\f[R], e.g.
  20111. .IP
  20112. .nf
  20113. \f[C]
  20114. user1/42
  20115. user1/dir/ford
  20116. user2/prefect
  20117. \f[R]
  20118. .fi
  20119. .PP
  20120. Then copy these to a remote:
  20121. .IP
  20122. .nf
  20123. \f[C]
  20124. rclone copy --files-from files-from.txt /home remote:backup
  20125. \f[R]
  20126. .fi
  20127. .PP
  20128. The three files are transferred as follows:
  20129. .IP
  20130. .nf
  20131. \f[C]
  20132. /home/user1/42 \[->] remote:backup/user1/important
  20133. /home/user1/dir/ford \[->] remote:backup/user1/dir/file
  20134. /home/user2/prefect \[->] remote:backup/user2/stuff
  20135. \f[R]
  20136. .fi
  20137. .PP
  20138. Alternatively if \f[C]/\f[R] is chosen as root \f[C]files-from.txt\f[R]
  20139. will be:
  20140. .IP
  20141. .nf
  20142. \f[C]
  20143. /home/user1/42
  20144. /home/user1/dir/ford
  20145. /home/user2/prefect
  20146. \f[R]
  20147. .fi
  20148. .PP
  20149. The copy command will be:
  20150. .IP
  20151. .nf
  20152. \f[C]
  20153. rclone copy --files-from files-from.txt / remote:backup
  20154. \f[R]
  20155. .fi
  20156. .PP
  20157. Then there will be an extra \f[C]home\f[R] directory on the remote:
  20158. .IP
  20159. .nf
  20160. \f[C]
  20161. /home/user1/42 \[->] remote:backup/home/user1/42
  20162. /home/user1/dir/ford \[->] remote:backup/home/user1/dir/ford
  20163. /home/user2/prefect \[->] remote:backup/home/user2/prefect
  20164. \f[R]
  20165. .fi
  20166. .SS \f[C]--files-from-raw\f[R] - Read list of source-file names without any processing
  20167. .PP
  20168. This flag is the same as \f[C]--files-from\f[R] except that input is
  20169. read in a raw manner.
  20170. Lines with leading / trailing whitespace, and lines starting with
  20171. \f[C];\f[R] or \f[C]#\f[R] are read without any processing.
  20172. rclone lsf (https://rclone.org/commands/rclone_lsf/) has a compatible
  20173. format that can be used to export file lists from remotes for input to
  20174. \f[C]--files-from-raw\f[R].
  20175. .SS \f[C]--ignore-case\f[R] - make searches case insensitive
  20176. .PP
  20177. By default, rclone filter patterns are case sensitive.
  20178. The \f[C]--ignore-case\f[R] flag makes all of the filters patterns on
  20179. the command line case insensitive.
  20180. .PP
  20181. E.g.
  20182. \f[C]--include \[dq]zaphod.txt\[dq]\f[R] does not match a file
  20183. \f[C]Zaphod.txt\f[R].
  20184. With \f[C]--ignore-case\f[R] a match is made.
  20185. .SS Quoting shell metacharacters
  20186. .PP
  20187. Rclone commands with filter patterns containing shell metacharacters may
  20188. not as work as expected in your shell and may require quoting.
  20189. .PP
  20190. E.g.
  20191. linux, OSX (\f[C]*\f[R] metacharacter)
  20192. .IP \[bu] 2
  20193. \f[C]--include \[rs]*.jpg\f[R]
  20194. .IP \[bu] 2
  20195. \f[C]--include \[aq]*.jpg\[aq]\f[R]
  20196. .IP \[bu] 2
  20197. \f[C]--include=\[aq]*.jpg\[aq]\f[R]
  20198. .PP
  20199. Microsoft Windows expansion is done by the command, not shell, so
  20200. \f[C]--include *.jpg\f[R] does not require quoting.
  20201. .PP
  20202. If the rclone error
  20203. \f[C]Command .... needs .... arguments maximum: you provided .... non flag arguments:\f[R]
  20204. is encountered, the cause is commonly spaces within the name of a remote
  20205. or flag value.
  20206. The fix then is to quote values containing spaces.
  20207. .SS Other filters
  20208. .SS \f[C]--min-size\f[R] - Don\[aq]t transfer any file smaller than this
  20209. .PP
  20210. Controls the minimum size file within the scope of an rclone command.
  20211. Default units are \f[C]KiB\f[R] but abbreviations \f[C]K\f[R],
  20212. \f[C]M\f[R], \f[C]G\f[R], \f[C]T\f[R] or \f[C]P\f[R] are valid.
  20213. .PP
  20214. E.g.
  20215. \f[C]rclone ls remote: --min-size 50k\f[R] lists files on
  20216. \f[C]remote:\f[R] of 50 KiB size or larger.
  20217. .PP
  20218. See the size option docs (https://rclone.org/docs/#size-option) for more
  20219. info.
  20220. .SS \f[C]--max-size\f[R] - Don\[aq]t transfer any file larger than this
  20221. .PP
  20222. Controls the maximum size file within the scope of an rclone command.
  20223. Default units are \f[C]KiB\f[R] but abbreviations \f[C]K\f[R],
  20224. \f[C]M\f[R], \f[C]G\f[R], \f[C]T\f[R] or \f[C]P\f[R] are valid.
  20225. .PP
  20226. E.g.
  20227. \f[C]rclone ls remote: --max-size 1G\f[R] lists files on
  20228. \f[C]remote:\f[R] of 1 GiB size or smaller.
  20229. .PP
  20230. See the size option docs (https://rclone.org/docs/#size-option) for more
  20231. info.
  20232. .SS \f[C]--max-age\f[R] - Don\[aq]t transfer any file older than this
  20233. .PP
  20234. Controls the maximum age of files within the scope of an rclone command.
  20235. .PP
  20236. \f[C]--max-age\f[R] applies only to files and not to directories.
  20237. .PP
  20238. E.g.
  20239. \f[C]rclone ls remote: --max-age 2d\f[R] lists files on
  20240. \f[C]remote:\f[R] of 2 days old or less.
  20241. .PP
  20242. See the time option docs (https://rclone.org/docs/#time-option) for
  20243. valid formats.
  20244. .SS \f[C]--min-age\f[R] - Don\[aq]t transfer any file younger than this
  20245. .PP
  20246. Controls the minimum age of files within the scope of an rclone command.
  20247. (see \f[C]--max-age\f[R] for valid formats)
  20248. .PP
  20249. \f[C]--min-age\f[R] applies only to files and not to directories.
  20250. .PP
  20251. E.g.
  20252. \f[C]rclone ls remote: --min-age 2d\f[R] lists files on
  20253. \f[C]remote:\f[R] of 2 days old or more.
  20254. .PP
  20255. See the time option docs (https://rclone.org/docs/#time-option) for
  20256. valid formats.
  20257. .SS Other flags
  20258. .SS \f[C]--delete-excluded\f[R] - Delete files on dest excluded from sync
  20259. .PP
  20260. \f[B]Important\f[R] this flag is dangerous to your data - use with
  20261. \f[C]--dry-run\f[R] and \f[C]-v\f[R] first.
  20262. .PP
  20263. In conjunction with \f[C]rclone sync\f[R], \f[C]--delete-excluded\f[R]
  20264. deletes any files on the destination which are excluded from the
  20265. command.
  20266. .PP
  20267. E.g.
  20268. the scope of \f[C]rclone sync --interactive A: B:\f[R] can be
  20269. restricted:
  20270. .IP
  20271. .nf
  20272. \f[C]
  20273. rclone --min-size 50k --delete-excluded sync A: B:
  20274. \f[R]
  20275. .fi
  20276. .PP
  20277. All files on \f[C]B:\f[R] which are less than 50 KiB are deleted because
  20278. they are excluded from the rclone sync command.
  20279. .SS \f[C]--dump filters\f[R] - dump the filters to the output
  20280. .PP
  20281. Dumps the defined filters to standard output in regular expression
  20282. format.
  20283. .PP
  20284. Useful for debugging.
  20285. .SS Exclude directory based on a file
  20286. .PP
  20287. The \f[C]--exclude-if-present\f[R] flag controls whether a directory is
  20288. within the scope of an rclone command based on the presence of a named
  20289. file within it.
  20290. The flag can be repeated to check for multiple file names, presence of
  20291. any of them will exclude the directory.
  20292. .PP
  20293. This flag has a priority over other filter flags.
  20294. .PP
  20295. E.g.
  20296. for the following directory structure:
  20297. .IP
  20298. .nf
  20299. \f[C]
  20300. dir1/file1
  20301. dir1/dir2/file2
  20302. dir1/dir2/dir3/file3
  20303. dir1/dir2/dir3/.ignore
  20304. \f[R]
  20305. .fi
  20306. .PP
  20307. The command \f[C]rclone ls --exclude-if-present .ignore dir1\f[R] does
  20308. not list \f[C]dir3\f[R], \f[C]file3\f[R] or \f[C].ignore\f[R].
  20309. .SS Metadata filters
  20310. .PP
  20311. The metadata filters work in a very similar way to the normal file name
  20312. filters, except they match metadata (https://rclone.org/docs/#metadata)
  20313. on the object.
  20314. .PP
  20315. The metadata should be specified as \f[C]key=value\f[R] patterns.
  20316. This may be wildcarded using the normal filter patterns or regular
  20317. expressions.
  20318. .PP
  20319. For example if you wished to list only local files with a mode of
  20320. \f[C]100664\f[R] you could do that with:
  20321. .IP
  20322. .nf
  20323. \f[C]
  20324. rclone lsf -M --files-only --metadata-include \[dq]mode=100664\[dq] .
  20325. \f[R]
  20326. .fi
  20327. .PP
  20328. Or if you wished to show files with an \f[C]atime\f[R], \f[C]mtime\f[R]
  20329. or \f[C]btime\f[R] at a given date:
  20330. .IP
  20331. .nf
  20332. \f[C]
  20333. rclone lsf -M --files-only --metadata-include \[dq][abm]time=2022-12-16*\[dq] .
  20334. \f[R]
  20335. .fi
  20336. .PP
  20337. Like file filtering, metadata filtering only applies to files not to
  20338. directories.
  20339. .PP
  20340. The filters can be applied using these flags.
  20341. .IP \[bu] 2
  20342. \f[C]--metadata-include\f[R] - Include metadatas matching pattern
  20343. .IP \[bu] 2
  20344. \f[C]--metadata-include-from\f[R] - Read metadata include patterns from
  20345. file (use - to read from stdin)
  20346. .IP \[bu] 2
  20347. \f[C]--metadata-exclude\f[R] - Exclude metadatas matching pattern
  20348. .IP \[bu] 2
  20349. \f[C]--metadata-exclude-from\f[R] - Read metadata exclude patterns from
  20350. file (use - to read from stdin)
  20351. .IP \[bu] 2
  20352. \f[C]--metadata-filter\f[R] - Add a metadata filtering rule
  20353. .IP \[bu] 2
  20354. \f[C]--metadata-filter-from\f[R] - Read metadata filtering patterns from
  20355. a file (use - to read from stdin)
  20356. .PP
  20357. Each flag can be repeated.
  20358. See the section on how filter rules are applied for more details - these
  20359. flags work in an identical way to the file name filtering flags, but
  20360. instead of file name patterns have metadata patterns.
  20361. .SS Common pitfalls
  20362. .PP
  20363. The most frequent filter support issues on the rclone
  20364. forum (https://forum.rclone.org/) are:
  20365. .IP \[bu] 2
  20366. Not using paths relative to the root of the remote
  20367. .IP \[bu] 2
  20368. Not using \f[C]/\f[R] to match from the root of a remote
  20369. .IP \[bu] 2
  20370. Not using \f[C]**\f[R] to match the contents of a directory
  20371. .SH GUI (Experimental)
  20372. .PP
  20373. Rclone can serve a web based GUI (graphical user interface).
  20374. This is somewhat experimental at the moment so things may be subject to
  20375. change.
  20376. .PP
  20377. Run this command in a terminal and rclone will download and then display
  20378. the GUI in a web browser.
  20379. .IP
  20380. .nf
  20381. \f[C]
  20382. rclone rcd --rc-web-gui
  20383. \f[R]
  20384. .fi
  20385. .PP
  20386. This will produce logs like this and rclone needs to continue to run to
  20387. serve the GUI:
  20388. .IP
  20389. .nf
  20390. \f[C]
  20391. 2019/08/25 11:40:14 NOTICE: A new release for gui is present at https://github.com/rclone/rclone-webui-react/releases/download/v0.0.6/currentbuild.zip
  20392. 2019/08/25 11:40:14 NOTICE: Downloading webgui binary. Please wait. [Size: 3813937, Path : /home/USER/.cache/rclone/webgui/v0.0.6.zip]
  20393. 2019/08/25 11:40:16 NOTICE: Unzipping
  20394. 2019/08/25 11:40:16 NOTICE: Serving remote control on http://127.0.0.1:5572/
  20395. \f[R]
  20396. .fi
  20397. .PP
  20398. This assumes you are running rclone locally on your machine.
  20399. It is possible to separate the rclone and the GUI - see below for
  20400. details.
  20401. .PP
  20402. If you wish to check for updates then you can add
  20403. \f[C]--rc-web-gui-update\f[R] to the command line.
  20404. .PP
  20405. If you find your GUI broken, you may force it to update by add
  20406. \f[C]--rc-web-gui-force-update\f[R].
  20407. .PP
  20408. By default, rclone will open your browser.
  20409. Add \f[C]--rc-web-gui-no-open-browser\f[R] to disable this feature.
  20410. .SS Using the GUI
  20411. .PP
  20412. Once the GUI opens, you will be looking at the dashboard which has an
  20413. overall overview.
  20414. .PP
  20415. On the left hand side you will see a series of view buttons you can
  20416. click on:
  20417. .IP \[bu] 2
  20418. Dashboard - main overview
  20419. .IP \[bu] 2
  20420. Configs - examine and create new configurations
  20421. .IP \[bu] 2
  20422. Explorer - view, download and upload files to the cloud storage systems
  20423. .IP \[bu] 2
  20424. Backend - view or alter the backend config
  20425. .IP \[bu] 2
  20426. Log out
  20427. .PP
  20428. (More docs and walkthrough video to come!)
  20429. .SS How it works
  20430. .PP
  20431. When you run the \f[C]rclone rcd --rc-web-gui\f[R] this is what happens
  20432. .IP \[bu] 2
  20433. Rclone starts but only runs the remote control API (\[dq]rc\[dq]).
  20434. .IP \[bu] 2
  20435. The API is bound to localhost with an auto-generated username and
  20436. password.
  20437. .IP \[bu] 2
  20438. If the API bundle is missing then rclone will download it.
  20439. .IP \[bu] 2
  20440. rclone will start serving the files from the API bundle over the same
  20441. port as the API
  20442. .IP \[bu] 2
  20443. rclone will open the browser with a \f[C]login_token\f[R] so it can log
  20444. straight in.
  20445. .SS Advanced use
  20446. .PP
  20447. The \f[C]rclone rcd\f[R] may use any of the flags documented on the rc
  20448. page (https://rclone.org/rc/#supported-parameters).
  20449. .PP
  20450. The flag \f[C]--rc-web-gui\f[R] is shorthand for
  20451. .IP \[bu] 2
  20452. Download the web GUI if necessary
  20453. .IP \[bu] 2
  20454. Check we are using some authentication
  20455. .IP \[bu] 2
  20456. \f[C]--rc-user gui\f[R]
  20457. .IP \[bu] 2
  20458. \f[C]--rc-pass <random password>\f[R]
  20459. .IP \[bu] 2
  20460. \f[C]--rc-serve\f[R]
  20461. .PP
  20462. These flags can be overridden as desired.
  20463. .PP
  20464. See also the rclone rcd
  20465. documentation (https://rclone.org/commands/rclone_rcd/).
  20466. .SS Example: Running a public GUI
  20467. .PP
  20468. For example the GUI could be served on a public port over SSL using an
  20469. htpasswd file using the following flags:
  20470. .IP \[bu] 2
  20471. \f[C]--rc-web-gui\f[R]
  20472. .IP \[bu] 2
  20473. \f[C]--rc-addr :443\f[R]
  20474. .IP \[bu] 2
  20475. \f[C]--rc-htpasswd /path/to/htpasswd\f[R]
  20476. .IP \[bu] 2
  20477. \f[C]--rc-cert /path/to/ssl.crt\f[R]
  20478. .IP \[bu] 2
  20479. \f[C]--rc-key /path/to/ssl.key\f[R]
  20480. .SS Example: Running a GUI behind a proxy
  20481. .PP
  20482. If you want to run the GUI behind a proxy at \f[C]/rclone\f[R] you could
  20483. use these flags:
  20484. .IP \[bu] 2
  20485. \f[C]--rc-web-gui\f[R]
  20486. .IP \[bu] 2
  20487. \f[C]--rc-baseurl rclone\f[R]
  20488. .IP \[bu] 2
  20489. \f[C]--rc-htpasswd /path/to/htpasswd\f[R]
  20490. .PP
  20491. Or instead of htpasswd if you just want a single user and password:
  20492. .IP \[bu] 2
  20493. \f[C]--rc-user me\f[R]
  20494. .IP \[bu] 2
  20495. \f[C]--rc-pass mypassword\f[R]
  20496. .SS Project
  20497. .PP
  20498. The GUI is being developed in the: rclone/rclone-webui-react
  20499. repository (https://github.com/rclone/rclone-webui-react).
  20500. .PP
  20501. Bug reports and contributions are very welcome :-)
  20502. .PP
  20503. If you have questions then please ask them on the rclone
  20504. forum (https://forum.rclone.org/).
  20505. .SH Remote controlling rclone with its API
  20506. .PP
  20507. If rclone is run with the \f[C]--rc\f[R] flag then it starts an HTTP
  20508. server which can be used to remote control rclone using its API.
  20509. .PP
  20510. You can either use the rc command to access the API or use HTTP
  20511. directly.
  20512. .PP
  20513. If you just want to run a remote control then see the
  20514. rcd (https://rclone.org/commands/rclone_rcd/) command.
  20515. .SS Supported parameters
  20516. .SS --rc
  20517. .PP
  20518. Flag to start the http server listen on remote requests
  20519. .SS --rc-addr=IP
  20520. .PP
  20521. IPaddress:Port or :Port to bind server to.
  20522. (default \[dq]localhost:5572\[dq])
  20523. .SS --rc-cert=KEY
  20524. .PP
  20525. SSL PEM key (concatenation of certificate and CA certificate)
  20526. .SS --rc-client-ca=PATH
  20527. .PP
  20528. Client certificate authority to verify clients with
  20529. .SS --rc-htpasswd=PATH
  20530. .PP
  20531. htpasswd file - if not provided no authentication is done
  20532. .SS --rc-key=PATH
  20533. .PP
  20534. SSL PEM Private key
  20535. .SS --rc-max-header-bytes=VALUE
  20536. .PP
  20537. Maximum size of request header (default 4096)
  20538. .SS --rc-min-tls-version=VALUE
  20539. .PP
  20540. The minimum TLS version that is acceptable.
  20541. Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq]
  20542. and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]).
  20543. .SS --rc-user=VALUE
  20544. .PP
  20545. User name for authentication.
  20546. .SS --rc-pass=VALUE
  20547. .PP
  20548. Password for authentication.
  20549. .SS --rc-realm=VALUE
  20550. .PP
  20551. Realm for authentication (default \[dq]rclone\[dq])
  20552. .SS --rc-server-read-timeout=DURATION
  20553. .PP
  20554. Timeout for server reading data (default 1h0m0s)
  20555. .SS --rc-server-write-timeout=DURATION
  20556. .PP
  20557. Timeout for server writing data (default 1h0m0s)
  20558. .SS --rc-serve
  20559. .PP
  20560. Enable the serving of remote objects via the HTTP interface.
  20561. This means objects will be accessible at http://127.0.0.1:5572/ by
  20562. default, so you can browse to http://127.0.0.1:5572/ or
  20563. http://127.0.0.1:5572/* to see a listing of the remotes.
  20564. Objects may be requested from remotes using this syntax
  20565. http://127.0.0.1:5572/[remote:path]/path/to/object
  20566. .PP
  20567. Default Off.
  20568. .SS --rc-files /path/to/directory
  20569. .PP
  20570. Path to local files to serve on the HTTP server.
  20571. .PP
  20572. If this is set then rclone will serve the files in that directory.
  20573. It will also open the root in the web browser if specified.
  20574. This is for implementing browser based GUIs for rclone functions.
  20575. .PP
  20576. If \f[C]--rc-user\f[R] or \f[C]--rc-pass\f[R] is set then the URL that
  20577. is opened will have the authorization in the URL in the
  20578. \f[C]http://user:pass\[at]localhost/\f[R] style.
  20579. .PP
  20580. Default Off.
  20581. .SS --rc-enable-metrics
  20582. .PP
  20583. Enable OpenMetrics/Prometheus compatible endpoint at \f[C]/metrics\f[R].
  20584. .PP
  20585. Default Off.
  20586. .SS --rc-web-gui
  20587. .PP
  20588. Set this flag to serve the default web gui on the same port as rclone.
  20589. .PP
  20590. Default Off.
  20591. .SS --rc-allow-origin
  20592. .PP
  20593. Set the allowed Access-Control-Allow-Origin for rc requests.
  20594. .PP
  20595. Can be used with --rc-web-gui if the rclone is running on different IP
  20596. than the web-gui.
  20597. .PP
  20598. Default is IP address on which rc is running.
  20599. .SS --rc-web-fetch-url
  20600. .PP
  20601. Set the URL to fetch the rclone-web-gui files from.
  20602. .PP
  20603. Default
  20604. https://api.github.com/repos/rclone/rclone-webui-react/releases/latest.
  20605. .SS --rc-web-gui-update
  20606. .PP
  20607. Set this flag to check and update rclone-webui-react from the
  20608. rc-web-fetch-url.
  20609. .PP
  20610. Default Off.
  20611. .SS --rc-web-gui-force-update
  20612. .PP
  20613. Set this flag to force update rclone-webui-react from the
  20614. rc-web-fetch-url.
  20615. .PP
  20616. Default Off.
  20617. .SS --rc-web-gui-no-open-browser
  20618. .PP
  20619. Set this flag to disable opening browser automatically when using
  20620. web-gui.
  20621. .PP
  20622. Default Off.
  20623. .SS --rc-job-expire-duration=DURATION
  20624. .PP
  20625. Expire finished async jobs older than DURATION (default 60s).
  20626. .SS --rc-job-expire-interval=DURATION
  20627. .PP
  20628. Interval duration to check for expired async jobs (default 10s).
  20629. .SS --rc-no-auth
  20630. .PP
  20631. By default rclone will require authorisation to have been set up on the
  20632. rc interface in order to use any methods which access any rclone
  20633. remotes.
  20634. Eg \f[C]operations/list\f[R] is denied as it involved creating a remote
  20635. as is \f[C]sync/copy\f[R].
  20636. .PP
  20637. If this is set then no authorisation will be required on the server to
  20638. use these methods.
  20639. The alternative is to use \f[C]--rc-user\f[R] and \f[C]--rc-pass\f[R]
  20640. and use these credentials in the request.
  20641. .PP
  20642. Default Off.
  20643. .SS --rc-baseurl
  20644. .PP
  20645. Prefix for URLs.
  20646. .PP
  20647. Default is root
  20648. .SS --rc-template
  20649. .PP
  20650. User-specified template.
  20651. .SS Accessing the remote control via the rclone rc command
  20652. .PP
  20653. Rclone itself implements the remote control protocol in its
  20654. \f[C]rclone rc\f[R] command.
  20655. .PP
  20656. You can use it like this
  20657. .IP
  20658. .nf
  20659. \f[C]
  20660. $ rclone rc rc/noop param1=one param2=two
  20661. {
  20662. \[dq]param1\[dq]: \[dq]one\[dq],
  20663. \[dq]param2\[dq]: \[dq]two\[dq]
  20664. }
  20665. \f[R]
  20666. .fi
  20667. .PP
  20668. Run \f[C]rclone rc\f[R] on its own to see the help for the installed
  20669. remote control commands.
  20670. .SS JSON input
  20671. .PP
  20672. \f[C]rclone rc\f[R] also supports a \f[C]--json\f[R] flag which can be
  20673. used to send more complicated input parameters.
  20674. .IP
  20675. .nf
  20676. \f[C]
  20677. $ rclone rc --json \[aq]{ \[dq]p1\[dq]: [1,\[dq]2\[dq],null,4], \[dq]p2\[dq]: { \[dq]a\[dq]:1, \[dq]b\[dq]:2 } }\[aq] rc/noop
  20678. {
  20679. \[dq]p1\[dq]: [
  20680. 1,
  20681. \[dq]2\[dq],
  20682. null,
  20683. 4
  20684. ],
  20685. \[dq]p2\[dq]: {
  20686. \[dq]a\[dq]: 1,
  20687. \[dq]b\[dq]: 2
  20688. }
  20689. }
  20690. \f[R]
  20691. .fi
  20692. .PP
  20693. If the parameter being passed is an object then it can be passed as a
  20694. JSON string rather than using the \f[C]--json\f[R] flag which simplifies
  20695. the command line.
  20696. .IP
  20697. .nf
  20698. \f[C]
  20699. rclone rc operations/list fs=/tmp remote=test opt=\[aq]{\[dq]showHash\[dq]: true}\[aq]
  20700. \f[R]
  20701. .fi
  20702. .PP
  20703. Rather than
  20704. .IP
  20705. .nf
  20706. \f[C]
  20707. rclone rc operations/list --json \[aq]{\[dq]fs\[dq]: \[dq]/tmp\[dq], \[dq]remote\[dq]: \[dq]test\[dq], \[dq]opt\[dq]: {\[dq]showHash\[dq]: true}}\[aq]
  20708. \f[R]
  20709. .fi
  20710. .SS Special parameters
  20711. .PP
  20712. The rc interface supports some special parameters which apply to
  20713. \f[B]all\f[R] commands.
  20714. These start with \f[C]_\f[R] to show they are different.
  20715. .SS Running asynchronous jobs with _async = true
  20716. .PP
  20717. Each rc call is classified as a job and it is assigned its own id.
  20718. By default jobs are executed immediately as they are created or
  20719. synchronously.
  20720. .PP
  20721. If \f[C]_async\f[R] has a true value when supplied to an rc call then it
  20722. will return immediately with a job id and the task will be run in the
  20723. background.
  20724. The \f[C]job/status\f[R] call can be used to get information of the
  20725. background job.
  20726. The job can be queried for up to 1 minute after it has finished.
  20727. .PP
  20728. It is recommended that potentially long running jobs, e.g.
  20729. \f[C]sync/sync\f[R], \f[C]sync/copy\f[R], \f[C]sync/move\f[R],
  20730. \f[C]operations/purge\f[R] are run with the \f[C]_async\f[R] flag to
  20731. avoid any potential problems with the HTTP request and response timing
  20732. out.
  20733. .PP
  20734. Starting a job with the \f[C]_async\f[R] flag:
  20735. .IP
  20736. .nf
  20737. \f[C]
  20738. $ rclone rc --json \[aq]{ \[dq]p1\[dq]: [1,\[dq]2\[dq],null,4], \[dq]p2\[dq]: { \[dq]a\[dq]:1, \[dq]b\[dq]:2 }, \[dq]_async\[dq]: true }\[aq] rc/noop
  20739. {
  20740. \[dq]jobid\[dq]: 2
  20741. }
  20742. \f[R]
  20743. .fi
  20744. .PP
  20745. Query the status to see if the job has finished.
  20746. For more information on the meaning of these return parameters see the
  20747. \f[C]job/status\f[R] call.
  20748. .IP
  20749. .nf
  20750. \f[C]
  20751. $ rclone rc --json \[aq]{ \[dq]jobid\[dq]:2 }\[aq] job/status
  20752. {
  20753. \[dq]duration\[dq]: 0.000124163,
  20754. \[dq]endTime\[dq]: \[dq]2018-10-27T11:38:07.911245881+01:00\[dq],
  20755. \[dq]error\[dq]: \[dq]\[dq],
  20756. \[dq]finished\[dq]: true,
  20757. \[dq]id\[dq]: 2,
  20758. \[dq]output\[dq]: {
  20759. \[dq]_async\[dq]: true,
  20760. \[dq]p1\[dq]: [
  20761. 1,
  20762. \[dq]2\[dq],
  20763. null,
  20764. 4
  20765. ],
  20766. \[dq]p2\[dq]: {
  20767. \[dq]a\[dq]: 1,
  20768. \[dq]b\[dq]: 2
  20769. }
  20770. },
  20771. \[dq]startTime\[dq]: \[dq]2018-10-27T11:38:07.911121728+01:00\[dq],
  20772. \[dq]success\[dq]: true
  20773. }
  20774. \f[R]
  20775. .fi
  20776. .PP
  20777. \f[C]job/list\f[R] can be used to show the running or recently completed
  20778. jobs
  20779. .IP
  20780. .nf
  20781. \f[C]
  20782. $ rclone rc job/list
  20783. {
  20784. \[dq]jobids\[dq]: [
  20785. 2
  20786. ]
  20787. }
  20788. \f[R]
  20789. .fi
  20790. .SS Setting config flags with _config
  20791. .PP
  20792. If you wish to set config (the equivalent of the global flags) for the
  20793. duration of an rc call only then pass in the \f[C]_config\f[R]
  20794. parameter.
  20795. .PP
  20796. This should be in the same format as the \f[C]config\f[R] key returned
  20797. by options/get.
  20798. .PP
  20799. For example, if you wished to run a sync with the \f[C]--checksum\f[R]
  20800. parameter, you would pass this parameter in your JSON blob.
  20801. .IP
  20802. .nf
  20803. \f[C]
  20804. \[dq]_config\[dq]:{\[dq]CheckSum\[dq]: true}
  20805. \f[R]
  20806. .fi
  20807. .PP
  20808. If using \f[C]rclone rc\f[R] this could be passed as
  20809. .IP
  20810. .nf
  20811. \f[C]
  20812. rclone rc sync/sync ... _config=\[aq]{\[dq]CheckSum\[dq]: true}\[aq]
  20813. \f[R]
  20814. .fi
  20815. .PP
  20816. Any config parameters you don\[aq]t set will inherit the global defaults
  20817. which were set with command line flags or environment variables.
  20818. .PP
  20819. Note that it is possible to set some values as strings or integers - see
  20820. data types for more info.
  20821. Here is an example setting the equivalent of \f[C]--buffer-size\f[R] in
  20822. string or integer format.
  20823. .IP
  20824. .nf
  20825. \f[C]
  20826. \[dq]_config\[dq]:{\[dq]BufferSize\[dq]: \[dq]42M\[dq]}
  20827. \[dq]_config\[dq]:{\[dq]BufferSize\[dq]: 44040192}
  20828. \f[R]
  20829. .fi
  20830. .PP
  20831. If you wish to check the \f[C]_config\f[R] assignment has worked
  20832. properly then calling \f[C]options/local\f[R] will show what the value
  20833. got set to.
  20834. .SS Setting filter flags with _filter
  20835. .PP
  20836. If you wish to set filters for the duration of an rc call only then pass
  20837. in the \f[C]_filter\f[R] parameter.
  20838. .PP
  20839. This should be in the same format as the \f[C]filter\f[R] key returned
  20840. by options/get.
  20841. .PP
  20842. For example, if you wished to run a sync with these flags
  20843. .IP
  20844. .nf
  20845. \f[C]
  20846. --max-size 1M --max-age 42s --include \[dq]a\[dq] --include \[dq]b\[dq]
  20847. \f[R]
  20848. .fi
  20849. .PP
  20850. you would pass this parameter in your JSON blob.
  20851. .IP
  20852. .nf
  20853. \f[C]
  20854. \[dq]_filter\[dq]:{\[dq]MaxSize\[dq]:\[dq]1M\[dq], \[dq]IncludeRule\[dq]:[\[dq]a\[dq],\[dq]b\[dq]], \[dq]MaxAge\[dq]:\[dq]42s\[dq]}
  20855. \f[R]
  20856. .fi
  20857. .PP
  20858. If using \f[C]rclone rc\f[R] this could be passed as
  20859. .IP
  20860. .nf
  20861. \f[C]
  20862. rclone rc ... _filter=\[aq]{\[dq]MaxSize\[dq]:\[dq]1M\[dq], \[dq]IncludeRule\[dq]:[\[dq]a\[dq],\[dq]b\[dq]], \[dq]MaxAge\[dq]:\[dq]42s\[dq]}\[aq]
  20863. \f[R]
  20864. .fi
  20865. .PP
  20866. Any filter parameters you don\[aq]t set will inherit the global defaults
  20867. which were set with command line flags or environment variables.
  20868. .PP
  20869. Note that it is possible to set some values as strings or integers - see
  20870. data types for more info.
  20871. Here is an example setting the equivalent of \f[C]--buffer-size\f[R] in
  20872. string or integer format.
  20873. .IP
  20874. .nf
  20875. \f[C]
  20876. \[dq]_filter\[dq]:{\[dq]MinSize\[dq]: \[dq]42M\[dq]}
  20877. \[dq]_filter\[dq]:{\[dq]MinSize\[dq]: 44040192}
  20878. \f[R]
  20879. .fi
  20880. .PP
  20881. If you wish to check the \f[C]_filter\f[R] assignment has worked
  20882. properly then calling \f[C]options/local\f[R] will show what the value
  20883. got set to.
  20884. .SS Assigning operations to groups with _group = value
  20885. .PP
  20886. Each rc call has its own stats group for tracking its metrics.
  20887. By default grouping is done by the composite group name from prefix
  20888. \f[C]job/\f[R] and id of the job like so \f[C]job/1\f[R].
  20889. .PP
  20890. If \f[C]_group\f[R] has a value then stats for that request will be
  20891. grouped under that value.
  20892. This allows caller to group stats under their own name.
  20893. .PP
  20894. Stats for specific group can be accessed by passing \f[C]group\f[R] to
  20895. \f[C]core/stats\f[R]:
  20896. .IP
  20897. .nf
  20898. \f[C]
  20899. $ rclone rc --json \[aq]{ \[dq]group\[dq]: \[dq]job/1\[dq] }\[aq] core/stats
  20900. {
  20901. \[dq]speed\[dq]: 12345
  20902. ...
  20903. }
  20904. \f[R]
  20905. .fi
  20906. .SS Data types
  20907. .PP
  20908. When the API returns types, these will mostly be straight forward
  20909. integer, string or boolean types.
  20910. .PP
  20911. However some of the types returned by the options/get call and taken by
  20912. the options/set calls as well as the \f[C]vfsOpt\f[R],
  20913. \f[C]mountOpt\f[R] and the \f[C]_config\f[R] parameters.
  20914. .IP \[bu] 2
  20915. \f[C]Duration\f[R] - these are returned as an integer duration in
  20916. nanoseconds.
  20917. They may be set as an integer, or they may be set with time string, eg
  20918. \[dq]5s\[dq].
  20919. See the options section (https://rclone.org/docs/#options) for more
  20920. info.
  20921. .IP \[bu] 2
  20922. \f[C]Size\f[R] - these are returned as an integer number of bytes.
  20923. They may be set as an integer or they may be set with a size suffix
  20924. string, eg \[dq]10M\[dq].
  20925. See the options section (https://rclone.org/docs/#options) for more
  20926. info.
  20927. .IP \[bu] 2
  20928. Enumerated type (such as \f[C]CutoffMode\f[R], \f[C]DumpFlags\f[R],
  20929. \f[C]LogLevel\f[R], \f[C]VfsCacheMode\f[R] - these will be returned as
  20930. an integer and may be set as an integer but more conveniently they can
  20931. be set as a string, eg \[dq]HARD\[dq] for \f[C]CutoffMode\f[R] or
  20932. \f[C]DEBUG\f[R] for \f[C]LogLevel\f[R].
  20933. .IP \[bu] 2
  20934. \f[C]BandwidthSpec\f[R] - this will be set and returned as a string, eg
  20935. \[dq]1M\[dq].
  20936. .SS Specifying remotes to work on
  20937. .PP
  20938. Remotes are specified with the \f[C]fs=\f[R], \f[C]srcFs=\f[R],
  20939. \f[C]dstFs=\f[R] parameters depending on the command being used.
  20940. .PP
  20941. The parameters can be a string as per the rest of rclone, eg
  20942. \f[C]s3:bucket/path\f[R] or \f[C]:sftp:/my/dir\f[R].
  20943. They can also be specified as JSON blobs.
  20944. .PP
  20945. If specifying a JSON blob it should be a object mapping strings to
  20946. strings.
  20947. These values will be used to configure the remote.
  20948. There are 3 special values which may be set:
  20949. .IP \[bu] 2
  20950. \f[C]type\f[R] - set to \f[C]type\f[R] to specify a remote called
  20951. \f[C]:type:\f[R]
  20952. .IP \[bu] 2
  20953. \f[C]_name\f[R] - set to \f[C]name\f[R] to specify a remote called
  20954. \f[C]name:\f[R]
  20955. .IP \[bu] 2
  20956. \f[C]_root\f[R] - sets the root of the remote - may be empty
  20957. .PP
  20958. One of \f[C]_name\f[R] or \f[C]type\f[R] should normally be set.
  20959. If the \f[C]local\f[R] backend is desired then \f[C]type\f[R] should be
  20960. set to \f[C]local\f[R].
  20961. If \f[C]_root\f[R] isn\[aq]t specified then it defaults to the root of
  20962. the remote.
  20963. .PP
  20964. For example this JSON is equivalent to \f[C]remote:/tmp\f[R]
  20965. .IP
  20966. .nf
  20967. \f[C]
  20968. {
  20969. \[dq]_name\[dq]: \[dq]remote\[dq],
  20970. \[dq]_path\[dq]: \[dq]/tmp\[dq]
  20971. }
  20972. \f[R]
  20973. .fi
  20974. .PP
  20975. And this is equivalent to
  20976. \f[C]:sftp,host=\[aq]example.com\[aq]:/tmp\f[R]
  20977. .IP
  20978. .nf
  20979. \f[C]
  20980. {
  20981. \[dq]type\[dq]: \[dq]sftp\[dq],
  20982. \[dq]host\[dq]: \[dq]example.com\[dq],
  20983. \[dq]_path\[dq]: \[dq]/tmp\[dq]
  20984. }
  20985. \f[R]
  20986. .fi
  20987. .PP
  20988. And this is equivalent to \f[C]/tmp/dir\f[R]
  20989. .IP
  20990. .nf
  20991. \f[C]
  20992. {
  20993. type = \[dq]local\[dq],
  20994. _ path = \[dq]/tmp/dir\[dq]
  20995. }
  20996. \f[R]
  20997. .fi
  20998. .SS Supported commands
  20999. .SS backend/command: Runs a backend command.
  21000. .PP
  21001. This takes the following parameters:
  21002. .IP \[bu] 2
  21003. command - a string with the command name
  21004. .IP \[bu] 2
  21005. fs - a remote name string e.g.
  21006. \[dq]drive:\[dq]
  21007. .IP \[bu] 2
  21008. arg - a list of arguments for the backend command
  21009. .IP \[bu] 2
  21010. opt - a map of string to string of options
  21011. .PP
  21012. Returns:
  21013. .IP \[bu] 2
  21014. result - result from the backend command
  21015. .PP
  21016. Example:
  21017. .IP
  21018. .nf
  21019. \f[C]
  21020. rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2
  21021. \f[R]
  21022. .fi
  21023. .PP
  21024. Returns
  21025. .IP
  21026. .nf
  21027. \f[C]
  21028. {
  21029. \[dq]result\[dq]: {
  21030. \[dq]arg\[dq]: [
  21031. \[dq]path1\[dq],
  21032. \[dq]path2\[dq]
  21033. ],
  21034. \[dq]name\[dq]: \[dq]noop\[dq],
  21035. \[dq]opt\[dq]: {
  21036. \[dq]blue\[dq]: \[dq]\[dq],
  21037. \[dq]echo\[dq]: \[dq]yes\[dq]
  21038. }
  21039. }
  21040. }
  21041. \f[R]
  21042. .fi
  21043. .PP
  21044. Note that this is the direct equivalent of using this \[dq]backend\[dq]
  21045. command:
  21046. .IP
  21047. .nf
  21048. \f[C]
  21049. rclone backend noop . -o echo=yes -o blue path1 path2
  21050. \f[R]
  21051. .fi
  21052. .PP
  21053. Note that arguments must be preceded by the \[dq]-a\[dq] flag
  21054. .PP
  21055. See the backend (https://rclone.org/commands/rclone_backend/) command
  21056. for more information.
  21057. .PP
  21058. \f[B]Authentication is required for this call.\f[R]
  21059. .SS cache/expire: Purge a remote from cache
  21060. .PP
  21061. Purge a remote from the cache backend.
  21062. Supports either a directory or a file.
  21063. Params: - remote = path to remote (required) - withData = true/false to
  21064. delete cached data (chunks) as well (optional)
  21065. .PP
  21066. Eg
  21067. .IP
  21068. .nf
  21069. \f[C]
  21070. rclone rc cache/expire remote=path/to/sub/folder/
  21071. rclone rc cache/expire remote=/ withData=true
  21072. \f[R]
  21073. .fi
  21074. .SS cache/fetch: Fetch file chunks
  21075. .PP
  21076. Ensure the specified file chunks are cached on disk.
  21077. .PP
  21078. The chunks= parameter specifies the file chunks to check.
  21079. It takes a comma separated list of array slice indices.
  21080. The slice indices are similar to Python slices: start[:end]
  21081. .PP
  21082. start is the 0 based chunk number from the beginning of the file to
  21083. fetch inclusive.
  21084. end is 0 based chunk number from the beginning of the file to fetch
  21085. exclusive.
  21086. Both values can be negative, in which case they count from the back of
  21087. the file.
  21088. The value \[dq]-5:\[dq] represents the last 5 chunks of a file.
  21089. .PP
  21090. Some valid examples are: \[dq]:5,-5:\[dq] -> the first and last five
  21091. chunks \[dq]0,-2\[dq] -> the first and the second last chunk
  21092. \[dq]0:10\[dq] -> the first ten chunks
  21093. .PP
  21094. Any parameter with a key that starts with \[dq]file\[dq] can be used to
  21095. specify files to fetch, e.g.
  21096. .IP
  21097. .nf
  21098. \f[C]
  21099. rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
  21100. \f[R]
  21101. .fi
  21102. .PP
  21103. File names will automatically be encrypted when the a crypt remote is
  21104. used on top of the cache.
  21105. .SS cache/stats: Get cache stats
  21106. .PP
  21107. Show statistics for the cache remote.
  21108. .SS config/create: create the config for a remote.
  21109. .PP
  21110. This takes the following parameters:
  21111. .IP \[bu] 2
  21112. name - name of remote
  21113. .IP \[bu] 2
  21114. parameters - a map of { \[dq]key\[dq]: \[dq]value\[dq] } pairs
  21115. .IP \[bu] 2
  21116. type - type of the new remote
  21117. .IP \[bu] 2
  21118. opt - a dictionary of options to control the configuration
  21119. .RS 2
  21120. .IP \[bu] 2
  21121. obscure - declare passwords are plain and need obscuring
  21122. .IP \[bu] 2
  21123. noObscure - declare passwords are already obscured and don\[aq]t need
  21124. obscuring
  21125. .IP \[bu] 2
  21126. nonInteractive - don\[aq]t interact with a user, return questions
  21127. .IP \[bu] 2
  21128. continue - continue the config process with an answer
  21129. .IP \[bu] 2
  21130. all - ask all the config questions not just the post config ones
  21131. .IP \[bu] 2
  21132. state - state to restart with - used with continue
  21133. .IP \[bu] 2
  21134. result - result to restart with - used with continue
  21135. .RE
  21136. .PP
  21137. See the config
  21138. create (https://rclone.org/commands/rclone_config_create/) command for
  21139. more information on the above.
  21140. .PP
  21141. \f[B]Authentication is required for this call.\f[R]
  21142. .SS config/delete: Delete a remote in the config file.
  21143. .PP
  21144. Parameters:
  21145. .IP \[bu] 2
  21146. name - name of remote to delete
  21147. .PP
  21148. See the config
  21149. delete (https://rclone.org/commands/rclone_config_delete/) command for
  21150. more information on the above.
  21151. .PP
  21152. \f[B]Authentication is required for this call.\f[R]
  21153. .SS config/dump: Dumps the config file.
  21154. .PP
  21155. Returns a JSON object: - key: value
  21156. .PP
  21157. Where keys are remote names and values are the config parameters.
  21158. .PP
  21159. See the config dump (https://rclone.org/commands/rclone_config_dump/)
  21160. command for more information on the above.
  21161. .PP
  21162. \f[B]Authentication is required for this call.\f[R]
  21163. .SS config/get: Get a remote in the config file.
  21164. .PP
  21165. Parameters:
  21166. .IP \[bu] 2
  21167. name - name of remote to get
  21168. .PP
  21169. See the config dump (https://rclone.org/commands/rclone_config_dump/)
  21170. command for more information on the above.
  21171. .PP
  21172. \f[B]Authentication is required for this call.\f[R]
  21173. .SS config/listremotes: Lists the remotes in the config file and defined in environment variables.
  21174. .PP
  21175. Returns - remotes - array of remote names
  21176. .PP
  21177. See the listremotes (https://rclone.org/commands/rclone_listremotes/)
  21178. command for more information on the above.
  21179. .PP
  21180. \f[B]Authentication is required for this call.\f[R]
  21181. .SS config/password: password the config for a remote.
  21182. .PP
  21183. This takes the following parameters:
  21184. .IP \[bu] 2
  21185. name - name of remote
  21186. .IP \[bu] 2
  21187. parameters - a map of { \[dq]key\[dq]: \[dq]value\[dq] } pairs
  21188. .PP
  21189. See the config
  21190. password (https://rclone.org/commands/rclone_config_password/) command
  21191. for more information on the above.
  21192. .PP
  21193. \f[B]Authentication is required for this call.\f[R]
  21194. .SS config/paths: Reads the config file path and other important paths.
  21195. .PP
  21196. Returns a JSON object with the following keys:
  21197. .IP \[bu] 2
  21198. config: path to config file
  21199. .IP \[bu] 2
  21200. cache: path to root of cache directory
  21201. .IP \[bu] 2
  21202. temp: path to root of temporary directory
  21203. .PP
  21204. Eg
  21205. .IP
  21206. .nf
  21207. \f[C]
  21208. {
  21209. \[dq]cache\[dq]: \[dq]/home/USER/.cache/rclone\[dq],
  21210. \[dq]config\[dq]: \[dq]/home/USER/.rclone.conf\[dq],
  21211. \[dq]temp\[dq]: \[dq]/tmp\[dq]
  21212. }
  21213. \f[R]
  21214. .fi
  21215. .PP
  21216. See the config paths (https://rclone.org/commands/rclone_config_paths/)
  21217. command for more information on the above.
  21218. .PP
  21219. \f[B]Authentication is required for this call.\f[R]
  21220. .SS config/providers: Shows how providers are configured in the config file.
  21221. .PP
  21222. Returns a JSON object: - providers - array of objects
  21223. .PP
  21224. See the config
  21225. providers (https://rclone.org/commands/rclone_config_providers/) command
  21226. for more information on the above.
  21227. .PP
  21228. \f[B]Authentication is required for this call.\f[R]
  21229. .SS config/setpath: Set the path of the config file
  21230. .PP
  21231. Parameters:
  21232. .IP \[bu] 2
  21233. path - path to the config file to use
  21234. .PP
  21235. \f[B]Authentication is required for this call.\f[R]
  21236. .SS config/update: update the config for a remote.
  21237. .PP
  21238. This takes the following parameters:
  21239. .IP \[bu] 2
  21240. name - name of remote
  21241. .IP \[bu] 2
  21242. parameters - a map of { \[dq]key\[dq]: \[dq]value\[dq] } pairs
  21243. .IP \[bu] 2
  21244. opt - a dictionary of options to control the configuration
  21245. .RS 2
  21246. .IP \[bu] 2
  21247. obscure - declare passwords are plain and need obscuring
  21248. .IP \[bu] 2
  21249. noObscure - declare passwords are already obscured and don\[aq]t need
  21250. obscuring
  21251. .IP \[bu] 2
  21252. nonInteractive - don\[aq]t interact with a user, return questions
  21253. .IP \[bu] 2
  21254. continue - continue the config process with an answer
  21255. .IP \[bu] 2
  21256. all - ask all the config questions not just the post config ones
  21257. .IP \[bu] 2
  21258. state - state to restart with - used with continue
  21259. .IP \[bu] 2
  21260. result - result to restart with - used with continue
  21261. .RE
  21262. .PP
  21263. See the config
  21264. update (https://rclone.org/commands/rclone_config_update/) command for
  21265. more information on the above.
  21266. .PP
  21267. \f[B]Authentication is required for this call.\f[R]
  21268. .SS core/bwlimit: Set the bandwidth limit.
  21269. .PP
  21270. This sets the bandwidth limit to the string passed in.
  21271. This should be a single bandwidth limit entry or a pair of
  21272. upload:download bandwidth.
  21273. .PP
  21274. Eg
  21275. .IP
  21276. .nf
  21277. \f[C]
  21278. rclone rc core/bwlimit rate=off
  21279. {
  21280. \[dq]bytesPerSecond\[dq]: -1,
  21281. \[dq]bytesPerSecondTx\[dq]: -1,
  21282. \[dq]bytesPerSecondRx\[dq]: -1,
  21283. \[dq]rate\[dq]: \[dq]off\[dq]
  21284. }
  21285. rclone rc core/bwlimit rate=1M
  21286. {
  21287. \[dq]bytesPerSecond\[dq]: 1048576,
  21288. \[dq]bytesPerSecondTx\[dq]: 1048576,
  21289. \[dq]bytesPerSecondRx\[dq]: 1048576,
  21290. \[dq]rate\[dq]: \[dq]1M\[dq]
  21291. }
  21292. rclone rc core/bwlimit rate=1M:100k
  21293. {
  21294. \[dq]bytesPerSecond\[dq]: 1048576,
  21295. \[dq]bytesPerSecondTx\[dq]: 1048576,
  21296. \[dq]bytesPerSecondRx\[dq]: 131072,
  21297. \[dq]rate\[dq]: \[dq]1M\[dq]
  21298. }
  21299. \f[R]
  21300. .fi
  21301. .PP
  21302. If the rate parameter is not supplied then the bandwidth is queried
  21303. .IP
  21304. .nf
  21305. \f[C]
  21306. rclone rc core/bwlimit
  21307. {
  21308. \[dq]bytesPerSecond\[dq]: 1048576,
  21309. \[dq]bytesPerSecondTx\[dq]: 1048576,
  21310. \[dq]bytesPerSecondRx\[dq]: 1048576,
  21311. \[dq]rate\[dq]: \[dq]1M\[dq]
  21312. }
  21313. \f[R]
  21314. .fi
  21315. .PP
  21316. The format of the parameter is exactly the same as passed to --bwlimit
  21317. except only one bandwidth may be specified.
  21318. .PP
  21319. In either case \[dq]rate\[dq] is returned as a human-readable string,
  21320. and \[dq]bytesPerSecond\[dq] is returned as a number.
  21321. .SS core/command: Run a rclone terminal command over rc.
  21322. .PP
  21323. This takes the following parameters:
  21324. .IP \[bu] 2
  21325. command - a string with the command name.
  21326. .IP \[bu] 2
  21327. arg - a list of arguments for the backend command.
  21328. .IP \[bu] 2
  21329. opt - a map of string to string of options.
  21330. .IP \[bu] 2
  21331. returnType - one of (\[dq]COMBINED_OUTPUT\[dq], \[dq]STREAM\[dq],
  21332. \[dq]STREAM_ONLY_STDOUT\[dq], \[dq]STREAM_ONLY_STDERR\[dq]).
  21333. .RS 2
  21334. .IP \[bu] 2
  21335. Defaults to \[dq]COMBINED_OUTPUT\[dq] if not set.
  21336. .IP \[bu] 2
  21337. The STREAM returnTypes will write the output to the body of the HTTP
  21338. message.
  21339. .IP \[bu] 2
  21340. The COMBINED_OUTPUT will write the output to the \[dq]result\[dq]
  21341. parameter.
  21342. .RE
  21343. .PP
  21344. Returns:
  21345. .IP \[bu] 2
  21346. result - result from the backend command.
  21347. .RS 2
  21348. .IP \[bu] 2
  21349. Only set when using returnType \[dq]COMBINED_OUTPUT\[dq].
  21350. .RE
  21351. .IP \[bu] 2
  21352. error - set if rclone exits with an error code.
  21353. .IP \[bu] 2
  21354. returnType - one of (\[dq]COMBINED_OUTPUT\[dq], \[dq]STREAM\[dq],
  21355. \[dq]STREAM_ONLY_STDOUT\[dq], \[dq]STREAM_ONLY_STDERR\[dq]).
  21356. .PP
  21357. Example:
  21358. .IP
  21359. .nf
  21360. \f[C]
  21361. rclone rc core/command command=ls -a mydrive:/ -o max-depth=1
  21362. rclone rc core/command -a ls -a mydrive:/ -o max-depth=1
  21363. \f[R]
  21364. .fi
  21365. .PP
  21366. Returns:
  21367. .IP
  21368. .nf
  21369. \f[C]
  21370. {
  21371. \[dq]error\[dq]: false,
  21372. \[dq]result\[dq]: \[dq]<Raw command line output>\[dq]
  21373. }
  21374. OR
  21375. {
  21376. \[dq]error\[dq]: true,
  21377. \[dq]result\[dq]: \[dq]<Raw command line output>\[dq]
  21378. }
  21379. \f[R]
  21380. .fi
  21381. .PP
  21382. \f[B]Authentication is required for this call.\f[R]
  21383. .SS core/du: Returns disk usage of a locally attached disk.
  21384. .PP
  21385. This returns the disk usage for the local directory passed in as dir.
  21386. .PP
  21387. If the directory is not passed in, it defaults to the directory pointed
  21388. to by --cache-dir.
  21389. .IP \[bu] 2
  21390. dir - string (optional)
  21391. .PP
  21392. Returns:
  21393. .IP
  21394. .nf
  21395. \f[C]
  21396. {
  21397. \[dq]dir\[dq]: \[dq]/\[dq],
  21398. \[dq]info\[dq]: {
  21399. \[dq]Available\[dq]: 361769115648,
  21400. \[dq]Free\[dq]: 361785892864,
  21401. \[dq]Total\[dq]: 982141468672
  21402. }
  21403. }
  21404. \f[R]
  21405. .fi
  21406. .SS core/gc: Runs a garbage collection.
  21407. .PP
  21408. This tells the go runtime to do a garbage collection run.
  21409. It isn\[aq]t necessary to call this normally, but it can be useful for
  21410. debugging memory problems.
  21411. .SS core/group-list: Returns list of stats.
  21412. .PP
  21413. This returns list of stats groups currently in memory.
  21414. .PP
  21415. Returns the following values:
  21416. .IP
  21417. .nf
  21418. \f[C]
  21419. {
  21420. \[dq]groups\[dq]: an array of group names:
  21421. [
  21422. \[dq]group1\[dq],
  21423. \[dq]group2\[dq],
  21424. ...
  21425. ]
  21426. }
  21427. \f[R]
  21428. .fi
  21429. .SS core/memstats: Returns the memory statistics
  21430. .PP
  21431. This returns the memory statistics of the running program.
  21432. What the values mean are explained in the go docs:
  21433. https://golang.org/pkg/runtime/#MemStats
  21434. .PP
  21435. The most interesting values for most people are:
  21436. .IP \[bu] 2
  21437. HeapAlloc - this is the amount of memory rclone is actually using
  21438. .IP \[bu] 2
  21439. HeapSys - this is the amount of memory rclone has obtained from the OS
  21440. .IP \[bu] 2
  21441. Sys - this is the total amount of memory requested from the OS
  21442. .RS 2
  21443. .IP \[bu] 2
  21444. It is virtual memory so may include unused memory
  21445. .RE
  21446. .SS core/obscure: Obscures a string passed in.
  21447. .PP
  21448. Pass a clear string and rclone will obscure it for the config file: -
  21449. clear - string
  21450. .PP
  21451. Returns: - obscured - string
  21452. .SS core/pid: Return PID of current process
  21453. .PP
  21454. This returns PID of current process.
  21455. Useful for stopping rclone process.
  21456. .SS core/quit: Terminates the app.
  21457. .PP
  21458. (Optional) Pass an exit code to be used for terminating the app: -
  21459. exitCode - int
  21460. .SS core/stats: Returns stats about current transfers.
  21461. .PP
  21462. This returns all available stats:
  21463. .IP
  21464. .nf
  21465. \f[C]
  21466. rclone rc core/stats
  21467. \f[R]
  21468. .fi
  21469. .PP
  21470. If group is not provided then summed up stats for all groups will be
  21471. returned.
  21472. .PP
  21473. Parameters
  21474. .IP \[bu] 2
  21475. group - name of the stats group (string)
  21476. .PP
  21477. Returns the following values:
  21478. .IP
  21479. .nf
  21480. \f[C]
  21481. {
  21482. \[dq]bytes\[dq]: total transferred bytes since the start of the group,
  21483. \[dq]checks\[dq]: number of files checked,
  21484. \[dq]deletes\[dq] : number of files deleted,
  21485. \[dq]elapsedTime\[dq]: time in floating point seconds since rclone was started,
  21486. \[dq]errors\[dq]: number of errors,
  21487. \[dq]eta\[dq]: estimated time in seconds until the group completes,
  21488. \[dq]fatalError\[dq]: boolean whether there has been at least one fatal error,
  21489. \[dq]lastError\[dq]: last error string,
  21490. \[dq]renames\[dq] : number of files renamed,
  21491. \[dq]retryError\[dq]: boolean showing whether there has been at least one non-NoRetryError,
  21492. \[dq]serverSideCopies\[dq]: number of server side copies done,
  21493. \[dq]serverSideCopyBytes\[dq]: number bytes server side copied,
  21494. \[dq]serverSideMoves\[dq]: number of server side moves done,
  21495. \[dq]serverSideMoveBytes\[dq]: number bytes server side moved,
  21496. \[dq]speed\[dq]: average speed in bytes per second since start of the group,
  21497. \[dq]totalBytes\[dq]: total number of bytes in the group,
  21498. \[dq]totalChecks\[dq]: total number of checks in the group,
  21499. \[dq]totalTransfers\[dq]: total number of transfers in the group,
  21500. \[dq]transferTime\[dq] : total time spent on running jobs,
  21501. \[dq]transfers\[dq]: number of transferred files,
  21502. \[dq]transferring\[dq]: an array of currently active file transfers:
  21503. [
  21504. {
  21505. \[dq]bytes\[dq]: total transferred bytes for this file,
  21506. \[dq]eta\[dq]: estimated time in seconds until file transfer completion
  21507. \[dq]name\[dq]: name of the file,
  21508. \[dq]percentage\[dq]: progress of the file transfer in percent,
  21509. \[dq]speed\[dq]: average speed over the whole transfer in bytes per second,
  21510. \[dq]speedAvg\[dq]: current speed in bytes per second as an exponentially weighted moving average,
  21511. \[dq]size\[dq]: size of the file in bytes
  21512. }
  21513. ],
  21514. \[dq]checking\[dq]: an array of names of currently active file checks
  21515. []
  21516. }
  21517. \f[R]
  21518. .fi
  21519. .PP
  21520. Values for \[dq]transferring\[dq], \[dq]checking\[dq] and
  21521. \[dq]lastError\[dq] are only assigned if data is available.
  21522. The value for \[dq]eta\[dq] is null if an eta cannot be determined.
  21523. .SS core/stats-delete: Delete stats group.
  21524. .PP
  21525. This deletes entire stats group.
  21526. .PP
  21527. Parameters
  21528. .IP \[bu] 2
  21529. group - name of the stats group (string)
  21530. .SS core/stats-reset: Reset stats.
  21531. .PP
  21532. This clears counters, errors and finished transfers for all stats or
  21533. specific stats group if group is provided.
  21534. .PP
  21535. Parameters
  21536. .IP \[bu] 2
  21537. group - name of the stats group (string)
  21538. .SS core/transferred: Returns stats about completed transfers.
  21539. .PP
  21540. This returns stats about completed transfers:
  21541. .IP
  21542. .nf
  21543. \f[C]
  21544. rclone rc core/transferred
  21545. \f[R]
  21546. .fi
  21547. .PP
  21548. If group is not provided then completed transfers for all groups will be
  21549. returned.
  21550. .PP
  21551. Note only the last 100 completed transfers are returned.
  21552. .PP
  21553. Parameters
  21554. .IP \[bu] 2
  21555. group - name of the stats group (string)
  21556. .PP
  21557. Returns the following values:
  21558. .IP
  21559. .nf
  21560. \f[C]
  21561. {
  21562. \[dq]transferred\[dq]: an array of completed transfers (including failed ones):
  21563. [
  21564. {
  21565. \[dq]name\[dq]: name of the file,
  21566. \[dq]size\[dq]: size of the file in bytes,
  21567. \[dq]bytes\[dq]: total transferred bytes for this file,
  21568. \[dq]checked\[dq]: if the transfer is only checked (skipped, deleted),
  21569. \[dq]timestamp\[dq]: integer representing millisecond unix epoch,
  21570. \[dq]error\[dq]: string description of the error (empty if successful),
  21571. \[dq]jobid\[dq]: id of the job that this transfer belongs to
  21572. }
  21573. ]
  21574. }
  21575. \f[R]
  21576. .fi
  21577. .SS core/version: Shows the current version of rclone and the go runtime.
  21578. .PP
  21579. This shows the current version of go and the go runtime:
  21580. .IP \[bu] 2
  21581. version - rclone version, e.g.
  21582. \[dq]v1.53.0\[dq]
  21583. .IP \[bu] 2
  21584. decomposed - version number as [major, minor, patch]
  21585. .IP \[bu] 2
  21586. isGit - boolean - true if this was compiled from the git version
  21587. .IP \[bu] 2
  21588. isBeta - boolean - true if this is a beta version
  21589. .IP \[bu] 2
  21590. os - OS in use as according to Go
  21591. .IP \[bu] 2
  21592. arch - cpu architecture in use according to Go
  21593. .IP \[bu] 2
  21594. goVersion - version of Go runtime in use
  21595. .IP \[bu] 2
  21596. linking - type of rclone executable (static or dynamic)
  21597. .IP \[bu] 2
  21598. goTags - space separated build tags or \[dq]none\[dq]
  21599. .SS debug/set-block-profile-rate: Set runtime.SetBlockProfileRate for blocking profiling.
  21600. .PP
  21601. SetBlockProfileRate controls the fraction of goroutine blocking events
  21602. that are reported in the blocking profile.
  21603. The profiler aims to sample an average of one blocking event per rate
  21604. nanoseconds spent blocked.
  21605. .PP
  21606. To include every blocking event in the profile, pass rate = 1.
  21607. To turn off profiling entirely, pass rate <= 0.
  21608. .PP
  21609. After calling this you can use this to see the blocking profile:
  21610. .IP
  21611. .nf
  21612. \f[C]
  21613. go tool pprof http://localhost:5572/debug/pprof/block
  21614. \f[R]
  21615. .fi
  21616. .PP
  21617. Parameters:
  21618. .IP \[bu] 2
  21619. rate - int
  21620. .SS debug/set-gc-percent: Call runtime/debug.SetGCPercent for setting the garbage collection target percentage.
  21621. .PP
  21622. SetGCPercent sets the garbage collection target percentage: a collection
  21623. is triggered when the ratio of freshly allocated data to live data
  21624. remaining after the previous collection reaches this percentage.
  21625. SetGCPercent returns the previous setting.
  21626. The initial setting is the value of the GOGC environment variable at
  21627. startup, or 100 if the variable is not set.
  21628. .PP
  21629. This setting may be effectively reduced in order to maintain a memory
  21630. limit.
  21631. A negative percentage effectively disables garbage collection, unless
  21632. the memory limit is reached.
  21633. .PP
  21634. See https://pkg.go.dev/runtime/debug#SetMemoryLimit for more details.
  21635. .PP
  21636. Parameters:
  21637. .IP \[bu] 2
  21638. gc-percent - int
  21639. .SS debug/set-mutex-profile-fraction: Set runtime.SetMutexProfileFraction for mutex profiling.
  21640. .PP
  21641. SetMutexProfileFraction controls the fraction of mutex contention events
  21642. that are reported in the mutex profile.
  21643. On average 1/rate events are reported.
  21644. The previous rate is returned.
  21645. .PP
  21646. To turn off profiling entirely, pass rate 0.
  21647. To just read the current rate, pass rate < 0.
  21648. (For n>1 the details of sampling may change.)
  21649. .PP
  21650. Once this is set you can look use this to profile the mutex contention:
  21651. .IP
  21652. .nf
  21653. \f[C]
  21654. go tool pprof http://localhost:5572/debug/pprof/mutex
  21655. \f[R]
  21656. .fi
  21657. .PP
  21658. Parameters:
  21659. .IP \[bu] 2
  21660. rate - int
  21661. .PP
  21662. Results:
  21663. .IP \[bu] 2
  21664. previousRate - int
  21665. .SS debug/set-soft-memory-limit: Call runtime/debug.SetMemoryLimit for setting a soft memory limit for the runtime.
  21666. .PP
  21667. SetMemoryLimit provides the runtime with a soft memory limit.
  21668. .PP
  21669. The runtime undertakes several processes to try to respect this memory
  21670. limit, including adjustments to the frequency of garbage collections and
  21671. returning memory to the underlying system more aggressively.
  21672. This limit will be respected even if GOGC=off (or, if SetGCPercent(-1)
  21673. is executed).
  21674. .PP
  21675. The input limit is provided as bytes, and includes all memory mapped,
  21676. managed, and not released by the Go runtime.
  21677. Notably, it does not account for space used by the Go binary and memory
  21678. external to Go, such as memory managed by the underlying system on
  21679. behalf of the process, or memory managed by non-Go code inside the same
  21680. process.
  21681. Examples of excluded memory sources include: OS kernel memory held on
  21682. behalf of the process, memory allocated by C code, and memory mapped by
  21683. syscall.Mmap (because it is not managed by the Go runtime).
  21684. .PP
  21685. A zero limit or a limit that\[aq]s lower than the amount of memory used
  21686. by the Go runtime may cause the garbage collector to run nearly
  21687. continuously.
  21688. However, the application may still make progress.
  21689. .PP
  21690. The memory limit is always respected by the Go runtime, so to
  21691. effectively disable this behavior, set the limit very high.
  21692. math.MaxInt64 is the canonical value for disabling the limit, but values
  21693. much greater than the available memory on the underlying system work
  21694. just as well.
  21695. .PP
  21696. See https://go.dev/doc/gc-guide for a detailed guide explaining the soft
  21697. memory limit in more detail, as well as a variety of common use-cases
  21698. and scenarios.
  21699. .PP
  21700. SetMemoryLimit returns the previously set memory limit.
  21701. A negative input does not adjust the limit, and allows for retrieval of
  21702. the currently set memory limit.
  21703. .PP
  21704. Parameters:
  21705. .IP \[bu] 2
  21706. mem-limit - int
  21707. .SS fscache/clear: Clear the Fs cache.
  21708. .PP
  21709. This clears the fs cache.
  21710. This is where remotes created from backends are cached for a short while
  21711. to make repeated rc calls more efficient.
  21712. .PP
  21713. If you change the parameters of a backend then you may want to call this
  21714. to clear an existing remote out of the cache before re-creating it.
  21715. .PP
  21716. \f[B]Authentication is required for this call.\f[R]
  21717. .SS fscache/entries: Returns the number of entries in the fs cache.
  21718. .PP
  21719. This returns the number of entries in the fs cache.
  21720. .PP
  21721. Returns - entries - number of items in the cache
  21722. .PP
  21723. \f[B]Authentication is required for this call.\f[R]
  21724. .SS job/list: Lists the IDs of the running jobs
  21725. .PP
  21726. Parameters: None.
  21727. .PP
  21728. Results:
  21729. .IP \[bu] 2
  21730. executeId - string id of rclone executing (change after restart)
  21731. .IP \[bu] 2
  21732. jobids - array of integer job ids (starting at 1 on each restart)
  21733. .SS job/status: Reads the status of the job ID
  21734. .PP
  21735. Parameters:
  21736. .IP \[bu] 2
  21737. jobid - id of the job (integer).
  21738. .PP
  21739. Results:
  21740. .IP \[bu] 2
  21741. finished - boolean
  21742. .IP \[bu] 2
  21743. duration - time in seconds that the job ran for
  21744. .IP \[bu] 2
  21745. endTime - time the job finished (e.g.
  21746. \[dq]2018-10-26T18:50:20.528746884+01:00\[dq])
  21747. .IP \[bu] 2
  21748. error - error from the job or empty string for no error
  21749. .IP \[bu] 2
  21750. finished - boolean whether the job has finished or not
  21751. .IP \[bu] 2
  21752. id - as passed in above
  21753. .IP \[bu] 2
  21754. startTime - time the job started (e.g.
  21755. \[dq]2018-10-26T18:50:20.528336039+01:00\[dq])
  21756. .IP \[bu] 2
  21757. success - boolean - true for success false otherwise
  21758. .IP \[bu] 2
  21759. output - output of the job as would have been returned if called
  21760. synchronously
  21761. .IP \[bu] 2
  21762. progress - output of the progress related to the underlying job
  21763. .SS job/stop: Stop the running job
  21764. .PP
  21765. Parameters:
  21766. .IP \[bu] 2
  21767. jobid - id of the job (integer).
  21768. .SS job/stopgroup: Stop all running jobs in a group
  21769. .PP
  21770. Parameters:
  21771. .IP \[bu] 2
  21772. group - name of the group (string).
  21773. .SS mount/listmounts: Show current mount points
  21774. .PP
  21775. This shows currently mounted points, which can be used for performing an
  21776. unmount.
  21777. .PP
  21778. This takes no parameters and returns
  21779. .IP \[bu] 2
  21780. mountPoints: list of current mount points
  21781. .PP
  21782. Eg
  21783. .IP
  21784. .nf
  21785. \f[C]
  21786. rclone rc mount/listmounts
  21787. \f[R]
  21788. .fi
  21789. .PP
  21790. \f[B]Authentication is required for this call.\f[R]
  21791. .SS mount/mount: Create a new mount point
  21792. .PP
  21793. rclone allows Linux, FreeBSD, macOS and Windows to mount any of
  21794. Rclone\[aq]s cloud storage systems as a file system with FUSE.
  21795. .PP
  21796. If no mountType is provided, the priority is given as follows: 1.
  21797. mount 2.cmount 3.mount2
  21798. .PP
  21799. This takes the following parameters:
  21800. .IP \[bu] 2
  21801. fs - a remote path to be mounted (required)
  21802. .IP \[bu] 2
  21803. mountPoint: valid path on the local machine (required)
  21804. .IP \[bu] 2
  21805. mountType: one of the values (mount, cmount, mount2) specifies the mount
  21806. implementation to use
  21807. .IP \[bu] 2
  21808. mountOpt: a JSON object with Mount options in.
  21809. .IP \[bu] 2
  21810. vfsOpt: a JSON object with VFS options in.
  21811. .PP
  21812. Example:
  21813. .IP
  21814. .nf
  21815. \f[C]
  21816. rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint
  21817. rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount
  21818. rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt=\[aq]{\[dq]CacheMode\[dq]: 2}\[aq] mountOpt=\[aq]{\[dq]AllowOther\[dq]: true}\[aq]
  21819. \f[R]
  21820. .fi
  21821. .PP
  21822. The vfsOpt are as described in options/get and can be seen in the the
  21823. \[dq]vfs\[dq] section when running and the mountOpt can be seen in the
  21824. \[dq]mount\[dq] section:
  21825. .IP
  21826. .nf
  21827. \f[C]
  21828. rclone rc options/get
  21829. \f[R]
  21830. .fi
  21831. .PP
  21832. \f[B]Authentication is required for this call.\f[R]
  21833. .SS mount/types: Show all possible mount types
  21834. .PP
  21835. This shows all possible mount types and returns them as a list.
  21836. .PP
  21837. This takes no parameters and returns
  21838. .IP \[bu] 2
  21839. mountTypes: list of mount types
  21840. .PP
  21841. The mount types are strings like \[dq]mount\[dq], \[dq]mount2\[dq],
  21842. \[dq]cmount\[dq] and can be passed to mount/mount as the mountType
  21843. parameter.
  21844. .PP
  21845. Eg
  21846. .IP
  21847. .nf
  21848. \f[C]
  21849. rclone rc mount/types
  21850. \f[R]
  21851. .fi
  21852. .PP
  21853. \f[B]Authentication is required for this call.\f[R]
  21854. .SS mount/unmount: Unmount selected active mount
  21855. .PP
  21856. rclone allows Linux, FreeBSD, macOS and Windows to mount any of
  21857. Rclone\[aq]s cloud storage systems as a file system with FUSE.
  21858. .PP
  21859. This takes the following parameters:
  21860. .IP \[bu] 2
  21861. mountPoint: valid path on the local machine where the mount was created
  21862. (required)
  21863. .PP
  21864. Example:
  21865. .IP
  21866. .nf
  21867. \f[C]
  21868. rclone rc mount/unmount mountPoint=/home/<user>/mountPoint
  21869. \f[R]
  21870. .fi
  21871. .PP
  21872. \f[B]Authentication is required for this call.\f[R]
  21873. .SS mount/unmountall: Unmount all active mounts
  21874. .PP
  21875. rclone allows Linux, FreeBSD, macOS and Windows to mount any of
  21876. Rclone\[aq]s cloud storage systems as a file system with FUSE.
  21877. .PP
  21878. This takes no parameters and returns error if unmount does not succeed.
  21879. .PP
  21880. Eg
  21881. .IP
  21882. .nf
  21883. \f[C]
  21884. rclone rc mount/unmountall
  21885. \f[R]
  21886. .fi
  21887. .PP
  21888. \f[B]Authentication is required for this call.\f[R]
  21889. .SS operations/about: Return the space used on the remote
  21890. .PP
  21891. This takes the following parameters:
  21892. .IP \[bu] 2
  21893. fs - a remote name string e.g.
  21894. \[dq]drive:\[dq]
  21895. .PP
  21896. The result is as returned from rclone about --json
  21897. .PP
  21898. See the about (https://rclone.org/commands/rclone_about/) command for
  21899. more information on the above.
  21900. .PP
  21901. \f[B]Authentication is required for this call.\f[R]
  21902. .SS operations/check: check the source and destination are the same
  21903. .PP
  21904. Checks the files in the source and destination match.
  21905. It compares sizes and hashes and logs a report of files that don\[aq]t
  21906. match.
  21907. It doesn\[aq]t alter the source or destination.
  21908. .PP
  21909. This takes the following parameters:
  21910. .IP \[bu] 2
  21911. srcFs - a remote name string e.g.
  21912. \[dq]drive:\[dq] for the source, \[dq]/\[dq] for local filesystem
  21913. .IP \[bu] 2
  21914. dstFs - a remote name string e.g.
  21915. \[dq]drive2:\[dq] for the destination, \[dq]/\[dq] for local filesystem
  21916. .IP \[bu] 2
  21917. download - check by downloading rather than with hash
  21918. .IP \[bu] 2
  21919. checkFileHash - treat checkFileFs:checkFileRemote as a SUM file with
  21920. hashes of given type
  21921. .IP \[bu] 2
  21922. checkFileFs - treat checkFileFs:checkFileRemote as a SUM file with
  21923. hashes of given type
  21924. .IP \[bu] 2
  21925. checkFileRemote - treat checkFileFs:checkFileRemote as a SUM file with
  21926. hashes of given type
  21927. .IP \[bu] 2
  21928. oneWay - check one way only, source files must exist on remote
  21929. .IP \[bu] 2
  21930. combined - make a combined report of changes (default false)
  21931. .IP \[bu] 2
  21932. missingOnSrc - report all files missing from the source (default true)
  21933. .IP \[bu] 2
  21934. missingOnDst - report all files missing from the destination (default
  21935. true)
  21936. .IP \[bu] 2
  21937. match - report all matching files (default false)
  21938. .IP \[bu] 2
  21939. differ - report all non-matching files (default true)
  21940. .IP \[bu] 2
  21941. error - report all files with errors (hashing or reading) (default true)
  21942. .PP
  21943. If you supply the download flag, it will download the data from both
  21944. remotes and check them against each other on the fly.
  21945. This can be useful for remotes that don\[aq]t support hashes or if you
  21946. really want to check all the data.
  21947. .PP
  21948. If you supply the size-only global flag, it will only compare the sizes
  21949. not the hashes as well.
  21950. Use this for a quick check.
  21951. .PP
  21952. If you supply the checkFileHash option with a valid hash name, the
  21953. checkFileFs:checkFileRemote must point to a text file in the SUM format.
  21954. This treats the checksum file as the source and dstFs as the
  21955. destination.
  21956. Note that srcFs is not used and should not be supplied in this case.
  21957. .PP
  21958. Returns:
  21959. .IP \[bu] 2
  21960. success - true if no error, false otherwise
  21961. .IP \[bu] 2
  21962. status - textual summary of check, OK or text string
  21963. .IP \[bu] 2
  21964. hashType - hash used in check, may be missing
  21965. .IP \[bu] 2
  21966. combined - array of strings of combined report of changes
  21967. .IP \[bu] 2
  21968. missingOnSrc - array of strings of all files missing from the source
  21969. .IP \[bu] 2
  21970. missingOnDst - array of strings of all files missing from the
  21971. destination
  21972. .IP \[bu] 2
  21973. match - array of strings of all matching files
  21974. .IP \[bu] 2
  21975. differ - array of strings of all non-matching files
  21976. .IP \[bu] 2
  21977. error - array of strings of all files with errors (hashing or reading)
  21978. .PP
  21979. \f[B]Authentication is required for this call.\f[R]
  21980. .SS operations/cleanup: Remove trashed files in the remote or path
  21981. .PP
  21982. This takes the following parameters:
  21983. .IP \[bu] 2
  21984. fs - a remote name string e.g.
  21985. \[dq]drive:\[dq]
  21986. .PP
  21987. See the cleanup (https://rclone.org/commands/rclone_cleanup/) command
  21988. for more information on the above.
  21989. .PP
  21990. \f[B]Authentication is required for this call.\f[R]
  21991. .SS operations/copyfile: Copy a file from source remote to destination remote
  21992. .PP
  21993. This takes the following parameters:
  21994. .IP \[bu] 2
  21995. srcFs - a remote name string e.g.
  21996. \[dq]drive:\[dq] for the source, \[dq]/\[dq] for local filesystem
  21997. .IP \[bu] 2
  21998. srcRemote - a path within that remote e.g.
  21999. \[dq]file.txt\[dq] for the source
  22000. .IP \[bu] 2
  22001. dstFs - a remote name string e.g.
  22002. \[dq]drive2:\[dq] for the destination, \[dq]/\[dq] for local filesystem
  22003. .IP \[bu] 2
  22004. dstRemote - a path within that remote e.g.
  22005. \[dq]file2.txt\[dq] for the destination
  22006. .PP
  22007. \f[B]Authentication is required for this call.\f[R]
  22008. .SS operations/copyurl: Copy the URL to the object
  22009. .PP
  22010. This takes the following parameters:
  22011. .IP \[bu] 2
  22012. fs - a remote name string e.g.
  22013. \[dq]drive:\[dq]
  22014. .IP \[bu] 2
  22015. remote - a path within that remote e.g.
  22016. \[dq]dir\[dq]
  22017. .IP \[bu] 2
  22018. url - string, URL to read from
  22019. .IP \[bu] 2
  22020. autoFilename - boolean, set to true to retrieve destination file name
  22021. from url
  22022. .PP
  22023. See the copyurl (https://rclone.org/commands/rclone_copyurl/) command
  22024. for more information on the above.
  22025. .PP
  22026. \f[B]Authentication is required for this call.\f[R]
  22027. .SS operations/delete: Remove files in the path
  22028. .PP
  22029. This takes the following parameters:
  22030. .IP \[bu] 2
  22031. fs - a remote name string e.g.
  22032. \[dq]drive:\[dq]
  22033. .PP
  22034. See the delete (https://rclone.org/commands/rclone_delete/) command for
  22035. more information on the above.
  22036. .PP
  22037. \f[B]Authentication is required for this call.\f[R]
  22038. .SS operations/deletefile: Remove the single file pointed to
  22039. .PP
  22040. This takes the following parameters:
  22041. .IP \[bu] 2
  22042. fs - a remote name string e.g.
  22043. \[dq]drive:\[dq]
  22044. .IP \[bu] 2
  22045. remote - a path within that remote e.g.
  22046. \[dq]dir\[dq]
  22047. .PP
  22048. See the deletefile (https://rclone.org/commands/rclone_deletefile/)
  22049. command for more information on the above.
  22050. .PP
  22051. \f[B]Authentication is required for this call.\f[R]
  22052. .SS operations/fsinfo: Return information about the remote
  22053. .PP
  22054. This takes the following parameters:
  22055. .IP \[bu] 2
  22056. fs - a remote name string e.g.
  22057. \[dq]drive:\[dq]
  22058. .PP
  22059. This returns info about the remote passed in;
  22060. .IP
  22061. .nf
  22062. \f[C]
  22063. {
  22064. // optional features and whether they are available or not
  22065. \[dq]Features\[dq]: {
  22066. \[dq]About\[dq]: true,
  22067. \[dq]BucketBased\[dq]: false,
  22068. \[dq]BucketBasedRootOK\[dq]: false,
  22069. \[dq]CanHaveEmptyDirectories\[dq]: true,
  22070. \[dq]CaseInsensitive\[dq]: false,
  22071. \[dq]ChangeNotify\[dq]: false,
  22072. \[dq]CleanUp\[dq]: false,
  22073. \[dq]Command\[dq]: true,
  22074. \[dq]Copy\[dq]: false,
  22075. \[dq]DirCacheFlush\[dq]: false,
  22076. \[dq]DirMove\[dq]: true,
  22077. \[dq]Disconnect\[dq]: false,
  22078. \[dq]DuplicateFiles\[dq]: false,
  22079. \[dq]GetTier\[dq]: false,
  22080. \[dq]IsLocal\[dq]: true,
  22081. \[dq]ListR\[dq]: false,
  22082. \[dq]MergeDirs\[dq]: false,
  22083. \[dq]MetadataInfo\[dq]: true,
  22084. \[dq]Move\[dq]: true,
  22085. \[dq]OpenWriterAt\[dq]: true,
  22086. \[dq]PublicLink\[dq]: false,
  22087. \[dq]Purge\[dq]: true,
  22088. \[dq]PutStream\[dq]: true,
  22089. \[dq]PutUnchecked\[dq]: false,
  22090. \[dq]ReadMetadata\[dq]: true,
  22091. \[dq]ReadMimeType\[dq]: false,
  22092. \[dq]ServerSideAcrossConfigs\[dq]: false,
  22093. \[dq]SetTier\[dq]: false,
  22094. \[dq]SetWrapper\[dq]: false,
  22095. \[dq]Shutdown\[dq]: false,
  22096. \[dq]SlowHash\[dq]: true,
  22097. \[dq]SlowModTime\[dq]: false,
  22098. \[dq]UnWrap\[dq]: false,
  22099. \[dq]UserInfo\[dq]: false,
  22100. \[dq]UserMetadata\[dq]: true,
  22101. \[dq]WrapFs\[dq]: false,
  22102. \[dq]WriteMetadata\[dq]: true,
  22103. \[dq]WriteMimeType\[dq]: false
  22104. },
  22105. // Names of hashes available
  22106. \[dq]Hashes\[dq]: [
  22107. \[dq]md5\[dq],
  22108. \[dq]sha1\[dq],
  22109. \[dq]whirlpool\[dq],
  22110. \[dq]crc32\[dq],
  22111. \[dq]sha256\[dq],
  22112. \[dq]dropbox\[dq],
  22113. \[dq]mailru\[dq],
  22114. \[dq]quickxor\[dq]
  22115. ],
  22116. \[dq]Name\[dq]: \[dq]local\[dq], // Name as created
  22117. \[dq]Precision\[dq]: 1, // Precision of timestamps in ns
  22118. \[dq]Root\[dq]: \[dq]/\[dq], // Path as created
  22119. \[dq]String\[dq]: \[dq]Local file system at /\[dq], // how the remote will appear in logs
  22120. // Information about the system metadata for this backend
  22121. \[dq]MetadataInfo\[dq]: {
  22122. \[dq]System\[dq]: {
  22123. \[dq]atime\[dq]: {
  22124. \[dq]Help\[dq]: \[dq]Time of last access\[dq],
  22125. \[dq]Type\[dq]: \[dq]RFC 3339\[dq],
  22126. \[dq]Example\[dq]: \[dq]2006-01-02T15:04:05.999999999Z07:00\[dq]
  22127. },
  22128. \[dq]btime\[dq]: {
  22129. \[dq]Help\[dq]: \[dq]Time of file birth (creation)\[dq],
  22130. \[dq]Type\[dq]: \[dq]RFC 3339\[dq],
  22131. \[dq]Example\[dq]: \[dq]2006-01-02T15:04:05.999999999Z07:00\[dq]
  22132. },
  22133. \[dq]gid\[dq]: {
  22134. \[dq]Help\[dq]: \[dq]Group ID of owner\[dq],
  22135. \[dq]Type\[dq]: \[dq]decimal number\[dq],
  22136. \[dq]Example\[dq]: \[dq]500\[dq]
  22137. },
  22138. \[dq]mode\[dq]: {
  22139. \[dq]Help\[dq]: \[dq]File type and mode\[dq],
  22140. \[dq]Type\[dq]: \[dq]octal, unix style\[dq],
  22141. \[dq]Example\[dq]: \[dq]0100664\[dq]
  22142. },
  22143. \[dq]mtime\[dq]: {
  22144. \[dq]Help\[dq]: \[dq]Time of last modification\[dq],
  22145. \[dq]Type\[dq]: \[dq]RFC 3339\[dq],
  22146. \[dq]Example\[dq]: \[dq]2006-01-02T15:04:05.999999999Z07:00\[dq]
  22147. },
  22148. \[dq]rdev\[dq]: {
  22149. \[dq]Help\[dq]: \[dq]Device ID (if special file)\[dq],
  22150. \[dq]Type\[dq]: \[dq]hexadecimal\[dq],
  22151. \[dq]Example\[dq]: \[dq]1abc\[dq]
  22152. },
  22153. \[dq]uid\[dq]: {
  22154. \[dq]Help\[dq]: \[dq]User ID of owner\[dq],
  22155. \[dq]Type\[dq]: \[dq]decimal number\[dq],
  22156. \[dq]Example\[dq]: \[dq]500\[dq]
  22157. }
  22158. },
  22159. \[dq]Help\[dq]: \[dq]Textual help string\[rs]n\[dq]
  22160. }
  22161. }
  22162. \f[R]
  22163. .fi
  22164. .PP
  22165. This command does not have a command line equivalent so use this
  22166. instead:
  22167. .IP
  22168. .nf
  22169. \f[C]
  22170. rclone rc --loopback operations/fsinfo fs=remote:
  22171. \f[R]
  22172. .fi
  22173. .SS operations/hashsum: Produces a hashsum file for all the objects in the path.
  22174. .PP
  22175. Produces a hash file for all the objects in the path using the hash
  22176. named.
  22177. The output is in the same format as the standard md5sum/sha1sum tool.
  22178. .PP
  22179. This takes the following parameters:
  22180. .IP \[bu] 2
  22181. fs - a remote name string e.g.
  22182. \[dq]drive:\[dq] for the source, \[dq]/\[dq] for local filesystem
  22183. .RS 2
  22184. .IP \[bu] 2
  22185. this can point to a file and just that file will be returned in the
  22186. listing.
  22187. .RE
  22188. .IP \[bu] 2
  22189. hashType - type of hash to be used
  22190. .IP \[bu] 2
  22191. download - check by downloading rather than with hash (boolean)
  22192. .IP \[bu] 2
  22193. base64 - output the hashes in base64 rather than hex (boolean)
  22194. .PP
  22195. If you supply the download flag, it will download the data from the
  22196. remote and create the hash on the fly.
  22197. This can be useful for remotes that don\[aq]t support the given hash or
  22198. if you really want to check all the data.
  22199. .PP
  22200. Note that if you wish to supply a checkfile to check hashes against the
  22201. current files then you should use operations/check instead of
  22202. operations/hashsum.
  22203. .PP
  22204. Returns:
  22205. .IP \[bu] 2
  22206. hashsum - array of strings of the hashes
  22207. .IP \[bu] 2
  22208. hashType - type of hash used
  22209. .PP
  22210. Example:
  22211. .IP
  22212. .nf
  22213. \f[C]
  22214. $ rclone rc --loopback operations/hashsum fs=bin hashType=MD5 download=true base64=true
  22215. {
  22216. \[dq]hashType\[dq]: \[dq]md5\[dq],
  22217. \[dq]hashsum\[dq]: [
  22218. \[dq]WTSVLpuiXyJO_kGzJerRLg== backend-versions.sh\[dq],
  22219. \[dq]v1b_OlWCJO9LtNq3EIKkNQ== bisect-go-rclone.sh\[dq],
  22220. \[dq]VHbmHzHh4taXzgag8BAIKQ== bisect-rclone.sh\[dq],
  22221. ]
  22222. }
  22223. \f[R]
  22224. .fi
  22225. .PP
  22226. See the hashsum (https://rclone.org/commands/rclone_hashsum/) command
  22227. for more information on the above.
  22228. .PP
  22229. \f[B]Authentication is required for this call.\f[R]
  22230. .SS operations/list: List the given remote and path in JSON format
  22231. .PP
  22232. This takes the following parameters:
  22233. .IP \[bu] 2
  22234. fs - a remote name string e.g.
  22235. \[dq]drive:\[dq]
  22236. .IP \[bu] 2
  22237. remote - a path within that remote e.g.
  22238. \[dq]dir\[dq]
  22239. .IP \[bu] 2
  22240. opt - a dictionary of options to control the listing (optional)
  22241. .RS 2
  22242. .IP \[bu] 2
  22243. recurse - If set recurse directories
  22244. .IP \[bu] 2
  22245. noModTime - If set return modification time
  22246. .IP \[bu] 2
  22247. showEncrypted - If set show decrypted names
  22248. .IP \[bu] 2
  22249. showOrigIDs - If set show the IDs for each item if known
  22250. .IP \[bu] 2
  22251. showHash - If set return a dictionary of hashes
  22252. .IP \[bu] 2
  22253. noMimeType - If set don\[aq]t show mime types
  22254. .IP \[bu] 2
  22255. dirsOnly - If set only show directories
  22256. .IP \[bu] 2
  22257. filesOnly - If set only show files
  22258. .IP \[bu] 2
  22259. metadata - If set return metadata of objects also
  22260. .IP \[bu] 2
  22261. hashTypes - array of strings of hash types to show if showHash set
  22262. .RE
  22263. .PP
  22264. Returns:
  22265. .IP \[bu] 2
  22266. list
  22267. .RS 2
  22268. .IP \[bu] 2
  22269. This is an array of objects as described in the lsjson command
  22270. .RE
  22271. .PP
  22272. See the lsjson (https://rclone.org/commands/rclone_lsjson/) command for
  22273. more information on the above and examples.
  22274. .PP
  22275. \f[B]Authentication is required for this call.\f[R]
  22276. .SS operations/mkdir: Make a destination directory or container
  22277. .PP
  22278. This takes the following parameters:
  22279. .IP \[bu] 2
  22280. fs - a remote name string e.g.
  22281. \[dq]drive:\[dq]
  22282. .IP \[bu] 2
  22283. remote - a path within that remote e.g.
  22284. \[dq]dir\[dq]
  22285. .PP
  22286. See the mkdir (https://rclone.org/commands/rclone_mkdir/) command for
  22287. more information on the above.
  22288. .PP
  22289. \f[B]Authentication is required for this call.\f[R]
  22290. .SS operations/movefile: Move a file from source remote to destination remote
  22291. .PP
  22292. This takes the following parameters:
  22293. .IP \[bu] 2
  22294. srcFs - a remote name string e.g.
  22295. \[dq]drive:\[dq] for the source, \[dq]/\[dq] for local filesystem
  22296. .IP \[bu] 2
  22297. srcRemote - a path within that remote e.g.
  22298. \[dq]file.txt\[dq] for the source
  22299. .IP \[bu] 2
  22300. dstFs - a remote name string e.g.
  22301. \[dq]drive2:\[dq] for the destination, \[dq]/\[dq] for local filesystem
  22302. .IP \[bu] 2
  22303. dstRemote - a path within that remote e.g.
  22304. \[dq]file2.txt\[dq] for the destination
  22305. .PP
  22306. \f[B]Authentication is required for this call.\f[R]
  22307. .SS operations/publiclink: Create or retrieve a public link to the given file or folder.
  22308. .PP
  22309. This takes the following parameters:
  22310. .IP \[bu] 2
  22311. fs - a remote name string e.g.
  22312. \[dq]drive:\[dq]
  22313. .IP \[bu] 2
  22314. remote - a path within that remote e.g.
  22315. \[dq]dir\[dq]
  22316. .IP \[bu] 2
  22317. unlink - boolean - if set removes the link rather than adding it
  22318. (optional)
  22319. .IP \[bu] 2
  22320. expire - string - the expiry time of the link e.g.
  22321. \[dq]1d\[dq] (optional)
  22322. .PP
  22323. Returns:
  22324. .IP \[bu] 2
  22325. url - URL of the resource
  22326. .PP
  22327. See the link (https://rclone.org/commands/rclone_link/) command for more
  22328. information on the above.
  22329. .PP
  22330. \f[B]Authentication is required for this call.\f[R]
  22331. .SS operations/purge: Remove a directory or container and all of its contents
  22332. .PP
  22333. This takes the following parameters:
  22334. .IP \[bu] 2
  22335. fs - a remote name string e.g.
  22336. \[dq]drive:\[dq]
  22337. .IP \[bu] 2
  22338. remote - a path within that remote e.g.
  22339. \[dq]dir\[dq]
  22340. .PP
  22341. See the purge (https://rclone.org/commands/rclone_purge/) command for
  22342. more information on the above.
  22343. .PP
  22344. \f[B]Authentication is required for this call.\f[R]
  22345. .SS operations/rmdir: Remove an empty directory or container
  22346. .PP
  22347. This takes the following parameters:
  22348. .IP \[bu] 2
  22349. fs - a remote name string e.g.
  22350. \[dq]drive:\[dq]
  22351. .IP \[bu] 2
  22352. remote - a path within that remote e.g.
  22353. \[dq]dir\[dq]
  22354. .PP
  22355. See the rmdir (https://rclone.org/commands/rclone_rmdir/) command for
  22356. more information on the above.
  22357. .PP
  22358. \f[B]Authentication is required for this call.\f[R]
  22359. .SS operations/rmdirs: Remove all the empty directories in the path
  22360. .PP
  22361. This takes the following parameters:
  22362. .IP \[bu] 2
  22363. fs - a remote name string e.g.
  22364. \[dq]drive:\[dq]
  22365. .IP \[bu] 2
  22366. remote - a path within that remote e.g.
  22367. \[dq]dir\[dq]
  22368. .IP \[bu] 2
  22369. leaveRoot - boolean, set to true not to delete the root
  22370. .PP
  22371. See the rmdirs (https://rclone.org/commands/rclone_rmdirs/) command for
  22372. more information on the above.
  22373. .PP
  22374. \f[B]Authentication is required for this call.\f[R]
  22375. .SS operations/settier: Changes storage tier or class on all files in the path
  22376. .PP
  22377. This takes the following parameters:
  22378. .IP \[bu] 2
  22379. fs - a remote name string e.g.
  22380. \[dq]drive:\[dq]
  22381. .PP
  22382. See the settier (https://rclone.org/commands/rclone_settier/) command
  22383. for more information on the above.
  22384. .PP
  22385. \f[B]Authentication is required for this call.\f[R]
  22386. .SS operations/settierfile: Changes storage tier or class on the single file pointed to
  22387. .PP
  22388. This takes the following parameters:
  22389. .IP \[bu] 2
  22390. fs - a remote name string e.g.
  22391. \[dq]drive:\[dq]
  22392. .IP \[bu] 2
  22393. remote - a path within that remote e.g.
  22394. \[dq]dir\[dq]
  22395. .PP
  22396. See the settierfile (https://rclone.org/commands/rclone_settierfile/)
  22397. command for more information on the above.
  22398. .PP
  22399. \f[B]Authentication is required for this call.\f[R]
  22400. .SS operations/size: Count the number of bytes and files in remote
  22401. .PP
  22402. This takes the following parameters:
  22403. .IP \[bu] 2
  22404. fs - a remote name string e.g.
  22405. \[dq]drive:path/to/dir\[dq]
  22406. .PP
  22407. Returns:
  22408. .IP \[bu] 2
  22409. count - number of files
  22410. .IP \[bu] 2
  22411. bytes - number of bytes in those files
  22412. .PP
  22413. See the size (https://rclone.org/commands/rclone_size/) command for more
  22414. information on the above.
  22415. .PP
  22416. \f[B]Authentication is required for this call.\f[R]
  22417. .SS operations/stat: Give information about the supplied file or directory
  22418. .PP
  22419. This takes the following parameters
  22420. .IP \[bu] 2
  22421. fs - a remote name string eg \[dq]drive:\[dq]
  22422. .IP \[bu] 2
  22423. remote - a path within that remote eg \[dq]dir\[dq]
  22424. .IP \[bu] 2
  22425. opt - a dictionary of options to control the listing (optional)
  22426. .RS 2
  22427. .IP \[bu] 2
  22428. see operations/list for the options
  22429. .RE
  22430. .PP
  22431. The result is
  22432. .IP \[bu] 2
  22433. item - an object as described in the lsjson command.
  22434. Will be null if not found.
  22435. .PP
  22436. Note that if you are only interested in files then it is much more
  22437. efficient to set the filesOnly flag in the options.
  22438. .PP
  22439. See the lsjson (https://rclone.org/commands/rclone_lsjson/) command for
  22440. more information on the above and examples.
  22441. .PP
  22442. \f[B]Authentication is required for this call.\f[R]
  22443. .SS operations/uploadfile: Upload file using multiform/form-data
  22444. .PP
  22445. This takes the following parameters:
  22446. .IP \[bu] 2
  22447. fs - a remote name string e.g.
  22448. \[dq]drive:\[dq]
  22449. .IP \[bu] 2
  22450. remote - a path within that remote e.g.
  22451. \[dq]dir\[dq]
  22452. .IP \[bu] 2
  22453. each part in body represents a file to be uploaded
  22454. .PP
  22455. See the uploadfile (https://rclone.org/commands/rclone_uploadfile/)
  22456. command for more information on the above.
  22457. .PP
  22458. \f[B]Authentication is required for this call.\f[R]
  22459. .SS options/blocks: List all the option blocks
  22460. .PP
  22461. Returns: - options - a list of the options block names
  22462. .SS options/get: Get all the global options
  22463. .PP
  22464. Returns an object where keys are option block names and values are an
  22465. object with the current option values in.
  22466. .PP
  22467. Note that these are the global options which are unaffected by use of
  22468. the _config and _filter parameters.
  22469. If you wish to read the parameters set in _config then use
  22470. options/config and for _filter use options/filter.
  22471. .PP
  22472. This shows the internal names of the option within rclone which should
  22473. map to the external options very easily with a few exceptions.
  22474. .SS options/local: Get the currently active config for this call
  22475. .PP
  22476. Returns an object with the keys \[dq]config\[dq] and \[dq]filter\[dq].
  22477. The \[dq]config\[dq] key contains the local config and the
  22478. \[dq]filter\[dq] key contains the local filters.
  22479. .PP
  22480. Note that these are the local options specific to this rc call.
  22481. If _config was not supplied then they will be the global options.
  22482. Likewise with \[dq]_filter\[dq].
  22483. .PP
  22484. This call is mostly useful for seeing if _config and _filter passing is
  22485. working.
  22486. .PP
  22487. This shows the internal names of the option within rclone which should
  22488. map to the external options very easily with a few exceptions.
  22489. .SS options/set: Set an option
  22490. .PP
  22491. Parameters:
  22492. .IP \[bu] 2
  22493. option block name containing an object with
  22494. .RS 2
  22495. .IP \[bu] 2
  22496. key: value
  22497. .RE
  22498. .PP
  22499. Repeated as often as required.
  22500. .PP
  22501. Only supply the options you wish to change.
  22502. If an option is unknown it will be silently ignored.
  22503. Not all options will have an effect when changed like this.
  22504. .PP
  22505. For example:
  22506. .PP
  22507. This sets DEBUG level logs (-vv) (these can be set by number or string)
  22508. .IP
  22509. .nf
  22510. \f[C]
  22511. rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: \[dq]DEBUG\[dq]}}\[aq]
  22512. rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: 8}}\[aq]
  22513. \f[R]
  22514. .fi
  22515. .PP
  22516. And this sets INFO level logs (-v)
  22517. .IP
  22518. .nf
  22519. \f[C]
  22520. rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: \[dq]INFO\[dq]}}\[aq]
  22521. \f[R]
  22522. .fi
  22523. .PP
  22524. And this sets NOTICE level logs (normal without -v)
  22525. .IP
  22526. .nf
  22527. \f[C]
  22528. rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: \[dq]NOTICE\[dq]}}\[aq]
  22529. \f[R]
  22530. .fi
  22531. .SS pluginsctl/addPlugin: Add a plugin using url
  22532. .PP
  22533. Used for adding a plugin to the webgui.
  22534. .PP
  22535. This takes the following parameters:
  22536. .IP \[bu] 2
  22537. url - http url of the github repo where the plugin is hosted
  22538. (http://github.com/rclone/rclone-webui-react).
  22539. .PP
  22540. Example:
  22541. .PP
  22542. rclone rc pluginsctl/addPlugin
  22543. .PP
  22544. \f[B]Authentication is required for this call.\f[R]
  22545. .SS pluginsctl/getPluginsForType: Get plugins with type criteria
  22546. .PP
  22547. This shows all possible plugins by a mime type.
  22548. .PP
  22549. This takes the following parameters:
  22550. .IP \[bu] 2
  22551. type - supported mime type by a loaded plugin e.g.
  22552. (video/mp4, audio/mp3).
  22553. .IP \[bu] 2
  22554. pluginType - filter plugins based on their type e.g.
  22555. (DASHBOARD, FILE_HANDLER, TERMINAL).
  22556. .PP
  22557. Returns:
  22558. .IP \[bu] 2
  22559. loadedPlugins - list of current production plugins.
  22560. .IP \[bu] 2
  22561. testPlugins - list of temporarily loaded development plugins, usually
  22562. running on a different server.
  22563. .PP
  22564. Example:
  22565. .PP
  22566. rclone rc pluginsctl/getPluginsForType type=video/mp4
  22567. .PP
  22568. \f[B]Authentication is required for this call.\f[R]
  22569. .SS pluginsctl/listPlugins: Get the list of currently loaded plugins
  22570. .PP
  22571. This allows you to get the currently enabled plugins and their details.
  22572. .PP
  22573. This takes no parameters and returns:
  22574. .IP \[bu] 2
  22575. loadedPlugins - list of current production plugins.
  22576. .IP \[bu] 2
  22577. testPlugins - list of temporarily loaded development plugins, usually
  22578. running on a different server.
  22579. .PP
  22580. E.g.
  22581. .PP
  22582. rclone rc pluginsctl/listPlugins
  22583. .PP
  22584. \f[B]Authentication is required for this call.\f[R]
  22585. .SS pluginsctl/listTestPlugins: Show currently loaded test plugins
  22586. .PP
  22587. Allows listing of test plugins with the rclone.test set to true in
  22588. package.json of the plugin.
  22589. .PP
  22590. This takes no parameters and returns:
  22591. .IP \[bu] 2
  22592. loadedTestPlugins - list of currently available test plugins.
  22593. .PP
  22594. E.g.
  22595. .IP
  22596. .nf
  22597. \f[C]
  22598. rclone rc pluginsctl/listTestPlugins
  22599. \f[R]
  22600. .fi
  22601. .PP
  22602. \f[B]Authentication is required for this call.\f[R]
  22603. .SS pluginsctl/removePlugin: Remove a loaded plugin
  22604. .PP
  22605. This allows you to remove a plugin using it\[aq]s name.
  22606. .PP
  22607. This takes parameters:
  22608. .IP \[bu] 2
  22609. name - name of the plugin in the format
  22610. \f[C]author\f[R]/\f[C]plugin_name\f[R].
  22611. .PP
  22612. E.g.
  22613. .PP
  22614. rclone rc pluginsctl/removePlugin name=rclone/video-plugin
  22615. .PP
  22616. \f[B]Authentication is required for this call.\f[R]
  22617. .SS pluginsctl/removeTestPlugin: Remove a test plugin
  22618. .PP
  22619. This allows you to remove a plugin using it\[aq]s name.
  22620. .PP
  22621. This takes the following parameters:
  22622. .IP \[bu] 2
  22623. name - name of the plugin in the format
  22624. \f[C]author\f[R]/\f[C]plugin_name\f[R].
  22625. .PP
  22626. Example:
  22627. .IP
  22628. .nf
  22629. \f[C]
  22630. rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react
  22631. \f[R]
  22632. .fi
  22633. .PP
  22634. \f[B]Authentication is required for this call.\f[R]
  22635. .SS rc/error: This returns an error
  22636. .PP
  22637. This returns an error with the input as part of its error string.
  22638. Useful for testing error handling.
  22639. .SS rc/list: List all the registered remote control commands
  22640. .PP
  22641. This lists all the registered remote control commands as a JSON map in
  22642. the commands response.
  22643. .SS rc/noop: Echo the input to the output parameters
  22644. .PP
  22645. This echoes the input parameters to the output parameters for testing
  22646. purposes.
  22647. It can be used to check that rclone is still alive and to check that
  22648. parameter passing is working properly.
  22649. .SS rc/noopauth: Echo the input to the output parameters requiring auth
  22650. .PP
  22651. This echoes the input parameters to the output parameters for testing
  22652. purposes.
  22653. It can be used to check that rclone is still alive and to check that
  22654. parameter passing is working properly.
  22655. .PP
  22656. \f[B]Authentication is required for this call.\f[R]
  22657. .SS sync/bisync: Perform bidirectional synchronization between two paths.
  22658. .PP
  22659. This takes the following parameters
  22660. .IP \[bu] 2
  22661. path1 - a remote directory string e.g.
  22662. \f[C]drive:path1\f[R]
  22663. .IP \[bu] 2
  22664. path2 - a remote directory string e.g.
  22665. \f[C]drive:path2\f[R]
  22666. .IP \[bu] 2
  22667. dryRun - dry-run mode
  22668. .IP \[bu] 2
  22669. resync - performs the resync run
  22670. .IP \[bu] 2
  22671. checkAccess - abort if RCLONE_TEST files are not found on both
  22672. filesystems
  22673. .IP \[bu] 2
  22674. checkFilename - file name for checkAccess (default: RCLONE_TEST)
  22675. .IP \[bu] 2
  22676. maxDelete - abort sync if percentage of deleted files is above this
  22677. threshold (default: 50)
  22678. .IP \[bu] 2
  22679. force - Bypass maxDelete safety check and run the sync
  22680. .IP \[bu] 2
  22681. checkSync - \f[C]true\f[R] by default, \f[C]false\f[R] disables
  22682. comparison of final listings, \f[C]only\f[R] will skip sync, only
  22683. compare listings from the last run
  22684. .IP \[bu] 2
  22685. createEmptySrcDirs - Sync creation and deletion of empty directories.
  22686. (Not compatible with --remove-empty-dirs)
  22687. .IP \[bu] 2
  22688. removeEmptyDirs - remove empty directories at the final cleanup step
  22689. .IP \[bu] 2
  22690. filtersFile - read filtering patterns from a file
  22691. .IP \[bu] 2
  22692. ignoreListingChecksum - Do not use checksums for listings
  22693. .IP \[bu] 2
  22694. resilient - Allow future runs to retry after certain less-serious
  22695. errors, instead of requiring resync.
  22696. Use at your own risk!
  22697. .IP \[bu] 2
  22698. workdir - server directory for history files (default:
  22699. \f[C]\[ti]/.cache/rclone/bisync\f[R])
  22700. .IP \[bu] 2
  22701. backupdir1 - --backup-dir for Path1.
  22702. Must be a non-overlapping path on the same remote.
  22703. .IP \[bu] 2
  22704. backupdir2 - --backup-dir for Path2.
  22705. Must be a non-overlapping path on the same remote.
  22706. .IP \[bu] 2
  22707. noCleanup - retain working files
  22708. .PP
  22709. See bisync command help (https://rclone.org/commands/rclone_bisync/) and
  22710. full bisync description (https://rclone.org/bisync/) for more
  22711. information.
  22712. .PP
  22713. \f[B]Authentication is required for this call.\f[R]
  22714. .SS sync/copy: copy a directory from source remote to destination remote
  22715. .PP
  22716. This takes the following parameters:
  22717. .IP \[bu] 2
  22718. srcFs - a remote name string e.g.
  22719. \[dq]drive:src\[dq] for the source
  22720. .IP \[bu] 2
  22721. dstFs - a remote name string e.g.
  22722. \[dq]drive:dst\[dq] for the destination
  22723. .IP \[bu] 2
  22724. createEmptySrcDirs - create empty src directories on destination if set
  22725. .PP
  22726. See the copy (https://rclone.org/commands/rclone_copy/) command for more
  22727. information on the above.
  22728. .PP
  22729. \f[B]Authentication is required for this call.\f[R]
  22730. .SS sync/move: move a directory from source remote to destination remote
  22731. .PP
  22732. This takes the following parameters:
  22733. .IP \[bu] 2
  22734. srcFs - a remote name string e.g.
  22735. \[dq]drive:src\[dq] for the source
  22736. .IP \[bu] 2
  22737. dstFs - a remote name string e.g.
  22738. \[dq]drive:dst\[dq] for the destination
  22739. .IP \[bu] 2
  22740. createEmptySrcDirs - create empty src directories on destination if set
  22741. .IP \[bu] 2
  22742. deleteEmptySrcDirs - delete empty src directories if set
  22743. .PP
  22744. See the move (https://rclone.org/commands/rclone_move/) command for more
  22745. information on the above.
  22746. .PP
  22747. \f[B]Authentication is required for this call.\f[R]
  22748. .SS sync/sync: sync a directory from source remote to destination remote
  22749. .PP
  22750. This takes the following parameters:
  22751. .IP \[bu] 2
  22752. srcFs - a remote name string e.g.
  22753. \[dq]drive:src\[dq] for the source
  22754. .IP \[bu] 2
  22755. dstFs - a remote name string e.g.
  22756. \[dq]drive:dst\[dq] for the destination
  22757. .IP \[bu] 2
  22758. createEmptySrcDirs - create empty src directories on destination if set
  22759. .PP
  22760. See the sync (https://rclone.org/commands/rclone_sync/) command for more
  22761. information on the above.
  22762. .PP
  22763. \f[B]Authentication is required for this call.\f[R]
  22764. .SS vfs/forget: Forget files or directories in the directory cache.
  22765. .PP
  22766. This forgets the paths in the directory cache causing them to be re-read
  22767. from the remote when needed.
  22768. .PP
  22769. If no paths are passed in then it will forget all the paths in the
  22770. directory cache.
  22771. .IP
  22772. .nf
  22773. \f[C]
  22774. rclone rc vfs/forget
  22775. \f[R]
  22776. .fi
  22777. .PP
  22778. Otherwise pass files or dirs in as file=path or dir=path.
  22779. Any parameter key starting with file will forget that file and any
  22780. starting with dir will forget that dir, e.g.
  22781. .IP
  22782. .nf
  22783. \f[C]
  22784. rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
  22785. \f[R]
  22786. .fi
  22787. .PP
  22788. This command takes an \[dq]fs\[dq] parameter.
  22789. If this parameter is not supplied and if there is only one VFS in use
  22790. then that VFS will be used.
  22791. If there is more than one VFS in use then the \[dq]fs\[dq] parameter
  22792. must be supplied.
  22793. .SS vfs/list: List active VFSes.
  22794. .PP
  22795. This lists the active VFSes.
  22796. .PP
  22797. It returns a list under the key \[dq]vfses\[dq] where the values are the
  22798. VFS names that could be passed to the other VFS commands in the
  22799. \[dq]fs\[dq] parameter.
  22800. .SS vfs/poll-interval: Get the status or update the value of the poll-interval option.
  22801. .PP
  22802. Without any parameter given this returns the current status of the
  22803. poll-interval setting.
  22804. .PP
  22805. When the interval=duration parameter is set, the poll-interval value is
  22806. updated and the polling function is notified.
  22807. Setting interval=0 disables poll-interval.
  22808. .IP
  22809. .nf
  22810. \f[C]
  22811. rclone rc vfs/poll-interval interval=5m
  22812. \f[R]
  22813. .fi
  22814. .PP
  22815. The timeout=duration parameter can be used to specify a time to wait for
  22816. the current poll function to apply the new value.
  22817. If timeout is less or equal 0, which is the default, wait indefinitely.
  22818. .PP
  22819. The new poll-interval value will only be active when the timeout is not
  22820. reached.
  22821. .PP
  22822. If poll-interval is updated or disabled temporarily, some changes might
  22823. not get picked up by the polling function, depending on the used remote.
  22824. .PP
  22825. This command takes an \[dq]fs\[dq] parameter.
  22826. If this parameter is not supplied and if there is only one VFS in use
  22827. then that VFS will be used.
  22828. If there is more than one VFS in use then the \[dq]fs\[dq] parameter
  22829. must be supplied.
  22830. .SS vfs/refresh: Refresh the directory cache.
  22831. .PP
  22832. This reads the directories for the specified paths and freshens the
  22833. directory cache.
  22834. .PP
  22835. If no paths are passed in then it will refresh the root directory.
  22836. .IP
  22837. .nf
  22838. \f[C]
  22839. rclone rc vfs/refresh
  22840. \f[R]
  22841. .fi
  22842. .PP
  22843. Otherwise pass directories in as dir=path.
  22844. Any parameter key starting with dir will refresh that directory, e.g.
  22845. .IP
  22846. .nf
  22847. \f[C]
  22848. rclone rc vfs/refresh dir=home/junk dir2=data/misc
  22849. \f[R]
  22850. .fi
  22851. .PP
  22852. If the parameter recursive=true is given the whole directory tree will
  22853. get refreshed.
  22854. This refresh will use --fast-list if enabled.
  22855. .PP
  22856. This command takes an \[dq]fs\[dq] parameter.
  22857. If this parameter is not supplied and if there is only one VFS in use
  22858. then that VFS will be used.
  22859. If there is more than one VFS in use then the \[dq]fs\[dq] parameter
  22860. must be supplied.
  22861. .SS vfs/stats: Stats for a VFS.
  22862. .PP
  22863. This returns stats for the selected VFS.
  22864. .IP
  22865. .nf
  22866. \f[C]
  22867. {
  22868. // Status of the disk cache - only present if --vfs-cache-mode > off
  22869. \[dq]diskCache\[dq]: {
  22870. \[dq]bytesUsed\[dq]: 0,
  22871. \[dq]erroredFiles\[dq]: 0,
  22872. \[dq]files\[dq]: 0,
  22873. \[dq]hashType\[dq]: 1,
  22874. \[dq]outOfSpace\[dq]: false,
  22875. \[dq]path\[dq]: \[dq]/home/user/.cache/rclone/vfs/local/mnt/a\[dq],
  22876. \[dq]pathMeta\[dq]: \[dq]/home/user/.cache/rclone/vfsMeta/local/mnt/a\[dq],
  22877. \[dq]uploadsInProgress\[dq]: 0,
  22878. \[dq]uploadsQueued\[dq]: 0
  22879. },
  22880. \[dq]fs\[dq]: \[dq]/mnt/a\[dq],
  22881. \[dq]inUse\[dq]: 1,
  22882. // Status of the in memory metadata cache
  22883. \[dq]metadataCache\[dq]: {
  22884. \[dq]dirs\[dq]: 1,
  22885. \[dq]files\[dq]: 0
  22886. },
  22887. // Options as returned by options/get
  22888. \[dq]opt\[dq]: {
  22889. \[dq]CacheMaxAge\[dq]: 3600000000000,
  22890. // ...
  22891. \[dq]WriteWait\[dq]: 1000000000
  22892. }
  22893. }
  22894. \f[R]
  22895. .fi
  22896. .PP
  22897. This command takes an \[dq]fs\[dq] parameter.
  22898. If this parameter is not supplied and if there is only one VFS in use
  22899. then that VFS will be used.
  22900. If there is more than one VFS in use then the \[dq]fs\[dq] parameter
  22901. must be supplied.
  22902. .SS Accessing the remote control via HTTP
  22903. .PP
  22904. Rclone implements a simple HTTP based protocol.
  22905. .PP
  22906. Each endpoint takes an JSON object and returns a JSON object or an
  22907. error.
  22908. The JSON objects are essentially a map of string names to values.
  22909. .PP
  22910. All calls must made using POST.
  22911. .PP
  22912. The input objects can be supplied using URL parameters, POST parameters
  22913. or by supplying \[dq]Content-Type: application/json\[dq] and a JSON blob
  22914. in the body.
  22915. There are examples of these below using \f[C]curl\f[R].
  22916. .PP
  22917. The response will be a JSON blob in the body of the response.
  22918. This is formatted to be reasonably human-readable.
  22919. .SS Error returns
  22920. .PP
  22921. If an error occurs then there will be an HTTP error status (e.g.
  22922. 500) and the body of the response will contain a JSON encoded error
  22923. object, e.g.
  22924. .IP
  22925. .nf
  22926. \f[C]
  22927. {
  22928. \[dq]error\[dq]: \[dq]Expecting string value for key \[rs]\[dq]remote\[rs]\[dq] (was float64)\[dq],
  22929. \[dq]input\[dq]: {
  22930. \[dq]fs\[dq]: \[dq]/tmp\[dq],
  22931. \[dq]remote\[dq]: 3
  22932. },
  22933. \[dq]status\[dq]: 400
  22934. \[dq]path\[dq]: \[dq]operations/rmdir\[dq],
  22935. }
  22936. \f[R]
  22937. .fi
  22938. .PP
  22939. The keys in the error response are - error - error string - input - the
  22940. input parameters to the call - status - the HTTP status code - path -
  22941. the path of the call
  22942. .SS CORS
  22943. .PP
  22944. The sever implements basic CORS support and allows all origins for that.
  22945. The response to a preflight OPTIONS request will echo the requested
  22946. \[dq]Access-Control-Request-Headers\[dq] back.
  22947. .SS Using POST with URL parameters only
  22948. .IP
  22949. .nf
  22950. \f[C]
  22951. curl -X POST \[aq]http://localhost:5572/rc/noop?potato=1&sausage=2\[aq]
  22952. \f[R]
  22953. .fi
  22954. .PP
  22955. Response
  22956. .IP
  22957. .nf
  22958. \f[C]
  22959. {
  22960. \[dq]potato\[dq]: \[dq]1\[dq],
  22961. \[dq]sausage\[dq]: \[dq]2\[dq]
  22962. }
  22963. \f[R]
  22964. .fi
  22965. .PP
  22966. Here is what an error response looks like:
  22967. .IP
  22968. .nf
  22969. \f[C]
  22970. curl -X POST \[aq]http://localhost:5572/rc/error?potato=1&sausage=2\[aq]
  22971. \f[R]
  22972. .fi
  22973. .IP
  22974. .nf
  22975. \f[C]
  22976. {
  22977. \[dq]error\[dq]: \[dq]arbitrary error on input map[potato:1 sausage:2]\[dq],
  22978. \[dq]input\[dq]: {
  22979. \[dq]potato\[dq]: \[dq]1\[dq],
  22980. \[dq]sausage\[dq]: \[dq]2\[dq]
  22981. }
  22982. }
  22983. \f[R]
  22984. .fi
  22985. .PP
  22986. Note that curl doesn\[aq]t return errors to the shell unless you use the
  22987. \f[C]-f\f[R] option
  22988. .IP
  22989. .nf
  22990. \f[C]
  22991. $ curl -f -X POST \[aq]http://localhost:5572/rc/error?potato=1&sausage=2\[aq]
  22992. curl: (22) The requested URL returned error: 400 Bad Request
  22993. $ echo $?
  22994. 22
  22995. \f[R]
  22996. .fi
  22997. .SS Using POST with a form
  22998. .IP
  22999. .nf
  23000. \f[C]
  23001. curl --data \[dq]potato=1\[dq] --data \[dq]sausage=2\[dq] http://localhost:5572/rc/noop
  23002. \f[R]
  23003. .fi
  23004. .PP
  23005. Response
  23006. .IP
  23007. .nf
  23008. \f[C]
  23009. {
  23010. \[dq]potato\[dq]: \[dq]1\[dq],
  23011. \[dq]sausage\[dq]: \[dq]2\[dq]
  23012. }
  23013. \f[R]
  23014. .fi
  23015. .PP
  23016. Note that you can combine these with URL parameters too with the POST
  23017. parameters taking precedence.
  23018. .IP
  23019. .nf
  23020. \f[C]
  23021. curl --data \[dq]potato=1\[dq] --data \[dq]sausage=2\[dq] \[dq]http://localhost:5572/rc/noop?rutabaga=3&sausage=4\[dq]
  23022. \f[R]
  23023. .fi
  23024. .PP
  23025. Response
  23026. .IP
  23027. .nf
  23028. \f[C]
  23029. {
  23030. \[dq]potato\[dq]: \[dq]1\[dq],
  23031. \[dq]rutabaga\[dq]: \[dq]3\[dq],
  23032. \[dq]sausage\[dq]: \[dq]4\[dq]
  23033. }
  23034. \f[R]
  23035. .fi
  23036. .SS Using POST with a JSON blob
  23037. .IP
  23038. .nf
  23039. \f[C]
  23040. curl -H \[dq]Content-Type: application/json\[dq] -X POST -d \[aq]{\[dq]potato\[dq]:2,\[dq]sausage\[dq]:1}\[aq] http://localhost:5572/rc/noop
  23041. \f[R]
  23042. .fi
  23043. .PP
  23044. response
  23045. .IP
  23046. .nf
  23047. \f[C]
  23048. {
  23049. \[dq]password\[dq]: \[dq]xyz\[dq],
  23050. \[dq]username\[dq]: \[dq]xyz\[dq]
  23051. }
  23052. \f[R]
  23053. .fi
  23054. .PP
  23055. This can be combined with URL parameters too if required.
  23056. The JSON blob takes precedence.
  23057. .IP
  23058. .nf
  23059. \f[C]
  23060. curl -H \[dq]Content-Type: application/json\[dq] -X POST -d \[aq]{\[dq]potato\[dq]:2,\[dq]sausage\[dq]:1}\[aq] \[aq]http://localhost:5572/rc/noop?rutabaga=3&potato=4\[aq]
  23061. \f[R]
  23062. .fi
  23063. .IP
  23064. .nf
  23065. \f[C]
  23066. {
  23067. \[dq]potato\[dq]: 2,
  23068. \[dq]rutabaga\[dq]: \[dq]3\[dq],
  23069. \[dq]sausage\[dq]: 1
  23070. }
  23071. \f[R]
  23072. .fi
  23073. .SS Debugging rclone with pprof
  23074. .PP
  23075. If you use the \f[C]--rc\f[R] flag this will also enable the use of the
  23076. go profiling tools on the same port.
  23077. .PP
  23078. To use these, first install go (https://golang.org/doc/install).
  23079. .SS Debugging memory use
  23080. .PP
  23081. To profile rclone\[aq]s memory use you can run:
  23082. .IP
  23083. .nf
  23084. \f[C]
  23085. go tool pprof -web http://localhost:5572/debug/pprof/heap
  23086. \f[R]
  23087. .fi
  23088. .PP
  23089. This should open a page in your browser showing what is using what
  23090. memory.
  23091. .PP
  23092. You can also use the \f[C]-text\f[R] flag to produce a textual summary
  23093. .IP
  23094. .nf
  23095. \f[C]
  23096. $ go tool pprof -text http://localhost:5572/debug/pprof/heap
  23097. Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
  23098. flat flat% sum% cum cum%
  23099. 1024.03kB 66.62% 66.62% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
  23100. 513kB 33.38% 100% 513kB 33.38% net/http.newBufioWriterSize
  23101. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/all.init
  23102. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve.init
  23103. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve/restic.init
  23104. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2.init
  23105. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init
  23106. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0
  23107. 0 0% 100% 1024.03kB 66.62% main.init
  23108. 0 0% 100% 513kB 33.38% net/http.(*conn).readRequest
  23109. 0 0% 100% 513kB 33.38% net/http.(*conn).serve
  23110. 0 0% 100% 1024.03kB 66.62% runtime.main
  23111. \f[R]
  23112. .fi
  23113. .SS Debugging go routine leaks
  23114. .PP
  23115. Memory leaks are most often caused by go routine leaks keeping memory
  23116. alive which should have been garbage collected.
  23117. .PP
  23118. See all active go routines using
  23119. .IP
  23120. .nf
  23121. \f[C]
  23122. curl http://localhost:5572/debug/pprof/goroutine?debug=1
  23123. \f[R]
  23124. .fi
  23125. .PP
  23126. Or go to http://localhost:5572/debug/pprof/goroutine?debug=1 in your
  23127. browser.
  23128. .SS Other profiles to look at
  23129. .PP
  23130. You can see a summary of profiles available at
  23131. http://localhost:5572/debug/pprof/
  23132. .PP
  23133. Here is how to use some of them:
  23134. .IP \[bu] 2
  23135. Memory: \f[C]go tool pprof http://localhost:5572/debug/pprof/heap\f[R]
  23136. .IP \[bu] 2
  23137. Go routines:
  23138. \f[C]curl http://localhost:5572/debug/pprof/goroutine?debug=1\f[R]
  23139. .IP \[bu] 2
  23140. 30-second CPU profile:
  23141. \f[C]go tool pprof http://localhost:5572/debug/pprof/profile\f[R]
  23142. .IP \[bu] 2
  23143. 5-second execution trace:
  23144. \f[C]wget http://localhost:5572/debug/pprof/trace?seconds=5\f[R]
  23145. .IP \[bu] 2
  23146. Goroutine blocking profile
  23147. .RS 2
  23148. .IP \[bu] 2
  23149. Enable first with:
  23150. \f[C]rclone rc debug/set-block-profile-rate rate=1\f[R] (docs)
  23151. .IP \[bu] 2
  23152. \f[C]go tool pprof http://localhost:5572/debug/pprof/block\f[R]
  23153. .RE
  23154. .IP \[bu] 2
  23155. Contended mutexes:
  23156. .RS 2
  23157. .IP \[bu] 2
  23158. Enable first with:
  23159. \f[C]rclone rc debug/set-mutex-profile-fraction rate=1\f[R] (docs)
  23160. .IP \[bu] 2
  23161. \f[C]go tool pprof http://localhost:5572/debug/pprof/mutex\f[R]
  23162. .RE
  23163. .PP
  23164. See the net/http/pprof docs (https://golang.org/pkg/net/http/pprof/) for
  23165. more info on how to use the profiling and for a general overview see the
  23166. Go team\[aq]s blog post on profiling go
  23167. programs (https://blog.golang.org/profiling-go-programs).
  23168. .PP
  23169. The profiling hook is zero overhead unless it is
  23170. used (https://stackoverflow.com/q/26545159/164234).
  23171. .SH Overview of cloud storage systems
  23172. .PP
  23173. Each cloud storage system is slightly different.
  23174. Rclone attempts to provide a unified interface to them, but some
  23175. underlying differences show through.
  23176. .SS Features
  23177. .PP
  23178. Here is an overview of the major features of each cloud storage system.
  23179. .PP
  23180. .TS
  23181. tab(@);
  23182. l c c c c c c.
  23183. T{
  23184. Name
  23185. T}@T{
  23186. Hash
  23187. T}@T{
  23188. ModTime
  23189. T}@T{
  23190. Case Insensitive
  23191. T}@T{
  23192. Duplicate Files
  23193. T}@T{
  23194. MIME Type
  23195. T}@T{
  23196. Metadata
  23197. T}
  23198. _
  23199. T{
  23200. 1Fichier
  23201. T}@T{
  23202. Whirlpool
  23203. T}@T{
  23204. -
  23205. T}@T{
  23206. No
  23207. T}@T{
  23208. Yes
  23209. T}@T{
  23210. R
  23211. T}@T{
  23212. -
  23213. T}
  23214. T{
  23215. Akamai Netstorage
  23216. T}@T{
  23217. MD5, SHA256
  23218. T}@T{
  23219. R/W
  23220. T}@T{
  23221. No
  23222. T}@T{
  23223. No
  23224. T}@T{
  23225. R
  23226. T}@T{
  23227. -
  23228. T}
  23229. T{
  23230. Amazon S3 (or S3 compatible)
  23231. T}@T{
  23232. MD5
  23233. T}@T{
  23234. R/W
  23235. T}@T{
  23236. No
  23237. T}@T{
  23238. No
  23239. T}@T{
  23240. R/W
  23241. T}@T{
  23242. RWU
  23243. T}
  23244. T{
  23245. Backblaze B2
  23246. T}@T{
  23247. SHA1
  23248. T}@T{
  23249. R/W
  23250. T}@T{
  23251. No
  23252. T}@T{
  23253. No
  23254. T}@T{
  23255. R/W
  23256. T}@T{
  23257. -
  23258. T}
  23259. T{
  23260. Box
  23261. T}@T{
  23262. SHA1
  23263. T}@T{
  23264. R/W
  23265. T}@T{
  23266. Yes
  23267. T}@T{
  23268. No
  23269. T}@T{
  23270. -
  23271. T}@T{
  23272. -
  23273. T}
  23274. T{
  23275. Citrix ShareFile
  23276. T}@T{
  23277. MD5
  23278. T}@T{
  23279. R/W
  23280. T}@T{
  23281. Yes
  23282. T}@T{
  23283. No
  23284. T}@T{
  23285. -
  23286. T}@T{
  23287. -
  23288. T}
  23289. T{
  23290. Dropbox
  23291. T}@T{
  23292. DBHASH \[S1]
  23293. T}@T{
  23294. R
  23295. T}@T{
  23296. Yes
  23297. T}@T{
  23298. No
  23299. T}@T{
  23300. -
  23301. T}@T{
  23302. -
  23303. T}
  23304. T{
  23305. Enterprise File Fabric
  23306. T}@T{
  23307. -
  23308. T}@T{
  23309. R/W
  23310. T}@T{
  23311. Yes
  23312. T}@T{
  23313. No
  23314. T}@T{
  23315. R/W
  23316. T}@T{
  23317. -
  23318. T}
  23319. T{
  23320. FTP
  23321. T}@T{
  23322. -
  23323. T}@T{
  23324. R/W \[S1]\[u2070]
  23325. T}@T{
  23326. No
  23327. T}@T{
  23328. No
  23329. T}@T{
  23330. -
  23331. T}@T{
  23332. -
  23333. T}
  23334. T{
  23335. Google Cloud Storage
  23336. T}@T{
  23337. MD5
  23338. T}@T{
  23339. R/W
  23340. T}@T{
  23341. No
  23342. T}@T{
  23343. No
  23344. T}@T{
  23345. R/W
  23346. T}@T{
  23347. -
  23348. T}
  23349. T{
  23350. Google Drive
  23351. T}@T{
  23352. MD5, SHA1, SHA256
  23353. T}@T{
  23354. DR/W
  23355. T}@T{
  23356. No
  23357. T}@T{
  23358. Yes
  23359. T}@T{
  23360. R/W
  23361. T}@T{
  23362. DRWU
  23363. T}
  23364. T{
  23365. Google Photos
  23366. T}@T{
  23367. -
  23368. T}@T{
  23369. -
  23370. T}@T{
  23371. No
  23372. T}@T{
  23373. Yes
  23374. T}@T{
  23375. R
  23376. T}@T{
  23377. -
  23378. T}
  23379. T{
  23380. HDFS
  23381. T}@T{
  23382. -
  23383. T}@T{
  23384. R/W
  23385. T}@T{
  23386. No
  23387. T}@T{
  23388. No
  23389. T}@T{
  23390. -
  23391. T}@T{
  23392. -
  23393. T}
  23394. T{
  23395. HiDrive
  23396. T}@T{
  23397. HiDrive \[S1]\[S2]
  23398. T}@T{
  23399. R/W
  23400. T}@T{
  23401. No
  23402. T}@T{
  23403. No
  23404. T}@T{
  23405. -
  23406. T}@T{
  23407. -
  23408. T}
  23409. T{
  23410. HTTP
  23411. T}@T{
  23412. -
  23413. T}@T{
  23414. R
  23415. T}@T{
  23416. No
  23417. T}@T{
  23418. No
  23419. T}@T{
  23420. R
  23421. T}@T{
  23422. -
  23423. T}
  23424. T{
  23425. Internet Archive
  23426. T}@T{
  23427. MD5, SHA1, CRC32
  23428. T}@T{
  23429. R/W \[S1]\[S1]
  23430. T}@T{
  23431. No
  23432. T}@T{
  23433. No
  23434. T}@T{
  23435. -
  23436. T}@T{
  23437. RWU
  23438. T}
  23439. T{
  23440. Jottacloud
  23441. T}@T{
  23442. MD5
  23443. T}@T{
  23444. R/W
  23445. T}@T{
  23446. Yes
  23447. T}@T{
  23448. No
  23449. T}@T{
  23450. R
  23451. T}@T{
  23452. RW
  23453. T}
  23454. T{
  23455. Koofr
  23456. T}@T{
  23457. MD5
  23458. T}@T{
  23459. -
  23460. T}@T{
  23461. Yes
  23462. T}@T{
  23463. No
  23464. T}@T{
  23465. -
  23466. T}@T{
  23467. -
  23468. T}
  23469. T{
  23470. Linkbox
  23471. T}@T{
  23472. -
  23473. T}@T{
  23474. R
  23475. T}@T{
  23476. No
  23477. T}@T{
  23478. No
  23479. T}@T{
  23480. -
  23481. T}@T{
  23482. -
  23483. T}
  23484. T{
  23485. Mail.ru Cloud
  23486. T}@T{
  23487. Mailru \[u2076]
  23488. T}@T{
  23489. R/W
  23490. T}@T{
  23491. Yes
  23492. T}@T{
  23493. No
  23494. T}@T{
  23495. -
  23496. T}@T{
  23497. -
  23498. T}
  23499. T{
  23500. Mega
  23501. T}@T{
  23502. -
  23503. T}@T{
  23504. -
  23505. T}@T{
  23506. No
  23507. T}@T{
  23508. Yes
  23509. T}@T{
  23510. -
  23511. T}@T{
  23512. -
  23513. T}
  23514. T{
  23515. Memory
  23516. T}@T{
  23517. MD5
  23518. T}@T{
  23519. R/W
  23520. T}@T{
  23521. No
  23522. T}@T{
  23523. No
  23524. T}@T{
  23525. -
  23526. T}@T{
  23527. -
  23528. T}
  23529. T{
  23530. Microsoft Azure Blob Storage
  23531. T}@T{
  23532. MD5
  23533. T}@T{
  23534. R/W
  23535. T}@T{
  23536. No
  23537. T}@T{
  23538. No
  23539. T}@T{
  23540. R/W
  23541. T}@T{
  23542. -
  23543. T}
  23544. T{
  23545. Microsoft Azure Files Storage
  23546. T}@T{
  23547. MD5
  23548. T}@T{
  23549. R/W
  23550. T}@T{
  23551. Yes
  23552. T}@T{
  23553. No
  23554. T}@T{
  23555. R/W
  23556. T}@T{
  23557. -
  23558. T}
  23559. T{
  23560. Microsoft OneDrive
  23561. T}@T{
  23562. QuickXorHash \[u2075]
  23563. T}@T{
  23564. DR/W
  23565. T}@T{
  23566. Yes
  23567. T}@T{
  23568. No
  23569. T}@T{
  23570. R
  23571. T}@T{
  23572. DRW
  23573. T}
  23574. T{
  23575. OpenDrive
  23576. T}@T{
  23577. MD5
  23578. T}@T{
  23579. R/W
  23580. T}@T{
  23581. Yes
  23582. T}@T{
  23583. Partial \[u2078]
  23584. T}@T{
  23585. -
  23586. T}@T{
  23587. -
  23588. T}
  23589. T{
  23590. OpenStack Swift
  23591. T}@T{
  23592. MD5
  23593. T}@T{
  23594. R/W
  23595. T}@T{
  23596. No
  23597. T}@T{
  23598. No
  23599. T}@T{
  23600. R/W
  23601. T}@T{
  23602. -
  23603. T}
  23604. T{
  23605. Oracle Object Storage
  23606. T}@T{
  23607. MD5
  23608. T}@T{
  23609. R/W
  23610. T}@T{
  23611. No
  23612. T}@T{
  23613. No
  23614. T}@T{
  23615. R/W
  23616. T}@T{
  23617. -
  23618. T}
  23619. T{
  23620. pCloud
  23621. T}@T{
  23622. MD5, SHA1 \[u2077]
  23623. T}@T{
  23624. R
  23625. T}@T{
  23626. No
  23627. T}@T{
  23628. No
  23629. T}@T{
  23630. W
  23631. T}@T{
  23632. -
  23633. T}
  23634. T{
  23635. PikPak
  23636. T}@T{
  23637. MD5
  23638. T}@T{
  23639. R
  23640. T}@T{
  23641. No
  23642. T}@T{
  23643. No
  23644. T}@T{
  23645. R
  23646. T}@T{
  23647. -
  23648. T}
  23649. T{
  23650. premiumize.me
  23651. T}@T{
  23652. -
  23653. T}@T{
  23654. -
  23655. T}@T{
  23656. Yes
  23657. T}@T{
  23658. No
  23659. T}@T{
  23660. R
  23661. T}@T{
  23662. -
  23663. T}
  23664. T{
  23665. put.io
  23666. T}@T{
  23667. CRC-32
  23668. T}@T{
  23669. R/W
  23670. T}@T{
  23671. No
  23672. T}@T{
  23673. Yes
  23674. T}@T{
  23675. R
  23676. T}@T{
  23677. -
  23678. T}
  23679. T{
  23680. Proton Drive
  23681. T}@T{
  23682. SHA1
  23683. T}@T{
  23684. R/W
  23685. T}@T{
  23686. No
  23687. T}@T{
  23688. No
  23689. T}@T{
  23690. R
  23691. T}@T{
  23692. -
  23693. T}
  23694. T{
  23695. QingStor
  23696. T}@T{
  23697. MD5
  23698. T}@T{
  23699. - \[u2079]
  23700. T}@T{
  23701. No
  23702. T}@T{
  23703. No
  23704. T}@T{
  23705. R/W
  23706. T}@T{
  23707. -
  23708. T}
  23709. T{
  23710. Quatrix by Maytech
  23711. T}@T{
  23712. -
  23713. T}@T{
  23714. R/W
  23715. T}@T{
  23716. No
  23717. T}@T{
  23718. No
  23719. T}@T{
  23720. -
  23721. T}@T{
  23722. -
  23723. T}
  23724. T{
  23725. Seafile
  23726. T}@T{
  23727. -
  23728. T}@T{
  23729. -
  23730. T}@T{
  23731. No
  23732. T}@T{
  23733. No
  23734. T}@T{
  23735. -
  23736. T}@T{
  23737. -
  23738. T}
  23739. T{
  23740. SFTP
  23741. T}@T{
  23742. MD5, SHA1 \[S2]
  23743. T}@T{
  23744. DR/W
  23745. T}@T{
  23746. Depends
  23747. T}@T{
  23748. No
  23749. T}@T{
  23750. -
  23751. T}@T{
  23752. -
  23753. T}
  23754. T{
  23755. Sia
  23756. T}@T{
  23757. -
  23758. T}@T{
  23759. -
  23760. T}@T{
  23761. No
  23762. T}@T{
  23763. No
  23764. T}@T{
  23765. -
  23766. T}@T{
  23767. -
  23768. T}
  23769. T{
  23770. SMB
  23771. T}@T{
  23772. -
  23773. T}@T{
  23774. R/W
  23775. T}@T{
  23776. Yes
  23777. T}@T{
  23778. No
  23779. T}@T{
  23780. -
  23781. T}@T{
  23782. -
  23783. T}
  23784. T{
  23785. SugarSync
  23786. T}@T{
  23787. -
  23788. T}@T{
  23789. -
  23790. T}@T{
  23791. No
  23792. T}@T{
  23793. No
  23794. T}@T{
  23795. -
  23796. T}@T{
  23797. -
  23798. T}
  23799. T{
  23800. Storj
  23801. T}@T{
  23802. -
  23803. T}@T{
  23804. R
  23805. T}@T{
  23806. No
  23807. T}@T{
  23808. No
  23809. T}@T{
  23810. -
  23811. T}@T{
  23812. -
  23813. T}
  23814. T{
  23815. Uptobox
  23816. T}@T{
  23817. -
  23818. T}@T{
  23819. -
  23820. T}@T{
  23821. No
  23822. T}@T{
  23823. Yes
  23824. T}@T{
  23825. -
  23826. T}@T{
  23827. -
  23828. T}
  23829. T{
  23830. WebDAV
  23831. T}@T{
  23832. MD5, SHA1 \[S3]
  23833. T}@T{
  23834. R \[u2074]
  23835. T}@T{
  23836. Depends
  23837. T}@T{
  23838. No
  23839. T}@T{
  23840. -
  23841. T}@T{
  23842. -
  23843. T}
  23844. T{
  23845. Yandex Disk
  23846. T}@T{
  23847. MD5
  23848. T}@T{
  23849. R/W
  23850. T}@T{
  23851. No
  23852. T}@T{
  23853. No
  23854. T}@T{
  23855. R
  23856. T}@T{
  23857. -
  23858. T}
  23859. T{
  23860. Zoho WorkDrive
  23861. T}@T{
  23862. -
  23863. T}@T{
  23864. -
  23865. T}@T{
  23866. No
  23867. T}@T{
  23868. No
  23869. T}@T{
  23870. -
  23871. T}@T{
  23872. -
  23873. T}
  23874. T{
  23875. The local filesystem
  23876. T}@T{
  23877. All
  23878. T}@T{
  23879. DR/W
  23880. T}@T{
  23881. Depends
  23882. T}@T{
  23883. No
  23884. T}@T{
  23885. -
  23886. T}@T{
  23887. DRWU
  23888. T}
  23889. .TE
  23890. .PP
  23891. \[S1] Dropbox supports its own custom
  23892. hash (https://www.dropbox.com/developers/reference/content-hash).
  23893. This is an SHA256 sum of all the 4 MiB block SHA256s.
  23894. .PP
  23895. \[S2] SFTP supports checksums if the same login has shell access and
  23896. \f[C]md5sum\f[R] or \f[C]sha1sum\f[R] as well as \f[C]echo\f[R] are in
  23897. the remote\[aq]s PATH.
  23898. .PP
  23899. \[S3] WebDAV supports hashes when used with Fastmail Files, Owncloud and
  23900. Nextcloud only.
  23901. .PP
  23902. \[u2074] WebDAV supports modtimes when used with Fastmail Files,
  23903. Owncloud and Nextcloud only.
  23904. .PP
  23905. \[u2075]
  23906. QuickXorHash (https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash)
  23907. is Microsoft\[aq]s own hash.
  23908. .PP
  23909. \[u2076] Mail.ru uses its own modified SHA1 hash
  23910. .PP
  23911. \[u2077] pCloud only supports SHA1 (not MD5) in its EU region
  23912. .PP
  23913. \[u2078] Opendrive does not support creation of duplicate files using
  23914. their web client interface or other stock clients, but the underlying
  23915. storage platform has been determined to allow duplicate files, and it is
  23916. possible to create them with \f[C]rclone\f[R].
  23917. It may be that this is a mistake or an unsupported feature.
  23918. .PP
  23919. \[u2079] QingStor does not support SetModTime for objects bigger than 5
  23920. GiB.
  23921. .PP
  23922. \[S1]\[u2070] FTP supports modtimes for the major FTP servers, and also
  23923. others if they advertised required protocol extensions.
  23924. See this (https://rclone.org/ftp/#modification-times) for more details.
  23925. .PP
  23926. \[S1]\[S1] Internet Archive requires option \f[C]wait_archive\f[R] to be
  23927. set to a non-zero value for full modtime support.
  23928. .PP
  23929. \[S1]\[S2] HiDrive supports its own custom
  23930. hash (https://static.hidrive.com/dev/0001).
  23931. It combines SHA1 sums for each 4 KiB block hierarchically to a single
  23932. top-level sum.
  23933. .SS Hash
  23934. .PP
  23935. The cloud storage system supports various hash types of the objects.
  23936. The hashes are used when transferring data as an integrity check and can
  23937. be specifically used with the \f[C]--checksum\f[R] flag in syncs and in
  23938. the \f[C]check\f[R] command.
  23939. .PP
  23940. To use the verify checksums when transferring between cloud storage
  23941. systems they must support a common hash type.
  23942. .SS ModTime
  23943. .PP
  23944. Almost all cloud storage systems store some sort of timestamp on
  23945. objects, but several of them not something that is appropriate to use
  23946. for syncing.
  23947. E.g.
  23948. some backends will only write a timestamp that represents the time of
  23949. the upload.
  23950. To be relevant for syncing it should be able to store the modification
  23951. time of the source object.
  23952. If this is not the case, rclone will only check the file size by
  23953. default, though can be configured to check the file hash (with the
  23954. \f[C]--checksum\f[R] flag).
  23955. Ideally it should also be possible to change the timestamp of an
  23956. existing file without having to re-upload it.
  23957. .PP
  23958. .TS
  23959. tab(@);
  23960. lw(19.4n) lw(50.6n).
  23961. T{
  23962. Key
  23963. T}@T{
  23964. Explanation
  23965. T}
  23966. _
  23967. T{
  23968. \f[C]-\f[R]
  23969. T}@T{
  23970. ModTimes not supported - times likely the upload time
  23971. T}
  23972. T{
  23973. \f[C]R\f[R]
  23974. T}@T{
  23975. ModTimes supported on files but can\[aq]t be changed without re-upload
  23976. T}
  23977. T{
  23978. \f[C]R/W\f[R]
  23979. T}@T{
  23980. Read and Write ModTimes fully supported on files
  23981. T}
  23982. T{
  23983. \f[C]DR\f[R]
  23984. T}@T{
  23985. ModTimes supported on files and directories but can\[aq]t be changed
  23986. without re-upload
  23987. T}
  23988. T{
  23989. \f[C]DR/W\f[R]
  23990. T}@T{
  23991. Read and Write ModTimes fully supported on files and directories
  23992. T}
  23993. .TE
  23994. .PP
  23995. Storage systems with a \f[C]-\f[R] in the ModTime column, means the
  23996. modification read on objects is not the modification time of the file
  23997. when uploaded.
  23998. It is most likely the time the file was uploaded, or possibly something
  23999. else (like the time the picture was taken in Google Photos).
  24000. .PP
  24001. Storage systems with a \f[C]R\f[R] (for read-only) in the ModTime
  24002. column, means the it keeps modification times on objects, and updates
  24003. them when uploading objects, but it does not support changing only the
  24004. modification time (\f[C]SetModTime\f[R] operation) without re-uploading,
  24005. possibly not even without deleting existing first.
  24006. Some operations in rclone, such as \f[C]copy\f[R] and \f[C]sync\f[R]
  24007. commands, will automatically check for \f[C]SetModTime\f[R] support and
  24008. re-upload if necessary to keep the modification times in sync.
  24009. Other commands will not work without \f[C]SetModTime\f[R] support, e.g.
  24010. \f[C]touch\f[R] command on an existing file will fail, and changes to
  24011. modification time only on a files in a \f[C]mount\f[R] will be silently
  24012. ignored.
  24013. .PP
  24014. Storage systems with \f[C]R/W\f[R] (for read/write) in the ModTime
  24015. column, means they do also support modtime-only operations.
  24016. .PP
  24017. Storage systems with \f[C]D\f[R] in the ModTime column means that the
  24018. following symbols apply to directories as well as files.
  24019. .SS Case Insensitive
  24020. .PP
  24021. If a cloud storage systems is case sensitive then it is possible to have
  24022. two files which differ only in case, e.g.
  24023. \f[C]file.txt\f[R] and \f[C]FILE.txt\f[R].
  24024. If a cloud storage system is case insensitive then that isn\[aq]t
  24025. possible.
  24026. .PP
  24027. This can cause problems when syncing between a case insensitive system
  24028. and a case sensitive system.
  24029. The symptom of this is that no matter how many times you run the sync it
  24030. never completes fully.
  24031. .PP
  24032. The local filesystem and SFTP may or may not be case sensitive depending
  24033. on OS.
  24034. .IP \[bu] 2
  24035. Windows - usually case insensitive, though case is preserved
  24036. .IP \[bu] 2
  24037. OSX - usually case insensitive, though it is possible to format case
  24038. sensitive
  24039. .IP \[bu] 2
  24040. Linux - usually case sensitive, but there are case insensitive file
  24041. systems (e.g.
  24042. FAT formatted USB keys)
  24043. .PP
  24044. Most of the time this doesn\[aq]t cause any problems as people tend to
  24045. avoid files whose name differs only by case even on case sensitive
  24046. systems.
  24047. .SS Duplicate files
  24048. .PP
  24049. If a cloud storage system allows duplicate files then it can have two
  24050. objects with the same name.
  24051. .PP
  24052. This confuses rclone greatly when syncing - use the
  24053. \f[C]rclone dedupe\f[R] command to rename or remove duplicates.
  24054. .SS Restricted filenames
  24055. .PP
  24056. Some cloud storage systems might have restrictions on the characters
  24057. that are usable in file or directory names.
  24058. When \f[C]rclone\f[R] detects such a name during a file upload, it will
  24059. transparently replace the restricted characters with similar looking
  24060. Unicode characters.
  24061. To handle the different sets of restricted characters for different
  24062. backends, rclone uses something it calls encoding.
  24063. .PP
  24064. This process is designed to avoid ambiguous file names as much as
  24065. possible and allow to move files between many cloud storage systems
  24066. transparently.
  24067. .PP
  24068. The name shown by \f[C]rclone\f[R] to the user or during log output will
  24069. only contain a minimal set of replaced characters to ensure correct
  24070. formatting and not necessarily the actual name used on the cloud
  24071. storage.
  24072. .PP
  24073. This transformation is reversed when downloading a file or parsing
  24074. \f[C]rclone\f[R] arguments.
  24075. For example, when uploading a file named \f[C]my file?.txt\f[R] to
  24076. Onedrive, it will be displayed as \f[C]my file?.txt\f[R] on the console,
  24077. but stored as \f[C]my file\[uFF1F].txt\f[R] to Onedrive (the \f[C]?\f[R]
  24078. gets replaced by the similar looking \f[C]\[uFF1F]\f[R] character, the
  24079. so-called \[dq]fullwidth question mark\[dq]).
  24080. The reverse transformation allows to read a file
  24081. \f[C]unusual/name.txt\f[R] from Google Drive, by passing the name
  24082. \f[C]unusual\[uFF0F]name.txt\f[R] on the command line (the \f[C]/\f[R]
  24083. needs to be replaced by the similar looking \f[C]\[uFF0F]\f[R]
  24084. character).
  24085. .SS Caveats
  24086. .PP
  24087. The filename encoding system works well in most cases, at least where
  24088. file names are written in English or similar languages.
  24089. You might not even notice it: It just works.
  24090. In some cases it may lead to issues, though.
  24091. E.g.
  24092. when file names are written in Chinese, or Japanese, where it is always
  24093. the Unicode fullwidth variants of the punctuation marks that are used.
  24094. .PP
  24095. On Windows, the characters \f[C]:\f[R], \f[C]*\f[R] and \f[C]?\f[R] are
  24096. examples of restricted characters.
  24097. If these are used in filenames on a remote that supports it, Rclone will
  24098. transparently convert them to their fullwidth Unicode variants
  24099. \f[C]\[uFF0A]\f[R], \f[C]\[uFF1F]\f[R] and \f[C]\[uFF1A]\f[R] when
  24100. downloading to Windows, and back again when uploading.
  24101. This way files with names that are not allowed on Windows can still be
  24102. stored.
  24103. .PP
  24104. However, if you have files on your Windows system originally with these
  24105. same Unicode characters in their names, they will be included in the
  24106. same conversion process.
  24107. E.g.
  24108. if you create a file in your Windows filesystem with name
  24109. \f[C]Test\[uFF1A]1.jpg\f[R], where \f[C]\[uFF1A]\f[R] is the Unicode
  24110. fullwidth colon symbol, and use rclone to upload it to Google Drive,
  24111. which supports regular \f[C]:\f[R] (halfwidth question mark), rclone
  24112. will replace the fullwidth \f[C]:\f[R] with the halfwidth \f[C]:\f[R]
  24113. and store the file as \f[C]Test:1.jpg\f[R] in Google Drive.
  24114. Since both Windows and Google Drive allows the name
  24115. \f[C]Test\[uFF1A]1.jpg\f[R], it would probably be better if rclone just
  24116. kept the name as is in this case.
  24117. .PP
  24118. With the opposite situation; if you have a file named
  24119. \f[C]Test:1.jpg\f[R], in your Google Drive, e.g.
  24120. uploaded from a Linux system where \f[C]:\f[R] is valid in file names.
  24121. Then later use rclone to copy this file to your Windows computer you
  24122. will notice that on your local disk it gets renamed to
  24123. \f[C]Test\[uFF1A]1.jpg\f[R].
  24124. The original filename is not legal on Windows, due to the \f[C]:\f[R],
  24125. and rclone therefore renames it to make the copy possible.
  24126. That is all good.
  24127. However, this can also lead to an issue: If you already had a
  24128. \f[I]different\f[R] file named \f[C]Test\[uFF1A]1.jpg\f[R] on Windows,
  24129. and then use rclone to copy either way.
  24130. Rclone will then treat the file originally named \f[C]Test:1.jpg\f[R] on
  24131. Google Drive and the file originally named \f[C]Test\[uFF1A]1.jpg\f[R]
  24132. on Windows as the same file, and replace the contents from one with the
  24133. other.
  24134. .PP
  24135. Its virtually impossible to handle all cases like these correctly in all
  24136. situations, but by customizing the encoding option, changing the set of
  24137. characters that rclone should convert, you should be able to create a
  24138. configuration that works well for your specific situation.
  24139. See also the
  24140. example (https://rclone.org/overview/#encoding-example-windows) below.
  24141. .PP
  24142. (Windows was used as an example of a file system with many restricted
  24143. characters, and Google drive a storage system with few.)
  24144. .SS Default restricted characters
  24145. .PP
  24146. The table below shows the characters that are replaced by default.
  24147. .PP
  24148. When a replacement character is found in a filename, this character will
  24149. be escaped with the \f[C]\[u201B]\f[R] character to avoid ambiguous file
  24150. names.
  24151. (e.g.
  24152. a file named \f[C]\[u2400].txt\f[R] would shown as
  24153. \f[C]\[u201B]\[u2400].txt\f[R])
  24154. .PP
  24155. Each cloud storage backend can use a different set of characters, which
  24156. will be specified in the documentation for each backend.
  24157. .PP
  24158. .TS
  24159. tab(@);
  24160. l c c.
  24161. T{
  24162. Character
  24163. T}@T{
  24164. Value
  24165. T}@T{
  24166. Replacement
  24167. T}
  24168. _
  24169. T{
  24170. NUL
  24171. T}@T{
  24172. 0x00
  24173. T}@T{
  24174. \[u2400]
  24175. T}
  24176. T{
  24177. SOH
  24178. T}@T{
  24179. 0x01
  24180. T}@T{
  24181. \[u2401]
  24182. T}
  24183. T{
  24184. STX
  24185. T}@T{
  24186. 0x02
  24187. T}@T{
  24188. \[u2402]
  24189. T}
  24190. T{
  24191. ETX
  24192. T}@T{
  24193. 0x03
  24194. T}@T{
  24195. \[u2403]
  24196. T}
  24197. T{
  24198. EOT
  24199. T}@T{
  24200. 0x04
  24201. T}@T{
  24202. \[u2404]
  24203. T}
  24204. T{
  24205. ENQ
  24206. T}@T{
  24207. 0x05
  24208. T}@T{
  24209. \[u2405]
  24210. T}
  24211. T{
  24212. ACK
  24213. T}@T{
  24214. 0x06
  24215. T}@T{
  24216. \[u2406]
  24217. T}
  24218. T{
  24219. BEL
  24220. T}@T{
  24221. 0x07
  24222. T}@T{
  24223. \[u2407]
  24224. T}
  24225. T{
  24226. BS
  24227. T}@T{
  24228. 0x08
  24229. T}@T{
  24230. \[u2408]
  24231. T}
  24232. T{
  24233. HT
  24234. T}@T{
  24235. 0x09
  24236. T}@T{
  24237. \[u2409]
  24238. T}
  24239. T{
  24240. LF
  24241. T}@T{
  24242. 0x0A
  24243. T}@T{
  24244. \[u240A]
  24245. T}
  24246. T{
  24247. VT
  24248. T}@T{
  24249. 0x0B
  24250. T}@T{
  24251. \[u240B]
  24252. T}
  24253. T{
  24254. FF
  24255. T}@T{
  24256. 0x0C
  24257. T}@T{
  24258. \[u240C]
  24259. T}
  24260. T{
  24261. CR
  24262. T}@T{
  24263. 0x0D
  24264. T}@T{
  24265. \[u240D]
  24266. T}
  24267. T{
  24268. SO
  24269. T}@T{
  24270. 0x0E
  24271. T}@T{
  24272. \[u240E]
  24273. T}
  24274. T{
  24275. SI
  24276. T}@T{
  24277. 0x0F
  24278. T}@T{
  24279. \[u240F]
  24280. T}
  24281. T{
  24282. DLE
  24283. T}@T{
  24284. 0x10
  24285. T}@T{
  24286. \[u2410]
  24287. T}
  24288. T{
  24289. DC1
  24290. T}@T{
  24291. 0x11
  24292. T}@T{
  24293. \[u2411]
  24294. T}
  24295. T{
  24296. DC2
  24297. T}@T{
  24298. 0x12
  24299. T}@T{
  24300. \[u2412]
  24301. T}
  24302. T{
  24303. DC3
  24304. T}@T{
  24305. 0x13
  24306. T}@T{
  24307. \[u2413]
  24308. T}
  24309. T{
  24310. DC4
  24311. T}@T{
  24312. 0x14
  24313. T}@T{
  24314. \[u2414]
  24315. T}
  24316. T{
  24317. NAK
  24318. T}@T{
  24319. 0x15
  24320. T}@T{
  24321. \[u2415]
  24322. T}
  24323. T{
  24324. SYN
  24325. T}@T{
  24326. 0x16
  24327. T}@T{
  24328. \[u2416]
  24329. T}
  24330. T{
  24331. ETB
  24332. T}@T{
  24333. 0x17
  24334. T}@T{
  24335. \[u2417]
  24336. T}
  24337. T{
  24338. CAN
  24339. T}@T{
  24340. 0x18
  24341. T}@T{
  24342. \[u2418]
  24343. T}
  24344. T{
  24345. EM
  24346. T}@T{
  24347. 0x19
  24348. T}@T{
  24349. \[u2419]
  24350. T}
  24351. T{
  24352. SUB
  24353. T}@T{
  24354. 0x1A
  24355. T}@T{
  24356. \[u241A]
  24357. T}
  24358. T{
  24359. ESC
  24360. T}@T{
  24361. 0x1B
  24362. T}@T{
  24363. \[u241B]
  24364. T}
  24365. T{
  24366. FS
  24367. T}@T{
  24368. 0x1C
  24369. T}@T{
  24370. \[u241C]
  24371. T}
  24372. T{
  24373. GS
  24374. T}@T{
  24375. 0x1D
  24376. T}@T{
  24377. \[u241D]
  24378. T}
  24379. T{
  24380. RS
  24381. T}@T{
  24382. 0x1E
  24383. T}@T{
  24384. \[u241E]
  24385. T}
  24386. T{
  24387. US
  24388. T}@T{
  24389. 0x1F
  24390. T}@T{
  24391. \[u241F]
  24392. T}
  24393. T{
  24394. /
  24395. T}@T{
  24396. 0x2F
  24397. T}@T{
  24398. \[uFF0F]
  24399. T}
  24400. T{
  24401. DEL
  24402. T}@T{
  24403. 0x7F
  24404. T}@T{
  24405. \[u2421]
  24406. T}
  24407. .TE
  24408. .PP
  24409. The default encoding will also encode these file names as they are
  24410. problematic with many cloud storage systems.
  24411. .PP
  24412. .TS
  24413. tab(@);
  24414. l c.
  24415. T{
  24416. File name
  24417. T}@T{
  24418. Replacement
  24419. T}
  24420. _
  24421. T{
  24422. \&.
  24423. T}@T{
  24424. \[uFF0E]
  24425. T}
  24426. T{
  24427. \&..
  24428. T}@T{
  24429. \[uFF0E]\[uFF0E]
  24430. T}
  24431. .TE
  24432. .SS Invalid UTF-8 bytes
  24433. .PP
  24434. Some backends only support a sequence of well formed UTF-8 bytes as file
  24435. or directory names.
  24436. .PP
  24437. In this case all invalid UTF-8 bytes will be replaced with a quoted
  24438. representation of the byte value to allow uploading a file to such a
  24439. backend.
  24440. For example, the invalid byte \f[C]0xFE\f[R] will be encoded as
  24441. \f[C]\[u201B]FE\f[R].
  24442. .PP
  24443. A common source of invalid UTF-8 bytes are local filesystems, that store
  24444. names in a different encoding than UTF-8 or UTF-16, like latin1.
  24445. See the local filenames (https://rclone.org/local/#filenames) section
  24446. for details.
  24447. .SS Encoding option
  24448. .PP
  24449. Most backends have an encoding option, specified as a flag
  24450. \f[C]--backend-encoding\f[R] where \f[C]backend\f[R] is the name of the
  24451. backend, or as a config parameter \f[C]encoding\f[R] (you\[aq]ll need to
  24452. select the Advanced config in \f[C]rclone config\f[R] to see it).
  24453. .PP
  24454. This will have default value which encodes and decodes characters in
  24455. such a way as to preserve the maximum number of characters (see above).
  24456. .PP
  24457. However this can be incorrect in some scenarios, for example if you have
  24458. a Windows file system with Unicode fullwidth characters
  24459. \f[C]\[uFF0A]\f[R], \f[C]\[uFF1F]\f[R] or \f[C]\[uFF1A]\f[R], that you
  24460. want to remain as those characters on the remote rather than being
  24461. translated to regular (halfwidth) \f[C]*\f[R], \f[C]?\f[R] and
  24462. \f[C]:\f[R].
  24463. .PP
  24464. The \f[C]--backend-encoding\f[R] flags allow you to change that.
  24465. You can disable the encoding completely with
  24466. \f[C]--backend-encoding None\f[R] or set \f[C]encoding = None\f[R] in
  24467. the config file.
  24468. .PP
  24469. Encoding takes a comma separated list of encodings.
  24470. You can see the list of all possible values by passing an invalid value
  24471. to this flag, e.g.
  24472. \f[C]--local-encoding \[dq]help\[dq]\f[R].
  24473. The command \f[C]rclone help flags encoding\f[R] will show you the
  24474. defaults for the backends.
  24475. .PP
  24476. .TS
  24477. tab(@);
  24478. lw(21.7n) lw(24.1n) lw(24.1n).
  24479. T{
  24480. Encoding
  24481. T}@T{
  24482. Characters
  24483. T}@T{
  24484. Encoded as
  24485. T}
  24486. _
  24487. T{
  24488. Asterisk
  24489. T}@T{
  24490. \f[C]*\f[R]
  24491. T}@T{
  24492. \f[C]\[uFF0A]\f[R]
  24493. T}
  24494. T{
  24495. BackQuote
  24496. T}@T{
  24497. \f[C]\[ga]\f[R]
  24498. T}@T{
  24499. \f[C]\[uFF40]\f[R]
  24500. T}
  24501. T{
  24502. BackSlash
  24503. T}@T{
  24504. \f[C]\[rs]\f[R]
  24505. T}@T{
  24506. \f[C]\[uFF3C]\f[R]
  24507. T}
  24508. T{
  24509. Colon
  24510. T}@T{
  24511. \f[C]:\f[R]
  24512. T}@T{
  24513. \f[C]\[uFF1A]\f[R]
  24514. T}
  24515. T{
  24516. CrLf
  24517. T}@T{
  24518. CR 0x0D, LF 0x0A
  24519. T}@T{
  24520. \f[C]\[u240D]\f[R], \f[C]\[u240A]\f[R]
  24521. T}
  24522. T{
  24523. Ctl
  24524. T}@T{
  24525. All control characters 0x00-0x1F
  24526. T}@T{
  24527. \f[C]\[u2400]\[u2401]\[u2402]\[u2403]\[u2404]\[u2405]\[u2406]\[u2407]\[u2408]\[u2409]\[u240A]\[u240B]\[u240C]\[u240D]\[u240E]\[u240F]\[u2410]\[u2411]\[u2412]\[u2413]\[u2414]\[u2415]\[u2416]\[u2417]\[u2418]\[u2419]\[u241A]\[u241B]\[u241C]\[u241D]\[u241E]\[u241F]\f[R]
  24528. T}
  24529. T{
  24530. Del
  24531. T}@T{
  24532. DEL 0x7F
  24533. T}@T{
  24534. \f[C]\[u2421]\f[R]
  24535. T}
  24536. T{
  24537. Dollar
  24538. T}@T{
  24539. \f[C]$\f[R]
  24540. T}@T{
  24541. \f[C]\[uFF04]\f[R]
  24542. T}
  24543. T{
  24544. Dot
  24545. T}@T{
  24546. \f[C].\f[R] or \f[C]..\f[R] as entire string
  24547. T}@T{
  24548. \f[C]\[uFF0E]\f[R], \f[C]\[uFF0E]\[uFF0E]\f[R]
  24549. T}
  24550. T{
  24551. DoubleQuote
  24552. T}@T{
  24553. \f[C]\[dq]\f[R]
  24554. T}@T{
  24555. \f[C]\[uFF02]\f[R]
  24556. T}
  24557. T{
  24558. Hash
  24559. T}@T{
  24560. \f[C]#\f[R]
  24561. T}@T{
  24562. \f[C]\[uFF03]\f[R]
  24563. T}
  24564. T{
  24565. InvalidUtf8
  24566. T}@T{
  24567. An invalid UTF-8 character (e.g.
  24568. latin1)
  24569. T}@T{
  24570. \f[C]\[uFFFD]\f[R]
  24571. T}
  24572. T{
  24573. LeftCrLfHtVt
  24574. T}@T{
  24575. CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B on the left of a string
  24576. T}@T{
  24577. \f[C]\[u240D]\f[R], \f[C]\[u240A]\f[R], \f[C]\[u2409]\f[R],
  24578. \f[C]\[u240B]\f[R]
  24579. T}
  24580. T{
  24581. LeftPeriod
  24582. T}@T{
  24583. \f[C].\f[R] on the left of a string
  24584. T}@T{
  24585. \f[C].\f[R]
  24586. T}
  24587. T{
  24588. LeftSpace
  24589. T}@T{
  24590. SPACE on the left of a string
  24591. T}@T{
  24592. \f[C]\[u2420]\f[R]
  24593. T}
  24594. T{
  24595. LeftTilde
  24596. T}@T{
  24597. \f[C]\[ti]\f[R] on the left of a string
  24598. T}@T{
  24599. \f[C]\[uFF5E]\f[R]
  24600. T}
  24601. T{
  24602. LtGt
  24603. T}@T{
  24604. \f[C]<\f[R], \f[C]>\f[R]
  24605. T}@T{
  24606. \f[C]\[uFF1C]\f[R], \f[C]\[uFF1E]\f[R]
  24607. T}
  24608. T{
  24609. None
  24610. T}@T{
  24611. No characters are encoded
  24612. T}@T{
  24613. T}
  24614. T{
  24615. Percent
  24616. T}@T{
  24617. \f[C]%\f[R]
  24618. T}@T{
  24619. \f[C]\[uFF05]\f[R]
  24620. T}
  24621. T{
  24622. Pipe
  24623. T}@T{
  24624. |
  24625. T}@T{
  24626. \f[C]\[uFF5C]\f[R]
  24627. T}
  24628. T{
  24629. Question
  24630. T}@T{
  24631. \f[C]?\f[R]
  24632. T}@T{
  24633. \f[C]\[uFF1F]\f[R]
  24634. T}
  24635. T{
  24636. RightCrLfHtVt
  24637. T}@T{
  24638. CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B on the right of a string
  24639. T}@T{
  24640. \f[C]\[u240D]\f[R], \f[C]\[u240A]\f[R], \f[C]\[u2409]\f[R],
  24641. \f[C]\[u240B]\f[R]
  24642. T}
  24643. T{
  24644. RightPeriod
  24645. T}@T{
  24646. \f[C].\f[R] on the right of a string
  24647. T}@T{
  24648. \f[C].\f[R]
  24649. T}
  24650. T{
  24651. RightSpace
  24652. T}@T{
  24653. SPACE on the right of a string
  24654. T}@T{
  24655. \f[C]\[u2420]\f[R]
  24656. T}
  24657. T{
  24658. Semicolon
  24659. T}@T{
  24660. \f[C];\f[R]
  24661. T}@T{
  24662. \f[C]\[uFF1B]\f[R]
  24663. T}
  24664. T{
  24665. SingleQuote
  24666. T}@T{
  24667. \f[C]\[aq]\f[R]
  24668. T}@T{
  24669. \f[C]\[uFF07]\f[R]
  24670. T}
  24671. T{
  24672. Slash
  24673. T}@T{
  24674. \f[C]/\f[R]
  24675. T}@T{
  24676. \f[C]\[uFF0F]\f[R]
  24677. T}
  24678. T{
  24679. SquareBracket
  24680. T}@T{
  24681. \f[C][\f[R], \f[C]]\f[R]
  24682. T}@T{
  24683. \f[C]\[uFF3B]\f[R], \f[C]\[uFF3D]\f[R]
  24684. T}
  24685. .TE
  24686. .SS Encoding example: FTP
  24687. .PP
  24688. To take a specific example, the FTP backend\[aq]s default encoding is
  24689. .IP
  24690. .nf
  24691. \f[C]
  24692. --ftp-encoding \[dq]Slash,Del,Ctl,RightSpace,Dot\[dq]
  24693. \f[R]
  24694. .fi
  24695. .PP
  24696. However, let\[aq]s say the FTP server is running on Windows and
  24697. can\[aq]t have any of the invalid Windows characters in file names.
  24698. You are backing up Linux servers to this FTP server which do have those
  24699. characters in file names.
  24700. So you would add the Windows set which are
  24701. .IP
  24702. .nf
  24703. \f[C]
  24704. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
  24705. \f[R]
  24706. .fi
  24707. .PP
  24708. to the existing ones, giving:
  24709. .IP
  24710. .nf
  24711. \f[C]
  24712. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace
  24713. \f[R]
  24714. .fi
  24715. .PP
  24716. This can be specified using the \f[C]--ftp-encoding\f[R] flag or using
  24717. an \f[C]encoding\f[R] parameter in the config file.
  24718. .SS Encoding example: Windows
  24719. .PP
  24720. As a nother example, take a Windows system where there is a file with
  24721. name \f[C]Test\[uFF1A]1.jpg\f[R], where \f[C]\[uFF1A]\f[R] is the
  24722. Unicode fullwidth colon symbol.
  24723. When using rclone to copy this to a remote which supports \f[C]:\f[R],
  24724. the regular (halfwidth) colon (such as Google Drive), you will notice
  24725. that the file gets renamed to \f[C]Test:1.jpg\f[R].
  24726. .PP
  24727. To avoid this you can change the set of characters rclone should convert
  24728. for the local filesystem, using command-line argument
  24729. \f[C]--local-encoding\f[R].
  24730. Rclone\[aq]s default behavior on Windows corresponds to
  24731. .IP
  24732. .nf
  24733. \f[C]
  24734. --local-encoding \[dq]Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot\[dq]
  24735. \f[R]
  24736. .fi
  24737. .PP
  24738. If you want to use fullwidth characters \f[C]\[uFF1A]\f[R],
  24739. \f[C]\[uFF0A]\f[R] and \f[C]\[uFF1F]\f[R] in your filenames without
  24740. rclone changing them when uploading to a remote, then set the same as
  24741. the default value but without \f[C]Colon,Question,Asterisk\f[R]:
  24742. .IP
  24743. .nf
  24744. \f[C]
  24745. --local-encoding \[dq]Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot\[dq]
  24746. \f[R]
  24747. .fi
  24748. .PP
  24749. Alternatively, you can disable the conversion of any characters with
  24750. \f[C]--local-encoding None\f[R].
  24751. .PP
  24752. Instead of using command-line argument \f[C]--local-encoding\f[R], you
  24753. may also set it as environment
  24754. variable (https://rclone.org/docs/#environment-variables)
  24755. \f[C]RCLONE_LOCAL_ENCODING\f[R], or
  24756. configure (https://rclone.org/docs/#configure) a remote of type
  24757. \f[C]local\f[R] in your config, and set the \f[C]encoding\f[R] option
  24758. there.
  24759. .PP
  24760. The risk by doing this is that if you have a filename with the regular
  24761. (halfwidth) \f[C]:\f[R], \f[C]*\f[R] and \f[C]?\f[R] in your cloud
  24762. storage, and you try to download it to your Windows filesystem, this
  24763. will fail.
  24764. These characters are not valid in filenames on Windows, and you have
  24765. told rclone not to work around this by converting them to valid
  24766. fullwidth variants.
  24767. .SS MIME Type
  24768. .PP
  24769. MIME types (also known as media types) classify types of documents using
  24770. a simple text classification, e.g.
  24771. \f[C]text/html\f[R] or \f[C]application/pdf\f[R].
  24772. .PP
  24773. Some cloud storage systems support reading (\f[C]R\f[R]) the MIME type
  24774. of objects and some support writing (\f[C]W\f[R]) the MIME type of
  24775. objects.
  24776. .PP
  24777. The MIME type can be important if you are serving files directly to HTTP
  24778. from the storage system.
  24779. .PP
  24780. If you are copying from a remote which supports reading (\f[C]R\f[R]) to
  24781. a remote which supports writing (\f[C]W\f[R]) then rclone will preserve
  24782. the MIME types.
  24783. Otherwise they will be guessed from the extension, or the remote itself
  24784. may assign the MIME type.
  24785. .SS Metadata
  24786. .PP
  24787. Backends may or may support reading or writing metadata.
  24788. They may support reading and writing system metadata (metadata intrinsic
  24789. to that backend) and/or user metadata (general purpose metadata).
  24790. .PP
  24791. The levels of metadata support are
  24792. .PP
  24793. .TS
  24794. tab(@);
  24795. lw(19.4n) lw(50.6n).
  24796. T{
  24797. Key
  24798. T}@T{
  24799. Explanation
  24800. T}
  24801. _
  24802. T{
  24803. \f[C]R\f[R]
  24804. T}@T{
  24805. Read only System Metadata on files only
  24806. T}
  24807. T{
  24808. \f[C]RW\f[R]
  24809. T}@T{
  24810. Read and write System Metadata on files only
  24811. T}
  24812. T{
  24813. \f[C]RWU\f[R]
  24814. T}@T{
  24815. Read and write System Metadata and read and write User Metadata on files
  24816. only
  24817. T}
  24818. T{
  24819. \f[C]DR\f[R]
  24820. T}@T{
  24821. Read only System Metadata on files and directories
  24822. T}
  24823. T{
  24824. \f[C]DRW\f[R]
  24825. T}@T{
  24826. Read and write System Metadata on files and directories
  24827. T}
  24828. T{
  24829. \f[C]DRWU\f[R]
  24830. T}@T{
  24831. Read and write System Metadata and read and write User Metadata on files
  24832. and directories
  24833. T}
  24834. .TE
  24835. .PP
  24836. See the metadata docs (https://rclone.org/docs/#metadata) for more info.
  24837. .SS Optional Features
  24838. .PP
  24839. All rclone remotes support a base command set.
  24840. Other features depend upon backend-specific capabilities.
  24841. .PP
  24842. .TS
  24843. tab(@);
  24844. lw(14.4n) cw(3.6n) cw(3.1n) cw(3.1n) cw(4.6n) cw(4.6n) cw(3.6n) cw(7.2n) lw(9.8n) cw(7.2n) cw(3.6n) cw(5.1n).
  24845. T{
  24846. Name
  24847. T}@T{
  24848. Purge
  24849. T}@T{
  24850. Copy
  24851. T}@T{
  24852. Move
  24853. T}@T{
  24854. DirMove
  24855. T}@T{
  24856. CleanUp
  24857. T}@T{
  24858. ListR
  24859. T}@T{
  24860. StreamUpload
  24861. T}@T{
  24862. MultithreadUpload
  24863. T}@T{
  24864. LinkSharing
  24865. T}@T{
  24866. About
  24867. T}@T{
  24868. EmptyDir
  24869. T}
  24870. _
  24871. T{
  24872. 1Fichier
  24873. T}@T{
  24874. No
  24875. T}@T{
  24876. Yes
  24877. T}@T{
  24878. Yes
  24879. T}@T{
  24880. No
  24881. T}@T{
  24882. No
  24883. T}@T{
  24884. No
  24885. T}@T{
  24886. No
  24887. T}@T{
  24888. No
  24889. T}@T{
  24890. Yes
  24891. T}@T{
  24892. No
  24893. T}@T{
  24894. Yes
  24895. T}
  24896. T{
  24897. Akamai Netstorage
  24898. T}@T{
  24899. Yes
  24900. T}@T{
  24901. No
  24902. T}@T{
  24903. No
  24904. T}@T{
  24905. No
  24906. T}@T{
  24907. No
  24908. T}@T{
  24909. Yes
  24910. T}@T{
  24911. Yes
  24912. T}@T{
  24913. No
  24914. T}@T{
  24915. No
  24916. T}@T{
  24917. No
  24918. T}@T{
  24919. Yes
  24920. T}
  24921. T{
  24922. Amazon S3 (or S3 compatible)
  24923. T}@T{
  24924. No
  24925. T}@T{
  24926. Yes
  24927. T}@T{
  24928. No
  24929. T}@T{
  24930. No
  24931. T}@T{
  24932. Yes
  24933. T}@T{
  24934. Yes
  24935. T}@T{
  24936. Yes
  24937. T}@T{
  24938. Yes
  24939. T}@T{
  24940. Yes
  24941. T}@T{
  24942. No
  24943. T}@T{
  24944. No
  24945. T}
  24946. T{
  24947. Backblaze B2
  24948. T}@T{
  24949. No
  24950. T}@T{
  24951. Yes
  24952. T}@T{
  24953. No
  24954. T}@T{
  24955. No
  24956. T}@T{
  24957. Yes
  24958. T}@T{
  24959. Yes
  24960. T}@T{
  24961. Yes
  24962. T}@T{
  24963. Yes
  24964. T}@T{
  24965. Yes
  24966. T}@T{
  24967. No
  24968. T}@T{
  24969. No
  24970. T}
  24971. T{
  24972. Box
  24973. T}@T{
  24974. Yes
  24975. T}@T{
  24976. Yes
  24977. T}@T{
  24978. Yes
  24979. T}@T{
  24980. Yes
  24981. T}@T{
  24982. Yes
  24983. T}@T{
  24984. No
  24985. T}@T{
  24986. Yes
  24987. T}@T{
  24988. No
  24989. T}@T{
  24990. Yes
  24991. T}@T{
  24992. Yes
  24993. T}@T{
  24994. Yes
  24995. T}
  24996. T{
  24997. Citrix ShareFile
  24998. T}@T{
  24999. Yes
  25000. T}@T{
  25001. Yes
  25002. T}@T{
  25003. Yes
  25004. T}@T{
  25005. Yes
  25006. T}@T{
  25007. No
  25008. T}@T{
  25009. No
  25010. T}@T{
  25011. No
  25012. T}@T{
  25013. No
  25014. T}@T{
  25015. No
  25016. T}@T{
  25017. No
  25018. T}@T{
  25019. Yes
  25020. T}
  25021. T{
  25022. Dropbox
  25023. T}@T{
  25024. Yes
  25025. T}@T{
  25026. Yes
  25027. T}@T{
  25028. Yes
  25029. T}@T{
  25030. Yes
  25031. T}@T{
  25032. No
  25033. T}@T{
  25034. No
  25035. T}@T{
  25036. Yes
  25037. T}@T{
  25038. No
  25039. T}@T{
  25040. Yes
  25041. T}@T{
  25042. Yes
  25043. T}@T{
  25044. Yes
  25045. T}
  25046. T{
  25047. Enterprise File Fabric
  25048. T}@T{
  25049. Yes
  25050. T}@T{
  25051. Yes
  25052. T}@T{
  25053. Yes
  25054. T}@T{
  25055. Yes
  25056. T}@T{
  25057. Yes
  25058. T}@T{
  25059. No
  25060. T}@T{
  25061. No
  25062. T}@T{
  25063. No
  25064. T}@T{
  25065. No
  25066. T}@T{
  25067. No
  25068. T}@T{
  25069. Yes
  25070. T}
  25071. T{
  25072. FTP
  25073. T}@T{
  25074. No
  25075. T}@T{
  25076. No
  25077. T}@T{
  25078. Yes
  25079. T}@T{
  25080. Yes
  25081. T}@T{
  25082. No
  25083. T}@T{
  25084. No
  25085. T}@T{
  25086. Yes
  25087. T}@T{
  25088. No
  25089. T}@T{
  25090. No
  25091. T}@T{
  25092. No
  25093. T}@T{
  25094. Yes
  25095. T}
  25096. T{
  25097. Google Cloud Storage
  25098. T}@T{
  25099. Yes
  25100. T}@T{
  25101. Yes
  25102. T}@T{
  25103. No
  25104. T}@T{
  25105. No
  25106. T}@T{
  25107. No
  25108. T}@T{
  25109. Yes
  25110. T}@T{
  25111. Yes
  25112. T}@T{
  25113. No
  25114. T}@T{
  25115. No
  25116. T}@T{
  25117. No
  25118. T}@T{
  25119. No
  25120. T}
  25121. T{
  25122. Google Drive
  25123. T}@T{
  25124. Yes
  25125. T}@T{
  25126. Yes
  25127. T}@T{
  25128. Yes
  25129. T}@T{
  25130. Yes
  25131. T}@T{
  25132. Yes
  25133. T}@T{
  25134. Yes
  25135. T}@T{
  25136. Yes
  25137. T}@T{
  25138. No
  25139. T}@T{
  25140. Yes
  25141. T}@T{
  25142. Yes
  25143. T}@T{
  25144. Yes
  25145. T}
  25146. T{
  25147. Google Photos
  25148. T}@T{
  25149. No
  25150. T}@T{
  25151. No
  25152. T}@T{
  25153. No
  25154. T}@T{
  25155. No
  25156. T}@T{
  25157. No
  25158. T}@T{
  25159. No
  25160. T}@T{
  25161. No
  25162. T}@T{
  25163. No
  25164. T}@T{
  25165. No
  25166. T}@T{
  25167. No
  25168. T}@T{
  25169. No
  25170. T}
  25171. T{
  25172. HDFS
  25173. T}@T{
  25174. Yes
  25175. T}@T{
  25176. No
  25177. T}@T{
  25178. Yes
  25179. T}@T{
  25180. Yes
  25181. T}@T{
  25182. No
  25183. T}@T{
  25184. No
  25185. T}@T{
  25186. Yes
  25187. T}@T{
  25188. No
  25189. T}@T{
  25190. No
  25191. T}@T{
  25192. Yes
  25193. T}@T{
  25194. Yes
  25195. T}
  25196. T{
  25197. HiDrive
  25198. T}@T{
  25199. Yes
  25200. T}@T{
  25201. Yes
  25202. T}@T{
  25203. Yes
  25204. T}@T{
  25205. Yes
  25206. T}@T{
  25207. No
  25208. T}@T{
  25209. No
  25210. T}@T{
  25211. Yes
  25212. T}@T{
  25213. No
  25214. T}@T{
  25215. No
  25216. T}@T{
  25217. No
  25218. T}@T{
  25219. Yes
  25220. T}
  25221. T{
  25222. HTTP
  25223. T}@T{
  25224. No
  25225. T}@T{
  25226. No
  25227. T}@T{
  25228. No
  25229. T}@T{
  25230. No
  25231. T}@T{
  25232. No
  25233. T}@T{
  25234. No
  25235. T}@T{
  25236. No
  25237. T}@T{
  25238. No
  25239. T}@T{
  25240. No
  25241. T}@T{
  25242. No
  25243. T}@T{
  25244. Yes
  25245. T}
  25246. T{
  25247. ImageKit
  25248. T}@T{
  25249. Yes
  25250. T}@T{
  25251. Yes
  25252. T}@T{
  25253. Yes
  25254. T}@T{
  25255. No
  25256. T}@T{
  25257. No
  25258. T}@T{
  25259. No
  25260. T}@T{
  25261. No
  25262. T}@T{
  25263. No
  25264. T}@T{
  25265. No
  25266. T}@T{
  25267. No
  25268. T}@T{
  25269. Yes
  25270. T}
  25271. T{
  25272. Internet Archive
  25273. T}@T{
  25274. No
  25275. T}@T{
  25276. Yes
  25277. T}@T{
  25278. No
  25279. T}@T{
  25280. No
  25281. T}@T{
  25282. Yes
  25283. T}@T{
  25284. Yes
  25285. T}@T{
  25286. No
  25287. T}@T{
  25288. No
  25289. T}@T{
  25290. Yes
  25291. T}@T{
  25292. Yes
  25293. T}@T{
  25294. No
  25295. T}
  25296. T{
  25297. Jottacloud
  25298. T}@T{
  25299. Yes
  25300. T}@T{
  25301. Yes
  25302. T}@T{
  25303. Yes
  25304. T}@T{
  25305. Yes
  25306. T}@T{
  25307. Yes
  25308. T}@T{
  25309. Yes
  25310. T}@T{
  25311. No
  25312. T}@T{
  25313. No
  25314. T}@T{
  25315. Yes
  25316. T}@T{
  25317. Yes
  25318. T}@T{
  25319. Yes
  25320. T}
  25321. T{
  25322. Koofr
  25323. T}@T{
  25324. Yes
  25325. T}@T{
  25326. Yes
  25327. T}@T{
  25328. Yes
  25329. T}@T{
  25330. Yes
  25331. T}@T{
  25332. No
  25333. T}@T{
  25334. No
  25335. T}@T{
  25336. Yes
  25337. T}@T{
  25338. No
  25339. T}@T{
  25340. Yes
  25341. T}@T{
  25342. Yes
  25343. T}@T{
  25344. Yes
  25345. T}
  25346. T{
  25347. Mail.ru Cloud
  25348. T}@T{
  25349. Yes
  25350. T}@T{
  25351. Yes
  25352. T}@T{
  25353. Yes
  25354. T}@T{
  25355. Yes
  25356. T}@T{
  25357. Yes
  25358. T}@T{
  25359. No
  25360. T}@T{
  25361. No
  25362. T}@T{
  25363. No
  25364. T}@T{
  25365. Yes
  25366. T}@T{
  25367. Yes
  25368. T}@T{
  25369. Yes
  25370. T}
  25371. T{
  25372. Mega
  25373. T}@T{
  25374. Yes
  25375. T}@T{
  25376. No
  25377. T}@T{
  25378. Yes
  25379. T}@T{
  25380. Yes
  25381. T}@T{
  25382. Yes
  25383. T}@T{
  25384. No
  25385. T}@T{
  25386. No
  25387. T}@T{
  25388. No
  25389. T}@T{
  25390. Yes
  25391. T}@T{
  25392. Yes
  25393. T}@T{
  25394. Yes
  25395. T}
  25396. T{
  25397. Memory
  25398. T}@T{
  25399. No
  25400. T}@T{
  25401. Yes
  25402. T}@T{
  25403. No
  25404. T}@T{
  25405. No
  25406. T}@T{
  25407. No
  25408. T}@T{
  25409. Yes
  25410. T}@T{
  25411. Yes
  25412. T}@T{
  25413. No
  25414. T}@T{
  25415. No
  25416. T}@T{
  25417. No
  25418. T}@T{
  25419. No
  25420. T}
  25421. T{
  25422. Microsoft Azure Blob Storage
  25423. T}@T{
  25424. Yes
  25425. T}@T{
  25426. Yes
  25427. T}@T{
  25428. No
  25429. T}@T{
  25430. No
  25431. T}@T{
  25432. No
  25433. T}@T{
  25434. Yes
  25435. T}@T{
  25436. Yes
  25437. T}@T{
  25438. Yes
  25439. T}@T{
  25440. No
  25441. T}@T{
  25442. No
  25443. T}@T{
  25444. No
  25445. T}
  25446. T{
  25447. Microsoft Azure Files Storage
  25448. T}@T{
  25449. No
  25450. T}@T{
  25451. Yes
  25452. T}@T{
  25453. Yes
  25454. T}@T{
  25455. Yes
  25456. T}@T{
  25457. No
  25458. T}@T{
  25459. No
  25460. T}@T{
  25461. Yes
  25462. T}@T{
  25463. Yes
  25464. T}@T{
  25465. No
  25466. T}@T{
  25467. Yes
  25468. T}@T{
  25469. Yes
  25470. T}
  25471. T{
  25472. Microsoft OneDrive
  25473. T}@T{
  25474. Yes
  25475. T}@T{
  25476. Yes
  25477. T}@T{
  25478. Yes
  25479. T}@T{
  25480. Yes
  25481. T}@T{
  25482. Yes
  25483. T}@T{
  25484. Yes \[u2075]
  25485. T}@T{
  25486. No
  25487. T}@T{
  25488. No
  25489. T}@T{
  25490. Yes
  25491. T}@T{
  25492. Yes
  25493. T}@T{
  25494. Yes
  25495. T}
  25496. T{
  25497. OpenDrive
  25498. T}@T{
  25499. Yes
  25500. T}@T{
  25501. Yes
  25502. T}@T{
  25503. Yes
  25504. T}@T{
  25505. Yes
  25506. T}@T{
  25507. No
  25508. T}@T{
  25509. No
  25510. T}@T{
  25511. No
  25512. T}@T{
  25513. No
  25514. T}@T{
  25515. No
  25516. T}@T{
  25517. No
  25518. T}@T{
  25519. Yes
  25520. T}
  25521. T{
  25522. OpenStack Swift
  25523. T}@T{
  25524. Yes \[S1]
  25525. T}@T{
  25526. Yes
  25527. T}@T{
  25528. No
  25529. T}@T{
  25530. No
  25531. T}@T{
  25532. No
  25533. T}@T{
  25534. Yes
  25535. T}@T{
  25536. Yes
  25537. T}@T{
  25538. No
  25539. T}@T{
  25540. No
  25541. T}@T{
  25542. Yes
  25543. T}@T{
  25544. No
  25545. T}
  25546. T{
  25547. Oracle Object Storage
  25548. T}@T{
  25549. No
  25550. T}@T{
  25551. Yes
  25552. T}@T{
  25553. No
  25554. T}@T{
  25555. No
  25556. T}@T{
  25557. Yes
  25558. T}@T{
  25559. Yes
  25560. T}@T{
  25561. Yes
  25562. T}@T{
  25563. Yes
  25564. T}@T{
  25565. No
  25566. T}@T{
  25567. No
  25568. T}@T{
  25569. No
  25570. T}
  25571. T{
  25572. pCloud
  25573. T}@T{
  25574. Yes
  25575. T}@T{
  25576. Yes
  25577. T}@T{
  25578. Yes
  25579. T}@T{
  25580. Yes
  25581. T}@T{
  25582. Yes
  25583. T}@T{
  25584. No
  25585. T}@T{
  25586. No
  25587. T}@T{
  25588. No
  25589. T}@T{
  25590. Yes
  25591. T}@T{
  25592. Yes
  25593. T}@T{
  25594. Yes
  25595. T}
  25596. T{
  25597. PikPak
  25598. T}@T{
  25599. Yes
  25600. T}@T{
  25601. Yes
  25602. T}@T{
  25603. Yes
  25604. T}@T{
  25605. Yes
  25606. T}@T{
  25607. Yes
  25608. T}@T{
  25609. No
  25610. T}@T{
  25611. No
  25612. T}@T{
  25613. No
  25614. T}@T{
  25615. Yes
  25616. T}@T{
  25617. Yes
  25618. T}@T{
  25619. Yes
  25620. T}
  25621. T{
  25622. premiumize.me
  25623. T}@T{
  25624. Yes
  25625. T}@T{
  25626. No
  25627. T}@T{
  25628. Yes
  25629. T}@T{
  25630. Yes
  25631. T}@T{
  25632. No
  25633. T}@T{
  25634. No
  25635. T}@T{
  25636. No
  25637. T}@T{
  25638. No
  25639. T}@T{
  25640. Yes
  25641. T}@T{
  25642. Yes
  25643. T}@T{
  25644. Yes
  25645. T}
  25646. T{
  25647. put.io
  25648. T}@T{
  25649. Yes
  25650. T}@T{
  25651. No
  25652. T}@T{
  25653. Yes
  25654. T}@T{
  25655. Yes
  25656. T}@T{
  25657. Yes
  25658. T}@T{
  25659. No
  25660. T}@T{
  25661. Yes
  25662. T}@T{
  25663. No
  25664. T}@T{
  25665. No
  25666. T}@T{
  25667. Yes
  25668. T}@T{
  25669. Yes
  25670. T}
  25671. T{
  25672. Proton Drive
  25673. T}@T{
  25674. Yes
  25675. T}@T{
  25676. No
  25677. T}@T{
  25678. Yes
  25679. T}@T{
  25680. Yes
  25681. T}@T{
  25682. Yes
  25683. T}@T{
  25684. No
  25685. T}@T{
  25686. No
  25687. T}@T{
  25688. No
  25689. T}@T{
  25690. No
  25691. T}@T{
  25692. Yes
  25693. T}@T{
  25694. Yes
  25695. T}
  25696. T{
  25697. QingStor
  25698. T}@T{
  25699. No
  25700. T}@T{
  25701. Yes
  25702. T}@T{
  25703. No
  25704. T}@T{
  25705. No
  25706. T}@T{
  25707. Yes
  25708. T}@T{
  25709. Yes
  25710. T}@T{
  25711. No
  25712. T}@T{
  25713. No
  25714. T}@T{
  25715. No
  25716. T}@T{
  25717. No
  25718. T}@T{
  25719. No
  25720. T}
  25721. T{
  25722. Quatrix by Maytech
  25723. T}@T{
  25724. Yes
  25725. T}@T{
  25726. Yes
  25727. T}@T{
  25728. Yes
  25729. T}@T{
  25730. Yes
  25731. T}@T{
  25732. No
  25733. T}@T{
  25734. No
  25735. T}@T{
  25736. No
  25737. T}@T{
  25738. No
  25739. T}@T{
  25740. No
  25741. T}@T{
  25742. Yes
  25743. T}@T{
  25744. Yes
  25745. T}
  25746. T{
  25747. Seafile
  25748. T}@T{
  25749. Yes
  25750. T}@T{
  25751. Yes
  25752. T}@T{
  25753. Yes
  25754. T}@T{
  25755. Yes
  25756. T}@T{
  25757. Yes
  25758. T}@T{
  25759. Yes
  25760. T}@T{
  25761. Yes
  25762. T}@T{
  25763. No
  25764. T}@T{
  25765. Yes
  25766. T}@T{
  25767. Yes
  25768. T}@T{
  25769. Yes
  25770. T}
  25771. T{
  25772. SFTP
  25773. T}@T{
  25774. No
  25775. T}@T{
  25776. Yes \[u2074]
  25777. T}@T{
  25778. Yes
  25779. T}@T{
  25780. Yes
  25781. T}@T{
  25782. No
  25783. T}@T{
  25784. No
  25785. T}@T{
  25786. Yes
  25787. T}@T{
  25788. No
  25789. T}@T{
  25790. No
  25791. T}@T{
  25792. Yes
  25793. T}@T{
  25794. Yes
  25795. T}
  25796. T{
  25797. Sia
  25798. T}@T{
  25799. No
  25800. T}@T{
  25801. No
  25802. T}@T{
  25803. No
  25804. T}@T{
  25805. No
  25806. T}@T{
  25807. No
  25808. T}@T{
  25809. No
  25810. T}@T{
  25811. Yes
  25812. T}@T{
  25813. No
  25814. T}@T{
  25815. No
  25816. T}@T{
  25817. No
  25818. T}@T{
  25819. Yes
  25820. T}
  25821. T{
  25822. SMB
  25823. T}@T{
  25824. No
  25825. T}@T{
  25826. No
  25827. T}@T{
  25828. Yes
  25829. T}@T{
  25830. Yes
  25831. T}@T{
  25832. No
  25833. T}@T{
  25834. No
  25835. T}@T{
  25836. Yes
  25837. T}@T{
  25838. Yes
  25839. T}@T{
  25840. No
  25841. T}@T{
  25842. No
  25843. T}@T{
  25844. Yes
  25845. T}
  25846. T{
  25847. SugarSync
  25848. T}@T{
  25849. Yes
  25850. T}@T{
  25851. Yes
  25852. T}@T{
  25853. Yes
  25854. T}@T{
  25855. Yes
  25856. T}@T{
  25857. No
  25858. T}@T{
  25859. No
  25860. T}@T{
  25861. Yes
  25862. T}@T{
  25863. No
  25864. T}@T{
  25865. Yes
  25866. T}@T{
  25867. No
  25868. T}@T{
  25869. Yes
  25870. T}
  25871. T{
  25872. Storj
  25873. T}@T{
  25874. Yes \[S2]
  25875. T}@T{
  25876. Yes
  25877. T}@T{
  25878. Yes
  25879. T}@T{
  25880. No
  25881. T}@T{
  25882. No
  25883. T}@T{
  25884. Yes
  25885. T}@T{
  25886. Yes
  25887. T}@T{
  25888. No
  25889. T}@T{
  25890. Yes
  25891. T}@T{
  25892. No
  25893. T}@T{
  25894. No
  25895. T}
  25896. T{
  25897. Uptobox
  25898. T}@T{
  25899. No
  25900. T}@T{
  25901. Yes
  25902. T}@T{
  25903. Yes
  25904. T}@T{
  25905. Yes
  25906. T}@T{
  25907. No
  25908. T}@T{
  25909. No
  25910. T}@T{
  25911. No
  25912. T}@T{
  25913. No
  25914. T}@T{
  25915. No
  25916. T}@T{
  25917. No
  25918. T}@T{
  25919. No
  25920. T}
  25921. T{
  25922. WebDAV
  25923. T}@T{
  25924. Yes
  25925. T}@T{
  25926. Yes
  25927. T}@T{
  25928. Yes
  25929. T}@T{
  25930. Yes
  25931. T}@T{
  25932. No
  25933. T}@T{
  25934. No
  25935. T}@T{
  25936. Yes \[S3]
  25937. T}@T{
  25938. No
  25939. T}@T{
  25940. No
  25941. T}@T{
  25942. Yes
  25943. T}@T{
  25944. Yes
  25945. T}
  25946. T{
  25947. Yandex Disk
  25948. T}@T{
  25949. Yes
  25950. T}@T{
  25951. Yes
  25952. T}@T{
  25953. Yes
  25954. T}@T{
  25955. Yes
  25956. T}@T{
  25957. Yes
  25958. T}@T{
  25959. No
  25960. T}@T{
  25961. Yes
  25962. T}@T{
  25963. No
  25964. T}@T{
  25965. Yes
  25966. T}@T{
  25967. Yes
  25968. T}@T{
  25969. Yes
  25970. T}
  25971. T{
  25972. Zoho WorkDrive
  25973. T}@T{
  25974. Yes
  25975. T}@T{
  25976. Yes
  25977. T}@T{
  25978. Yes
  25979. T}@T{
  25980. Yes
  25981. T}@T{
  25982. No
  25983. T}@T{
  25984. No
  25985. T}@T{
  25986. No
  25987. T}@T{
  25988. No
  25989. T}@T{
  25990. No
  25991. T}@T{
  25992. Yes
  25993. T}@T{
  25994. Yes
  25995. T}
  25996. T{
  25997. The local filesystem
  25998. T}@T{
  25999. No
  26000. T}@T{
  26001. No
  26002. T}@T{
  26003. Yes
  26004. T}@T{
  26005. Yes
  26006. T}@T{
  26007. No
  26008. T}@T{
  26009. No
  26010. T}@T{
  26011. Yes
  26012. T}@T{
  26013. Yes
  26014. T}@T{
  26015. No
  26016. T}@T{
  26017. Yes
  26018. T}@T{
  26019. Yes
  26020. T}
  26021. .TE
  26022. .PP
  26023. \[S1] Note Swift implements this in order to delete directory markers
  26024. but it doesn\[aq]t actually have a quicker way of deleting files other
  26025. than deleting them individually.
  26026. .PP
  26027. \[S2] Storj implements this efficiently only for entire buckets.
  26028. If purging a directory inside a bucket, files are deleted individually.
  26029. .PP
  26030. \[S3] StreamUpload is not supported with Nextcloud
  26031. .PP
  26032. \[u2074] Use the \f[C]--sftp-copy-is-hardlink\f[R] flag to enable.
  26033. .PP
  26034. \[u2075] Use the \f[C]--onedrive-delta\f[R] flag to enable.
  26035. .SS Purge
  26036. .PP
  26037. This deletes a directory quicker than just deleting all the files in the
  26038. directory.
  26039. .SS Copy
  26040. .PP
  26041. Used when copying an object to and from the same remote.
  26042. This known as a server-side copy so you can copy a file without
  26043. downloading it and uploading it again.
  26044. It is used if you use \f[C]rclone copy\f[R] or \f[C]rclone move\f[R] if
  26045. the remote doesn\[aq]t support \f[C]Move\f[R] directly.
  26046. .PP
  26047. If the server doesn\[aq]t support \f[C]Copy\f[R] directly then for copy
  26048. operations the file is downloaded then re-uploaded.
  26049. .SS Move
  26050. .PP
  26051. Used when moving/renaming an object on the same remote.
  26052. This is known as a server-side move of a file.
  26053. This is used in \f[C]rclone move\f[R] if the server doesn\[aq]t support
  26054. \f[C]DirMove\f[R].
  26055. .PP
  26056. If the server isn\[aq]t capable of \f[C]Move\f[R] then rclone simulates
  26057. it with \f[C]Copy\f[R] then delete.
  26058. If the server doesn\[aq]t support \f[C]Copy\f[R] then rclone will
  26059. download the file and re-upload it.
  26060. .SS DirMove
  26061. .PP
  26062. This is used to implement \f[C]rclone move\f[R] to move a directory if
  26063. possible.
  26064. If it isn\[aq]t then it will use \f[C]Move\f[R] on each file (which
  26065. falls back to \f[C]Copy\f[R] then download and upload - see
  26066. \f[C]Move\f[R] section).
  26067. .SS CleanUp
  26068. .PP
  26069. This is used for emptying the trash for a remote by
  26070. \f[C]rclone cleanup\f[R].
  26071. .PP
  26072. If the server can\[aq]t do \f[C]CleanUp\f[R] then
  26073. \f[C]rclone cleanup\f[R] will return an error.
  26074. .PP
  26075. \[dd]\[dd] Note that while Box implements this it has to delete every
  26076. file individually so it will be slower than emptying the trash via the
  26077. WebUI
  26078. .SS ListR
  26079. .PP
  26080. The remote supports a recursive list to list all the contents beneath a
  26081. directory quickly.
  26082. This enables the \f[C]--fast-list\f[R] flag to work.
  26083. See the rclone docs (https://rclone.org/docs/#fast-list) for more
  26084. details.
  26085. .SS StreamUpload
  26086. .PP
  26087. Some remotes allow files to be uploaded without knowing the file size in
  26088. advance.
  26089. This allows certain operations to work without spooling the file to
  26090. local disk first, e.g.
  26091. \f[C]rclone rcat\f[R].
  26092. .SS MultithreadUpload
  26093. .PP
  26094. Some remotes allow transfers to the remote to be sent as chunks in
  26095. parallel.
  26096. If this is supported then rclone will use multi-thread copying to
  26097. transfer files much faster.
  26098. .SS LinkSharing
  26099. .PP
  26100. Sets the necessary permissions on a file or folder and prints a link
  26101. that allows others to access them, even if they don\[aq]t have an
  26102. account on the particular cloud provider.
  26103. .SS About
  26104. .PP
  26105. Rclone \f[C]about\f[R] prints quota information for a remote.
  26106. Typical output includes bytes used, free, quota and in trash.
  26107. .PP
  26108. If a remote lacks about capability \f[C]rclone about remote:\f[R]returns
  26109. an error.
  26110. .PP
  26111. Backends without about capability cannot determine free space for an
  26112. rclone mount, or use policy \f[C]mfs\f[R] (most free space) as a member
  26113. of an rclone union remote.
  26114. .PP
  26115. See rclone about command (https://rclone.org/commands/rclone_about/)
  26116. .SS EmptyDir
  26117. .PP
  26118. The remote supports empty directories.
  26119. See Limitations (https://rclone.org/bugs/#limitations) for details.
  26120. Most Object/Bucket-based remotes do not support this.
  26121. .SH Global Flags
  26122. .PP
  26123. This describes the global flags available to every rclone command split
  26124. into groups.
  26125. .SS Copy
  26126. .PP
  26127. Flags for anything which can Copy a file.
  26128. .IP
  26129. .nf
  26130. \f[C]
  26131. --check-first Do all the checks before starting transfers
  26132. -c, --checksum Check for changes with size & checksum (if available, or fallback to size only).
  26133. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  26134. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  26135. --cutoff-mode HARD|SOFT|CAUTIOUS Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default HARD)
  26136. --ignore-case-sync Ignore case when synchronizing
  26137. --ignore-checksum Skip post copy check of checksums
  26138. --ignore-existing Skip all files that exist on destination
  26139. --ignore-size Ignore size when skipping use modtime or checksum
  26140. -I, --ignore-times Don\[aq]t skip items that match size and time - transfer all unconditionally
  26141. --immutable Do not modify files, fail if existing files have been modified
  26142. --inplace Download directly to destination file instead of atomic download to temp/rename
  26143. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  26144. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  26145. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  26146. -M, --metadata If set, preserve metadata when copying objects
  26147. --modify-window Duration Max time diff to be considered the same (default 1ns)
  26148. --multi-thread-chunk-size SizeSuffix Chunk size for multi-thread downloads / uploads, if not set by filesystem (default 64Mi)
  26149. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 256Mi)
  26150. --multi-thread-streams int Number of streams to use for multi-thread downloads (default 4)
  26151. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  26152. --no-check-dest Don\[aq]t check the destination, copy regardless
  26153. --no-traverse Don\[aq]t traverse destination file system on copy
  26154. --no-update-dir-modtime Don\[aq]t update directory modification times
  26155. --no-update-modtime Don\[aq]t update destination modtime if files identical
  26156. --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq]
  26157. --partial-suffix string Add partial-suffix to temporary file name when --inplace is not used (default \[dq].partial\[dq])
  26158. --refresh-times Refresh the modtime of remote files
  26159. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  26160. --size-only Skip based on size only, not modtime or checksum
  26161. --streaming-upload-cutoff SizeSuffix Cutoff for switching to chunked upload if file size is unknown, upload starts after reaching cutoff or when file ends (default 100Ki)
  26162. -u, --update Skip files that are newer on the destination
  26163. \f[R]
  26164. .fi
  26165. .SS Sync
  26166. .PP
  26167. Flags just used for \f[C]rclone sync\f[R].
  26168. .IP
  26169. .nf
  26170. \f[C]
  26171. --backup-dir string Make backups into hierarchy based in DIR
  26172. --delete-after When synchronizing, delete files on destination after transferring (default)
  26173. --delete-before When synchronizing, delete files on destination before transferring
  26174. --delete-during When synchronizing, delete files during transfer
  26175. --fix-case Force rename of case insensitive dest to match source
  26176. --ignore-errors Delete even if there are I/O errors
  26177. --max-delete int When synchronizing, limit the number of deletes (default -1)
  26178. --max-delete-size SizeSuffix When synchronizing, limit the total size of deletes (default off)
  26179. --suffix string Suffix to add to changed files
  26180. --suffix-keep-extension Preserve the extension when using --suffix
  26181. --track-renames When synchronizing, track file renames and do a server-side move if possible
  26182. --track-renames-strategy string Strategies to use when synchronizing using track-renames hash|modtime|leaf (default \[dq]hash\[dq])
  26183. \f[R]
  26184. .fi
  26185. .SS Important
  26186. .PP
  26187. Important flags useful for most commands.
  26188. .IP
  26189. .nf
  26190. \f[C]
  26191. -n, --dry-run Do a trial run with no permanent changes
  26192. -i, --interactive Enable interactive mode
  26193. -v, --verbose count Print lots more stuff (repeat for more)
  26194. \f[R]
  26195. .fi
  26196. .SS Check
  26197. .PP
  26198. Flags used for \f[C]rclone check\f[R].
  26199. .IP
  26200. .nf
  26201. \f[C]
  26202. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  26203. \f[R]
  26204. .fi
  26205. .SS Networking
  26206. .PP
  26207. General networking and HTTP stuff.
  26208. .IP
  26209. .nf
  26210. \f[C]
  26211. --bind string Local address to bind to for outgoing connections, IPv4, IPv6 or name
  26212. --bwlimit BwTimetable Bandwidth limit in KiB/s, or use suffix B|K|M|G|T|P or a full timetable
  26213. --bwlimit-file BwTimetable Bandwidth limit per file in KiB/s, or use suffix B|K|M|G|T|P or a full timetable
  26214. --ca-cert stringArray CA certificate used to verify servers
  26215. --client-cert string Client SSL certificate (PEM) for mutual TLS auth
  26216. --client-key string Client SSL private key (PEM) for mutual TLS auth
  26217. --contimeout Duration Connect timeout (default 1m0s)
  26218. --disable-http-keep-alives Disable HTTP keep-alives and use each connection once.
  26219. --disable-http2 Disable HTTP/2 in the global transport
  26220. --dscp string Set DSCP value to connections, value or name, e.g. CS1, LE, DF, AF21
  26221. --expect-continue-timeout Duration Timeout when using expect / 100-continue in HTTP (default 1s)
  26222. --header stringArray Set HTTP header for all transactions
  26223. --header-download stringArray Set HTTP header for download transactions
  26224. --header-upload stringArray Set HTTP header for upload transactions
  26225. --no-check-certificate Do not verify the server SSL certificate (insecure)
  26226. --no-gzip-encoding Don\[aq]t set Accept-Encoding: gzip
  26227. --timeout Duration IO idle timeout (default 5m0s)
  26228. --tpslimit float Limit HTTP transactions per second to this
  26229. --tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
  26230. --use-cookies Enable session cookiejar
  26231. --user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.66.0\[dq])
  26232. \f[R]
  26233. .fi
  26234. .SS Performance
  26235. .PP
  26236. Flags helpful for increasing performance.
  26237. .IP
  26238. .nf
  26239. \f[C]
  26240. --buffer-size SizeSuffix In memory buffer size when reading files for each --transfer (default 16Mi)
  26241. --checkers int Number of checkers to run in parallel (default 8)
  26242. --transfers int Number of file transfers to run in parallel (default 4)
  26243. \f[R]
  26244. .fi
  26245. .SS Config
  26246. .PP
  26247. General configuration of rclone.
  26248. .IP
  26249. .nf
  26250. \f[C]
  26251. --ask-password Allow prompt for password for encrypted configuration (default true)
  26252. --auto-confirm If enabled, do not request console confirmation
  26253. --cache-dir string Directory rclone will use for caching (default \[dq]$HOME/.cache/rclone\[dq])
  26254. --color AUTO|NEVER|ALWAYS When to show colors (and other ANSI codes) AUTO|NEVER|ALWAYS (default AUTO)
  26255. --config string Config file (default \[dq]$HOME/.config/rclone/rclone.conf\[dq])
  26256. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  26257. --disable string Disable a comma separated list of features (use --disable help to see a list)
  26258. -n, --dry-run Do a trial run with no permanent changes
  26259. --error-on-no-transfer Sets exit code 9 if no files are transferred, useful in scripts
  26260. --fs-cache-expire-duration Duration Cache remotes for this long (0 to disable caching) (default 5m0s)
  26261. --fs-cache-expire-interval Duration Interval to check for expired remotes (default 1m0s)
  26262. --human-readable Print numbers in a human-readable format, sizes with suffix Ki|Mi|Gi|Ti|Pi
  26263. -i, --interactive Enable interactive mode
  26264. --kv-lock-time Duration Maximum time to keep key-value database locked by process (default 1s)
  26265. --low-level-retries int Number of low level retries to do (default 10)
  26266. --no-console Hide console window (supported on Windows only)
  26267. --no-unicode-normalization Don\[aq]t normalize unicode characters in filenames
  26268. --password-command SpaceSepList Command for supplying password for encrypted configuration
  26269. --retries int Retry operations this many times if they fail (default 3)
  26270. --retries-sleep Duration Interval between retrying operations if they fail, e.g. 500ms, 60s, 5m (0 to disable) (default 0s)
  26271. --temp-dir string Directory rclone will use for temporary files (default \[dq]/tmp\[dq])
  26272. --use-mmap Use mmap allocator (see docs)
  26273. --use-server-modtime Use server modified time instead of object metadata
  26274. \f[R]
  26275. .fi
  26276. .SS Debugging
  26277. .PP
  26278. Flags for developers.
  26279. .IP
  26280. .nf
  26281. \f[C]
  26282. --cpuprofile string Write cpu profile to file
  26283. --dump DumpFlags List of items to dump from: headers, bodies, requests, responses, auth, filters, goroutines, openfiles, mapper
  26284. --dump-bodies Dump HTTP headers and bodies - may contain sensitive info
  26285. --dump-headers Dump HTTP headers - may contain sensitive info
  26286. --memprofile string Write memory profile to file
  26287. \f[R]
  26288. .fi
  26289. .SS Filter
  26290. .PP
  26291. Flags for filtering directory listings.
  26292. .IP
  26293. .nf
  26294. \f[C]
  26295. --delete-excluded Delete files on dest excluded from sync
  26296. --exclude stringArray Exclude files matching pattern
  26297. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  26298. --exclude-if-present stringArray Exclude directories if filename is present
  26299. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  26300. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  26301. -f, --filter stringArray Add a file filtering rule
  26302. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  26303. --ignore-case Ignore case in filters (case insensitive)
  26304. --include stringArray Include files matching pattern
  26305. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  26306. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  26307. --max-depth int If set limits the recursion depth to this (default -1)
  26308. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  26309. --metadata-exclude stringArray Exclude metadatas matching pattern
  26310. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  26311. --metadata-filter stringArray Add a metadata filtering rule
  26312. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  26313. --metadata-include stringArray Include metadatas matching pattern
  26314. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  26315. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  26316. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  26317. \f[R]
  26318. .fi
  26319. .SS Listing
  26320. .PP
  26321. Flags for listing directories.
  26322. .IP
  26323. .nf
  26324. \f[C]
  26325. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  26326. --fast-list Use recursive list if available; uses more memory but fewer transactions
  26327. \f[R]
  26328. .fi
  26329. .SS Logging
  26330. .PP
  26331. Logging and statistics.
  26332. .IP
  26333. .nf
  26334. \f[C]
  26335. --log-file string Log everything to this file
  26336. --log-format string Comma separated list of log format options (default \[dq]date,time\[dq])
  26337. --log-level LogLevel Log level DEBUG|INFO|NOTICE|ERROR (default NOTICE)
  26338. --log-systemd Activate systemd integration for the logger
  26339. --max-stats-groups int Maximum number of stats groups to keep in memory, on max oldest is discarded (default 1000)
  26340. -P, --progress Show progress during transfer
  26341. --progress-terminal-title Show progress on the terminal title (requires -P/--progress)
  26342. -q, --quiet Print as little stuff as possible
  26343. --stats Duration Interval between printing stats, e.g. 500ms, 60s, 5m (0 to disable) (default 1m0s)
  26344. --stats-file-name-length int Max file name length in stats (0 for no limit) (default 45)
  26345. --stats-log-level LogLevel Log level to show --stats output DEBUG|INFO|NOTICE|ERROR (default INFO)
  26346. --stats-one-line Make the stats fit on one line
  26347. --stats-one-line-date Enable --stats-one-line and add current date/time prefix
  26348. --stats-one-line-date-format string Enable --stats-one-line-date and use custom formatted date: Enclose date string in double quotes (\[dq]), see https://golang.org/pkg/time/#Time.Format
  26349. --stats-unit string Show data rate in stats as either \[aq]bits\[aq] or \[aq]bytes\[aq] per second (default \[dq]bytes\[dq])
  26350. --syslog Use Syslog for logging
  26351. --syslog-facility string Facility for syslog, e.g. KERN,USER,... (default \[dq]DAEMON\[dq])
  26352. --use-json-log Use json log format
  26353. -v, --verbose count Print lots more stuff (repeat for more)
  26354. \f[R]
  26355. .fi
  26356. .SS Metadata
  26357. .PP
  26358. Flags to control metadata.
  26359. .IP
  26360. .nf
  26361. \f[C]
  26362. -M, --metadata If set, preserve metadata when copying objects
  26363. --metadata-exclude stringArray Exclude metadatas matching pattern
  26364. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  26365. --metadata-filter stringArray Add a metadata filtering rule
  26366. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  26367. --metadata-include stringArray Include metadatas matching pattern
  26368. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  26369. --metadata-mapper SpaceSepList Program to run to transforming metadata before upload
  26370. --metadata-set stringArray Add metadata key=value when uploading
  26371. \f[R]
  26372. .fi
  26373. .SS RC
  26374. .PP
  26375. Flags to control the Remote Control API.
  26376. .IP
  26377. .nf
  26378. \f[C]
  26379. --rc Enable the remote control server
  26380. --rc-addr stringArray IPaddress:Port or :Port to bind server to (default [localhost:5572])
  26381. --rc-allow-origin string Origin which cross-domain request (CORS) can be executed from
  26382. --rc-baseurl string Prefix for URLs - leave blank for root
  26383. --rc-cert string TLS PEM key (concatenation of certificate and CA certificate)
  26384. --rc-client-ca string Client certificate authority to verify clients with
  26385. --rc-enable-metrics Enable prometheus metrics on /metrics
  26386. --rc-files string Path to local files to serve on the HTTP server
  26387. --rc-htpasswd string A htpasswd file - if not provided no authentication is done
  26388. --rc-job-expire-duration Duration Expire finished async jobs older than this value (default 1m0s)
  26389. --rc-job-expire-interval Duration Interval to check for expired async jobs (default 10s)
  26390. --rc-key string TLS PEM Private key
  26391. --rc-max-header-bytes int Maximum size of request header (default 4096)
  26392. --rc-min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq])
  26393. --rc-no-auth Don\[aq]t require auth for certain methods
  26394. --rc-pass string Password for authentication
  26395. --rc-realm string Realm for authentication
  26396. --rc-salt string Password hashing salt (default \[dq]dlPL2MqE\[dq])
  26397. --rc-serve Enable the serving of remote objects
  26398. --rc-server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  26399. --rc-server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  26400. --rc-template string User-specified template
  26401. --rc-user string User name for authentication
  26402. --rc-web-fetch-url string URL to fetch the releases for webgui (default \[dq]https://api.github.com/repos/rclone/rclone-webui-react/releases/latest\[dq])
  26403. --rc-web-gui Launch WebGUI on localhost
  26404. --rc-web-gui-force-update Force update to latest version of web gui
  26405. --rc-web-gui-no-open-browser Don\[aq]t open the browser automatically
  26406. --rc-web-gui-update Check and update to latest version of web gui
  26407. \f[R]
  26408. .fi
  26409. .SS Backend
  26410. .PP
  26411. Backend only flags.
  26412. These can be set in the config file also.
  26413. .IP
  26414. .nf
  26415. \f[C]
  26416. --alias-description string Description of the remote
  26417. --alias-remote string Remote or path to alias
  26418. --azureblob-access-tier string Access tier of blob: hot, cool, cold or archive
  26419. --azureblob-account string Azure Storage Account Name
  26420. --azureblob-archive-tier-delete Delete archive tier blobs before overwriting
  26421. --azureblob-chunk-size SizeSuffix Upload chunk size (default 4Mi)
  26422. --azureblob-client-certificate-password string Password for the certificate file (optional) (obscured)
  26423. --azureblob-client-certificate-path string Path to a PEM or PKCS12 certificate file including the private key
  26424. --azureblob-client-id string The ID of the client in use
  26425. --azureblob-client-secret string One of the service principal\[aq]s client secrets
  26426. --azureblob-client-send-certificate-chain Send the certificate chain when using certificate auth
  26427. --azureblob-delete-snapshots string Set to specify how to deal with snapshots on blob deletion
  26428. --azureblob-description string Description of the remote
  26429. --azureblob-directory-markers Upload an empty object with a trailing slash when a new directory is created
  26430. --azureblob-disable-checksum Don\[aq]t store MD5 checksum with object metadata
  26431. --azureblob-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8)
  26432. --azureblob-endpoint string Endpoint for the service
  26433. --azureblob-env-auth Read credentials from runtime (environment variables, CLI or MSI)
  26434. --azureblob-key string Storage Account Shared Key
  26435. --azureblob-list-chunk int Size of blob list (default 5000)
  26436. --azureblob-msi-client-id string Object ID of the user-assigned MSI to use, if any
  26437. --azureblob-msi-mi-res-id string Azure resource ID of the user-assigned MSI to use, if any
  26438. --azureblob-msi-object-id string Object ID of the user-assigned MSI to use, if any
  26439. --azureblob-no-check-container If set, don\[aq]t attempt to check the container exists or create it
  26440. --azureblob-no-head-object If set, do not do HEAD before GET when getting objects
  26441. --azureblob-password string The user\[aq]s password (obscured)
  26442. --azureblob-public-access string Public access level of a container: blob or container
  26443. --azureblob-sas-url string SAS URL for container level access only
  26444. --azureblob-service-principal-file string Path to file containing credentials for use with a service principal
  26445. --azureblob-tenant string ID of the service principal\[aq]s tenant. Also called its directory ID
  26446. --azureblob-upload-concurrency int Concurrency for multipart uploads (default 16)
  26447. --azureblob-upload-cutoff string Cutoff for switching to chunked upload (<= 256 MiB) (deprecated)
  26448. --azureblob-use-emulator Uses local storage emulator if provided as \[aq]true\[aq]
  26449. --azureblob-use-msi Use a managed service identity to authenticate (only works in Azure)
  26450. --azureblob-username string User name (usually an email address)
  26451. --azurefiles-account string Azure Storage Account Name
  26452. --azurefiles-chunk-size SizeSuffix Upload chunk size (default 4Mi)
  26453. --azurefiles-client-certificate-password string Password for the certificate file (optional) (obscured)
  26454. --azurefiles-client-certificate-path string Path to a PEM or PKCS12 certificate file including the private key
  26455. --azurefiles-client-id string The ID of the client in use
  26456. --azurefiles-client-secret string One of the service principal\[aq]s client secrets
  26457. --azurefiles-client-send-certificate-chain Send the certificate chain when using certificate auth
  26458. --azurefiles-connection-string string Azure Files Connection String
  26459. --azurefiles-description string Description of the remote
  26460. --azurefiles-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8,Dot)
  26461. --azurefiles-endpoint string Endpoint for the service
  26462. --azurefiles-env-auth Read credentials from runtime (environment variables, CLI or MSI)
  26463. --azurefiles-key string Storage Account Shared Key
  26464. --azurefiles-max-stream-size SizeSuffix Max size for streamed files (default 10Gi)
  26465. --azurefiles-msi-client-id string Object ID of the user-assigned MSI to use, if any
  26466. --azurefiles-msi-mi-res-id string Azure resource ID of the user-assigned MSI to use, if any
  26467. --azurefiles-msi-object-id string Object ID of the user-assigned MSI to use, if any
  26468. --azurefiles-password string The user\[aq]s password (obscured)
  26469. --azurefiles-sas-url string SAS URL
  26470. --azurefiles-service-principal-file string Path to file containing credentials for use with a service principal
  26471. --azurefiles-share-name string Azure Files Share Name
  26472. --azurefiles-tenant string ID of the service principal\[aq]s tenant. Also called its directory ID
  26473. --azurefiles-upload-concurrency int Concurrency for multipart uploads (default 16)
  26474. --azurefiles-use-msi Use a managed service identity to authenticate (only works in Azure)
  26475. --azurefiles-username string User name (usually an email address)
  26476. --b2-account string Account ID or Application Key ID
  26477. --b2-chunk-size SizeSuffix Upload chunk size (default 96Mi)
  26478. --b2-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4Gi)
  26479. --b2-description string Description of the remote
  26480. --b2-disable-checksum Disable checksums for large (> upload cutoff) files
  26481. --b2-download-auth-duration Duration Time before the public link authorization token will expire in s or suffix ms|s|m|h|d (default 1w)
  26482. --b2-download-url string Custom endpoint for downloads
  26483. --b2-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  26484. --b2-endpoint string Endpoint for the service
  26485. --b2-hard-delete Permanently delete files on remote removal, otherwise hide files
  26486. --b2-key string Application Key
  26487. --b2-lifecycle int Set the number of days deleted files should be kept when creating a bucket
  26488. --b2-test-mode string A flag string for X-Bz-Test-Mode header for debugging
  26489. --b2-upload-concurrency int Concurrency for multipart uploads (default 4)
  26490. --b2-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  26491. --b2-version-at Time Show file versions as they were at the specified time (default off)
  26492. --b2-versions Include old versions in directory listings
  26493. --box-access-token string Box App Primary Access Token
  26494. --box-auth-url string Auth server URL
  26495. --box-box-config-file string Box App config.json location
  26496. --box-box-sub-type string (default \[dq]user\[dq])
  26497. --box-client-id string OAuth Client Id
  26498. --box-client-secret string OAuth Client Secret
  26499. --box-commit-retries int Max number of times to try committing a multipart file (default 100)
  26500. --box-description string Description of the remote
  26501. --box-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot)
  26502. --box-impersonate string Impersonate this user ID when using a service account
  26503. --box-list-chunk int Size of listing chunk 1-1000 (default 1000)
  26504. --box-owned-by string Only show items owned by the login (email address) passed in
  26505. --box-root-folder-id string Fill in for rclone to use a non root folder as its starting point
  26506. --box-token string OAuth Access Token as a JSON blob
  26507. --box-token-url string Token server url
  26508. --box-upload-cutoff SizeSuffix Cutoff for switching to multipart upload (>= 50 MiB) (default 50Mi)
  26509. --cache-chunk-clean-interval Duration How often should the cache perform cleanups of the chunk storage (default 1m0s)
  26510. --cache-chunk-no-memory Disable the in-memory cache for storing chunks during streaming
  26511. --cache-chunk-path string Directory to cache chunk files (default \[dq]$HOME/.cache/rclone/cache-backend\[dq])
  26512. --cache-chunk-size SizeSuffix The size of a chunk (partial file data) (default 5Mi)
  26513. --cache-chunk-total-size SizeSuffix The total size that the chunks can take up on the local disk (default 10Gi)
  26514. --cache-db-path string Directory to store file structure metadata DB (default \[dq]$HOME/.cache/rclone/cache-backend\[dq])
  26515. --cache-db-purge Clear all the cached data for this remote on start
  26516. --cache-db-wait-time Duration How long to wait for the DB to be available - 0 is unlimited (default 1s)
  26517. --cache-description string Description of the remote
  26518. --cache-info-age Duration How long to cache file structure information (directory listings, file size, times, etc.) (default 6h0m0s)
  26519. --cache-plex-insecure string Skip all certificate verification when connecting to the Plex server
  26520. --cache-plex-password string The password of the Plex user (obscured)
  26521. --cache-plex-url string The URL of the Plex server
  26522. --cache-plex-username string The username of the Plex user
  26523. --cache-read-retries int How many times to retry a read from a cache storage (default 10)
  26524. --cache-remote string Remote to cache
  26525. --cache-rps int Limits the number of requests per second to the source FS (-1 to disable) (default -1)
  26526. --cache-tmp-upload-path string Directory to keep temporary files until they are uploaded
  26527. --cache-tmp-wait-time Duration How long should files be stored in local cache before being uploaded (default 15s)
  26528. --cache-workers int How many workers should run in parallel to download chunks (default 4)
  26529. --cache-writes Cache file data on writes through the FS
  26530. --chunker-chunk-size SizeSuffix Files larger than chunk size will be split in chunks (default 2Gi)
  26531. --chunker-description string Description of the remote
  26532. --chunker-fail-hard Choose how chunker should handle files with missing or invalid chunks
  26533. --chunker-hash-type string Choose how chunker handles hash sums (default \[dq]md5\[dq])
  26534. --chunker-remote string Remote to chunk/unchunk
  26535. --combine-description string Description of the remote
  26536. --combine-upstreams SpaceSepList Upstreams for combining
  26537. --compress-description string Description of the remote
  26538. --compress-level int GZIP compression level (-2 to 9) (default -1)
  26539. --compress-mode string Compression mode (default \[dq]gzip\[dq])
  26540. --compress-ram-cache-limit SizeSuffix Some remotes don\[aq]t allow the upload of files with unknown size (default 20Mi)
  26541. --compress-remote string Remote to compress
  26542. -L, --copy-links Follow symlinks and copy the pointed to item
  26543. --crypt-description string Description of the remote
  26544. --crypt-directory-name-encryption Option to either encrypt directory names or leave them intact (default true)
  26545. --crypt-filename-encoding string How to encode the encrypted filename to text string (default \[dq]base32\[dq])
  26546. --crypt-filename-encryption string How to encrypt the filenames (default \[dq]standard\[dq])
  26547. --crypt-no-data-encryption Option to either encrypt file data or leave it unencrypted
  26548. --crypt-pass-bad-blocks If set this will pass bad blocks through as all 0
  26549. --crypt-password string Password or pass phrase for encryption (obscured)
  26550. --crypt-password2 string Password or pass phrase for salt (obscured)
  26551. --crypt-remote string Remote to encrypt/decrypt
  26552. --crypt-server-side-across-configs Deprecated: use --server-side-across-configs instead
  26553. --crypt-show-mapping For all files listed show how the names encrypt
  26554. --crypt-strict-names If set, this will raise an error when crypt comes across a filename that can\[aq]t be decrypted
  26555. --crypt-suffix string If this is set it will override the default suffix of \[dq].bin\[dq] (default \[dq].bin\[dq])
  26556. --drive-acknowledge-abuse Set to allow files which return cannotDownloadAbusiveFile to be downloaded
  26557. --drive-allow-import-name-change Allow the filetype to change when uploading Google docs
  26558. --drive-auth-owner-only Only consider files owned by the authenticated user
  26559. --drive-auth-url string Auth server URL
  26560. --drive-chunk-size SizeSuffix Upload chunk size (default 8Mi)
  26561. --drive-client-id string Google Application Client Id
  26562. --drive-client-secret string OAuth Client Secret
  26563. --drive-copy-shortcut-content Server side copy contents of shortcuts instead of the shortcut
  26564. --drive-description string Description of the remote
  26565. --drive-disable-http2 Disable drive using http2 (default true)
  26566. --drive-encoding Encoding The encoding for the backend (default InvalidUtf8)
  26567. --drive-env-auth Get IAM credentials from runtime (environment variables or instance meta data if no env vars)
  26568. --drive-export-formats string Comma separated list of preferred formats for downloading Google docs (default \[dq]docx,xlsx,pptx,svg\[dq])
  26569. --drive-fast-list-bug-fix Work around a bug in Google Drive listing (default true)
  26570. --drive-formats string Deprecated: See export_formats
  26571. --drive-impersonate string Impersonate this user when using a service account
  26572. --drive-import-formats string Comma separated list of preferred formats for uploading Google docs
  26573. --drive-keep-revision-forever Keep new head revision of each file forever
  26574. --drive-list-chunk int Size of listing chunk 100-1000, 0 to disable (default 1000)
  26575. --drive-metadata-labels Bits Control whether labels should be read or written in metadata (default off)
  26576. --drive-metadata-owner Bits Control whether owner should be read or written in metadata (default read)
  26577. --drive-metadata-permissions Bits Control whether permissions should be read or written in metadata (default off)
  26578. --drive-pacer-burst int Number of API calls to allow without sleeping (default 100)
  26579. --drive-pacer-min-sleep Duration Minimum time to sleep between API calls (default 100ms)
  26580. --drive-resource-key string Resource key for accessing a link-shared file
  26581. --drive-root-folder-id string ID of the root folder
  26582. --drive-scope string Comma separated list of scopes that rclone should use when requesting access from drive
  26583. --drive-server-side-across-configs Deprecated: use --server-side-across-configs instead
  26584. --drive-service-account-credentials string Service Account Credentials JSON blob
  26585. --drive-service-account-file string Service Account Credentials JSON file path
  26586. --drive-shared-with-me Only show files that are shared with me
  26587. --drive-show-all-gdocs Show all Google Docs including non-exportable ones in listings
  26588. --drive-size-as-quota Show sizes as storage quota usage, not actual size
  26589. --drive-skip-checksum-gphotos Skip checksums on Google photos and videos only
  26590. --drive-skip-dangling-shortcuts If set skip dangling shortcut files
  26591. --drive-skip-gdocs Skip google documents in all listings
  26592. --drive-skip-shortcuts If set skip shortcut files
  26593. --drive-starred-only Only show files that are starred
  26594. --drive-stop-on-download-limit Make download limit errors be fatal
  26595. --drive-stop-on-upload-limit Make upload limit errors be fatal
  26596. --drive-team-drive string ID of the Shared Drive (Team Drive)
  26597. --drive-token string OAuth Access Token as a JSON blob
  26598. --drive-token-url string Token server url
  26599. --drive-trashed-only Only show files that are in the trash
  26600. --drive-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 8Mi)
  26601. --drive-use-created-date Use file created date instead of modified date
  26602. --drive-use-shared-date Use date file was shared instead of modified date
  26603. --drive-use-trash Send files to the trash instead of deleting permanently (default true)
  26604. --drive-v2-download-min-size SizeSuffix If Object\[aq]s are greater, use drive v2 API to download (default off)
  26605. --dropbox-auth-url string Auth server URL
  26606. --dropbox-batch-commit-timeout Duration Max time to wait for a batch to finish committing (default 10m0s)
  26607. --dropbox-batch-mode string Upload file batching sync|async|off (default \[dq]sync\[dq])
  26608. --dropbox-batch-size int Max number of files in upload batch
  26609. --dropbox-batch-timeout Duration Max time to allow an idle upload batch before uploading (default 0s)
  26610. --dropbox-chunk-size SizeSuffix Upload chunk size (< 150Mi) (default 48Mi)
  26611. --dropbox-client-id string OAuth Client Id
  26612. --dropbox-client-secret string OAuth Client Secret
  26613. --dropbox-description string Description of the remote
  26614. --dropbox-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot)
  26615. --dropbox-impersonate string Impersonate this user when using a business account
  26616. --dropbox-pacer-min-sleep Duration Minimum time to sleep between API calls (default 10ms)
  26617. --dropbox-shared-files Instructs rclone to work on individual shared files
  26618. --dropbox-shared-folders Instructs rclone to work on shared folders
  26619. --dropbox-token string OAuth Access Token as a JSON blob
  26620. --dropbox-token-url string Token server url
  26621. --fichier-api-key string Your API Key, get it from https://1fichier.com/console/params.pl
  26622. --fichier-cdn Set if you wish to use CDN download links
  26623. --fichier-description string Description of the remote
  26624. --fichier-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot)
  26625. --fichier-file-password string If you want to download a shared file that is password protected, add this parameter (obscured)
  26626. --fichier-folder-password string If you want to list the files in a shared folder that is password protected, add this parameter (obscured)
  26627. --fichier-shared-folder string If you want to download a shared folder, add this parameter
  26628. --filefabric-description string Description of the remote
  26629. --filefabric-encoding Encoding The encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot)
  26630. --filefabric-permanent-token string Permanent Authentication Token
  26631. --filefabric-root-folder-id string ID of the root folder
  26632. --filefabric-token string Session Token
  26633. --filefabric-token-expiry string Token expiry time
  26634. --filefabric-url string URL of the Enterprise File Fabric to connect to
  26635. --filefabric-version string Version read from the file fabric
  26636. --ftp-ask-password Allow asking for FTP password when needed
  26637. --ftp-close-timeout Duration Maximum time to wait for a response to close (default 1m0s)
  26638. --ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited
  26639. --ftp-description string Description of the remote
  26640. --ftp-disable-epsv Disable using EPSV even if server advertises support
  26641. --ftp-disable-mlsd Disable using MLSD even if server advertises support
  26642. --ftp-disable-tls13 Disable TLS 1.3 (workaround for FTP servers with buggy TLS)
  26643. --ftp-disable-utf8 Disable using UTF-8 even if server advertises support
  26644. --ftp-encoding Encoding The encoding for the backend (default Slash,Del,Ctl,RightSpace,Dot)
  26645. --ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
  26646. --ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
  26647. --ftp-host string FTP host to connect to
  26648. --ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
  26649. --ftp-no-check-certificate Do not verify the TLS certificate of the server
  26650. --ftp-pass string FTP password (obscured)
  26651. --ftp-port int FTP port number (default 21)
  26652. --ftp-shut-timeout Duration Maximum time to wait for data connection closing status (default 1m0s)
  26653. --ftp-socks-proxy string Socks 5 proxy host
  26654. --ftp-tls Use Implicit FTPS (FTP over TLS)
  26655. --ftp-tls-cache-size int Size of TLS session cache for all control and data connections (default 32)
  26656. --ftp-user string FTP username (default \[dq]$USER\[dq])
  26657. --ftp-writing-mdtm Use MDTM to set modification time (VsFtpd quirk)
  26658. --gcs-anonymous Access public buckets and objects without credentials
  26659. --gcs-auth-url string Auth server URL
  26660. --gcs-bucket-acl string Access Control List for new buckets
  26661. --gcs-bucket-policy-only Access checks should use bucket-level IAM policies
  26662. --gcs-client-id string OAuth Client Id
  26663. --gcs-client-secret string OAuth Client Secret
  26664. --gcs-decompress If set this will decompress gzip encoded objects
  26665. --gcs-description string Description of the remote
  26666. --gcs-directory-markers Upload an empty object with a trailing slash when a new directory is created
  26667. --gcs-encoding Encoding The encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot)
  26668. --gcs-endpoint string Endpoint for the service
  26669. --gcs-env-auth Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars)
  26670. --gcs-location string Location for the newly created buckets
  26671. --gcs-no-check-bucket If set, don\[aq]t attempt to check the bucket exists or create it
  26672. --gcs-object-acl string Access Control List for new objects
  26673. --gcs-project-number string Project number
  26674. --gcs-service-account-file string Service Account Credentials JSON file path
  26675. --gcs-storage-class string The storage class to use when storing objects in Google Cloud Storage
  26676. --gcs-token string OAuth Access Token as a JSON blob
  26677. --gcs-token-url string Token server url
  26678. --gcs-user-project string User project
  26679. --gphotos-auth-url string Auth server URL
  26680. --gphotos-batch-commit-timeout Duration Max time to wait for a batch to finish committing (default 10m0s)
  26681. --gphotos-batch-mode string Upload file batching sync|async|off (default \[dq]sync\[dq])
  26682. --gphotos-batch-size int Max number of files in upload batch
  26683. --gphotos-batch-timeout Duration Max time to allow an idle upload batch before uploading (default 0s)
  26684. --gphotos-client-id string OAuth Client Id
  26685. --gphotos-client-secret string OAuth Client Secret
  26686. --gphotos-description string Description of the remote
  26687. --gphotos-encoding Encoding The encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot)
  26688. --gphotos-include-archived Also view and download archived media
  26689. --gphotos-read-only Set to make the Google Photos backend read only
  26690. --gphotos-read-size Set to read the size of media items
  26691. --gphotos-start-year int Year limits the photos to be downloaded to those which are uploaded after the given year (default 2000)
  26692. --gphotos-token string OAuth Access Token as a JSON blob
  26693. --gphotos-token-url string Token server url
  26694. --hasher-auto-size SizeSuffix Auto-update checksum for files smaller than this size (disabled by default)
  26695. --hasher-description string Description of the remote
  26696. --hasher-hashes CommaSepList Comma separated list of supported checksum types (default md5,sha1)
  26697. --hasher-max-age Duration Maximum time to keep checksums in cache (0 = no cache, off = cache forever) (default off)
  26698. --hasher-remote string Remote to cache checksums for (e.g. myRemote:path)
  26699. --hdfs-data-transfer-protection string Kerberos data transfer protection: authentication|integrity|privacy
  26700. --hdfs-description string Description of the remote
  26701. --hdfs-encoding Encoding The encoding for the backend (default Slash,Colon,Del,Ctl,InvalidUtf8,Dot)
  26702. --hdfs-namenode CommaSepList Hadoop name nodes and ports
  26703. --hdfs-service-principal-name string Kerberos service principal name for the namenode
  26704. --hdfs-username string Hadoop user name
  26705. --hidrive-auth-url string Auth server URL
  26706. --hidrive-chunk-size SizeSuffix Chunksize for chunked uploads (default 48Mi)
  26707. --hidrive-client-id string OAuth Client Id
  26708. --hidrive-client-secret string OAuth Client Secret
  26709. --hidrive-description string Description of the remote
  26710. --hidrive-disable-fetching-member-count Do not fetch number of objects in directories unless it is absolutely necessary
  26711. --hidrive-encoding Encoding The encoding for the backend (default Slash,Dot)
  26712. --hidrive-endpoint string Endpoint for the service (default \[dq]https://api.hidrive.strato.com/2.1\[dq])
  26713. --hidrive-root-prefix string The root/parent folder for all paths (default \[dq]/\[dq])
  26714. --hidrive-scope-access string Access permissions that rclone should use when requesting access from HiDrive (default \[dq]rw\[dq])
  26715. --hidrive-scope-role string User-level that rclone should use when requesting access from HiDrive (default \[dq]user\[dq])
  26716. --hidrive-token string OAuth Access Token as a JSON blob
  26717. --hidrive-token-url string Token server url
  26718. --hidrive-upload-concurrency int Concurrency for chunked uploads (default 4)
  26719. --hidrive-upload-cutoff SizeSuffix Cutoff/Threshold for chunked uploads (default 96Mi)
  26720. --http-description string Description of the remote
  26721. --http-headers CommaSepList Set HTTP headers for all transactions
  26722. --http-no-head Don\[aq]t use HEAD requests
  26723. --http-no-slash Set this if the site doesn\[aq]t end directories with /
  26724. --http-url string URL of HTTP host to connect to
  26725. --imagekit-description string Description of the remote
  26726. --imagekit-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Dollar,Question,Hash,Percent,BackSlash,Del,Ctl,InvalidUtf8,Dot,SquareBracket)
  26727. --imagekit-endpoint string You can find your ImageKit.io URL endpoint in your [dashboard](https://imagekit.io/dashboard/developer/api-keys)
  26728. --imagekit-only-signed Restrict unsigned image URLs If you have configured Restrict unsigned image URLs in your dashboard settings, set this to true
  26729. --imagekit-private-key string You can find your ImageKit.io private key in your [dashboard](https://imagekit.io/dashboard/developer/api-keys)
  26730. --imagekit-public-key string You can find your ImageKit.io public key in your [dashboard](https://imagekit.io/dashboard/developer/api-keys)
  26731. --imagekit-upload-tags string Tags to add to the uploaded files, e.g. \[dq]tag1,tag2\[dq]
  26732. --imagekit-versions Include old versions in directory listings
  26733. --internetarchive-access-key-id string IAS3 Access Key
  26734. --internetarchive-description string Description of the remote
  26735. --internetarchive-disable-checksum Don\[aq]t ask the server to test against MD5 checksum calculated by rclone (default true)
  26736. --internetarchive-encoding Encoding The encoding for the backend (default Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot)
  26737. --internetarchive-endpoint string IAS3 Endpoint (default \[dq]https://s3.us.archive.org\[dq])
  26738. --internetarchive-front-endpoint string Host of InternetArchive Frontend (default \[dq]https://archive.org\[dq])
  26739. --internetarchive-secret-access-key string IAS3 Secret Key (password)
  26740. --internetarchive-wait-archive Duration Timeout for waiting the server\[aq]s processing tasks (specifically archive and book_op) to finish (default 0s)
  26741. --jottacloud-auth-url string Auth server URL
  26742. --jottacloud-client-id string OAuth Client Id
  26743. --jottacloud-client-secret string OAuth Client Secret
  26744. --jottacloud-description string Description of the remote
  26745. --jottacloud-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot)
  26746. --jottacloud-hard-delete Delete files permanently rather than putting them into the trash
  26747. --jottacloud-md5-memory-limit SizeSuffix Files bigger than this will be cached on disk to calculate the MD5 if required (default 10Mi)
  26748. --jottacloud-no-versions Avoid server side versioning by deleting files and recreating files instead of overwriting them
  26749. --jottacloud-token string OAuth Access Token as a JSON blob
  26750. --jottacloud-token-url string Token server url
  26751. --jottacloud-trashed-only Only show files that are in the trash
  26752. --jottacloud-upload-resume-limit SizeSuffix Files bigger than this can be resumed if the upload fail\[aq]s (default 10Mi)
  26753. --koofr-description string Description of the remote
  26754. --koofr-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  26755. --koofr-endpoint string The Koofr API endpoint to use
  26756. --koofr-mountid string Mount ID of the mount to use
  26757. --koofr-password string Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
  26758. --koofr-provider string Choose your storage provider
  26759. --koofr-setmtime Does the backend support setting modification time (default true)
  26760. --koofr-user string Your user name
  26761. --linkbox-description string Description of the remote
  26762. --linkbox-token string Token from https://www.linkbox.to/admin/account
  26763. -l, --links Translate symlinks to/from regular files with a \[aq].rclonelink\[aq] extension
  26764. --local-case-insensitive Force the filesystem to report itself as case insensitive
  26765. --local-case-sensitive Force the filesystem to report itself as case sensitive
  26766. --local-description string Description of the remote
  26767. --local-encoding Encoding The encoding for the backend (default Slash,Dot)
  26768. --local-no-check-updated Don\[aq]t check to see if the files change during upload
  26769. --local-no-preallocate Disable preallocation of disk space for transferred files
  26770. --local-no-set-modtime Disable setting modtime
  26771. --local-no-sparse Disable sparse files for multi-thread downloads
  26772. --local-nounc Disable UNC (long path names) conversion on Windows
  26773. --local-unicode-normalization Apply unicode NFC normalization to paths and filenames
  26774. --local-zero-size-links Assume the Stat size of links is zero (and read them instead) (deprecated)
  26775. --mailru-auth-url string Auth server URL
  26776. --mailru-check-hash What should copy do if file checksum is mismatched or invalid (default true)
  26777. --mailru-client-id string OAuth Client Id
  26778. --mailru-client-secret string OAuth Client Secret
  26779. --mailru-description string Description of the remote
  26780. --mailru-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  26781. --mailru-pass string Password (obscured)
  26782. --mailru-speedup-enable Skip full upload if there is another file with same data hash (default true)
  26783. --mailru-speedup-file-patterns string Comma separated list of file name patterns eligible for speedup (put by hash) (default \[dq]*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf\[dq])
  26784. --mailru-speedup-max-disk SizeSuffix This option allows you to disable speedup (put by hash) for large files (default 3Gi)
  26785. --mailru-speedup-max-memory SizeSuffix Files larger than the size given below will always be hashed on disk (default 32Mi)
  26786. --mailru-token string OAuth Access Token as a JSON blob
  26787. --mailru-token-url string Token server url
  26788. --mailru-user string User name (usually email)
  26789. --mega-debug Output more debug from Mega
  26790. --mega-description string Description of the remote
  26791. --mega-encoding Encoding The encoding for the backend (default Slash,InvalidUtf8,Dot)
  26792. --mega-hard-delete Delete files permanently rather than putting them into the trash
  26793. --mega-pass string Password (obscured)
  26794. --mega-use-https Use HTTPS for transfers
  26795. --mega-user string User name
  26796. --memory-description string Description of the remote
  26797. --netstorage-account string Set the NetStorage account name
  26798. --netstorage-description string Description of the remote
  26799. --netstorage-host string Domain+path of NetStorage host to connect to
  26800. --netstorage-protocol string Select between HTTP or HTTPS protocol (default \[dq]https\[dq])
  26801. --netstorage-secret string Set the NetStorage account secret/G2O key for authentication (obscured)
  26802. -x, --one-file-system Don\[aq]t cross filesystem boundaries (unix/macOS only)
  26803. --onedrive-access-scopes SpaceSepList Set scopes to be requested by rclone (default Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access)
  26804. --onedrive-auth-url string Auth server URL
  26805. --onedrive-av-override Allows download of files the server thinks has a virus
  26806. --onedrive-chunk-size SizeSuffix Chunk size to upload files with - must be multiple of 320k (327,680 bytes) (default 10Mi)
  26807. --onedrive-client-id string OAuth Client Id
  26808. --onedrive-client-secret string OAuth Client Secret
  26809. --onedrive-delta If set rclone will use delta listing to implement recursive listings
  26810. --onedrive-description string Description of the remote
  26811. --onedrive-drive-id string The ID of the drive to use
  26812. --onedrive-drive-type string The type of the drive (personal | business | documentLibrary)
  26813. --onedrive-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot)
  26814. --onedrive-expose-onenote-files Set to make OneNote files show up in directory listings
  26815. --onedrive-hash-type string Specify the hash in use for the backend (default \[dq]auto\[dq])
  26816. --onedrive-link-password string Set the password for links created by the link command
  26817. --onedrive-link-scope string Set the scope of the links created by the link command (default \[dq]anonymous\[dq])
  26818. --onedrive-link-type string Set the type of the links created by the link command (default \[dq]view\[dq])
  26819. --onedrive-list-chunk int Size of listing chunk (default 1000)
  26820. --onedrive-metadata-permissions Bits Control whether permissions should be read or written in metadata (default off)
  26821. --onedrive-no-versions Remove all versions on modifying operations
  26822. --onedrive-region string Choose national cloud region for OneDrive (default \[dq]global\[dq])
  26823. --onedrive-root-folder-id string ID of the root folder
  26824. --onedrive-server-side-across-configs Deprecated: use --server-side-across-configs instead
  26825. --onedrive-token string OAuth Access Token as a JSON blob
  26826. --onedrive-token-url string Token server url
  26827. --oos-attempt-resume-upload If true attempt to resume previously started multipart upload for the object
  26828. --oos-chunk-size SizeSuffix Chunk size to use for uploading (default 5Mi)
  26829. --oos-compartment string Object storage compartment OCID
  26830. --oos-config-file string Path to OCI config file (default \[dq]\[ti]/.oci/config\[dq])
  26831. --oos-config-profile string Profile name inside the oci config file (default \[dq]Default\[dq])
  26832. --oos-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4.656Gi)
  26833. --oos-copy-timeout Duration Timeout for copy (default 1m0s)
  26834. --oos-description string Description of the remote
  26835. --oos-disable-checksum Don\[aq]t store MD5 checksum with object metadata
  26836. --oos-encoding Encoding The encoding for the backend (default Slash,InvalidUtf8,Dot)
  26837. --oos-endpoint string Endpoint for Object storage API
  26838. --oos-leave-parts-on-error If true avoid calling abort upload on a failure, leaving all successfully uploaded parts for manual recovery
  26839. --oos-max-upload-parts int Maximum number of parts in a multipart upload (default 10000)
  26840. --oos-namespace string Object storage namespace
  26841. --oos-no-check-bucket If set, don\[aq]t attempt to check the bucket exists or create it
  26842. --oos-provider string Choose your Auth Provider (default \[dq]env_auth\[dq])
  26843. --oos-region string Object storage Region
  26844. --oos-sse-customer-algorithm string If using SSE-C, the optional header that specifies \[dq]AES256\[dq] as the encryption algorithm
  26845. --oos-sse-customer-key string To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to
  26846. --oos-sse-customer-key-file string To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated
  26847. --oos-sse-customer-key-sha256 string If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption
  26848. --oos-sse-kms-key-id string if using your own master key in vault, this header specifies the
  26849. --oos-storage-tier string The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm (default \[dq]Standard\[dq])
  26850. --oos-upload-concurrency int Concurrency for multipart uploads (default 10)
  26851. --oos-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  26852. --opendrive-chunk-size SizeSuffix Files will be uploaded in chunks this size (default 10Mi)
  26853. --opendrive-description string Description of the remote
  26854. --opendrive-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot)
  26855. --opendrive-password string Password (obscured)
  26856. --opendrive-username string Username
  26857. --pcloud-auth-url string Auth server URL
  26858. --pcloud-client-id string OAuth Client Id
  26859. --pcloud-client-secret string OAuth Client Secret
  26860. --pcloud-description string Description of the remote
  26861. --pcloud-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  26862. --pcloud-hostname string Hostname to connect to (default \[dq]api.pcloud.com\[dq])
  26863. --pcloud-password string Your pcloud password (obscured)
  26864. --pcloud-root-folder-id string Fill in for rclone to use a non root folder as its starting point (default \[dq]d0\[dq])
  26865. --pcloud-token string OAuth Access Token as a JSON blob
  26866. --pcloud-token-url string Token server url
  26867. --pcloud-username string Your pcloud username
  26868. --pikpak-auth-url string Auth server URL
  26869. --pikpak-client-id string OAuth Client Id
  26870. --pikpak-client-secret string OAuth Client Secret
  26871. --pikpak-description string Description of the remote
  26872. --pikpak-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot)
  26873. --pikpak-hash-memory-limit SizeSuffix Files bigger than this will be cached on disk to calculate hash if required (default 10Mi)
  26874. --pikpak-pass string Pikpak password (obscured)
  26875. --pikpak-root-folder-id string ID of the root folder
  26876. --pikpak-token string OAuth Access Token as a JSON blob
  26877. --pikpak-token-url string Token server url
  26878. --pikpak-trashed-only Only show files that are in the trash
  26879. --pikpak-use-trash Send files to the trash instead of deleting permanently (default true)
  26880. --pikpak-user string Pikpak username
  26881. --premiumizeme-auth-url string Auth server URL
  26882. --premiumizeme-client-id string OAuth Client Id
  26883. --premiumizeme-client-secret string OAuth Client Secret
  26884. --premiumizeme-description string Description of the remote
  26885. --premiumizeme-encoding Encoding The encoding for the backend (default Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  26886. --premiumizeme-token string OAuth Access Token as a JSON blob
  26887. --premiumizeme-token-url string Token server url
  26888. --protondrive-2fa string The 2FA code
  26889. --protondrive-app-version string The app version string (default \[dq]macos-drive\[at]1.0.0-alpha.1+rclone\[dq])
  26890. --protondrive-description string Description of the remote
  26891. --protondrive-enable-caching Caches the files and folders metadata to reduce API calls (default true)
  26892. --protondrive-encoding Encoding The encoding for the backend (default Slash,LeftSpace,RightSpace,InvalidUtf8,Dot)
  26893. --protondrive-mailbox-password string The mailbox password of your two-password proton account (obscured)
  26894. --protondrive-original-file-size Return the file size before encryption (default true)
  26895. --protondrive-password string The password of your proton account (obscured)
  26896. --protondrive-replace-existing-draft Create a new revision when filename conflict is detected
  26897. --protondrive-username string The username of your proton account
  26898. --putio-auth-url string Auth server URL
  26899. --putio-client-id string OAuth Client Id
  26900. --putio-client-secret string OAuth Client Secret
  26901. --putio-description string Description of the remote
  26902. --putio-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  26903. --putio-token string OAuth Access Token as a JSON blob
  26904. --putio-token-url string Token server url
  26905. --qingstor-access-key-id string QingStor Access Key ID
  26906. --qingstor-chunk-size SizeSuffix Chunk size to use for uploading (default 4Mi)
  26907. --qingstor-connection-retries int Number of connection retries (default 3)
  26908. --qingstor-description string Description of the remote
  26909. --qingstor-encoding Encoding The encoding for the backend (default Slash,Ctl,InvalidUtf8)
  26910. --qingstor-endpoint string Enter an endpoint URL to connection QingStor API
  26911. --qingstor-env-auth Get QingStor credentials from runtime
  26912. --qingstor-secret-access-key string QingStor Secret Access Key (password)
  26913. --qingstor-upload-concurrency int Concurrency for multipart uploads (default 1)
  26914. --qingstor-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  26915. --qingstor-zone string Zone to connect to
  26916. --quatrix-api-key string API key for accessing Quatrix account
  26917. --quatrix-description string Description of the remote
  26918. --quatrix-effective-upload-time string Wanted upload time for one chunk (default \[dq]4s\[dq])
  26919. --quatrix-encoding Encoding The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  26920. --quatrix-hard-delete Delete files permanently rather than putting them into the trash
  26921. --quatrix-host string Host name of Quatrix account
  26922. --quatrix-maximal-summary-chunk-size SizeSuffix The maximal summary for all chunks. It should not be less than \[aq]transfers\[aq]*\[aq]minimal_chunk_size\[aq] (default 95.367Mi)
  26923. --quatrix-minimal-chunk-size SizeSuffix The minimal size for one chunk (default 9.537Mi)
  26924. --quatrix-skip-project-folders Skip project folders in operations
  26925. --s3-access-key-id string AWS Access Key ID
  26926. --s3-acl string Canned ACL used when creating buckets and storing or copying objects
  26927. --s3-bucket-acl string Canned ACL used when creating buckets
  26928. --s3-chunk-size SizeSuffix Chunk size to use for uploading (default 5Mi)
  26929. --s3-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4.656Gi)
  26930. --s3-decompress If set this will decompress gzip encoded objects
  26931. --s3-description string Description of the remote
  26932. --s3-directory-markers Upload an empty object with a trailing slash when a new directory is created
  26933. --s3-disable-checksum Don\[aq]t store MD5 checksum with object metadata
  26934. --s3-disable-http2 Disable usage of http2 for S3 backends
  26935. --s3-download-url string Custom endpoint for downloads
  26936. --s3-encoding Encoding The encoding for the backend (default Slash,InvalidUtf8,Dot)
  26937. --s3-endpoint string Endpoint for S3 API
  26938. --s3-env-auth Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars)
  26939. --s3-force-path-style If true use path style access if false use virtual hosted style (default true)
  26940. --s3-leave-parts-on-error If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery
  26941. --s3-list-chunk int Size of listing chunk (response list for each ListObject S3 request) (default 1000)
  26942. --s3-list-url-encode Tristate Whether to url encode listings: true/false/unset (default unset)
  26943. --s3-list-version int Version of ListObjects to use: 1,2 or 0 for auto
  26944. --s3-location-constraint string Location constraint - must be set to match the Region
  26945. --s3-max-upload-parts int Maximum number of parts in a multipart upload (default 10000)
  26946. --s3-might-gzip Tristate Set this if the backend might gzip objects (default unset)
  26947. --s3-no-check-bucket If set, don\[aq]t attempt to check the bucket exists or create it
  26948. --s3-no-head If set, don\[aq]t HEAD uploaded objects to check integrity
  26949. --s3-no-head-object If set, do not do HEAD before GET when getting objects
  26950. --s3-no-system-metadata Suppress setting and reading of system metadata
  26951. --s3-profile string Profile to use in the shared credentials file
  26952. --s3-provider string Choose your S3 provider
  26953. --s3-region string Region to connect to
  26954. --s3-requester-pays Enables requester pays option when interacting with S3 bucket
  26955. --s3-secret-access-key string AWS Secret Access Key (password)
  26956. --s3-server-side-encryption string The server-side encryption algorithm used when storing this object in S3
  26957. --s3-session-token string An AWS session token
  26958. --s3-shared-credentials-file string Path to the shared credentials file
  26959. --s3-sse-customer-algorithm string If using SSE-C, the server-side encryption algorithm used when storing this object in S3
  26960. --s3-sse-customer-key string To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data
  26961. --s3-sse-customer-key-base64 string If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data
  26962. --s3-sse-customer-key-md5 string If using SSE-C you may provide the secret encryption key MD5 checksum (optional)
  26963. --s3-sse-kms-key-id string If using KMS ID you must provide the ARN of Key
  26964. --s3-storage-class string The storage class to use when storing new objects in S3
  26965. --s3-sts-endpoint string Endpoint for STS
  26966. --s3-upload-concurrency int Concurrency for multipart uploads and copies (default 4)
  26967. --s3-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  26968. --s3-use-accelerate-endpoint If true use the AWS S3 accelerated endpoint
  26969. --s3-use-accept-encoding-gzip Accept-Encoding: gzip Whether to send Accept-Encoding: gzip header (default unset)
  26970. --s3-use-already-exists Tristate Set if rclone should report BucketAlreadyExists errors on bucket creation (default unset)
  26971. --s3-use-dual-stack If true use AWS S3 dual-stack endpoint (IPv6 support)
  26972. --s3-use-multipart-etag Tristate Whether to use ETag in multipart uploads for verification (default unset)
  26973. --s3-use-multipart-uploads Tristate Set if rclone should use multipart uploads (default unset)
  26974. --s3-use-presigned-request Whether to use a presigned request or PutObject for single part uploads
  26975. --s3-v2-auth If true use v2 authentication
  26976. --s3-version-at Time Show file versions as they were at the specified time (default off)
  26977. --s3-version-deleted Show deleted file markers when using versions
  26978. --s3-versions Include old versions in directory listings
  26979. --seafile-2fa Two-factor authentication (\[aq]true\[aq] if the account has 2FA enabled)
  26980. --seafile-create-library Should rclone create a library if it doesn\[aq]t exist
  26981. --seafile-description string Description of the remote
  26982. --seafile-encoding Encoding The encoding for the backend (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
  26983. --seafile-library string Name of the library
  26984. --seafile-library-key string Library password (for encrypted libraries only) (obscured)
  26985. --seafile-pass string Password (obscured)
  26986. --seafile-url string URL of seafile host to connect to
  26987. --seafile-user string User name (usually email address)
  26988. --sftp-ask-password Allow asking for SFTP password when needed
  26989. --sftp-chunk-size SizeSuffix Upload and download chunk size (default 32Ki)
  26990. --sftp-ciphers SpaceSepList Space separated list of ciphers to be used for session encryption, ordered by preference
  26991. --sftp-concurrency int The maximum number of outstanding requests for one file (default 64)
  26992. --sftp-copy-is-hardlink Set to enable server side copies using hardlinks
  26993. --sftp-description string Description of the remote
  26994. --sftp-disable-concurrent-reads If set don\[aq]t use concurrent reads
  26995. --sftp-disable-concurrent-writes If set don\[aq]t use concurrent writes
  26996. --sftp-disable-hashcheck Disable the execution of SSH commands to determine if remote file hashing is available
  26997. --sftp-host string SSH host to connect to
  26998. --sftp-host-key-algorithms SpaceSepList Space separated list of host key algorithms, ordered by preference
  26999. --sftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
  27000. --sftp-key-exchange SpaceSepList Space separated list of key exchange algorithms, ordered by preference
  27001. --sftp-key-file string Path to PEM-encoded private key file
  27002. --sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file (obscured)
  27003. --sftp-key-pem string Raw PEM-encoded private key
  27004. --sftp-key-use-agent When set forces the usage of the ssh-agent
  27005. --sftp-known-hosts-file string Optional path to known_hosts file
  27006. --sftp-macs SpaceSepList Space separated list of MACs (message authentication code) algorithms, ordered by preference
  27007. --sftp-md5sum-command string The command used to read md5 hashes
  27008. --sftp-pass string SSH password, leave blank to use ssh-agent (obscured)
  27009. --sftp-path-override string Override path used by SSH shell commands
  27010. --sftp-port int SSH port number (default 22)
  27011. --sftp-pubkey-file string Optional path to public key file
  27012. --sftp-server-command string Specifies the path or command to run a sftp server on the remote host
  27013. --sftp-set-env SpaceSepList Environment variables to pass to sftp and commands
  27014. --sftp-set-modtime Set the modified time on the remote if set (default true)
  27015. --sftp-sha1sum-command string The command used to read sha1 hashes
  27016. --sftp-shell-type string The type of SSH shell on remote server, if any
  27017. --sftp-skip-links Set to skip any symlinks and any other non regular files
  27018. --sftp-socks-proxy string Socks 5 proxy host
  27019. --sftp-ssh SpaceSepList Path and arguments to external ssh binary
  27020. --sftp-subsystem string Specifies the SSH2 subsystem on the remote host (default \[dq]sftp\[dq])
  27021. --sftp-use-fstat If set use fstat instead of stat
  27022. --sftp-use-insecure-cipher Enable the use of insecure ciphers and key exchange methods
  27023. --sftp-user string SSH username (default \[dq]$USER\[dq])
  27024. --sharefile-auth-url string Auth server URL
  27025. --sharefile-chunk-size SizeSuffix Upload chunk size (default 64Mi)
  27026. --sharefile-client-id string OAuth Client Id
  27027. --sharefile-client-secret string OAuth Client Secret
  27028. --sharefile-description string Description of the remote
  27029. --sharefile-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot)
  27030. --sharefile-endpoint string Endpoint for API calls
  27031. --sharefile-root-folder-id string ID of the root folder
  27032. --sharefile-token string OAuth Access Token as a JSON blob
  27033. --sharefile-token-url string Token server url
  27034. --sharefile-upload-cutoff SizeSuffix Cutoff for switching to multipart upload (default 128Mi)
  27035. --sia-api-password string Sia Daemon API Password (obscured)
  27036. --sia-api-url string Sia daemon API URL, like http://sia.daemon.host:9980 (default \[dq]http://127.0.0.1:9980\[dq])
  27037. --sia-description string Description of the remote
  27038. --sia-encoding Encoding The encoding for the backend (default Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot)
  27039. --sia-user-agent string Siad User Agent (default \[dq]Sia-Agent\[dq])
  27040. --skip-links Don\[aq]t warn about skipped symlinks
  27041. --smb-case-insensitive Whether the server is configured to be case-insensitive (default true)
  27042. --smb-description string Description of the remote
  27043. --smb-domain string Domain name for NTLM authentication (default \[dq]WORKGROUP\[dq])
  27044. --smb-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot)
  27045. --smb-hide-special-share Hide special shares (e.g. print$) which users aren\[aq]t supposed to access (default true)
  27046. --smb-host string SMB server hostname to connect to
  27047. --smb-idle-timeout Duration Max time before closing idle connections (default 1m0s)
  27048. --smb-pass string SMB password (obscured)
  27049. --smb-port int SMB port number (default 445)
  27050. --smb-spn string Service principal name
  27051. --smb-user string SMB username (default \[dq]$USER\[dq])
  27052. --storj-access-grant string Access grant
  27053. --storj-api-key string API key
  27054. --storj-description string Description of the remote
  27055. --storj-passphrase string Encryption passphrase
  27056. --storj-provider string Choose an authentication method (default \[dq]existing\[dq])
  27057. --storj-satellite-address string Satellite address (default \[dq]us1.storj.io\[dq])
  27058. --sugarsync-access-key-id string Sugarsync Access Key ID
  27059. --sugarsync-app-id string Sugarsync App ID
  27060. --sugarsync-authorization string Sugarsync authorization
  27061. --sugarsync-authorization-expiry string Sugarsync authorization expiry
  27062. --sugarsync-deleted-id string Sugarsync deleted folder id
  27063. --sugarsync-description string Description of the remote
  27064. --sugarsync-encoding Encoding The encoding for the backend (default Slash,Ctl,InvalidUtf8,Dot)
  27065. --sugarsync-hard-delete Permanently delete files if true
  27066. --sugarsync-private-access-key string Sugarsync Private Access Key
  27067. --sugarsync-refresh-token string Sugarsync refresh token
  27068. --sugarsync-root-id string Sugarsync root id
  27069. --sugarsync-user string Sugarsync user
  27070. --swift-application-credential-id string Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
  27071. --swift-application-credential-name string Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
  27072. --swift-application-credential-secret string Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
  27073. --swift-auth string Authentication URL for server (OS_AUTH_URL)
  27074. --swift-auth-token string Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  27075. --swift-auth-version int AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
  27076. --swift-chunk-size SizeSuffix Above this size files will be chunked into a _segments container (default 5Gi)
  27077. --swift-description string Description of the remote
  27078. --swift-domain string User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  27079. --swift-encoding Encoding The encoding for the backend (default Slash,InvalidUtf8)
  27080. --swift-endpoint-type string Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) (default \[dq]public\[dq])
  27081. --swift-env-auth Get swift credentials from environment variables in standard OpenStack form
  27082. --swift-key string API key or password (OS_PASSWORD)
  27083. --swift-leave-parts-on-error If true avoid calling abort upload on a failure
  27084. --swift-no-chunk Don\[aq]t chunk files during streaming upload
  27085. --swift-no-large-objects Disable support for static and dynamic large objects
  27086. --swift-region string Region name - optional (OS_REGION_NAME)
  27087. --swift-storage-policy string The storage policy to use when creating a new container
  27088. --swift-storage-url string Storage URL - optional (OS_STORAGE_URL)
  27089. --swift-tenant string Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
  27090. --swift-tenant-domain string Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  27091. --swift-tenant-id string Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
  27092. --swift-user string User name to log in (OS_USERNAME)
  27093. --swift-user-id string User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID)
  27094. --union-action-policy string Policy to choose upstream on ACTION category (default \[dq]epall\[dq])
  27095. --union-cache-time int Cache time of usage and free space (in seconds) (default 120)
  27096. --union-create-policy string Policy to choose upstream on CREATE category (default \[dq]epmfs\[dq])
  27097. --union-description string Description of the remote
  27098. --union-min-free-space SizeSuffix Minimum viable free space for lfs/eplfs policies (default 1Gi)
  27099. --union-search-policy string Policy to choose upstream on SEARCH category (default \[dq]ff\[dq])
  27100. --union-upstreams string List of space separated upstreams
  27101. --uptobox-access-token string Your access token
  27102. --uptobox-description string Description of the remote
  27103. --uptobox-encoding Encoding The encoding for the backend (default Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot)
  27104. --uptobox-private Set to make uploaded files private
  27105. --webdav-bearer-token string Bearer token instead of user/pass (e.g. a Macaroon)
  27106. --webdav-bearer-token-command string Command to run to get a bearer token
  27107. --webdav-description string Description of the remote
  27108. --webdav-encoding string The encoding for the backend
  27109. --webdav-headers CommaSepList Set HTTP headers for all transactions
  27110. --webdav-nextcloud-chunk-size SizeSuffix Nextcloud upload chunk size (default 10Mi)
  27111. --webdav-owncloud-exclude-shares Exclude ownCloud shares
  27112. --webdav-pacer-min-sleep Duration Minimum time to sleep between API calls (default 10ms)
  27113. --webdav-pass string Password (obscured)
  27114. --webdav-url string URL of http host to connect to
  27115. --webdav-user string User name
  27116. --webdav-vendor string Name of the WebDAV site/service/software you are using
  27117. --yandex-auth-url string Auth server URL
  27118. --yandex-client-id string OAuth Client Id
  27119. --yandex-client-secret string OAuth Client Secret
  27120. --yandex-description string Description of the remote
  27121. --yandex-encoding Encoding The encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot)
  27122. --yandex-hard-delete Delete files permanently rather than putting them into the trash
  27123. --yandex-token string OAuth Access Token as a JSON blob
  27124. --yandex-token-url string Token server url
  27125. --zoho-auth-url string Auth server URL
  27126. --zoho-client-id string OAuth Client Id
  27127. --zoho-client-secret string OAuth Client Secret
  27128. --zoho-description string Description of the remote
  27129. --zoho-encoding Encoding The encoding for the backend (default Del,Ctl,InvalidUtf8)
  27130. --zoho-region string Zoho region to connect to
  27131. --zoho-token string OAuth Access Token as a JSON blob
  27132. --zoho-token-url string Token server url
  27133. \f[R]
  27134. .fi
  27135. .SH Docker Volume Plugin
  27136. .SS Introduction
  27137. .PP
  27138. Docker 1.9 has added support for creating named
  27139. volumes (https://docs.docker.com/storage/volumes/) via command-line
  27140. interface (https://docs.docker.com/engine/reference/commandline/volume_create/)
  27141. and mounting them in containers as a way to share data between them.
  27142. Since Docker 1.10 you can create named volumes with Docker
  27143. Compose (https://docs.docker.com/compose/) by descriptions in
  27144. docker-compose.yml (https://docs.docker.com/compose/compose-file/compose-file-v2/#volume-configuration-reference)
  27145. files for use by container groups on a single host.
  27146. As of Docker 1.12 volumes are supported by Docker
  27147. Swarm (https://docs.docker.com/engine/swarm/key-concepts/) included with
  27148. Docker Engine and created from descriptions in swarm compose
  27149. v3 (https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference)
  27150. files for use with \f[I]swarm stacks\f[R] across multiple cluster nodes.
  27151. .PP
  27152. Docker Volume
  27153. Plugins (https://docs.docker.com/engine/extend/plugins_volume/) augment
  27154. the default \f[C]local\f[R] volume driver included in Docker with
  27155. stateful volumes shared across containers and hosts.
  27156. Unlike local volumes, your data will \f[I]not\f[R] be deleted when such
  27157. volume is removed.
  27158. Plugins can run managed by the docker daemon, as a native system service
  27159. (under systemd, \f[I]sysv\f[R] or \f[I]upstart\f[R]) or as a standalone
  27160. executable.
  27161. Rclone can run as docker volume plugin in all these modes.
  27162. It interacts with the local docker daemon via plugin
  27163. API (https://docs.docker.com/engine/extend/plugin_api/) and handles
  27164. mounting of remote file systems into docker containers so it must run on
  27165. the same host as the docker daemon or on every Swarm node.
  27166. .SS Getting started
  27167. .PP
  27168. In the first example we will use the SFTP (https://rclone.org/sftp/)
  27169. rclone volume with Docker engine on a standalone Ubuntu machine.
  27170. .PP
  27171. Start from installing Docker (https://docs.docker.com/engine/install/)
  27172. on the host.
  27173. .PP
  27174. The \f[I]FUSE\f[R] driver is a prerequisite for rclone mounting and
  27175. should be installed on host:
  27176. .IP
  27177. .nf
  27178. \f[C]
  27179. sudo apt-get -y install fuse
  27180. \f[R]
  27181. .fi
  27182. .PP
  27183. Create two directories required by rclone docker plugin:
  27184. .IP
  27185. .nf
  27186. \f[C]
  27187. sudo mkdir -p /var/lib/docker-plugins/rclone/config
  27188. sudo mkdir -p /var/lib/docker-plugins/rclone/cache
  27189. \f[R]
  27190. .fi
  27191. .PP
  27192. Install the managed rclone docker plugin for your architecture (here
  27193. \f[C]amd64\f[R]):
  27194. .IP
  27195. .nf
  27196. \f[C]
  27197. docker plugin install rclone/docker-volume-rclone:amd64 args=\[dq]-v\[dq] --alias rclone --grant-all-permissions
  27198. docker plugin list
  27199. \f[R]
  27200. .fi
  27201. .PP
  27202. Create your SFTP volume (https://rclone.org/sftp/#standard-options):
  27203. .IP
  27204. .nf
  27205. \f[C]
  27206. docker volume create firstvolume -d rclone -o type=sftp -o sftp-host=_hostname_ -o sftp-user=_username_ -o sftp-pass=_password_ -o allow-other=true
  27207. \f[R]
  27208. .fi
  27209. .PP
  27210. Note that since all options are static, you don\[aq]t even have to run
  27211. \f[C]rclone config\f[R] or create the \f[C]rclone.conf\f[R] file (but
  27212. the \f[C]config\f[R] directory should still be present).
  27213. In the simplest case you can use \f[C]localhost\f[R] as
  27214. \f[I]hostname\f[R] and your SSH credentials as \f[I]username\f[R] and
  27215. \f[I]password\f[R].
  27216. You can also change the remote path to your home directory on the host,
  27217. for example \f[C]-o path=/home/username\f[R].
  27218. .PP
  27219. Time to create a test container and mount the volume into it:
  27220. .IP
  27221. .nf
  27222. \f[C]
  27223. docker run --rm -it -v firstvolume:/mnt --workdir /mnt ubuntu:latest bash
  27224. \f[R]
  27225. .fi
  27226. .PP
  27227. If all goes well, you will enter the new container and change right to
  27228. the mounted SFTP remote.
  27229. You can type \f[C]ls\f[R] to list the mounted directory or otherwise
  27230. play with it.
  27231. Type \f[C]exit\f[R] when you are done.
  27232. The container will stop but the volume will stay, ready to be reused.
  27233. When it\[aq]s not needed anymore, remove it:
  27234. .IP
  27235. .nf
  27236. \f[C]
  27237. docker volume list
  27238. docker volume remove firstvolume
  27239. \f[R]
  27240. .fi
  27241. .PP
  27242. Now let us try \f[B]something more elaborate\f[R]: Google
  27243. Drive (https://rclone.org/drive/) volume on multi-node Docker Swarm.
  27244. .PP
  27245. You should start from installing Docker and FUSE, creating plugin
  27246. directories and installing rclone plugin on \f[I]every\f[R] swarm node.
  27247. Then setup the Swarm (https://docs.docker.com/engine/swarm/swarm-mode/).
  27248. .PP
  27249. Google Drive volumes need an access token which can be setup via web
  27250. browser and will be periodically renewed by rclone.
  27251. The managed plugin cannot run a browser so we will use a technique
  27252. similar to the rclone setup on a headless
  27253. box (https://rclone.org/remote_setup/).
  27254. .PP
  27255. Run rclone config (https://rclone.org/commands/rclone_config_create/) on
  27256. \f[I]another\f[R] machine equipped with \f[I]web browser\f[R] and
  27257. graphical user interface.
  27258. Create the Google Drive
  27259. remote (https://rclone.org/drive/#standard-options).
  27260. When done, transfer the resulting \f[C]rclone.conf\f[R] to the Swarm
  27261. cluster and save as
  27262. \f[C]/var/lib/docker-plugins/rclone/config/rclone.conf\f[R] on
  27263. \f[I]every\f[R] node.
  27264. By default this location is accessible only to the root user so you will
  27265. need appropriate privileges.
  27266. The resulting config will look like this:
  27267. .IP
  27268. .nf
  27269. \f[C]
  27270. [gdrive]
  27271. type = drive
  27272. scope = drive
  27273. drive_id = 1234567...
  27274. root_folder_id = 0Abcd...
  27275. token = {\[dq]access_token\[dq]:...}
  27276. \f[R]
  27277. .fi
  27278. .PP
  27279. Now create the file named \f[C]example.yml\f[R] with a swarm stack
  27280. description like this:
  27281. .IP
  27282. .nf
  27283. \f[C]
  27284. version: \[aq]3\[aq]
  27285. services:
  27286. heimdall:
  27287. image: linuxserver/heimdall:latest
  27288. ports: [8080:80]
  27289. volumes: [configdata:/config]
  27290. volumes:
  27291. configdata:
  27292. driver: rclone
  27293. driver_opts:
  27294. remote: \[aq]gdrive:heimdall\[aq]
  27295. allow_other: \[aq]true\[aq]
  27296. vfs_cache_mode: full
  27297. poll_interval: 0
  27298. \f[R]
  27299. .fi
  27300. .PP
  27301. and run the stack:
  27302. .IP
  27303. .nf
  27304. \f[C]
  27305. docker stack deploy example -c ./example.yml
  27306. \f[R]
  27307. .fi
  27308. .PP
  27309. After a few seconds docker will spread the parsed stack description over
  27310. cluster, create the \f[C]example_heimdall\f[R] service on port
  27311. \f[I]8080\f[R], run service containers on one or more cluster nodes and
  27312. request the \f[C]example_configdata\f[R] volume from rclone plugins on
  27313. the node hosts.
  27314. You can use the following commands to confirm results:
  27315. .IP
  27316. .nf
  27317. \f[C]
  27318. docker service ls
  27319. docker service ps example_heimdall
  27320. docker volume ls
  27321. \f[R]
  27322. .fi
  27323. .PP
  27324. Point your browser to \f[C]http://cluster.host.address:8080\f[R] and
  27325. play with the service.
  27326. Stop it with \f[C]docker stack remove example\f[R] when you are done.
  27327. Note that the \f[C]example_configdata\f[R] volume(s) created on demand
  27328. at the cluster nodes will not be automatically removed together with the
  27329. stack but stay for future reuse.
  27330. You can remove them manually by invoking the
  27331. \f[C]docker volume remove example_configdata\f[R] command on every node.
  27332. .SS Creating Volumes via CLI
  27333. .PP
  27334. Volumes can be created with docker volume
  27335. create (https://docs.docker.com/engine/reference/commandline/volume_create/).
  27336. Here are a few examples:
  27337. .IP
  27338. .nf
  27339. \f[C]
  27340. docker volume create vol1 -d rclone -o remote=storj: -o vfs-cache-mode=full
  27341. docker volume create vol2 -d rclone -o remote=:storj,access_grant=xxx:heimdall
  27342. docker volume create vol3 -d rclone -o type=storj -o path=heimdall -o storj-access-grant=xxx -o poll-interval=0
  27343. \f[R]
  27344. .fi
  27345. .PP
  27346. Note the \f[C]-d rclone\f[R] flag that tells docker to request volume
  27347. from the rclone driver.
  27348. This works even if you installed managed driver by its full name
  27349. \f[C]rclone/docker-volume-rclone\f[R] because you provided the
  27350. \f[C]--alias rclone\f[R] option.
  27351. .PP
  27352. Volumes can be inspected as follows:
  27353. .IP
  27354. .nf
  27355. \f[C]
  27356. docker volume list
  27357. docker volume inspect vol1
  27358. \f[R]
  27359. .fi
  27360. .SS Volume Configuration
  27361. .PP
  27362. Rclone flags and volume options are set via the \f[C]-o\f[R] flag to the
  27363. \f[C]docker volume create\f[R] command.
  27364. They include backend-specific parameters as well as mount and
  27365. \f[I]VFS\f[R] options.
  27366. Also there are a few special \f[C]-o\f[R] options: \f[C]remote\f[R],
  27367. \f[C]fs\f[R], \f[C]type\f[R], \f[C]path\f[R], \f[C]mount-type\f[R] and
  27368. \f[C]persist\f[R].
  27369. .PP
  27370. \f[C]remote\f[R] determines an existing remote name from the config
  27371. file, with trailing colon and optionally with a remote path.
  27372. See the full syntax in the rclone
  27373. documentation (https://rclone.org/docs/#syntax-of-remote-paths).
  27374. This option can be aliased as \f[C]fs\f[R] to prevent confusion with the
  27375. \f[I]remote\f[R] parameter of such backends as \f[I]crypt\f[R] or
  27376. \f[I]alias\f[R].
  27377. .PP
  27378. The \f[C]remote=:backend:dir/subdir\f[R] syntax can be used to create
  27379. on-the-fly (config-less)
  27380. remotes (https://rclone.org/docs/#backend-path-to-dir), while the
  27381. \f[C]type\f[R] and \f[C]path\f[R] options provide a simpler alternative
  27382. for this.
  27383. Using two split options
  27384. .IP
  27385. .nf
  27386. \f[C]
  27387. -o type=backend -o path=dir/subdir
  27388. \f[R]
  27389. .fi
  27390. .PP
  27391. is equivalent to the combined syntax
  27392. .IP
  27393. .nf
  27394. \f[C]
  27395. -o remote=:backend:dir/subdir
  27396. \f[R]
  27397. .fi
  27398. .PP
  27399. but is arguably easier to parameterize in scripts.
  27400. The \f[C]path\f[R] part is optional.
  27401. .PP
  27402. Mount and VFS
  27403. options (https://rclone.org/commands/rclone_serve_docker/#options) as
  27404. well as backend parameters (https://rclone.org/flags/#backend-flags) are
  27405. named like their twin command-line flags without the \f[C]--\f[R] CLI
  27406. prefix.
  27407. Optionally you can use underscores instead of dashes in option names.
  27408. For example, \f[C]--vfs-cache-mode full\f[R] becomes
  27409. \f[C]-o vfs-cache-mode=full\f[R] or \f[C]-o vfs_cache_mode=full\f[R].
  27410. Boolean CLI flags without value will gain the \f[C]true\f[R] value, e.g.
  27411. \f[C]--allow-other\f[R] becomes \f[C]-o allow-other=true\f[R] or
  27412. \f[C]-o allow_other=true\f[R].
  27413. .PP
  27414. Please note that you can provide parameters only for the backend
  27415. immediately referenced by the backend type of mounted \f[C]remote\f[R].
  27416. If this is a wrapping backend like \f[I]alias, chunker or crypt\f[R],
  27417. you cannot provide options for the referred to remote or backend.
  27418. This limitation is imposed by the rclone connection string parser.
  27419. The only workaround is to feed plugin with \f[C]rclone.conf\f[R] or
  27420. configure plugin arguments (see below).
  27421. .SS Special Volume Options
  27422. .PP
  27423. \f[C]mount-type\f[R] determines the mount method and in general can be
  27424. one of: \f[C]mount\f[R], \f[C]cmount\f[R], or \f[C]mount2\f[R].
  27425. This can be aliased as \f[C]mount_type\f[R].
  27426. It should be noted that the managed rclone docker plugin currently does
  27427. not support the \f[C]cmount\f[R] method and \f[C]mount2\f[R] is rarely
  27428. needed.
  27429. This option defaults to the first found method, which is usually
  27430. \f[C]mount\f[R] so you generally won\[aq]t need it.
  27431. .PP
  27432. \f[C]persist\f[R] is a reserved boolean (true/false) option.
  27433. In future it will allow to persist on-the-fly remotes in the plugin
  27434. \f[C]rclone.conf\f[R] file.
  27435. .SS Connection Strings
  27436. .PP
  27437. The \f[C]remote\f[R] value can be extended with connection
  27438. strings (https://rclone.org/docs/#connection-strings) as an alternative
  27439. way to supply backend parameters.
  27440. This is equivalent to the \f[C]-o\f[R] backend options with one
  27441. \f[I]syntactic difference\f[R].
  27442. Inside connection string the backend prefix must be dropped from
  27443. parameter names but in the \f[C]-o param=value\f[R] array it must be
  27444. present.
  27445. For instance, compare the following option array
  27446. .IP
  27447. .nf
  27448. \f[C]
  27449. -o remote=:sftp:/home -o sftp-host=localhost
  27450. \f[R]
  27451. .fi
  27452. .PP
  27453. with equivalent connection string:
  27454. .IP
  27455. .nf
  27456. \f[C]
  27457. -o remote=:sftp,host=localhost:/home
  27458. \f[R]
  27459. .fi
  27460. .PP
  27461. This difference exists because flag options \f[C]-o key=val\f[R] include
  27462. not only backend parameters but also mount/VFS flags and possibly other
  27463. settings.
  27464. Also it allows to discriminate the \f[C]remote\f[R] option from the
  27465. \f[C]crypt-remote\f[R] (or similarly named backend parameters) and
  27466. arguably simplifies scripting due to clearer value substitution.
  27467. .SS Using with Swarm or Compose
  27468. .PP
  27469. Both \f[I]Docker Swarm\f[R] and \f[I]Docker Compose\f[R] use
  27470. YAML (http://yaml.org/spec/1.2/spec.html)-formatted text files to
  27471. describe groups (stacks) of containers, their properties, networks and
  27472. volumes.
  27473. \f[I]Compose\f[R] uses the compose
  27474. v2 (https://docs.docker.com/compose/compose-file/compose-file-v2/#volume-configuration-reference)
  27475. format, \f[I]Swarm\f[R] uses the compose
  27476. v3 (https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference)
  27477. format.
  27478. They are mostly similar, differences are explained in the docker
  27479. documentation (https://docs.docker.com/compose/compose-file/compose-versioning/#upgrading).
  27480. .PP
  27481. Volumes are described by the children of the top-level
  27482. \f[C]volumes:\f[R] node.
  27483. Each of them should be named after its volume and have at least two
  27484. elements, the self-explanatory \f[C]driver: rclone\f[R] value and the
  27485. \f[C]driver_opts:\f[R] structure playing the same role as
  27486. \f[C]-o key=val\f[R] CLI flags:
  27487. .IP
  27488. .nf
  27489. \f[C]
  27490. volumes:
  27491. volume_name_1:
  27492. driver: rclone
  27493. driver_opts:
  27494. remote: \[aq]gdrive:\[aq]
  27495. allow_other: \[aq]true\[aq]
  27496. vfs_cache_mode: full
  27497. token: \[aq]{\[dq]type\[dq]: \[dq]borrower\[dq], \[dq]expires\[dq]: \[dq]2021-12-31\[dq]}\[aq]
  27498. poll_interval: 0
  27499. \f[R]
  27500. .fi
  27501. .PP
  27502. Notice a few important details: - YAML prefers \f[C]_\f[R] in option
  27503. names instead of \f[C]-\f[R].
  27504. - YAML treats single and double quotes interchangeably.
  27505. Simple strings and integers can be left unquoted.
  27506. - Boolean values must be quoted like \f[C]\[aq]true\[aq]\f[R] or
  27507. \f[C]\[dq]false\[dq]\f[R] because these two words are reserved by YAML.
  27508. - The filesystem string is keyed with \f[C]remote\f[R] (or with
  27509. \f[C]fs\f[R]).
  27510. Normally you can omit quotes here, but if the string ends with colon,
  27511. you \f[B]must\f[R] quote it like
  27512. \f[C]remote: \[dq]storage_box:\[dq]\f[R].
  27513. - YAML is picky about surrounding braces in values as this is in fact
  27514. another syntax for key/value
  27515. mappings (http://yaml.org/spec/1.2/spec.html#id2790832).
  27516. For example, JSON access tokens usually contain double quotes and
  27517. surrounding braces, so you must put them in single quotes.
  27518. .SS Installing as Managed Plugin
  27519. .PP
  27520. Docker daemon can install plugins from an image registry and run them
  27521. managed.
  27522. We maintain the
  27523. docker-volume-rclone (https://hub.docker.com/p/rclone/docker-volume-rclone/)
  27524. plugin image on Docker Hub (https://hub.docker.com).
  27525. .PP
  27526. Rclone volume plugin requires \f[B]Docker Engine >= 19.03.15\f[R]
  27527. .PP
  27528. The plugin requires presence of two directories on the host before it
  27529. can be installed.
  27530. Note that plugin will \f[B]not\f[R] create them automatically.
  27531. By default they must exist on host at the following locations (though
  27532. you can tweak the paths): -
  27533. \f[C]/var/lib/docker-plugins/rclone/config\f[R] is reserved for the
  27534. \f[C]rclone.conf\f[R] config file and \f[B]must\f[R] exist even if
  27535. it\[aq]s empty and the config file is not present.
  27536. - \f[C]/var/lib/docker-plugins/rclone/cache\f[R] holds the plugin state
  27537. file as well as optional VFS caches.
  27538. .PP
  27539. You can install managed
  27540. plugin (https://docs.docker.com/engine/reference/commandline/plugin_install/)
  27541. with default settings as follows:
  27542. .IP
  27543. .nf
  27544. \f[C]
  27545. docker plugin install rclone/docker-volume-rclone:amd64 --grant-all-permissions --alias rclone
  27546. \f[R]
  27547. .fi
  27548. .PP
  27549. The \f[C]:amd64\f[R] part of the image specification after colon is
  27550. called a \f[I]tag\f[R].
  27551. Usually you will want to install the latest plugin for your
  27552. architecture.
  27553. In this case the tag will just name it, like \f[C]amd64\f[R] above.
  27554. The following plugin architectures are currently available: -
  27555. \f[C]amd64\f[R] - \f[C]arm64\f[R] - \f[C]arm-v7\f[R]
  27556. .PP
  27557. Sometimes you might want a concrete plugin version, not the latest one.
  27558. Then you should use image tag in the form
  27559. \f[C]:ARCHITECTURE-VERSION\f[R].
  27560. For example, to install plugin version \f[C]v1.56.2\f[R] on architecture
  27561. \f[C]arm64\f[R] you will use tag \f[C]arm64-1.56.2\f[R] (note the
  27562. removed \f[C]v\f[R]) so the full image specification becomes
  27563. \f[C]rclone/docker-volume-rclone:arm64-1.56.2\f[R].
  27564. .PP
  27565. We also provide the \f[C]latest\f[R] plugin tag, but since docker does
  27566. not support multi-architecture plugins as of the time of this writing,
  27567. this tag is currently an \f[B]alias for \f[CB]amd64\f[B]\f[R].
  27568. By convention the \f[C]latest\f[R] tag is the default one and can be
  27569. omitted, thus both \f[C]rclone/docker-volume-rclone:latest\f[R] and just
  27570. \f[C]rclone/docker-volume-rclone\f[R] will refer to the latest plugin
  27571. release for the \f[C]amd64\f[R] platform.
  27572. .PP
  27573. Also the \f[C]amd64\f[R] part can be omitted from the versioned rclone
  27574. plugin tags.
  27575. For example, rclone image reference
  27576. \f[C]rclone/docker-volume-rclone:amd64-1.56.2\f[R] can be abbreviated as
  27577. \f[C]rclone/docker-volume-rclone:1.56.2\f[R] for convenience.
  27578. However, for non-intel architectures you still have to use the full tag
  27579. as \f[C]amd64\f[R] or \f[C]latest\f[R] will fail to start.
  27580. .PP
  27581. Managed plugin is in fact a special container running in a namespace
  27582. separate from normal docker containers.
  27583. Inside it runs the \f[C]rclone serve docker\f[R] command.
  27584. The config and cache directories are bind-mounted into the container at
  27585. start.
  27586. The docker daemon connects to a unix socket created by the command
  27587. inside the container.
  27588. The command creates on-demand remote mounts right inside, then docker
  27589. machinery propagates them through kernel mount namespaces and
  27590. bind-mounts into requesting user containers.
  27591. .PP
  27592. You can tweak a few plugin settings after installation when it\[aq]s
  27593. disabled (not in use), for instance:
  27594. .IP
  27595. .nf
  27596. \f[C]
  27597. docker plugin disable rclone
  27598. docker plugin set rclone RCLONE_VERBOSE=2 config=/etc/rclone args=\[dq]--vfs-cache-mode=writes --allow-other\[dq]
  27599. docker plugin enable rclone
  27600. docker plugin inspect rclone
  27601. \f[R]
  27602. .fi
  27603. .PP
  27604. Note that if docker refuses to disable the plugin, you should find and
  27605. remove all active volumes connected with it as well as containers and
  27606. swarm services that use them.
  27607. This is rather tedious so please carefully plan in advance.
  27608. .PP
  27609. You can tweak the following settings: \f[C]args\f[R], \f[C]config\f[R],
  27610. \f[C]cache\f[R], \f[C]HTTP_PROXY\f[R], \f[C]HTTPS_PROXY\f[R],
  27611. \f[C]NO_PROXY\f[R] and \f[C]RCLONE_VERBOSE\f[R].
  27612. It\[aq]s \f[I]your\f[R] task to keep plugin settings in sync across
  27613. swarm cluster nodes.
  27614. .PP
  27615. \f[C]args\f[R] sets command-line arguments for the
  27616. \f[C]rclone serve docker\f[R] command (\f[I]none\f[R] by default).
  27617. Arguments should be separated by space so you will normally want to put
  27618. them in quotes on the docker plugin
  27619. set (https://docs.docker.com/engine/reference/commandline/plugin_set/)
  27620. command line.
  27621. Both serve docker
  27622. flags (https://rclone.org/commands/rclone_serve_docker/#options) and
  27623. generic rclone flags (https://rclone.org/flags/) are supported,
  27624. including backend parameters that will be used as defaults for volume
  27625. creation.
  27626. Note that plugin will fail (due to this docker
  27627. bug (https://github.com/moby/moby/blob/v20.10.7/plugin/v2/plugin.go#L195))
  27628. if the \f[C]args\f[R] value is empty.
  27629. Use e.g.
  27630. \f[C]args=\[dq]-v\[dq]\f[R] as a workaround.
  27631. .PP
  27632. \f[C]config=/host/dir\f[R] sets alternative host location for the config
  27633. directory.
  27634. Plugin will look for \f[C]rclone.conf\f[R] here.
  27635. It\[aq]s not an error if the config file is not present but the
  27636. directory must exist.
  27637. Please note that plugin can periodically rewrite the config file, for
  27638. example when it renews storage access tokens.
  27639. Keep this in mind and try to avoid races between the plugin and other
  27640. instances of rclone on the host that might try to change the config
  27641. simultaneously resulting in corrupted \f[C]rclone.conf\f[R].
  27642. You can also put stuff like private key files for SFTP remotes in this
  27643. directory.
  27644. Just note that it\[aq]s bind-mounted inside the plugin container at the
  27645. predefined path \f[C]/data/config\f[R].
  27646. For example, if your key file is named \f[C]sftp-box1.key\f[R] on the
  27647. host, the corresponding volume config option should read
  27648. \f[C]-o sftp-key-file=/data/config/sftp-box1.key\f[R].
  27649. .PP
  27650. \f[C]cache=/host/dir\f[R] sets alternative host location for the
  27651. \f[I]cache\f[R] directory.
  27652. The plugin will keep VFS caches here.
  27653. Also it will create and maintain the \f[C]docker-plugin.state\f[R] file
  27654. in this directory.
  27655. When the plugin is restarted or reinstalled, it will look in this file
  27656. to recreate any volumes that existed previously.
  27657. However, they will not be re-mounted into consuming containers after
  27658. restart.
  27659. Usually this is not a problem as the docker daemon normally will restart
  27660. affected user containers after failures, daemon restarts or host
  27661. reboots.
  27662. .PP
  27663. \f[C]RCLONE_VERBOSE\f[R] sets plugin verbosity from \f[C]0\f[R] (errors
  27664. only, by default) to \f[C]2\f[R] (debugging).
  27665. Verbosity can be also tweaked via \f[C]args=\[dq]-v [-v] ...\[dq]\f[R].
  27666. Since arguments are more generic, you will rarely need this setting.
  27667. The plugin output by default feeds the docker daemon log on local host.
  27668. Log entries are reflected as \f[I]errors\f[R] in the docker log but
  27669. retain their actual level assigned by rclone in the encapsulated message
  27670. string.
  27671. .PP
  27672. \f[C]HTTP_PROXY\f[R], \f[C]HTTPS_PROXY\f[R], \f[C]NO_PROXY\f[R]
  27673. customize the plugin proxy settings.
  27674. .PP
  27675. You can set custom plugin options right when you install it, \f[I]in one
  27676. go\f[R]:
  27677. .IP
  27678. .nf
  27679. \f[C]
  27680. docker plugin remove rclone
  27681. docker plugin install rclone/docker-volume-rclone:amd64 \[rs]
  27682. --alias rclone --grant-all-permissions \[rs]
  27683. args=\[dq]-v --allow-other\[dq] config=/etc/rclone
  27684. docker plugin inspect rclone
  27685. \f[R]
  27686. .fi
  27687. .SS Healthchecks
  27688. .PP
  27689. The docker plugin volume protocol doesn\[aq]t provide a way for plugins
  27690. to inform the docker daemon that a volume is (un-)available.
  27691. As a workaround you can setup a healthcheck to verify that the mount is
  27692. responding, for example:
  27693. .IP
  27694. .nf
  27695. \f[C]
  27696. services:
  27697. my_service:
  27698. image: my_image
  27699. healthcheck:
  27700. test: ls /path/to/rclone/mount || exit 1
  27701. interval: 1m
  27702. timeout: 15s
  27703. retries: 3
  27704. start_period: 15s
  27705. \f[R]
  27706. .fi
  27707. .SS Running Plugin under Systemd
  27708. .PP
  27709. In most cases you should prefer managed mode.
  27710. Moreover, MacOS and Windows do not support native Docker plugins.
  27711. Please use managed mode on these systems.
  27712. Proceed further only if you are on Linux.
  27713. .PP
  27714. First, install rclone (https://rclone.org/install/).
  27715. You can just run it (type \f[C]rclone serve docker\f[R] and hit enter)
  27716. for the test.
  27717. .PP
  27718. Install \f[I]FUSE\f[R]:
  27719. .IP
  27720. .nf
  27721. \f[C]
  27722. sudo apt-get -y install fuse
  27723. \f[R]
  27724. .fi
  27725. .PP
  27726. Download two systemd configuration files:
  27727. docker-volume-rclone.service (https://raw.githubusercontent.com/rclone/rclone/master/contrib/docker-plugin/systemd/docker-volume-rclone.service)
  27728. and
  27729. docker-volume-rclone.socket (https://raw.githubusercontent.com/rclone/rclone/master/contrib/docker-plugin/systemd/docker-volume-rclone.socket).
  27730. .PP
  27731. Put them to the \f[C]/etc/systemd/system/\f[R] directory:
  27732. .IP
  27733. .nf
  27734. \f[C]
  27735. cp docker-volume-plugin.service /etc/systemd/system/
  27736. cp docker-volume-plugin.socket /etc/systemd/system/
  27737. \f[R]
  27738. .fi
  27739. .PP
  27740. Please note that all commands in this section must be run as
  27741. \f[I]root\f[R] but we omit \f[C]sudo\f[R] prefix for brevity.
  27742. Now create directories required by the service:
  27743. .IP
  27744. .nf
  27745. \f[C]
  27746. mkdir -p /var/lib/docker-volumes/rclone
  27747. mkdir -p /var/lib/docker-plugins/rclone/config
  27748. mkdir -p /var/lib/docker-plugins/rclone/cache
  27749. \f[R]
  27750. .fi
  27751. .PP
  27752. Run the docker plugin service in the socket activated mode:
  27753. .IP
  27754. .nf
  27755. \f[C]
  27756. systemctl daemon-reload
  27757. systemctl start docker-volume-rclone.service
  27758. systemctl enable docker-volume-rclone.socket
  27759. systemctl start docker-volume-rclone.socket
  27760. systemctl restart docker
  27761. \f[R]
  27762. .fi
  27763. .PP
  27764. Or run the service directly: - run \f[C]systemctl daemon-reload\f[R] to
  27765. let systemd pick up new config - run
  27766. \f[C]systemctl enable docker-volume-rclone.service\f[R] to make the new
  27767. service start automatically when you power on your machine.
  27768. - run \f[C]systemctl start docker-volume-rclone.service\f[R] to start
  27769. the service now.
  27770. - run \f[C]systemctl restart docker\f[R] to restart docker daemon and
  27771. let it detect the new plugin socket.
  27772. Note that this step is not needed in managed mode where docker knows
  27773. about plugin state changes.
  27774. .PP
  27775. The two methods are equivalent from the user perspective, but I
  27776. personally prefer socket activation.
  27777. .SS Troubleshooting
  27778. .PP
  27779. You can see managed plugin
  27780. settings (https://docs.docker.com/engine/extend/#debugging-plugins) with
  27781. .IP
  27782. .nf
  27783. \f[C]
  27784. docker plugin list
  27785. docker plugin inspect rclone
  27786. \f[R]
  27787. .fi
  27788. .PP
  27789. Note that docker (including latest 20.10.7) will not show actual values
  27790. of \f[C]args\f[R], just the defaults.
  27791. .PP
  27792. Use \f[C]journalctl --unit docker\f[R] to see managed plugin output as
  27793. part of the docker daemon log.
  27794. Note that docker reflects plugin lines as \f[I]errors\f[R] but their
  27795. actual level can be seen from encapsulated message string.
  27796. .PP
  27797. You will usually install the latest version of managed plugin for your
  27798. platform.
  27799. Use the following commands to print the actual installed version:
  27800. .IP
  27801. .nf
  27802. \f[C]
  27803. PLUGID=$(docker plugin list --no-trunc | awk \[aq]/rclone/{print$1}\[aq])
  27804. sudo runc --root /run/docker/runtime-runc/plugins.moby exec $PLUGID rclone version
  27805. \f[R]
  27806. .fi
  27807. .PP
  27808. You can even use \f[C]runc\f[R] to run shell inside the plugin
  27809. container:
  27810. .IP
  27811. .nf
  27812. \f[C]
  27813. sudo runc --root /run/docker/runtime-runc/plugins.moby exec --tty $PLUGID bash
  27814. \f[R]
  27815. .fi
  27816. .PP
  27817. Also you can use curl to check the plugin socket connectivity:
  27818. .IP
  27819. .nf
  27820. \f[C]
  27821. docker plugin list --no-trunc
  27822. PLUGID=123abc...
  27823. sudo curl -H Content-Type:application/json -XPOST -d {} --unix-socket /run/docker/plugins/$PLUGID/rclone.sock http://localhost/Plugin.Activate
  27824. \f[R]
  27825. .fi
  27826. .PP
  27827. though this is rarely needed.
  27828. .SS Caveats
  27829. .PP
  27830. Finally I\[aq]d like to mention a \f[I]caveat with updating volume
  27831. settings\f[R].
  27832. Docker CLI does not have a dedicated command like
  27833. \f[C]docker volume update\f[R].
  27834. It may be tempting to invoke \f[C]docker volume create\f[R] with updated
  27835. options on existing volume, but there is a gotcha.
  27836. The command will do nothing, it won\[aq]t even return an error.
  27837. I hope that docker maintainers will fix this some day.
  27838. In the meantime be aware that you must remove your volume before
  27839. recreating it with new settings:
  27840. .IP
  27841. .nf
  27842. \f[C]
  27843. docker volume remove my_vol
  27844. docker volume create my_vol -d rclone -o opt1=new_val1 ...
  27845. \f[R]
  27846. .fi
  27847. .PP
  27848. and verify that settings did update:
  27849. .IP
  27850. .nf
  27851. \f[C]
  27852. docker volume list
  27853. docker volume inspect my_vol
  27854. \f[R]
  27855. .fi
  27856. .PP
  27857. If docker refuses to remove the volume, you should find containers or
  27858. swarm services that use it and stop them first.
  27859. .SS Bisync
  27860. .PP
  27861. \f[C]bisync\f[R] is \f[B]in beta\f[R] and is considered an \f[B]advanced
  27862. command\f[R], so use with care.
  27863. Make sure you have read and understood the entire
  27864. manual (https://rclone.org/bisync) (especially the Limitations section)
  27865. before using, or data loss can result.
  27866. Questions can be asked in the Rclone Forum (https://forum.rclone.org/).
  27867. .SS Getting started
  27868. .IP \[bu] 2
  27869. Install rclone (https://rclone.org/install/) and setup your remotes.
  27870. .IP \[bu] 2
  27871. Bisync will create its working directory at
  27872. \f[C]\[ti]/.cache/rclone/bisync\f[R] on Linux,
  27873. \f[C]/Users/yourusername/Library/Caches/rclone/bisync\f[R] on Mac, or
  27874. \f[C]C:\[rs]Users\[rs]MyLogin\[rs]AppData\[rs]Local\[rs]rclone\[rs]bisync\f[R]
  27875. on Windows.
  27876. Make sure that this location is writable.
  27877. .IP \[bu] 2
  27878. Run bisync with the \f[C]--resync\f[R] flag, specifying the paths to the
  27879. local and remote sync directory roots.
  27880. .IP \[bu] 2
  27881. For successive sync runs, leave off the \f[C]--resync\f[R] flag.
  27882. (\f[B]Important!\f[R])
  27883. .IP \[bu] 2
  27884. Consider using a filters file for excluding unnecessary files and
  27885. directories from the sync.
  27886. .IP \[bu] 2
  27887. Consider setting up the --check-access feature for safety.
  27888. .IP \[bu] 2
  27889. On Linux or Mac, consider setting up a crontab entry.
  27890. bisync can safely run in concurrent cron jobs thanks to lock files it
  27891. maintains.
  27892. .PP
  27893. For example, your first command might look like this:
  27894. .IP
  27895. .nf
  27896. \f[C]
  27897. rclone bisync remote1:path1 remote2:path2 --create-empty-src-dirs --compare size,modtime,checksum --slow-hash-sync-only --resilient -MvP --drive-skip-gdocs --fix-case --resync --dry-run
  27898. \f[R]
  27899. .fi
  27900. .PP
  27901. If all looks good, run it again without \f[C]--dry-run\f[R].
  27902. After that, remove \f[C]--resync\f[R] as well.
  27903. .PP
  27904. Here is a typical run log (with timestamps removed for clarity):
  27905. .IP
  27906. .nf
  27907. \f[C]
  27908. rclone bisync /testdir/path1/ /testdir/path2/ --verbose
  27909. INFO : Synching Path1 \[dq]/testdir/path1/\[dq] with Path2 \[dq]/testdir/path2/\[dq]
  27910. INFO : Path1 checking for diffs
  27911. INFO : - Path1 File is new - file11.txt
  27912. INFO : - Path1 File is newer - file2.txt
  27913. INFO : - Path1 File is newer - file5.txt
  27914. INFO : - Path1 File is newer - file7.txt
  27915. INFO : - Path1 File was deleted - file4.txt
  27916. INFO : - Path1 File was deleted - file6.txt
  27917. INFO : - Path1 File was deleted - file8.txt
  27918. INFO : Path1: 7 changes: 1 new, 3 newer, 0 older, 3 deleted
  27919. INFO : Path2 checking for diffs
  27920. INFO : - Path2 File is new - file10.txt
  27921. INFO : - Path2 File is newer - file1.txt
  27922. INFO : - Path2 File is newer - file5.txt
  27923. INFO : - Path2 File is newer - file6.txt
  27924. INFO : - Path2 File was deleted - file3.txt
  27925. INFO : - Path2 File was deleted - file7.txt
  27926. INFO : - Path2 File was deleted - file8.txt
  27927. INFO : Path2: 7 changes: 1 new, 3 newer, 0 older, 3 deleted
  27928. INFO : Applying changes
  27929. INFO : - Path1 Queue copy to Path2 - /testdir/path2/file11.txt
  27930. INFO : - Path1 Queue copy to Path2 - /testdir/path2/file2.txt
  27931. INFO : - Path2 Queue delete - /testdir/path2/file4.txt
  27932. NOTICE: - WARNING New or changed in both paths - file5.txt
  27933. NOTICE: - Path1 Renaming Path1 copy - /testdir/path1/file5.txt..path1
  27934. NOTICE: - Path1 Queue copy to Path2 - /testdir/path2/file5.txt..path1
  27935. NOTICE: - Path2 Renaming Path2 copy - /testdir/path2/file5.txt..path2
  27936. NOTICE: - Path2 Queue copy to Path1 - /testdir/path1/file5.txt..path2
  27937. INFO : - Path2 Queue copy to Path1 - /testdir/path1/file6.txt
  27938. INFO : - Path1 Queue copy to Path2 - /testdir/path2/file7.txt
  27939. INFO : - Path2 Queue copy to Path1 - /testdir/path1/file1.txt
  27940. INFO : - Path2 Queue copy to Path1 - /testdir/path1/file10.txt
  27941. INFO : - Path1 Queue delete - /testdir/path1/file3.txt
  27942. INFO : - Path2 Do queued copies to - Path1
  27943. INFO : - Path1 Do queued copies to - Path2
  27944. INFO : - Do queued deletes on - Path1
  27945. INFO : - Do queued deletes on - Path2
  27946. INFO : Updating listings
  27947. INFO : Validating listings for Path1 \[dq]/testdir/path1/\[dq] vs Path2 \[dq]/testdir/path2/\[dq]
  27948. INFO : Bisync successful
  27949. \f[R]
  27950. .fi
  27951. .SS Command line syntax
  27952. .IP
  27953. .nf
  27954. \f[C]
  27955. $ rclone bisync --help
  27956. Usage:
  27957. rclone bisync remote1:path1 remote2:path2 [flags]
  27958. Positional arguments:
  27959. Path1, Path2 Local path, or remote storage with \[aq]:\[aq] plus optional path.
  27960. Type \[aq]rclone listremotes\[aq] for list of configured remotes.
  27961. Optional Flags:
  27962. --backup-dir1 string --backup-dir for Path1. Must be a non-overlapping path on the same remote.
  27963. --backup-dir2 string --backup-dir for Path2. Must be a non-overlapping path on the same remote.
  27964. --check-access Ensure expected RCLONE_TEST files are found on both Path1 and Path2 filesystems, else abort.
  27965. --check-filename string Filename for --check-access (default: RCLONE_TEST)
  27966. --check-sync string Controls comparison of final listings: true|false|only (default: true) (default \[dq]true\[dq])
  27967. --compare string Comma-separated list of bisync-specific compare options ex. \[aq]size,modtime,checksum\[aq] (default: \[aq]size,modtime\[aq])
  27968. --conflict-loser ConflictLoserAction Action to take on the loser of a sync conflict (when there is a winner) or on both files (when there is no winner): , num, pathname, delete (default: num)
  27969. --conflict-resolve string Automatically resolve conflicts by preferring the version that is: none, path1, path2, newer, older, larger, smaller (default: none) (default \[dq]none\[dq])
  27970. --conflict-suffix string Suffix to use when renaming a --conflict-loser. Can be either one string or two comma-separated strings to assign different suffixes to Path1/Path2. (default: \[aq]conflict\[aq])
  27971. --create-empty-src-dirs Sync creation and deletion of empty directories. (Not compatible with --remove-empty-dirs)
  27972. --download-hash Compute hash by downloading when otherwise unavailable. (warning: may be slow and use lots of data!)
  27973. --filters-file string Read filtering patterns from a file
  27974. --force Bypass --max-delete safety check and run the sync. Consider using with --verbose
  27975. -h, --help help for bisync
  27976. --ignore-listing-checksum Do not use checksums for listings (add --ignore-checksum to additionally skip post-copy checksum checks)
  27977. --max-lock Duration Consider lock files older than this to be expired (default: 0 (never expire)) (minimum: 2m) (default 0s)
  27978. --no-cleanup Retain working files (useful for troubleshooting and testing).
  27979. --no-slow-hash Ignore listing checksums only on backends where they are slow
  27980. --recover Automatically recover from interruptions without requiring --resync.
  27981. --remove-empty-dirs Remove ALL empty directories at the final cleanup step.
  27982. --resilient Allow future runs to retry after certain less-serious errors, instead of requiring --resync. Use at your own risk!
  27983. -1, --resync Performs the resync run. Equivalent to --resync-mode path1. Consider using --verbose or --dry-run first.
  27984. --resync-mode string During resync, prefer the version that is: path1, path2, newer, older, larger, smaller (default: path1 if --resync, otherwise none for no resync.) (default \[dq]none\[dq])
  27985. --retries int Retry operations this many times if they fail (requires --resilient). (default 3)
  27986. --retries-sleep Duration Interval between retrying operations if they fail, e.g. 500ms, 60s, 5m (0 to disable) (default 0s)
  27987. --slow-hash-sync-only Ignore slow checksums for listings and deltas, but still consider them during sync calls.
  27988. --workdir string Use custom working dir - useful for testing. (default: {WORKDIR})
  27989. --max-delete PERCENT Safety check on maximum percentage of deleted files allowed. If exceeded, the bisync run will abort. (default: 50%)
  27990. -n, --dry-run Go through the motions - No files are copied/deleted.
  27991. -v, --verbose Increases logging verbosity. May be specified more than once for more details.
  27992. \f[R]
  27993. .fi
  27994. .PP
  27995. Arbitrary rclone flags may be specified on the bisync command
  27996. line (https://rclone.org/commands/rclone_bisync/), for example
  27997. \f[C]rclone bisync ./testdir/path1/ gdrive:testdir/path2/ --drive-skip-gdocs -v -v --timeout 10s\f[R]
  27998. Note that interactions of various rclone flags with bisync process flow
  27999. has not been fully tested yet.
  28000. .SS Paths
  28001. .PP
  28002. Path1 and Path2 arguments may be references to any mix of local
  28003. directory paths (absolute or relative), UNC paths
  28004. (\f[C]//server/share/path\f[R]), Windows drive paths (with a drive
  28005. letter and \f[C]:\f[R]) or configured
  28006. remotes (https://rclone.org/docs/#syntax-of-remote-paths) with optional
  28007. subdirectory paths.
  28008. Cloud references are distinguished by having a \f[C]:\f[R] in the
  28009. argument (see Windows support below).
  28010. .PP
  28011. Path1 and Path2 are treated equally, in that neither has priority for
  28012. file changes (except during \f[C]--resync\f[R]), and access efficiency
  28013. does not change whether a remote is on Path1 or Path2.
  28014. .PP
  28015. The listings in bisync working directory (default:
  28016. \f[C]\[ti]/.cache/rclone/bisync\f[R]) are named based on the Path1 and
  28017. Path2 arguments so that separate syncs to individual directories within
  28018. the tree may be set up, e.g.:
  28019. \f[C]path_to_local_tree..dropbox_subdir.lst\f[R].
  28020. .PP
  28021. Any empty directories after the sync on both the Path1 and Path2
  28022. filesystems are not deleted by default, unless
  28023. \f[C]--create-empty-src-dirs\f[R] is specified.
  28024. If the \f[C]--remove-empty-dirs\f[R] flag is specified, then both paths
  28025. will have ALL empty directories purged as the last step in the process.
  28026. .SS Command-line flags
  28027. .SS --resync
  28028. .PP
  28029. This will effectively make both Path1 and Path2 filesystems contain a
  28030. matching superset of all files.
  28031. By default, Path2 files that do not exist in Path1 will be copied to
  28032. Path1, and the process will then copy the Path1 tree to Path2.
  28033. .PP
  28034. The \f[C]--resync\f[R] sequence is roughly equivalent to the following
  28035. (but see \f[C]--resync-mode\f[R] for other options):
  28036. .IP
  28037. .nf
  28038. \f[C]
  28039. rclone copy Path2 Path1 --ignore-existing [--create-empty-src-dirs]
  28040. rclone copy Path1 Path2 [--create-empty-src-dirs]
  28041. \f[R]
  28042. .fi
  28043. .PP
  28044. The base directories on both Path1 and Path2 filesystems must exist or
  28045. bisync will fail.
  28046. This is required for safety - that bisync can verify that both paths are
  28047. valid.
  28048. .PP
  28049. When using \f[C]--resync\f[R], a newer version of a file on the Path2
  28050. filesystem will (by default) be overwritten by the Path1 filesystem
  28051. version.
  28052. (Note that this is NOT entirely
  28053. symmetrical (https://github.com/rclone/rclone/issues/5681#issuecomment-938761815),
  28054. and more symmetrical options can be specified with the
  28055. \f[C]--resync-mode\f[R] flag.) Carefully evaluate deltas using
  28056. --dry-run (https://rclone.org/flags/#non-backend-flags).
  28057. .PP
  28058. For a resync run, one of the paths may be empty (no files in the path
  28059. tree).
  28060. The resync run should result in files on both paths, else a normal
  28061. non-resync run will fail.
  28062. .PP
  28063. For a non-resync run, either path being empty (no files in the tree)
  28064. fails with
  28065. \f[C]Empty current PathN listing. Cannot sync to an empty directory: X.pathN.lst\f[R]
  28066. This is a safety check that an unexpected empty path does not result in
  28067. deleting \f[B]everything\f[R] in the other path.
  28068. .PP
  28069. Note that \f[C]--resync\f[R] implies \f[C]--resync-mode path1\f[R]
  28070. unless a different \f[C]--resync-mode\f[R] is explicitly specified.
  28071. It is not necessary to use both the \f[C]--resync\f[R] and
  28072. \f[C]--resync-mode\f[R] flags -- either one is sufficient without the
  28073. other.
  28074. .PP
  28075. \f[B]Note:\f[R] \f[C]--resync\f[R] (including \f[C]--resync-mode\f[R])
  28076. should only be used under three specific (rare) circumstances: 1.
  28077. It is your \f[I]first\f[R] bisync run (between these two paths) 2.
  28078. You\[aq]ve just made changes to your bisync settings (such as editing
  28079. the contents of your \f[C]--filters-file\f[R]) 3.
  28080. There was an error on the prior run, and as a result, bisync now
  28081. requires \f[C]--resync\f[R] to recover
  28082. .PP
  28083. The rest of the time, you should \f[I]omit\f[R] \f[C]--resync\f[R].
  28084. The reason is because \f[C]--resync\f[R] will only \f[I]copy\f[R] (not
  28085. \f[I]sync\f[R]) each side to the other.
  28086. Therefore, if you included \f[C]--resync\f[R] for every bisync run, it
  28087. would never be possible to delete a file -- the deleted file would
  28088. always keep reappearing at the end of every run (because it\[aq]s being
  28089. copied from the other side where it still exists).
  28090. Similarly, renaming a file would always result in a duplicate copy (both
  28091. old and new name) on both sides.
  28092. .PP
  28093. If you find that frequent interruptions from #3 are an issue, rather
  28094. than automatically running \f[C]--resync\f[R], the recommended
  28095. alternative is to use the \f[C]--resilient\f[R], \f[C]--recover\f[R],
  28096. and \f[C]--conflict-resolve\f[R] flags, (along with Graceful Shutdown
  28097. mode, when needed) for a very robust \[dq]set-it-and-forget-it\[dq]
  28098. bisync setup that can automatically bounce back from almost any
  28099. interruption it might encounter.
  28100. Consider adding something like the following:
  28101. .IP
  28102. .nf
  28103. \f[C]
  28104. --resilient --recover --max-lock 2m --conflict-resolve newer
  28105. \f[R]
  28106. .fi
  28107. .SS --resync-mode CHOICE
  28108. .PP
  28109. In the event that a file differs on both sides during a
  28110. \f[C]--resync\f[R], \f[C]--resync-mode\f[R] controls which version will
  28111. overwrite the other.
  28112. The supported options are similar to \f[C]--conflict-resolve\f[R].
  28113. For all of the following options, the version that is kept is referred
  28114. to as the \[dq]winner\[dq], and the version that is overwritten
  28115. (deleted) is referred to as the \[dq]loser\[dq].
  28116. The options are named after the \[dq]winner\[dq]:
  28117. .IP \[bu] 2
  28118. \f[C]path1\f[R] - (the default) - the version from Path1 is
  28119. unconditionally considered the winner (regardless of \f[C]modtime\f[R]
  28120. and \f[C]size\f[R], if any).
  28121. This can be useful if one side is more trusted or up-to-date than the
  28122. other, at the time of the \f[C]--resync\f[R].
  28123. .IP \[bu] 2
  28124. \f[C]path2\f[R] - same as \f[C]path1\f[R], except the path2 version is
  28125. considered the winner.
  28126. .IP \[bu] 2
  28127. \f[C]newer\f[R] - the newer file (by \f[C]modtime\f[R]) is considered
  28128. the winner, regardless of which side it came from.
  28129. This may result in having a mix of some winners from Path1, and some
  28130. winners from Path2.
  28131. (The implementation is analogous to running
  28132. \f[C]rclone copy --update\f[R] in both directions.)
  28133. .IP \[bu] 2
  28134. \f[C]older\f[R] - same as \f[C]newer\f[R], except the older file is
  28135. considered the winner, and the newer file is considered the loser.
  28136. .IP \[bu] 2
  28137. \f[C]larger\f[R] - the larger file (by \f[C]size\f[R]) is considered the
  28138. winner (regardless of \f[C]modtime\f[R], if any).
  28139. This can be a useful option for remotes without \f[C]modtime\f[R]
  28140. support, or with the kinds of files (such as logs) that tend to grow but
  28141. not shrink, over time.
  28142. .IP \[bu] 2
  28143. \f[C]smaller\f[R] - the smaller file (by \f[C]size\f[R]) is considered
  28144. the winner (regardless of \f[C]modtime\f[R], if any).
  28145. .PP
  28146. For all of the above options, note the following: - If either of the
  28147. underlying remotes lacks support for the chosen method, it will be
  28148. ignored and will fall back to the default of \f[C]path1\f[R].
  28149. (For example, if \f[C]--resync-mode newer\f[R] is set, but one of the
  28150. paths uses a remote that doesn\[aq]t support \f[C]modtime\f[R].) - If a
  28151. winner can\[aq]t be determined because the chosen method\[aq]s attribute
  28152. is missing or equal, it will be ignored, and bisync will instead try to
  28153. determine whether the files differ by looking at the other
  28154. \f[C]--compare\f[R] methods in effect.
  28155. (For example, if \f[C]--resync-mode newer\f[R] is set, but the Path1 and
  28156. Path2 modtimes are identical, bisync will compare the sizes.) If bisync
  28157. concludes that they differ, preference is given to whichever is the
  28158. \[dq]source\[dq] at that moment.
  28159. (In practice, this gives a slight advantage to Path2, as the 2to1 copy
  28160. comes before the 1to2 copy.) If the files \f[I]do not\f[R] differ,
  28161. nothing is copied (as both sides are already correct).
  28162. - These options apply only to files that exist on both sides (with the
  28163. same name and relative path).
  28164. Files that exist \f[I]only\f[R] on one side and not the other are
  28165. \f[I]always\f[R] copied to the other, during \f[C]--resync\f[R] (this is
  28166. one of the main differences between resync and non-resync runs.).
  28167. - \f[C]--conflict-resolve\f[R], \f[C]--conflict-loser\f[R], and
  28168. \f[C]--conflict-suffix\f[R] do not apply during \f[C]--resync\f[R], and
  28169. unlike these flags, nothing is renamed during \f[C]--resync\f[R].
  28170. When a file differs on both sides during \f[C]--resync\f[R], one version
  28171. always overwrites the other (much like in \f[C]rclone copy\f[R].)
  28172. (Consider using \f[C]--backup-dir\f[R] to retain a backup of the losing
  28173. version.) - Unlike for \f[C]--conflict-resolve\f[R],
  28174. \f[C]--resync-mode none\f[R] is not a valid option (or rather, it will
  28175. be interpreted as \[dq]no resync\[dq], unless \f[C]--resync\f[R] has
  28176. also been specified, in which case it will be ignored.) - Winners and
  28177. losers are decided at the individual file-level only (there is not
  28178. currently an option to pick an entire winning directory atomically,
  28179. although the \f[C]path1\f[R] and \f[C]path2\f[R] options typically
  28180. produce a similar result.) - To maintain backward-compatibility, the
  28181. \f[C]--resync\f[R] flag implies \f[C]--resync-mode path1\f[R] unless a
  28182. different \f[C]--resync-mode\f[R] is explicitly specified.
  28183. Similarly, all \f[C]--resync-mode\f[R] options (except \f[C]none\f[R])
  28184. imply \f[C]--resync\f[R], so it is not necessary to use both the
  28185. \f[C]--resync\f[R] and \f[C]--resync-mode\f[R] flags simultaneously --
  28186. either one is sufficient without the other.
  28187. .SS --check-access
  28188. .PP
  28189. Access check files are an additional safety measure against data loss.
  28190. bisync will ensure it can find matching \f[C]RCLONE_TEST\f[R] files in
  28191. the same places in the Path1 and Path2 filesystems.
  28192. \f[C]RCLONE_TEST\f[R] files are not generated automatically.
  28193. For \f[C]--check-access\f[R] to succeed, you must first either:
  28194. \f[B]A)\f[R] Place one or more \f[C]RCLONE_TEST\f[R] files in both
  28195. systems, or \f[B]B)\f[R] Set \f[C]--check-filename\f[R] to a filename
  28196. already in use in various locations throughout your sync\[aq]d fileset.
  28197. Recommended methods for \f[B]A)\f[R] include: *
  28198. \f[C]rclone touch Path1/RCLONE_TEST\f[R] (create a new file) *
  28199. \f[C]rclone copyto Path1/RCLONE_TEST Path2/RCLONE_TEST\f[R] (copy an
  28200. existing file) *
  28201. \f[C]rclone copy Path1/RCLONE_TEST Path2/RCLONE_TEST --include \[dq]RCLONE_TEST\[dq]\f[R]
  28202. (copy multiple files at once, recursively) * create the files manually
  28203. (outside of rclone) * run \f[C]bisync\f[R] once \f[I]without\f[R]
  28204. \f[C]--check-access\f[R] to set matching files on both filesystems will
  28205. also work, but is not preferred, due to potential for user error (you
  28206. are temporarily disabling the safety feature).
  28207. .PP
  28208. Note that \f[C]--check-access\f[R] is still enforced on
  28209. \f[C]--resync\f[R], so \f[C]bisync --resync --check-access\f[R] will not
  28210. work as a method of initially setting the files (this is to ensure that
  28211. bisync can\[aq]t inadvertently circumvent its own safety
  28212. switch (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=3.%20%2D%2Dcheck%2Daccess%20doesn%27t%20always%20fail%20when%20it%20should).)
  28213. .PP
  28214. Time stamps and file contents for \f[C]RCLONE_TEST\f[R] files are not
  28215. important, just the names and locations.
  28216. If you have symbolic links in your sync tree it is recommended to place
  28217. \f[C]RCLONE_TEST\f[R] files in the linked-to directory tree to protect
  28218. against bisync assuming a bunch of deleted files if the linked-to tree
  28219. should not be accessible.
  28220. See also the --check-filename flag.
  28221. .SS --check-filename
  28222. .PP
  28223. Name of the file(s) used in access health validation.
  28224. The default \f[C]--check-filename\f[R] is \f[C]RCLONE_TEST\f[R].
  28225. One or more files having this filename must exist, synchronized between
  28226. your source and destination filesets, in order for
  28227. \f[C]--check-access\f[R] to succeed.
  28228. See --check-access for additional details.
  28229. .SS --compare
  28230. .PP
  28231. As of \f[C]v1.66\f[R], bisync fully supports comparing based on any
  28232. combination of size, modtime, and checksum (lifting the prior
  28233. restriction on backends without modtime support.)
  28234. .PP
  28235. By default (without the \f[C]--compare\f[R] flag), bisync inherits the
  28236. same comparison options as \f[C]sync\f[R] (that is: \f[C]size\f[R] and
  28237. \f[C]modtime\f[R] by default, unless modified with flags such as
  28238. \f[C]--checksum\f[R] (https://rclone.org/docs/#c-checksum) or
  28239. \f[C]--size-only\f[R].)
  28240. .PP
  28241. If the \f[C]--compare\f[R] flag is set, it will override these defaults.
  28242. This can be useful if you wish to compare based on combinations not
  28243. currently supported in \f[C]sync\f[R], such as comparing all three of
  28244. \f[C]size\f[R] AND \f[C]modtime\f[R] AND \f[C]checksum\f[R]
  28245. simultaneously (or just \f[C]modtime\f[R] AND \f[C]checksum\f[R]).
  28246. .PP
  28247. \f[C]--compare\f[R] takes a comma-separated list, with the currently
  28248. supported values being \f[C]size\f[R], \f[C]modtime\f[R], and
  28249. \f[C]checksum\f[R].
  28250. For example, if you want to compare size and checksum, but not modtime,
  28251. you would do:
  28252. .IP
  28253. .nf
  28254. \f[C]
  28255. --compare size,checksum
  28256. \f[R]
  28257. .fi
  28258. .PP
  28259. Or if you want to compare all three:
  28260. .IP
  28261. .nf
  28262. \f[C]
  28263. --compare size,modtime,checksum
  28264. \f[R]
  28265. .fi
  28266. .PP
  28267. \f[C]--compare\f[R] overrides any conflicting flags.
  28268. For example, if you set the conflicting flags
  28269. \f[C]--compare checksum --size-only\f[R], \f[C]--size-only\f[R] will be
  28270. ignored, and bisync will compare checksum and not size.
  28271. To avoid confusion, it is recommended to use \f[I]either\f[R]
  28272. \f[C]--compare\f[R] or the normal \f[C]sync\f[R] flags, but not both.
  28273. .PP
  28274. If \f[C]--compare\f[R] includes \f[C]checksum\f[R] and both remotes
  28275. support checksums but have no hash types in common with each other,
  28276. checksums will be considered \f[I]only\f[R] for comparisons within the
  28277. same side (to determine what has changed since the prior sync), but not
  28278. for comparisons against the opposite side.
  28279. If one side supports checksums and the other does not, checksums will
  28280. only be considered on the side that supports them.
  28281. .PP
  28282. When comparing with \f[C]checksum\f[R] and/or \f[C]size\f[R] without
  28283. \f[C]modtime\f[R], bisync cannot determine whether a file is
  28284. \f[C]newer\f[R] or \f[C]older\f[R] -- only whether it is
  28285. \f[C]changed\f[R] or \f[C]unchanged\f[R].
  28286. (If it is \f[C]changed\f[R] on both sides, bisync still does the
  28287. standard equality-check to avoid declaring a sync conflict unless it
  28288. absolutely has to.)
  28289. .PP
  28290. It is recommended to do a \f[C]--resync\f[R] when changing
  28291. \f[C]--compare\f[R] settings, as otherwise your prior listing files may
  28292. not contain the attributes you wish to compare (for example, they will
  28293. not have stored checksums if you were not previously comparing
  28294. checksums.)
  28295. .SS --ignore-listing-checksum
  28296. .PP
  28297. When \f[C]--checksum\f[R] or \f[C]--compare checksum\f[R] is set, bisync
  28298. will retrieve (or generate) checksums (for backends that support them)
  28299. when creating the listings for both paths, and store the checksums in
  28300. the listing files.
  28301. \f[C]--ignore-listing-checksum\f[R] will disable this behavior, which
  28302. may speed things up considerably, especially on backends (such as
  28303. local (https://rclone.org/local/)) where hashes must be computed on the
  28304. fly instead of retrieved.
  28305. Please note the following:
  28306. .IP \[bu] 2
  28307. As of \f[C]v1.66\f[R], \f[C]--ignore-listing-checksum\f[R] is now
  28308. automatically set when neither \f[C]--checksum\f[R] nor
  28309. \f[C]--compare checksum\f[R] are in use (as the checksums would not be
  28310. used for anything.)
  28311. .IP \[bu] 2
  28312. \f[C]--ignore-listing-checksum\f[R] is NOT the same as
  28313. \f[C]--ignore-checksum\f[R] (https://rclone.org/docs/#ignore-checksum),
  28314. and you may wish to use one or the other, or both.
  28315. In a nutshell: \f[C]--ignore-listing-checksum\f[R] controls whether
  28316. checksums are considered when scanning for diffs, while
  28317. \f[C]--ignore-checksum\f[R] controls whether checksums are considered
  28318. during the copy/sync operations that follow, if there ARE diffs.
  28319. .IP \[bu] 2
  28320. Unless \f[C]--ignore-listing-checksum\f[R] is passed, bisync currently
  28321. computes hashes for one path \f[I]even when there\[aq]s no common hash
  28322. with the other path\f[R] (for example, a
  28323. crypt (https://rclone.org/crypt/#modification-times-and-hashes) remote.)
  28324. This can still be beneficial, as the hashes will still be used to detect
  28325. changes within the same side (if \f[C]--checksum\f[R] or
  28326. \f[C]--compare checksum\f[R] is set), even if they can\[aq]t be used to
  28327. compare against the opposite side.
  28328. .IP \[bu] 2
  28329. If you wish to ignore listing checksums \f[I]only\f[R] on remotes where
  28330. they are slow to compute, consider using \f[C]--no-slow-hash\f[R] (or
  28331. \f[C]--slow-hash-sync-only\f[R]) instead of
  28332. \f[C]--ignore-listing-checksum\f[R].
  28333. .IP \[bu] 2
  28334. If \f[C]--ignore-listing-checksum\f[R] is used simultaneously with
  28335. \f[C]--compare checksum\f[R] (or \f[C]--checksum\f[R]), checksums will
  28336. be ignored for bisync deltas, but still considered during the sync
  28337. operations that follow (if deltas are detected based on modtime and/or
  28338. size.)
  28339. .SS --no-slow-hash
  28340. .PP
  28341. On some remotes (notably \f[C]local\f[R]), checksums can dramatically
  28342. slow down a bisync run, because hashes cannot be stored and need to be
  28343. computed in real-time when they are requested.
  28344. On other remotes (such as \f[C]drive\f[R]), they add practically no time
  28345. at all.
  28346. The \f[C]--no-slow-hash\f[R] flag will automatically skip checksums on
  28347. remotes where they are slow, while still comparing them on others
  28348. (assuming \f[C]--compare\f[R] includes \f[C]checksum\f[R].) This can be
  28349. useful when one of your bisync paths is slow but you still want to check
  28350. checksums on the other, for a more robust sync.
  28351. .SS --slow-hash-sync-only
  28352. .PP
  28353. Same as \f[C]--no-slow-hash\f[R], except slow hashes are still
  28354. considered during sync calls.
  28355. They are still NOT considered for determining deltas, nor or they
  28356. included in listings.
  28357. They are also skipped during \f[C]--resync\f[R].
  28358. The main use case for this flag is when you have a large number of
  28359. files, but relatively few of them change from run to run -- so you
  28360. don\[aq]t want to check your entire tree every time (it would take too
  28361. long), but you still want to consider checksums for the smaller group of
  28362. files for which a \f[C]modtime\f[R] or \f[C]size\f[R] change was
  28363. detected.
  28364. Keep in mind that this speed savings comes with a safety trade-off: if a
  28365. file\[aq]s content were to change without a change to its
  28366. \f[C]modtime\f[R] or \f[C]size\f[R], bisync would not detect it, and it
  28367. would not be synced.
  28368. .PP
  28369. \f[C]--slow-hash-sync-only\f[R] is only useful if both remotes share a
  28370. common hash type (if they don\[aq]t, bisync will automatically fall back
  28371. to \f[C]--no-slow-hash\f[R].) Both \f[C]--no-slow-hash\f[R] and
  28372. \f[C]--slow-hash-sync-only\f[R] have no effect without
  28373. \f[C]--compare checksum\f[R] (or \f[C]--checksum\f[R]).
  28374. .SS --download-hash
  28375. .PP
  28376. If \f[C]--download-hash\f[R] is set, bisync will use best efforts to
  28377. obtain an MD5 checksum by downloading and computing on-the-fly, when
  28378. checksums are not otherwise available (for example, a remote that
  28379. doesn\[aq]t support them.) Note that since rclone has to download the
  28380. entire file, this may dramatically slow down your bisync runs, and is
  28381. also likely to use a lot of data, so it is probably not practical for
  28382. bisync paths with a large total file size.
  28383. However, it can be a good option for syncing small-but-important files
  28384. with maximum accuracy (for example, a source code repo on a
  28385. \f[C]crypt\f[R] remote.) An additional advantage over methods like
  28386. \f[C]cryptcheck\f[R] (https://rclone.org/commands/rclone_cryptcheck/) is
  28387. that the original file is not required for comparison (for example,
  28388. \f[C]--download-hash\f[R] can be used to bisync two different crypt
  28389. remotes with different passwords.)
  28390. .PP
  28391. When \f[C]--download-hash\f[R] is set, bisync still looks for more
  28392. efficient checksums first, and falls back to downloading only when none
  28393. are found.
  28394. It takes priority over conflicting flags such as
  28395. \f[C]--no-slow-hash\f[R].
  28396. \f[C]--download-hash\f[R] is not suitable for Google Docs and other
  28397. files of unknown size, as their checksums would change from run to run
  28398. (due to small variances in the internals of the generated export file.)
  28399. Therefore, bisync automatically skips \f[C]--download-hash\f[R] for
  28400. files with a size less than 0.
  28401. .PP
  28402. See also: \f[C]Hasher\f[R] (https://rclone.org/hasher/) backend,
  28403. \f[C]cryptcheck\f[R] (https://rclone.org/commands/rclone_cryptcheck/)
  28404. command,
  28405. \f[C]rclone check --download\f[R] (https://rclone.org/commands/rclone_check/)
  28406. option, \f[C]md5sum\f[R] (https://rclone.org/commands/rclone_md5sum/)
  28407. command
  28408. .SS --max-delete
  28409. .PP
  28410. As a safety check, if greater than the \f[C]--max-delete\f[R] percent of
  28411. files were deleted on either the Path1 or Path2 filesystem, then bisync
  28412. will abort with a warning message, without making any changes.
  28413. The default \f[C]--max-delete\f[R] is \f[C]50%\f[R].
  28414. One way to trigger this limit is to rename a directory that contains
  28415. more than half of your files.
  28416. This will appear to bisync as a bunch of deleted files and a bunch of
  28417. new files.
  28418. This safety check is intended to block bisync from deleting all of the
  28419. files on both filesystems due to a temporary network access issue, or if
  28420. the user had inadvertently deleted the files on one side or the other.
  28421. To force the sync, either set a different delete percentage limit, e.g.
  28422. \f[C]--max-delete 75\f[R] (allows up to 75% deletion), or use
  28423. \f[C]--force\f[R] to bypass the check.
  28424. .PP
  28425. Also see the all files changed check.
  28426. .SS --filters-file
  28427. .PP
  28428. By using rclone filter features you can exclude file types or directory
  28429. sub-trees from the sync.
  28430. See the bisync filters section and generic
  28431. --filter-from (https://rclone.org/filtering/#filter-from-read-filtering-patterns-from-a-file)
  28432. documentation.
  28433. An example filters file contains filters for non-allowed files for
  28434. synching with Dropbox.
  28435. .PP
  28436. If you make changes to your filters file then bisync requires a run with
  28437. \f[C]--resync\f[R].
  28438. This is a safety feature, which prevents existing files on the Path1
  28439. and/or Path2 side from seeming to disappear from view (since they are
  28440. excluded in the new listings), which would fool bisync into seeing them
  28441. as deleted (as compared to the prior run listings), and then bisync
  28442. would proceed to delete them for real.
  28443. .PP
  28444. To block this from happening, bisync calculates an MD5 hash of the
  28445. filters file and stores the hash in a \f[C].md5\f[R] file in the same
  28446. place as your filters file.
  28447. On the next run with \f[C]--filters-file\f[R] set, bisync re-calculates
  28448. the MD5 hash of the current filters file and compares it to the hash
  28449. stored in the \f[C].md5\f[R] file.
  28450. If they don\[aq]t match, the run aborts with a critical error and thus
  28451. forces you to do a \f[C]--resync\f[R], likely avoiding a disaster.
  28452. .SS --conflict-resolve CHOICE
  28453. .PP
  28454. In bisync, a \[dq]conflict\[dq] is a file that is \f[I]new\f[R] or
  28455. \f[I]changed\f[R] on \f[I]both sides\f[R] (relative to the prior run)
  28456. AND is \f[I]not currently identical\f[R] on both sides.
  28457. \f[C]--conflict-resolve\f[R] controls how bisync handles such a
  28458. scenario.
  28459. The currently supported options are:
  28460. .IP \[bu] 2
  28461. \f[C]none\f[R] - (the default) - do not attempt to pick a winner, keep
  28462. and rename both files according to \f[C]--conflict-loser\f[R] and
  28463. \f[C]--conflict-suffix\f[R] settings.
  28464. For example, with the default settings, \f[C]file.txt\f[R] on Path1 is
  28465. renamed \f[C]file.txt.conflict1\f[R] and \f[C]file.txt\f[R] on Path2 is
  28466. renamed \f[C]file.txt.conflict2\f[R].
  28467. Both are copied to the opposite path during the run, so both sides end
  28468. up with a copy of both files.
  28469. (As \f[C]none\f[R] is the default, it is not necessary to specify
  28470. \f[C]--conflict-resolve none\f[R] -- you can just omit the flag.)
  28471. .IP \[bu] 2
  28472. \f[C]newer\f[R] - the newer file (by \f[C]modtime\f[R]) is considered
  28473. the winner and is copied without renaming.
  28474. The older file (the \[dq]loser\[dq]) is handled according to
  28475. \f[C]--conflict-loser\f[R] and \f[C]--conflict-suffix\f[R] settings
  28476. (either renamed or deleted.) For example, if \f[C]file.txt\f[R] on Path1
  28477. is newer than \f[C]file.txt\f[R] on Path2, the result on both sides
  28478. (with other default settings) will be \f[C]file.txt\f[R] (winner from
  28479. Path1) and \f[C]file.txt.conflict1\f[R] (loser from Path2).
  28480. .IP \[bu] 2
  28481. \f[C]older\f[R] - same as \f[C]newer\f[R], except the older file is
  28482. considered the winner, and the newer file is considered the loser.
  28483. .IP \[bu] 2
  28484. \f[C]larger\f[R] - the larger file (by \f[C]size\f[R]) is considered the
  28485. winner (regardless of \f[C]modtime\f[R], if any).
  28486. .IP \[bu] 2
  28487. \f[C]smaller\f[R] - the smaller file (by \f[C]size\f[R]) is considered
  28488. the winner (regardless of \f[C]modtime\f[R], if any).
  28489. .IP \[bu] 2
  28490. \f[C]path1\f[R] - the version from Path1 is unconditionally considered
  28491. the winner (regardless of \f[C]modtime\f[R] and \f[C]size\f[R], if any).
  28492. This can be useful if one side is usually more trusted or up-to-date
  28493. than the other.
  28494. .IP \[bu] 2
  28495. \f[C]path2\f[R] - same as \f[C]path1\f[R], except the path2 version is
  28496. considered the winner.
  28497. .PP
  28498. For all of the above options, note the following: - If either of the
  28499. underlying remotes lacks support for the chosen method, it will be
  28500. ignored and fall back to \f[C]none\f[R].
  28501. (For example, if \f[C]--conflict-resolve newer\f[R] is set, but one of
  28502. the paths uses a remote that doesn\[aq]t support \f[C]modtime\f[R].) -
  28503. If a winner can\[aq]t be determined because the chosen method\[aq]s
  28504. attribute is missing or equal, it will be ignored and fall back to
  28505. \f[C]none\f[R].
  28506. (For example, if \f[C]--conflict-resolve newer\f[R] is set, but the
  28507. Path1 and Path2 modtimes are identical, even if the sizes may differ.) -
  28508. If the file\[aq]s content is currently identical on both sides, it is
  28509. not considered a \[dq]conflict\[dq], even if new or changed on both
  28510. sides since the prior sync.
  28511. (For example, if you made a change on one side and then synced it to the
  28512. other side by other means.) Therefore, none of the conflict resolution
  28513. flags apply in this scenario.
  28514. - The conflict resolution flags do not apply during a
  28515. \f[C]--resync\f[R], as there is no \[dq]prior run\[dq] to speak of (but
  28516. see \f[C]--resync-mode\f[R] for similar options.)
  28517. .SS --conflict-loser CHOICE
  28518. .PP
  28519. \f[C]--conflict-loser\f[R] determines what happens to the
  28520. \[dq]loser\[dq] of a sync conflict (when \f[C]--conflict-resolve\f[R]
  28521. determines a winner) or to both files (when there is no winner.) The
  28522. currently supported options are:
  28523. .IP \[bu] 2
  28524. \f[C]num\f[R] - (the default) - auto-number the conflicts by
  28525. automatically appending the next available number to the
  28526. \f[C]--conflict-suffix\f[R], in chronological order.
  28527. For example, with the default settings, the first conflict for
  28528. \f[C]file.txt\f[R] will be renamed \f[C]file.txt.conflict1\f[R].
  28529. If \f[C]file.txt.conflict1\f[R] already exists,
  28530. \f[C]file.txt.conflict2\f[R] will be used instead (etc., up to a maximum
  28531. of 9223372036854775807 conflicts.)
  28532. .IP \[bu] 2
  28533. \f[C]pathname\f[R] - rename the conflicts according to which side they
  28534. came from, which was the default behavior prior to \f[C]v1.66\f[R].
  28535. For example, with \f[C]--conflict-suffix path\f[R], \f[C]file.txt\f[R]
  28536. from Path1 will be renamed \f[C]file.txt.path1\f[R], and
  28537. \f[C]file.txt\f[R] from Path2 will be renamed \f[C]file.txt.path2\f[R].
  28538. If two non-identical suffixes are provided (ex.
  28539. \f[C]--conflict-suffix cloud,local\f[R]), the trailing digit is omitted.
  28540. Importantly, note that with \f[C]pathname\f[R], there is no
  28541. auto-numbering beyond \f[C]2\f[R], so if \f[C]file.txt.path2\f[R]
  28542. somehow already exists, it will be overwritten.
  28543. Using a dynamic date variable in your \f[C]--conflict-suffix\f[R] (see
  28544. below) is one possible way to avoid this.
  28545. Note also that conflicts-of-conflicts are possible, if the original
  28546. conflict is not manually resolved -- for example, if for some reason you
  28547. edited \f[C]file.txt.path1\f[R] on both sides, and those edits were
  28548. different, the result would be \f[C]file.txt.path1.path1\f[R] and
  28549. \f[C]file.txt.path1.path2\f[R] (in addition to
  28550. \f[C]file.txt.path2\f[R].)
  28551. .IP \[bu] 2
  28552. \f[C]delete\f[R] - keep the winner only and delete the loser, instead of
  28553. renaming it.
  28554. If a winner cannot be determined (see \f[C]--conflict-resolve\f[R] for
  28555. details on how this could happen), \f[C]delete\f[R] is ignored and the
  28556. default \f[C]num\f[R] is used instead (i.e.
  28557. both versions are kept and renamed, and neither is deleted.)
  28558. \f[C]delete\f[R] is inherently the most destructive option, so use it
  28559. only with care.
  28560. .PP
  28561. For all of the above options, note that if a winner cannot be determined
  28562. (see \f[C]--conflict-resolve\f[R] for details on how this could happen),
  28563. or if \f[C]--conflict-resolve\f[R] is not in use, \f[I]both\f[R] files
  28564. will be renamed.
  28565. .SS --conflict-suffix STRING[,STRING]
  28566. .PP
  28567. \f[C]--conflict-suffix\f[R] controls the suffix that is appended when
  28568. bisync renames a \f[C]--conflict-loser\f[R] (default:
  28569. \f[C]conflict\f[R]).
  28570. \f[C]--conflict-suffix\f[R] will accept either one string or two
  28571. comma-separated strings to assign different suffixes to Path1 vs.
  28572. Path2.
  28573. This may be helpful later in identifying the source of the conflict.
  28574. (For example,
  28575. \f[C]--conflict-suffix dropboxconflict,laptopconflict\f[R])
  28576. .PP
  28577. With \f[C]--conflict-loser num\f[R], a number is always appended to the
  28578. suffix.
  28579. With \f[C]--conflict-loser pathname\f[R], a number is appended only when
  28580. one suffix is specified (or when two identical suffixes are specified.)
  28581. i.e.
  28582. with \f[C]--conflict-loser pathname\f[R], all of the following would
  28583. produce exactly the same result:
  28584. .IP
  28585. .nf
  28586. \f[C]
  28587. --conflict-suffix path
  28588. --conflict-suffix path,path
  28589. --conflict-suffix path1,path2
  28590. \f[R]
  28591. .fi
  28592. .PP
  28593. Suffixes may be as short as 1 character.
  28594. By default, the suffix is appended after any other extensions (ex.
  28595. \f[C]file.jpg.conflict1\f[R]), however, this can be changed with the
  28596. \f[C]--suffix-keep-extension\f[R] (https://rclone.org/docs/#suffix-keep-extension)
  28597. flag (i.e.
  28598. to instead result in \f[C]file.conflict1.jpg\f[R]).
  28599. .PP
  28600. \f[C]--conflict-suffix\f[R] supports several \f[I]dynamic date
  28601. variables\f[R] when enclosed in curly braces as globs.
  28602. This can be helpful to track the date and/or time that each conflict was
  28603. handled by bisync.
  28604. For example:
  28605. .IP
  28606. .nf
  28607. \f[C]
  28608. --conflict-suffix {DateOnly}-conflict
  28609. // result: myfile.txt.2006-01-02-conflict1
  28610. \f[R]
  28611. .fi
  28612. .PP
  28613. All of the formats described
  28614. here (https://pkg.go.dev/time#pkg-constants) and
  28615. here (https://pkg.go.dev/time#example-Time.Format) are supported, but
  28616. take care to ensure that your chosen format does not use any characters
  28617. that are illegal on your remotes (for example, macOS does not allow
  28618. colons in filenames, and slashes are also best avoided as they are often
  28619. interpreted as directory separators.) To address this particular issue,
  28620. an additional \f[C]{MacFriendlyTime}\f[R] (or just \f[C]{mac}\f[R])
  28621. option is supported, which results in \f[C]2006-01-02 0304PM\f[R].
  28622. .PP
  28623. Note that \f[C]--conflict-suffix\f[R] is entirely separate from
  28624. rclone\[aq]s main
  28625. \f[C]--sufix\f[R] (https://rclone.org/docs/#suffix-suffix) flag.
  28626. This is intentional, as users may wish to use both flags simultaneously,
  28627. if also using \f[C]--backup-dir\f[R].
  28628. .PP
  28629. Finally, note that the default in bisync prior to \f[C]v1.66\f[R] was to
  28630. rename conflicts with \f[C]..path1\f[R] and \f[C]..path2\f[R] (with two
  28631. periods, and \f[C]path\f[R] instead of \f[C]conflict\f[R].) Bisync now
  28632. defaults to a single dot instead of a double dot, but additional dots
  28633. can be added by including them in the specified suffix string.
  28634. For example, for behavior equivalent to the previous default, use:
  28635. .IP
  28636. .nf
  28637. \f[C]
  28638. [--conflict-resolve none] --conflict-loser pathname --conflict-suffix .path
  28639. \f[R]
  28640. .fi
  28641. .SS --check-sync
  28642. .PP
  28643. Enabled by default, the check-sync function checks that all of the same
  28644. files exist in both the Path1 and Path2 history listings.
  28645. This \f[I]check-sync\f[R] integrity check is performed at the end of the
  28646. sync run by default.
  28647. Any untrapped failing copy/deletes between the two paths might result in
  28648. differences between the two listings and in the untracked file content
  28649. differences between the two paths.
  28650. A resync run would correct the error.
  28651. .PP
  28652. Note that the default-enabled integrity check locally executes a load of
  28653. both the final Path1 and Path2 listings, and thus adds to the run time
  28654. of a sync.
  28655. Using \f[C]--check-sync=false\f[R] will disable it and may significantly
  28656. reduce the sync run times for very large numbers of files.
  28657. .PP
  28658. The check may be run manually with \f[C]--check-sync=only\f[R].
  28659. It runs only the integrity check and terminates without actually
  28660. synching.
  28661. .PP
  28662. Note that currently, \f[C]--check-sync\f[R] \f[B]only checks listing
  28663. snapshots and NOT the actual files on the remotes.\f[R] Note also that
  28664. the listing snapshots will not know about any changes that happened
  28665. during or after the latest bisync run, as those will be discovered on
  28666. the next run.
  28667. Therefore, while listings should always match \f[I]each other\f[R] at
  28668. the end of a bisync run, it is \f[I]expected\f[R] that they will not
  28669. match the underlying remotes, nor will the remotes match each other, if
  28670. there were changes during or after the run.
  28671. This is normal, and any differences will be detected and synced on the
  28672. next run.
  28673. .PP
  28674. For a robust integrity check of the current state of the remotes (as
  28675. opposed to just their listing snapshots), consider using \f[C]check\f[R]
  28676. (or
  28677. \f[C]cryptcheck\f[R] (https://rclone.org/commands/rclone_cryptcheck/),
  28678. if at least one path is a \f[C]crypt\f[R] remote) instead of
  28679. \f[C]--check-sync\f[R], keeping in mind that differences are expected if
  28680. files changed during or after your last bisync run.
  28681. .PP
  28682. For example, a possible sequence could look like this:
  28683. .IP "1." 3
  28684. Normally scheduled bisync run:
  28685. .IP
  28686. .nf
  28687. \f[C]
  28688. rclone bisync Path1 Path2 -MPc --check-access --max-delete 10 --filters-file /path/to/filters.txt -v --no-cleanup --ignore-listing-checksum --disable ListR --checkers=16 --drive-pacer-min-sleep=10ms --create-empty-src-dirs --resilient
  28689. \f[R]
  28690. .fi
  28691. .IP "2." 3
  28692. Periodic independent integrity check (perhaps scheduled nightly or
  28693. weekly):
  28694. .IP
  28695. .nf
  28696. \f[C]
  28697. rclone check -MvPc Path1 Path2 --filter-from /path/to/filters.txt
  28698. \f[R]
  28699. .fi
  28700. .IP "3." 3
  28701. If diffs are found, you have some choices to correct them.
  28702. If one side is more up-to-date and you want to make the other side match
  28703. it, you could run:
  28704. .IP
  28705. .nf
  28706. \f[C]
  28707. rclone sync Path1 Path2 --filter-from /path/to/filters.txt --create-empty-src-dirs -MPc -v
  28708. \f[R]
  28709. .fi
  28710. .PP
  28711. (or switch Path1 and Path2 to make Path2 the source-of-truth)
  28712. .PP
  28713. Or, if neither side is totally up-to-date, you could run a
  28714. \f[C]--resync\f[R] to bring them back into agreement (but remember that
  28715. this could cause deleted files to re-appear.)
  28716. .PP
  28717. *Note also that \f[C]rclone check\f[R] does not currently include empty
  28718. directories, so if you want to know if any empty directories are out of
  28719. sync, consider alternatively running the above \f[C]rclone sync\f[R]
  28720. command with \f[C]--dry-run\f[R] added.
  28721. .PP
  28722. See also: Concurrent modifications, \f[C]--resilient\f[R]
  28723. .SS --resilient
  28724. .PP
  28725. \f[B]\f[BI]Caution: this is an experimental feature. Use at your own
  28726. risk!\f[B]\f[R]
  28727. .PP
  28728. By default, most errors or interruptions will cause bisync to abort and
  28729. require \f[C]--resync\f[R] to recover.
  28730. This is a safety feature, to prevent bisync from running again until a
  28731. user checks things out.
  28732. However, in some cases, bisync can go too far and enforce a lockout when
  28733. one isn\[aq]t actually necessary, like for certain less-serious errors
  28734. that might resolve themselves on the next run.
  28735. When \f[C]--resilient\f[R] is specified, bisync tries its best to
  28736. recover and self-correct, and only requires \f[C]--resync\f[R] as a last
  28737. resort when a human\[aq]s involvement is absolutely necessary.
  28738. The intended use case is for running bisync as a background process
  28739. (such as via scheduled cron).
  28740. .PP
  28741. When using \f[C]--resilient\f[R] mode, bisync will still report the
  28742. error and abort, however it will not lock out future runs -- allowing
  28743. the possibility of retrying at the next normally scheduled time, without
  28744. requiring a \f[C]--resync\f[R] first.
  28745. Examples of such retryable errors include access test failures, missing
  28746. listing files, and filter change detections.
  28747. These safety features will still prevent the \f[I]current\f[R] run from
  28748. proceeding -- the difference is that if conditions have improved by the
  28749. time of the \f[I]next\f[R] run, that next run will be allowed to
  28750. proceed.
  28751. Certain more serious errors will still enforce a \f[C]--resync\f[R]
  28752. lockout, even in \f[C]--resilient\f[R] mode, to prevent data loss.
  28753. .PP
  28754. Behavior of \f[C]--resilient\f[R] may change in a future version.
  28755. (See also: \f[C]--recover\f[R], \f[C]--max-lock\f[R], Graceful Shutdown)
  28756. .SS --recover
  28757. .PP
  28758. If \f[C]--recover\f[R] is set, in the event of a sudden interruption or
  28759. other un-graceful shutdown, bisync will attempt to automatically recover
  28760. on the next run, instead of requiring \f[C]--resync\f[R].
  28761. Bisync is able to recover robustly by keeping one \[dq]backup\[dq]
  28762. listing at all times, representing the state of both paths after the
  28763. last known successful sync.
  28764. Bisync can then compare the current state with this snapshot to
  28765. determine which changes it needs to retry.
  28766. Changes that were synced after this snapshot (during the run that was
  28767. later interrupted) will appear to bisync as if they are \[dq]new or
  28768. changed on both sides\[dq], but in most cases this is not a problem, as
  28769. bisync will simply do its usual \[dq]equality check\[dq] and learn that
  28770. no action needs to be taken on these files, since they are already
  28771. identical on both sides.
  28772. .PP
  28773. In the rare event that a file is synced successfully during a run that
  28774. later aborts, and then that same file changes AGAIN before the next run,
  28775. bisync will think it is a sync conflict, and handle it accordingly.
  28776. (From bisync\[aq]s perspective, the file has changed on both sides since
  28777. the last trusted sync, and the files on either side are not currently
  28778. identical.) Therefore, \f[C]--recover\f[R] carries with it a slightly
  28779. increased chance of having conflicts -- though in practice this is
  28780. pretty rare, as the conditions required to cause it are quite specific.
  28781. This risk can be reduced by using bisync\[aq]s \[dq]Graceful
  28782. Shutdown\[dq] mode (triggered by sending \f[C]SIGINT\f[R] or
  28783. \f[C]Ctrl+C\f[R]), when you have the choice, instead of forcing a sudden
  28784. termination.
  28785. .PP
  28786. \f[C]--recover\f[R] and \f[C]--resilient\f[R] are similar, but distinct
  28787. -- the main difference is that \f[C]--resilient\f[R] is about
  28788. \f[I]retrying\f[R], while \f[C]--recover\f[R] is about
  28789. \f[I]recovering\f[R].
  28790. Most users will probably want both.
  28791. \f[C]--resilient\f[R] allows retrying when bisync has chosen to abort
  28792. itself due to safety features such as failing \f[C]--check-access\f[R]
  28793. or detecting a filter change.
  28794. \f[C]--resilient\f[R] does not cover external interruptions such as a
  28795. user shutting down their computer in the middle of a sync -- that is
  28796. what \f[C]--recover\f[R] is for.
  28797. .SS --max-lock
  28798. .PP
  28799. Bisync uses lock files as a safety feature to prevent interference from
  28800. other bisync runs while it is running.
  28801. Bisync normally removes these lock files at the end of a run, but if
  28802. bisync is abruptly interrupted, these files will be left behind.
  28803. By default, they will lock out all future runs, until the user has a
  28804. chance to manually check things out and remove the lock.
  28805. As an alternative, \f[C]--max-lock\f[R] can be used to make them
  28806. automatically expire after a certain period of time, so that future runs
  28807. are not locked out forever, and auto-recovery is possible.
  28808. \f[C]--max-lock\f[R] can be any duration \f[C]2m\f[R] or greater (or
  28809. \f[C]0\f[R] to disable).
  28810. If set, lock files older than this will be considered \[dq]expired\[dq],
  28811. and future runs will be allowed to disregard them and proceed.
  28812. (Note that the \f[C]--max-lock\f[R] duration must be set by the process
  28813. that left the lock file -- not the later one interpreting it.)
  28814. .PP
  28815. If set, bisync will also \[dq]renew\[dq] these lock files every
  28816. \f[C]--max-lock minus one minute\f[R] throughout a run, for extra
  28817. safety.
  28818. (For example, with \f[C]--max-lock 5m\f[R], bisync would renew the lock
  28819. file (for another 5 minutes) every 4 minutes until the run has
  28820. completed.) In other words, it should not be possible for a lock file to
  28821. pass its expiration time while the process that created it is still
  28822. running -- and you can therefore be reasonably sure that any
  28823. \f[I]expired\f[R] lock file you may find was left there by an
  28824. interrupted run, not one that is still running and just taking awhile.
  28825. .PP
  28826. If \f[C]--max-lock\f[R] is \f[C]0\f[R] or not set, the default is that
  28827. lock files will never expire, and will block future runs (of these same
  28828. two bisync paths) indefinitely.
  28829. .PP
  28830. For maximum resilience from disruptions, consider setting a relatively
  28831. short duration like \f[C]--max-lock 2m\f[R] along with
  28832. \f[C]--resilient\f[R] and \f[C]--recover\f[R], and a relatively frequent
  28833. cron schedule.
  28834. The result will be a very robust \[dq]set-it-and-forget-it\[dq] bisync
  28835. run that can automatically bounce back from almost any interruption it
  28836. might encounter, without requiring the user to get involved and run a
  28837. \f[C]--resync\f[R].
  28838. (See also: Graceful Shutdown mode)
  28839. .SS --backup-dir1 and --backup-dir2
  28840. .PP
  28841. As of \f[C]v1.66\f[R],
  28842. \f[C]--backup-dir\f[R] (https://rclone.org/docs/#backup-dir-dir) is
  28843. supported in bisync.
  28844. Because \f[C]--backup-dir\f[R] must be a non-overlapping path on the
  28845. same remote, Bisync has introduced new \f[C]--backup-dir1\f[R] and
  28846. \f[C]--backup-dir2\f[R] flags to support separate backup-dirs for
  28847. \f[C]Path1\f[R] and \f[C]Path2\f[R] (bisyncing between different remotes
  28848. with \f[C]--backup-dir\f[R] would not otherwise be possible.)
  28849. \f[C]--backup-dir1\f[R] and \f[C]--backup-dir2\f[R] can use different
  28850. remotes from each other, but \f[C]--backup-dir1\f[R] must use the same
  28851. remote as \f[C]Path1\f[R], and \f[C]--backup-dir2\f[R] must use the same
  28852. remote as \f[C]Path2\f[R].
  28853. Each backup directory must not overlap its respective bisync Path
  28854. without being excluded by a filter rule.
  28855. .PP
  28856. The standard \f[C]--backup-dir\f[R] will also work, if both paths use
  28857. the same remote (but note that deleted files from both paths would be
  28858. mixed together in the same dir).
  28859. If either \f[C]--backup-dir1\f[R] and \f[C]--backup-dir2\f[R] are set,
  28860. they will override \f[C]--backup-dir\f[R].
  28861. .PP
  28862. Example:
  28863. .IP
  28864. .nf
  28865. \f[C]
  28866. rclone bisync /Users/someuser/some/local/path/Bisync gdrive:Bisync --backup-dir1 /Users/someuser/some/local/path/BackupDir --backup-dir2 gdrive:BackupDir --suffix -2023-08-26 --suffix-keep-extension --check-access --max-delete 10 --filters-file /Users/someuser/some/local/path/bisync_filters.txt --no-cleanup --ignore-listing-checksum --checkers=16 --drive-pacer-min-sleep=10ms --create-empty-src-dirs --resilient -MvP --drive-skip-gdocs --fix-case
  28867. \f[R]
  28868. .fi
  28869. .PP
  28870. In this example, if the user deletes a file in
  28871. \f[C]/Users/someuser/some/local/path/Bisync\f[R], bisync will propagate
  28872. the delete to the other side by moving the corresponding file from
  28873. \f[C]gdrive:Bisync\f[R] to \f[C]gdrive:BackupDir\f[R].
  28874. If the user deletes a file from \f[C]gdrive:Bisync\f[R], bisync moves it
  28875. from \f[C]/Users/someuser/some/local/path/Bisync\f[R] to
  28876. \f[C]/Users/someuser/some/local/path/BackupDir\f[R].
  28877. .PP
  28878. In the event of a rename due to a sync conflict, the rename is not
  28879. considered a delete, unless a previous conflict with the same name
  28880. already exists and would get overwritten.
  28881. .PP
  28882. See also: \f[C]--suffix\f[R] (https://rclone.org/docs/#suffix-suffix),
  28883. \f[C]--suffix-keep-extension\f[R] (https://rclone.org/docs/#suffix-keep-extension)
  28884. .SS Operation
  28885. .SS Runtime flow details
  28886. .PP
  28887. bisync retains the listings of the \f[C]Path1\f[R] and \f[C]Path2\f[R]
  28888. filesystems from the prior run.
  28889. On each successive run it will:
  28890. .IP \[bu] 2
  28891. list files on \f[C]path1\f[R] and \f[C]path2\f[R], and check for changes
  28892. on each side.
  28893. Changes include \f[C]New\f[R], \f[C]Newer\f[R], \f[C]Older\f[R], and
  28894. \f[C]Deleted\f[R] files.
  28895. .IP \[bu] 2
  28896. Propagate changes on \f[C]path1\f[R] to \f[C]path2\f[R], and vice-versa.
  28897. .SS Safety measures
  28898. .IP \[bu] 2
  28899. Lock file prevents multiple simultaneous runs when taking a while.
  28900. This can be particularly useful if bisync is run by cron scheduler.
  28901. .IP \[bu] 2
  28902. Handle change conflicts non-destructively by creating
  28903. \f[C].conflict1\f[R], \f[C].conflict2\f[R], etc.
  28904. file versions, according to \f[C]--conflict-resolve\f[R],
  28905. \f[C]--conflict-loser\f[R], and \f[C]--conflict-suffix\f[R] settings.
  28906. .IP \[bu] 2
  28907. File system access health check using \f[C]RCLONE_TEST\f[R] files (see
  28908. the \f[C]--check-access\f[R] flag).
  28909. .IP \[bu] 2
  28910. Abort on excessive deletes - protects against a failed listing being
  28911. interpreted as all the files were deleted.
  28912. See the \f[C]--max-delete\f[R] and \f[C]--force\f[R] flags.
  28913. .IP \[bu] 2
  28914. If something evil happens, bisync goes into a safe state to block damage
  28915. by later runs.
  28916. (See Error Handling)
  28917. .SS Normal sync checks
  28918. .PP
  28919. .TS
  28920. tab(@);
  28921. lw(8.4n) lw(28.4n) lw(15.7n) lw(17.5n).
  28922. T{
  28923. Type
  28924. T}@T{
  28925. Description
  28926. T}@T{
  28927. Result
  28928. T}@T{
  28929. Implementation
  28930. T}
  28931. _
  28932. T{
  28933. Path2 new
  28934. T}@T{
  28935. File is new on Path2, does not exist on Path1
  28936. T}@T{
  28937. Path2 version survives
  28938. T}@T{
  28939. \f[C]rclone copy\f[R] Path2 to Path1
  28940. T}
  28941. T{
  28942. Path2 newer
  28943. T}@T{
  28944. File is newer on Path2, unchanged on Path1
  28945. T}@T{
  28946. Path2 version survives
  28947. T}@T{
  28948. \f[C]rclone copy\f[R] Path2 to Path1
  28949. T}
  28950. T{
  28951. Path2 deleted
  28952. T}@T{
  28953. File is deleted on Path2, unchanged on Path1
  28954. T}@T{
  28955. File is deleted
  28956. T}@T{
  28957. \f[C]rclone delete\f[R] Path1
  28958. T}
  28959. T{
  28960. Path1 new
  28961. T}@T{
  28962. File is new on Path1, does not exist on Path2
  28963. T}@T{
  28964. Path1 version survives
  28965. T}@T{
  28966. \f[C]rclone copy\f[R] Path1 to Path2
  28967. T}
  28968. T{
  28969. Path1 newer
  28970. T}@T{
  28971. File is newer on Path1, unchanged on Path2
  28972. T}@T{
  28973. Path1 version survives
  28974. T}@T{
  28975. \f[C]rclone copy\f[R] Path1 to Path2
  28976. T}
  28977. T{
  28978. Path1 older
  28979. T}@T{
  28980. File is older on Path1, unchanged on Path2
  28981. T}@T{
  28982. \f[I]Path1 version survives\f[R]
  28983. T}@T{
  28984. \f[C]rclone copy\f[R] Path1 to Path2
  28985. T}
  28986. T{
  28987. Path2 older
  28988. T}@T{
  28989. File is older on Path2, unchanged on Path1
  28990. T}@T{
  28991. \f[I]Path2 version survives\f[R]
  28992. T}@T{
  28993. \f[C]rclone copy\f[R] Path2 to Path1
  28994. T}
  28995. T{
  28996. Path1 deleted
  28997. T}@T{
  28998. File no longer exists on Path1
  28999. T}@T{
  29000. File is deleted
  29001. T}@T{
  29002. \f[C]rclone delete\f[R] Path2
  29003. T}
  29004. .TE
  29005. .SS Unusual sync checks
  29006. .PP
  29007. .TS
  29008. tab(@);
  29009. lw(17.2n) lw(21.0n) lw(19.4n) lw(12.4n).
  29010. T{
  29011. Type
  29012. T}@T{
  29013. Description
  29014. T}@T{
  29015. Result
  29016. T}@T{
  29017. Implementation
  29018. T}
  29019. _
  29020. T{
  29021. Path1 new/changed AND Path2 new/changed AND Path1 == Path2
  29022. T}@T{
  29023. File is new/changed on Path1 AND new/changed on Path2 AND Path1 version
  29024. is currently identical to Path2
  29025. T}@T{
  29026. No change
  29027. T}@T{
  29028. None
  29029. T}
  29030. T{
  29031. Path1 new AND Path2 new
  29032. T}@T{
  29033. File is new on Path1 AND new on Path2 (and Path1 version is NOT
  29034. identical to Path2)
  29035. T}@T{
  29036. Conflicts handled according to \f[C]--conflict-resolve\f[R] &
  29037. \f[C]--conflict-loser\f[R] settings
  29038. T}@T{
  29039. default: \f[C]rclone copy\f[R] renamed \f[C]Path2.conflict2\f[R] file to
  29040. Path1, \f[C]rclone copy\f[R] renamed \f[C]Path1.conflict1\f[R] file to
  29041. Path2
  29042. T}
  29043. T{
  29044. Path2 newer AND Path1 changed
  29045. T}@T{
  29046. File is newer on Path2 AND also changed (newer/older/size) on Path1 (and
  29047. Path1 version is NOT identical to Path2)
  29048. T}@T{
  29049. Conflicts handled according to \f[C]--conflict-resolve\f[R] &
  29050. \f[C]--conflict-loser\f[R] settings
  29051. T}@T{
  29052. default: \f[C]rclone copy\f[R] renamed \f[C]Path2.conflict2\f[R] file to
  29053. Path1, \f[C]rclone copy\f[R] renamed \f[C]Path1.conflict1\f[R] file to
  29054. Path2
  29055. T}
  29056. T{
  29057. Path2 newer AND Path1 deleted
  29058. T}@T{
  29059. File is newer on Path2 AND also deleted on Path1
  29060. T}@T{
  29061. Path2 version survives
  29062. T}@T{
  29063. \f[C]rclone copy\f[R] Path2 to Path1
  29064. T}
  29065. T{
  29066. Path2 deleted AND Path1 changed
  29067. T}@T{
  29068. File is deleted on Path2 AND changed (newer/older/size) on Path1
  29069. T}@T{
  29070. Path1 version survives
  29071. T}@T{
  29072. \f[C]rclone copy\f[R] Path1 to Path2
  29073. T}
  29074. T{
  29075. Path1 deleted AND Path2 changed
  29076. T}@T{
  29077. File is deleted on Path1 AND changed (newer/older/size) on Path2
  29078. T}@T{
  29079. Path2 version survives
  29080. T}@T{
  29081. \f[C]rclone copy\f[R] Path2 to Path1
  29082. T}
  29083. .TE
  29084. .PP
  29085. As of \f[C]rclone v1.64\f[R], bisync is now better at detecting
  29086. \f[I]false positive\f[R] sync conflicts, which would previously have
  29087. resulted in unnecessary renames and duplicates.
  29088. Now, when bisync comes to a file that it wants to rename (because it is
  29089. new/changed on both sides), it first checks whether the Path1 and Path2
  29090. versions are currently \f[I]identical\f[R] (using the same underlying
  29091. function as \f[C]check\f[R].) If bisync concludes that the files are
  29092. identical, it will skip them and move on.
  29093. Otherwise, it will create renamed duplicates, as before.
  29094. This behavior also improves the experience of renaming
  29095. directories (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=Renamed%20directories),
  29096. as a \f[C]--resync\f[R] is no longer required, so long as the same
  29097. change has been made on both sides.
  29098. .SS All files changed check
  29099. .PP
  29100. If \f[I]all\f[R] prior existing files on either of the filesystems have
  29101. changed (e.g.
  29102. timestamps have changed due to changing the system\[aq]s timezone) then
  29103. bisync will abort without making any changes.
  29104. Any new files are not considered for this check.
  29105. You could use \f[C]--force\f[R] to force the sync (whichever side has
  29106. the changed timestamp files wins).
  29107. Alternately, a \f[C]--resync\f[R] may be used (Path1 versions will be
  29108. pushed to Path2).
  29109. Consider the situation carefully and perhaps use \f[C]--dry-run\f[R]
  29110. before you commit to the changes.
  29111. .SS Modification times
  29112. .PP
  29113. By default, bisync compares files by modification time and size.
  29114. If you or your application should change the content of a file without
  29115. changing the modification time and size, then bisync will \f[I]not\f[R]
  29116. notice the change, and thus will not copy it to the other side.
  29117. As an alternative, consider comparing by checksum (if your remotes
  29118. support it).
  29119. See \f[C]--compare\f[R] for details.
  29120. .SS Error handling
  29121. .PP
  29122. Certain bisync critical errors, such as file copy/move failing, will
  29123. result in a bisync lockout of following runs.
  29124. The lockout is asserted because the sync status and history of the Path1
  29125. and Path2 filesystems cannot be trusted, so it is safer to block any
  29126. further changes until someone checks things out.
  29127. The recovery is to do a \f[C]--resync\f[R] again.
  29128. .PP
  29129. It is recommended to use \f[C]--resync --dry-run --verbose\f[R]
  29130. initially and \f[I]carefully\f[R] review what changes will be made
  29131. before running the \f[C]--resync\f[R] without \f[C]--dry-run\f[R].
  29132. .PP
  29133. Most of these events come up due to an error status from an internal
  29134. call.
  29135. On such a critical error the \f[C]{...}.path1.lst\f[R] and
  29136. \f[C]{...}.path2.lst\f[R] listing files are renamed to extension
  29137. \f[C].lst-err\f[R], which blocks any future bisync runs (since the
  29138. normal \f[C].lst\f[R] files are not found).
  29139. Bisync keeps them under \f[C]bisync\f[R] subdirectory of the rclone
  29140. cache directory, typically at \f[C]${HOME}/.cache/rclone/bisync/\f[R] on
  29141. Linux.
  29142. .PP
  29143. Some errors are considered temporary and re-running the bisync is not
  29144. blocked.
  29145. The \f[I]critical return\f[R] blocks further bisync runs.
  29146. .PP
  29147. See also: \f[C]--resilient\f[R], \f[C]--recover\f[R],
  29148. \f[C]--max-lock\f[R], Graceful Shutdown
  29149. .SS Lock file
  29150. .PP
  29151. When bisync is running, a lock file is created in the bisync working
  29152. directory, typically at
  29153. \f[C]\[ti]/.cache/rclone/bisync/PATH1..PATH2.lck\f[R] on Linux.
  29154. If bisync should crash or hang, the lock file will remain in place and
  29155. block any further runs of bisync \f[I]for the same paths\f[R].
  29156. Delete the lock file as part of debugging the situation.
  29157. The lock file effectively blocks follow-on (e.g., scheduled by
  29158. \f[I]cron\f[R]) runs when the prior invocation is taking a long time.
  29159. The lock file contains \f[I]PID\f[R] of the blocking process, which may
  29160. help in debug.
  29161. Lock files can be set to automatically expire after a certain amount of
  29162. time, using the \f[C]--max-lock\f[R] flag.
  29163. .PP
  29164. \f[B]Note\f[R] that while concurrent bisync runs are allowed, \f[I]be
  29165. very cautious\f[R] that there is no overlap in the trees being synched
  29166. between concurrent runs, lest there be replicated files, deleted files
  29167. and general mayhem.
  29168. .SS Return codes
  29169. .PP
  29170. \f[C]rclone bisync\f[R] returns the following codes to calling program:
  29171. - \f[C]0\f[R] on a successful run, - \f[C]1\f[R] for a non-critical
  29172. failing run (a rerun may be successful), - \f[C]2\f[R] for a critically
  29173. aborted run (requires a \f[C]--resync\f[R] to recover).
  29174. .SS Graceful Shutdown
  29175. .PP
  29176. Bisync has a \[dq]Graceful Shutdown\[dq] mode which is activated by
  29177. sending \f[C]SIGINT\f[R] or pressing \f[C]Ctrl+C\f[R] during a run.
  29178. Once triggered, bisync will use best efforts to exit cleanly before the
  29179. timer runs out.
  29180. If bisync is in the middle of transferring files, it will attempt to
  29181. cleanly empty its queue by finishing what it has started but not taking
  29182. more.
  29183. If it cannot do so within 30 seconds, it will cancel the in-progress
  29184. transfers at that point and then give itself a maximum of 60 seconds to
  29185. wrap up, save its state for next time, and exit.
  29186. With the \f[C]-vP\f[R] flags you will see constant status updates and a
  29187. final confirmation of whether or not the graceful shutdown was
  29188. successful.
  29189. .PP
  29190. At any point during the \[dq]Graceful Shutdown\[dq] sequence, a second
  29191. \f[C]SIGINT\f[R] or \f[C]Ctrl+C\f[R] will trigger an immediate,
  29192. un-graceful exit, which will leave things in a messier state.
  29193. Usually a robust recovery will still be possible if using
  29194. \f[C]--recover\f[R] mode, otherwise you will need to do a
  29195. \f[C]--resync\f[R].
  29196. .PP
  29197. If you plan to use Graceful Shutdown mode, it is recommended to use
  29198. \f[C]--resilient\f[R] and \f[C]--recover\f[R], and it is important to
  29199. NOT use \f[C]--inplace\f[R] (https://rclone.org/docs/#inplace),
  29200. otherwise you risk leaving partially-written files on one side, which
  29201. may be confused for real files on the next run.
  29202. Note also that in the event of an abrupt interruption, a lock file will
  29203. be left behind to block concurrent runs.
  29204. You will need to delete it before you can proceed with the next run (or
  29205. wait for it to expire on its own, if using \f[C]--max-lock\f[R].)
  29206. .SS Limitations
  29207. .SS Supported backends
  29208. .PP
  29209. Bisync is considered \f[I]BETA\f[R] and has been tested with the
  29210. following backends: - Local filesystem - Google Drive - Dropbox -
  29211. OneDrive - S3 - SFTP - Yandex Disk - Crypt
  29212. .PP
  29213. It has not been fully tested with other services yet.
  29214. If it works, or sorta works, please let us know and we\[aq]ll update the
  29215. list.
  29216. Run the test suite to check for proper operation as described below.
  29217. .PP
  29218. The first release of \f[C]rclone bisync\f[R] required both underlying
  29219. backends to support modification times, and refused to run otherwise.
  29220. This limitation has been lifted as of \f[C]v1.66\f[R], as bisync now
  29221. supports comparing checksum and/or size instead of (or in addition to)
  29222. modtime.
  29223. See \f[C]--compare\f[R] for details.
  29224. .SS Concurrent modifications
  29225. .PP
  29226. When using \f[B]Local, FTP or SFTP\f[R] remotes with
  29227. \f[C]--inplace\f[R] (https://rclone.org/docs/#inplace), rclone does not
  29228. create \f[I]temporary\f[R] files at the destination when copying, and
  29229. thus if the connection is lost the created file may be corrupt, which
  29230. will likely propagate back to the original path on the next sync,
  29231. resulting in data loss.
  29232. It is therefore recommended to \f[I]omit\f[R] \f[C]--inplace\f[R].
  29233. .PP
  29234. Files that \f[B]change during\f[R] a bisync run may result in data loss.
  29235. Prior to \f[C]rclone v1.66\f[R], this was commonly seen in highly
  29236. dynamic environments, where the filesystem was getting hammered by
  29237. running processes during the sync.
  29238. As of \f[C]rclone v1.66\f[R], bisync was redesigned to use a
  29239. \[dq]snapshot\[dq] model, greatly reducing the risks from changes during
  29240. a sync.
  29241. Changes that are not detected during the current sync will now be
  29242. detected during the following sync, and will no longer cause the entire
  29243. run to throw a critical error.
  29244. There is additionally a mechanism to mark files as needing to be
  29245. internally rechecked next time, for added safety.
  29246. It should therefore no longer be necessary to sync only at quiet times
  29247. -- however, note that an error can still occur if a file happens to
  29248. change at the exact moment it\[aq]s being read/written by bisync (same
  29249. as would happen in \f[C]rclone sync\f[R].) (See also:
  29250. \f[C]--ignore-checksum\f[R] (https://rclone.org/docs/#ignore-checksum),
  29251. \f[C]--local-no-check-updated\f[R] (https://rclone.org/local/#local-no-check-updated))
  29252. .SS Empty directories
  29253. .PP
  29254. By default, new/deleted empty directories on one path are \f[I]not\f[R]
  29255. propagated to the other side.
  29256. This is because bisync (and rclone) natively works on files, not
  29257. directories.
  29258. However, this can be changed with the \f[C]--create-empty-src-dirs\f[R]
  29259. flag, which works in much the same way as in
  29260. \f[C]sync\f[R] (https://rclone.org/commands/rclone_sync/) and
  29261. \f[C]copy\f[R] (https://rclone.org/commands/rclone_copy/).
  29262. When used, empty directories created or deleted on one side will also be
  29263. created or deleted on the other side.
  29264. The following should be noted: * \f[C]--create-empty-src-dirs\f[R] is
  29265. not compatible with \f[C]--remove-empty-dirs\f[R].
  29266. Use only one or the other (or neither).
  29267. * It is not recommended to switch back and forth between
  29268. \f[C]--create-empty-src-dirs\f[R] and the default (no
  29269. \f[C]--create-empty-src-dirs\f[R]) without running \f[C]--resync\f[R].
  29270. This is because it may appear as though all directories (not just the
  29271. empty ones) were created/deleted, when actually you\[aq]ve just toggled
  29272. between making them visible/invisible to bisync.
  29273. It looks scarier than it is, but it\[aq]s still probably best to stick
  29274. to one or the other, and use \f[C]--resync\f[R] when you need to switch.
  29275. .SS Renamed directories
  29276. .PP
  29277. By default, renaming a folder on the Path1 side results in deleting all
  29278. files on the Path2 side and then copying all files again from Path1 to
  29279. Path2.
  29280. Bisync sees this as all files in the old directory name as deleted and
  29281. all files in the new directory name as new.
  29282. .PP
  29283. A recommended solution is to use
  29284. \f[C]--track-renames\f[R] (https://rclone.org/docs/#track-renames),
  29285. which is now supported in bisync as of \f[C]rclone v1.66\f[R].
  29286. Note that \f[C]--track-renames\f[R] is not available during
  29287. \f[C]--resync\f[R], as \f[C]--resync\f[R] does not delete anything
  29288. (\f[C]--track-renames\f[R] only supports \f[C]sync\f[R], not
  29289. \f[C]copy\f[R].)
  29290. .PP
  29291. Otherwise, the most effective and efficient method of renaming a
  29292. directory is to rename it to the same name on both sides.
  29293. (As of \f[C]rclone v1.64\f[R], a \f[C]--resync\f[R] is no longer
  29294. required after doing so, as bisync will automatically detect that Path1
  29295. and Path2 are in agreement.)
  29296. .SS \f[C]--fast-list\f[R] used by default
  29297. .PP
  29298. Unlike most other rclone commands, bisync uses
  29299. \f[C]--fast-list\f[R] (https://rclone.org/docs/#fast-list) by default,
  29300. for backends that support it.
  29301. In many cases this is desirable, however, there are some scenarios in
  29302. which bisync could be faster \f[I]without\f[R] \f[C]--fast-list\f[R],
  29303. and there is also a known issue concerning Google Drive users with many
  29304. empty
  29305. directories (https://github.com/rclone/rclone/commit/cbf3d4356135814921382dd3285d859d15d0aa77).
  29306. For now, the recommended way to avoid using \f[C]--fast-list\f[R] is to
  29307. add \f[C]--disable ListR\f[R] to all bisync commands.
  29308. The default behavior may change in a future version.
  29309. .SS Case (and unicode) sensitivity
  29310. .PP
  29311. As of \f[C]v1.66\f[R], case and unicode form differences no longer cause
  29312. critical errors, and normalization (when comparing between filesystems)
  29313. is handled according to the same flags and defaults as
  29314. \f[C]rclone sync\f[R].
  29315. See the following options (all of which are supported by bisync) to
  29316. control this behavior more granularly: -
  29317. \f[C]--fix-case\f[R] (https://rclone.org/docs/#fix-case) -
  29318. \f[C]--ignore-case-sync\f[R] (https://rclone.org/docs/#ignore-case-sync)
  29319. -
  29320. \f[C]--no-unicode-normalization\f[R] (https://rclone.org/docs/#no-unicode-normalization)
  29321. -
  29322. \f[C]--local-unicode-normalization\f[R] (https://rclone.org/local/#local-unicode-normalization)
  29323. and
  29324. \f[C]--local-case-sensitive\f[R] (https://rclone.org/local/#local-case-sensitive)
  29325. (caution: these are normally not what you want.)
  29326. .PP
  29327. Note that in the (probably rare) event that \f[C]--fix-case\f[R] is used
  29328. AND a file is new/changed on both sides AND the checksums match AND the
  29329. filename case does not match, the Path1 filename is considered the
  29330. winner, for the purposes of \f[C]--fix-case\f[R] (Path2 will be renamed
  29331. to match it).
  29332. .SS Windows support
  29333. .PP
  29334. Bisync has been tested on Windows 8.1, Windows 10 Pro 64-bit and on
  29335. Windows GitHub runners.
  29336. .PP
  29337. Drive letters are allowed, including drive letters mapped to network
  29338. drives (\f[C]rclone bisync J:\[rs]localsync GDrive:\f[R]).
  29339. If a drive letter is omitted, the shell current drive is the default.
  29340. Drive letters are a single character follows by \f[C]:\f[R], so cloud
  29341. names must be more than one character long.
  29342. .PP
  29343. Absolute paths (with or without a drive letter), and relative paths
  29344. (with or without a drive letter) are supported.
  29345. .PP
  29346. Working directory is created at
  29347. \f[C]C:\[rs]Users\[rs]MyLogin\[rs]AppData\[rs]Local\[rs]rclone\[rs]bisync\f[R].
  29348. .PP
  29349. Note that bisync output may show a mix of forward \f[C]/\f[R] and back
  29350. \f[C]\[rs]\f[R] slashes.
  29351. .PP
  29352. Be careful of case independent directory and file naming on Windows vs.
  29353. case dependent Linux
  29354. .SS Filtering
  29355. .PP
  29356. See filtering documentation (https://rclone.org/filtering/) for how
  29357. filter rules are written and interpreted.
  29358. .PP
  29359. Bisync\[aq]s \f[C]--filters-file\f[R] flag slightly extends the
  29360. rclone\[aq]s
  29361. --filter-from (https://rclone.org/filtering/#filter-from-read-filtering-patterns-from-a-file)
  29362. filtering mechanism.
  29363. For a given bisync run you may provide \f[I]only one\f[R]
  29364. \f[C]--filters-file\f[R].
  29365. The \f[C]--include*\f[R], \f[C]--exclude*\f[R], and \f[C]--filter\f[R]
  29366. flags are also supported.
  29367. .SS How to filter directories
  29368. .PP
  29369. Filtering portions of the directory tree is a critical feature for
  29370. synching.
  29371. .PP
  29372. Examples of directory trees (always beneath the Path1/Path2 root level)
  29373. you may want to exclude from your sync: - Directory trees containing
  29374. only software build intermediate files.
  29375. - Directory trees containing application temporary files and data such
  29376. as the Windows \f[C]C:\[rs]Users\[rs]MyLogin\[rs]AppData\[rs]\f[R] tree.
  29377. - Directory trees containing files that are large, less important, or
  29378. are getting thrashed continuously by ongoing processes.
  29379. .PP
  29380. On the other hand, there may be only select directories that you
  29381. actually want to sync, and exclude all others.
  29382. See the Example include-style filters for Windows user directories
  29383. below.
  29384. .SS Filters file writing guidelines
  29385. .IP "1." 3
  29386. Begin with excluding directory trees:
  29387. .RS 4
  29388. .IP \[bu] 2
  29389. e.g.
  29390. \[ga]- /AppData/\[ga]
  29391. .IP \[bu] 2
  29392. \f[C]**\f[R] on the end is not necessary.
  29393. Once a given directory level is excluded then everything beneath it
  29394. won\[aq]t be looked at by rclone.
  29395. .IP \[bu] 2
  29396. Exclude such directories that are unneeded, are big, dynamically
  29397. thrashed, or where there may be access permission issues.
  29398. .IP \[bu] 2
  29399. Excluding such dirs first will make rclone operations (much) faster.
  29400. .IP \[bu] 2
  29401. Specific files may also be excluded, as with the Dropbox exclusions
  29402. example below.
  29403. .RE
  29404. .IP "2." 3
  29405. Decide if it\[aq]s easier (or cleaner) to:
  29406. .RS 4
  29407. .IP \[bu] 2
  29408. Include select directories and therefore \f[I]exclude everything
  29409. else\f[R] -- or --
  29410. .IP \[bu] 2
  29411. Exclude select directories and therefore \f[I]include everything
  29412. else\f[R]
  29413. .RE
  29414. .IP "3." 3
  29415. Include select directories:
  29416. .RS 4
  29417. .IP \[bu] 2
  29418. Add lines like: \[ga]+ /Documents/PersonalFiles/**\[ga] to select which
  29419. directories to include in the sync.
  29420. .IP \[bu] 2
  29421. \f[C]**\f[R] on the end specifies to include the full depth of the
  29422. specified tree.
  29423. .IP \[bu] 2
  29424. With Include-style filters, files at the Path1/Path2 root are not
  29425. included.
  29426. They may be included with \[ga]+ /*\[ga].
  29427. .IP \[bu] 2
  29428. Place RCLONE_TEST files within these included directory trees.
  29429. They will only be looked for in these directory trees.
  29430. .IP \[bu] 2
  29431. Finish by excluding everything else by adding \[ga]- **\[ga] at the end
  29432. of the filters file.
  29433. .IP \[bu] 2
  29434. Disregard step 4.
  29435. .RE
  29436. .IP "4." 3
  29437. Exclude select directories:
  29438. .RS 4
  29439. .IP \[bu] 2
  29440. Add more lines like in step 1.
  29441. For example: \f[C]-/Desktop/tempfiles/\f[R], or \[ga]-
  29442. /testdir/\f[C]. Again, a\f[R]**\[ga] on the end is not necessary.
  29443. .IP \[bu] 2
  29444. Do \f[I]not\f[R] add a \[ga]- **\[ga] in the file.
  29445. Without this line, everything will be included that has not been
  29446. explicitly excluded.
  29447. .IP \[bu] 2
  29448. Disregard step 3.
  29449. .RE
  29450. .PP
  29451. A few rules for the syntax of a filter file expanding on filtering
  29452. documentation (https://rclone.org/filtering/):
  29453. .IP \[bu] 2
  29454. Lines may start with spaces and tabs - rclone strips leading whitespace.
  29455. .IP \[bu] 2
  29456. If the first non-whitespace character is a \f[C]#\f[R] then the line is
  29457. a comment and will be ignored.
  29458. .IP \[bu] 2
  29459. Blank lines are ignored.
  29460. .IP \[bu] 2
  29461. The first non-whitespace character on a filter line must be a
  29462. \f[C]+\f[R] or \f[C]-\f[R].
  29463. .IP \[bu] 2
  29464. Exactly 1 space is allowed between the \f[C]+/-\f[R] and the path term.
  29465. .IP \[bu] 2
  29466. Only forward slashes (\f[C]/\f[R]) are used in path terms, even on
  29467. Windows.
  29468. .IP \[bu] 2
  29469. The rest of the line is taken as the path term.
  29470. Trailing whitespace is taken literally, and probably is an error.
  29471. .SS Example include-style filters for Windows user directories
  29472. .PP
  29473. This Windows \f[I]include-style\f[R] example is based on the sync root
  29474. (Path1) set to \f[C]C:\[rs]Users\[rs]MyLogin\f[R].
  29475. The strategy is to select specific directories to be synched with a
  29476. network drive (Path2).
  29477. .IP \[bu] 2
  29478. \[ga]- /AppData/\[ga] excludes an entire tree of Windows stored stuff
  29479. that need not be synched.
  29480. In my case, AppData has >11 GB of stuff I don\[aq]t care about, and
  29481. there are some subdirectories beneath AppData that are not accessible to
  29482. my user login, resulting in bisync critical aborts.
  29483. .IP \[bu] 2
  29484. Windows creates cache files starting with both upper and lowercase
  29485. \f[C]NTUSER\f[R] at \f[C]C:\[rs]Users\[rs]MyLogin\f[R].
  29486. These files may be dynamic, locked, and are generally \f[I]don\[aq]t
  29487. care\f[R].
  29488. .IP \[bu] 2
  29489. There are just a few directories with \f[I]my\f[R] data that I do want
  29490. synched, in the form of \[ga]+
  29491. /\f[C]. By selecting only the directory trees I want to avoid the dozen plus directories that various apps make at\f[R]C:\[ga].
  29492. .IP \[bu] 2
  29493. Include files in the root of the sync point,
  29494. \f[C]C:\[rs]Users\[rs]MyLogin\f[R], by adding the \[ga]+ /*\[ga] line.
  29495. .IP \[bu] 2
  29496. This is an Include-style filters file, therefore it ends with \[ga]-
  29497. **\[ga] which excludes everything not explicitly included.
  29498. .IP
  29499. .nf
  29500. \f[C]
  29501. - /AppData/
  29502. - NTUSER*
  29503. - ntuser*
  29504. + /Documents/Family/**
  29505. + /Documents/Sketchup/**
  29506. + /Documents/Microcapture_Photo/**
  29507. + /Documents/Microcapture_Video/**
  29508. + /Desktop/**
  29509. + /Pictures/**
  29510. + /*
  29511. - **
  29512. \f[R]
  29513. .fi
  29514. .PP
  29515. Note also that Windows implements several \[dq]library\[dq] links such
  29516. as \f[C]C:\[rs]Users\[rs]MyLogin\[rs]My Documents\[rs]My Music\f[R]
  29517. pointing to \f[C]C:\[rs]Users\[rs]MyLogin\[rs]Music\f[R].
  29518. rclone sees these as links, so you must add \f[C]--links\f[R] to the
  29519. bisync command line if you which to follow these links.
  29520. I find that I get permission errors in trying to follow the links, so I
  29521. don\[aq]t include the rclone \f[C]--links\f[R] flag, but then you get
  29522. lots of \f[C]Can\[aq]t follow symlink\&...\f[R] noise from rclone about
  29523. not following the links.
  29524. This noise can be quashed by adding \f[C]--quiet\f[R] to the bisync
  29525. command line.
  29526. .SS Example exclude-style filters files for use with Dropbox
  29527. .IP \[bu] 2
  29528. Dropbox disallows synching the listed temporary and configuration/data
  29529. files.
  29530. The \[ga]- \[ga] filters exclude these files where ever they may occur
  29531. in the sync tree.
  29532. Consider adding similar exclusions for file types you don\[aq]t need to
  29533. sync, such as core dump and software build files.
  29534. .IP \[bu] 2
  29535. bisync testing creates \f[C]/testdir/\f[R] at the top level of the sync
  29536. tree, and usually deletes the tree after the test.
  29537. If a normal sync should run while the \f[C]/testdir/\f[R] tree exists
  29538. the \f[C]--check-access\f[R] phase may fail due to unbalanced
  29539. RCLONE_TEST files.
  29540. The \[ga]- /testdir/\[ga] filter blocks this tree from being synched.
  29541. You don\[aq]t need this exclusion if you are not doing bisync
  29542. development testing.
  29543. .IP \[bu] 2
  29544. Everything else beneath the Path1/Path2 root will be synched.
  29545. .IP \[bu] 2
  29546. RCLONE_TEST files may be placed anywhere within the tree, including the
  29547. root.
  29548. .SS Example filters file for Dropbox
  29549. .IP
  29550. .nf
  29551. \f[C]
  29552. # Filter file for use with bisync
  29553. # See https://rclone.org/filtering/ for filtering rules
  29554. # NOTICE: If you make changes to this file you MUST do a --resync run.
  29555. # Run with --dry-run to see what changes will be made.
  29556. # Dropbox won\[aq]t sync some files so filter them away here.
  29557. # See https://help.dropbox.com/installs-integrations/sync-uploads/files-not-syncing
  29558. - .dropbox.attr
  29559. - \[ti]*.tmp
  29560. - \[ti]$*
  29561. - .\[ti]*
  29562. - desktop.ini
  29563. - .dropbox
  29564. # Used for bisync testing, so excluded from normal runs
  29565. - /testdir/
  29566. # Other example filters
  29567. #- /TiBU/
  29568. #- /Photos/
  29569. \f[R]
  29570. .fi
  29571. .SS How --check-access handles filters
  29572. .PP
  29573. At the start of a bisync run, listings are gathered for Path1 and Path2
  29574. while using the user\[aq]s \f[C]--filters-file\f[R].
  29575. During the check access phase, bisync scans these listings for
  29576. \f[C]RCLONE_TEST\f[R] files.
  29577. Any \f[C]RCLONE_TEST\f[R] files hidden by the \f[C]--filters-file\f[R]
  29578. are \f[I]not\f[R] in the listings and thus not checked during the check
  29579. access phase.
  29580. .SS Troubleshooting
  29581. .SS Reading bisync logs
  29582. .PP
  29583. Here are two normal runs.
  29584. The first one has a newer file on the remote.
  29585. The second has no deltas between local and remote.
  29586. .IP
  29587. .nf
  29588. \f[C]
  29589. 2021/05/16 00:24:38 INFO : Synching Path1 \[dq]/path/to/local/tree/\[dq] with Path2 \[dq]dropbox:/\[dq]
  29590. 2021/05/16 00:24:38 INFO : Path1 checking for diffs
  29591. 2021/05/16 00:24:38 INFO : - Path1 File is new - file.txt
  29592. 2021/05/16 00:24:38 INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted
  29593. 2021/05/16 00:24:38 INFO : Path2 checking for diffs
  29594. 2021/05/16 00:24:38 INFO : Applying changes
  29595. 2021/05/16 00:24:38 INFO : - Path1 Queue copy to Path2 - dropbox:/file.txt
  29596. 2021/05/16 00:24:38 INFO : - Path1 Do queued copies to - Path2
  29597. 2021/05/16 00:24:38 INFO : Updating listings
  29598. 2021/05/16 00:24:38 INFO : Validating listings for Path1 \[dq]/path/to/local/tree/\[dq] vs Path2 \[dq]dropbox:/\[dq]
  29599. 2021/05/16 00:24:38 INFO : Bisync successful
  29600. 2021/05/16 00:36:52 INFO : Synching Path1 \[dq]/path/to/local/tree/\[dq] with Path2 \[dq]dropbox:/\[dq]
  29601. 2021/05/16 00:36:52 INFO : Path1 checking for diffs
  29602. 2021/05/16 00:36:52 INFO : Path2 checking for diffs
  29603. 2021/05/16 00:36:52 INFO : No changes found
  29604. 2021/05/16 00:36:52 INFO : Updating listings
  29605. 2021/05/16 00:36:52 INFO : Validating listings for Path1 \[dq]/path/to/local/tree/\[dq] vs Path2 \[dq]dropbox:/\[dq]
  29606. 2021/05/16 00:36:52 INFO : Bisync successful
  29607. \f[R]
  29608. .fi
  29609. .SS Dry run oddity
  29610. .PP
  29611. The \f[C]--dry-run\f[R] messages may indicate that it would try to
  29612. delete some files.
  29613. For example, if a file is new on Path2 and does not exist on Path1 then
  29614. it would normally be copied to Path1, but with \f[C]--dry-run\f[R]
  29615. enabled those copies don\[aq]t happen, which leads to the attempted
  29616. delete on Path2, blocked again by --dry-run:
  29617. \f[C]... Not deleting as --dry-run\f[R].
  29618. .PP
  29619. This whole confusing situation is an artifact of the \f[C]--dry-run\f[R]
  29620. flag.
  29621. Scrutinize the proposed deletes carefully, and if the files would have
  29622. been copied to Path1 then the threatened deletes on Path2 may be
  29623. disregarded.
  29624. .SS Retries
  29625. .PP
  29626. Rclone has built-in retries.
  29627. If you run with \f[C]--verbose\f[R] you\[aq]ll see error and retry
  29628. messages such as shown below.
  29629. This is usually not a bug.
  29630. If at the end of the run, you see \f[C]Bisync successful\f[R] and not
  29631. \f[C]Bisync critical error\f[R] or \f[C]Bisync aborted\f[R] then the run
  29632. was successful, and you can ignore the error messages.
  29633. .PP
  29634. The following run shows an intermittent fail.
  29635. Lines \f[I]5\f[R] and _6- are low-level messages.
  29636. Line \f[I]6\f[R] is a bubbled-up \f[I]warning\f[R] message, conveying
  29637. the error.
  29638. Rclone normally retries failing commands, so there may be numerous such
  29639. messages in the log.
  29640. .PP
  29641. Since there are no final error/warning messages on line \f[I]7\f[R],
  29642. rclone has recovered from failure after a retry, and the overall sync
  29643. was successful.
  29644. .IP
  29645. .nf
  29646. \f[C]
  29647. 1: 2021/05/14 00:44:12 INFO : Synching Path1 \[dq]/path/to/local/tree\[dq] with Path2 \[dq]dropbox:\[dq]
  29648. 2: 2021/05/14 00:44:12 INFO : Path1 checking for diffs
  29649. 3: 2021/05/14 00:44:12 INFO : Path2 checking for diffs
  29650. 4: 2021/05/14 00:44:12 INFO : Path2: 113 changes: 22 new, 0 newer, 0 older, 91 deleted
  29651. 5: 2021/05/14 00:44:12 ERROR : /path/to/local/tree/objects/af: error listing: unexpected end of JSON input
  29652. 6: 2021/05/14 00:44:12 NOTICE: WARNING listing try 1 failed. - dropbox:
  29653. 7: 2021/05/14 00:44:12 INFO : Bisync successful
  29654. \f[R]
  29655. .fi
  29656. .PP
  29657. This log shows a \f[I]Critical failure\f[R] which requires a
  29658. \f[C]--resync\f[R] to recover from.
  29659. See the Runtime Error Handling section.
  29660. .IP
  29661. .nf
  29662. \f[C]
  29663. 2021/05/12 00:49:40 INFO : Google drive root \[aq]\[aq]: Waiting for checks to finish
  29664. 2021/05/12 00:49:40 INFO : Google drive root \[aq]\[aq]: Waiting for transfers to finish
  29665. 2021/05/12 00:49:40 INFO : Google drive root \[aq]\[aq]: not deleting files as there were IO errors
  29666. 2021/05/12 00:49:40 ERROR : Attempt 3/3 failed with 3 errors and: not deleting files as there were IO errors
  29667. 2021/05/12 00:49:40 ERROR : Failed to sync: not deleting files as there were IO errors
  29668. 2021/05/12 00:49:40 NOTICE: WARNING rclone sync try 3 failed. - /path/to/local/tree/
  29669. 2021/05/12 00:49:40 ERROR : Bisync aborted. Must run --resync to recover.
  29670. \f[R]
  29671. .fi
  29672. .SS Denied downloads of \[dq]infected\[dq] or \[dq]abusive\[dq] files
  29673. .PP
  29674. Google Drive has a filter for certain file types (\f[C].exe\f[R],
  29675. \f[C].apk\f[R], et cetera) that by default cannot be copied from Google
  29676. Drive to the local filesystem.
  29677. If you are having problems, run with \f[C]--verbose\f[R] to see
  29678. specifically which files are generating complaints.
  29679. If the error is
  29680. \f[C]This file has been identified as malware or spam and cannot be downloaded\f[R],
  29681. consider using the flag
  29682. --drive-acknowledge-abuse (https://rclone.org/drive/#drive-acknowledge-abuse).
  29683. .SS Google Docs (and other files of unknown size)
  29684. .PP
  29685. As of \f[C]v1.66\f[R], Google
  29686. Docs (https://rclone.org/drive/#import-export-of-google-documents)
  29687. (including Google Sheets, Slides, etc.) are now supported in bisync,
  29688. subject to the same options, defaults, and limitations as in
  29689. \f[C]rclone sync\f[R].
  29690. When bisyncing drive with non-drive backends, the drive -> non-drive
  29691. direction is controlled by
  29692. \f[C]--drive-export-formats\f[R] (https://rclone.org/drive/#drive-export-formats)
  29693. (default \f[C]\[dq]docx,xlsx,pptx,svg\[dq]\f[R]) and the non-drive ->
  29694. drive direction is controlled by
  29695. \f[C]--drive-import-formats\f[R] (https://rclone.org/drive/#drive-import-formats)
  29696. (default none.)
  29697. .PP
  29698. For example, with the default export/import formats, a Google Sheet on
  29699. the drive side will be synced to an \f[C].xlsx\f[R] file on the
  29700. non-drive side.
  29701. In the reverse direction, \f[C].xlsx\f[R] files with filenames that
  29702. match an existing Google Sheet will be synced to that Google Sheet,
  29703. while \f[C].xlsx\f[R] files that do NOT match an existing Google Sheet
  29704. will be copied to drive as normal \f[C].xlsx\f[R] files (without
  29705. conversion to Sheets, although the Google Drive web browser UI may still
  29706. give you the option to open it as one.)
  29707. .PP
  29708. If \f[C]--drive-import-formats\f[R] is set (it\[aq]s not, by default),
  29709. then all of the specified formats will be converted to Google Docs, if
  29710. there is no existing Google Doc with a matching name.
  29711. Caution: such conversion can be quite lossy, and in most cases it\[aq]s
  29712. probably not what you want!
  29713. .PP
  29714. To bisync Google Docs as URL shortcut links (in a manner similar to
  29715. \[dq]Drive for Desktop\[dq]), use: \f[C]--drive-export-formats url\f[R]
  29716. (or
  29717. alternatives (https://rclone.org/drive/#exportformats:~:text=available%20Google%20Documents.-,Extension,macOS,-Standard%20options).)
  29718. .PP
  29719. Note that these link files cannot be edited on the non-drive side -- you
  29720. will get errors if you try to sync an edited link file back to drive.
  29721. They CAN be deleted (it will result in deleting the corresponding Google
  29722. Doc.) If you create a \f[C].url\f[R] file on the non-drive side that
  29723. does not match an existing Google Doc, bisyncing it will just result in
  29724. copying the literal \f[C].url\f[R] file over to drive (no Google Doc
  29725. will be created.) So, as a general rule of thumb, think of them as
  29726. read-only placeholders on the non-drive side, and make all your changes
  29727. on the drive side.
  29728. .PP
  29729. Likewise, even with other export-formats, it is best to only move/rename
  29730. Google Docs on the drive side.
  29731. This is because otherwise, bisync will interpret this as a file deleted
  29732. and another created, and accordingly, it will delete the Google Doc and
  29733. create a new file at the new path.
  29734. (Whether or not that new file is a Google Doc depends on
  29735. \f[C]--drive-import-formats\f[R].)
  29736. .PP
  29737. Lastly, take note that all Google Docs on the drive side have a size of
  29738. \f[C]-1\f[R] and no checksum.
  29739. Therefore, they cannot be reliably synced with the \f[C]--checksum\f[R]
  29740. or \f[C]--size-only\f[R] flags.
  29741. (To be exact: they will still get created/deleted, and bisync\[aq]s
  29742. delta engine will notice changes and queue them for syncing, but the
  29743. underlying sync function will consider them identical and skip them.) To
  29744. work around this, use the default (modtime and size) instead of
  29745. \f[C]--checksum\f[R] or \f[C]--size-only\f[R].
  29746. .PP
  29747. To ignore Google Docs entirely, use
  29748. \f[C]--drive-skip-gdocs\f[R] (https://rclone.org/drive/#drive-skip-gdocs).
  29749. .SS Usage examples
  29750. .SS Cron
  29751. .PP
  29752. Rclone does not yet have a built-in capability to monitor the local file
  29753. system for changes and must be blindly run periodically.
  29754. On Windows this can be done using a \f[I]Task Scheduler\f[R], on Linux
  29755. you can use \f[I]Cron\f[R] which is described below.
  29756. .PP
  29757. The 1st example runs a sync every 5 minutes between a local directory
  29758. and an OwnCloud server, with output logged to a runlog file:
  29759. .IP
  29760. .nf
  29761. \f[C]
  29762. # Minute (0-59)
  29763. # Hour (0-23)
  29764. # Day of Month (1-31)
  29765. # Month (1-12 or Jan-Dec)
  29766. # Day of Week (0-6 or Sun-Sat)
  29767. # Command
  29768. */5 * * * * /path/to/rclone bisync /local/files MyCloud: --check-access --filters-file /path/to/bysync-filters.txt --log-file /path/to//bisync.log
  29769. \f[R]
  29770. .fi
  29771. .PP
  29772. See crontab
  29773. syntax (https://www.man7.org/linux/man-pages/man1/crontab.1p.html#INPUT_FILES)
  29774. for the details of crontab time interval expressions.
  29775. .PP
  29776. If you run \f[C]rclone bisync\f[R] as a cron job, redirect stdout/stderr
  29777. to a file.
  29778. The 2nd example runs a sync to Dropbox every hour and logs all stdout
  29779. (via the \f[C]>>\f[R]) and stderr (via \f[C]2>&1\f[R]) to a log file.
  29780. .IP
  29781. .nf
  29782. \f[C]
  29783. 0 * * * * /path/to/rclone bisync /path/to/local/dropbox Dropbox: --check-access --filters-file /home/user/filters.txt >> /path/to/logs/dropbox-run.log 2>&1
  29784. \f[R]
  29785. .fi
  29786. .SS Sharing an encrypted folder tree between hosts
  29787. .PP
  29788. bisync can keep a local folder in sync with a cloud service, but what if
  29789. you have some highly sensitive files to be synched?
  29790. .PP
  29791. Usage of a cloud service is for exchanging both routine and sensitive
  29792. personal files between one\[aq]s home network, one\[aq]s personal
  29793. notebook when on the road, and with one\[aq]s work computer.
  29794. The routine data is not sensitive.
  29795. For the sensitive data, configure an rclone crypt
  29796. remote (https://rclone.org/crypt/) to point to a subdirectory within the
  29797. local disk tree that is bisync\[aq]d to Dropbox, and then set up an
  29798. bisync for this local crypt directory to a directory outside of the main
  29799. sync tree.
  29800. .SS Linux server setup
  29801. .IP \[bu] 2
  29802. \f[C]/path/to/DBoxroot\f[R] is the root of my local sync tree.
  29803. There are numerous subdirectories.
  29804. .IP \[bu] 2
  29805. \f[C]/path/to/DBoxroot/crypt\f[R] is the root subdirectory for files
  29806. that are encrypted.
  29807. This local directory target is setup as an rclone crypt remote named
  29808. \f[C]Dropcrypt:\f[R].
  29809. See rclone.conf snippet below.
  29810. .IP \[bu] 2
  29811. \f[C]/path/to/my/unencrypted/files\f[R] is the root of my sensitive
  29812. files - not encrypted, not within the tree synched to Dropbox.
  29813. .IP \[bu] 2
  29814. To sync my local unencrypted files with the encrypted Dropbox versions I
  29815. manually run \f[C]bisync /path/to/my/unencrypted/files DropCrypt:\f[R].
  29816. This step could be bundled into a script to run before and after the
  29817. full Dropbox tree sync in the last step, thus actively keeping the
  29818. sensitive files in sync.
  29819. .IP \[bu] 2
  29820. \f[C]bisync /path/to/DBoxroot Dropbox:\f[R] runs periodically via cron,
  29821. keeping my full local sync tree in sync with Dropbox.
  29822. .SS Windows notebook setup
  29823. .IP \[bu] 2
  29824. The Dropbox client runs keeping the local tree
  29825. \f[C]C:\[rs]Users\[rs]MyLogin\[rs]Dropbox\f[R] always in sync with
  29826. Dropbox.
  29827. I could have used \f[C]rclone bisync\f[R] instead.
  29828. .IP \[bu] 2
  29829. A separate directory tree at
  29830. \f[C]C:\[rs]Users\[rs]MyLogin\[rs]Documents\[rs]DropLocal\f[R] hosts the
  29831. tree of unencrypted files/folders.
  29832. .IP \[bu] 2
  29833. To sync my local unencrypted files with the encrypted Dropbox versions I
  29834. manually run the following command:
  29835. \f[C]rclone bisync C:\[rs]Users\[rs]MyLogin\[rs]Documents\[rs]DropLocal Dropcrypt:\f[R].
  29836. .IP \[bu] 2
  29837. The Dropbox client then syncs the changes with Dropbox.
  29838. .SS rclone.conf snippet
  29839. .IP
  29840. .nf
  29841. \f[C]
  29842. [Dropbox]
  29843. type = dropbox
  29844. \&...
  29845. [Dropcrypt]
  29846. type = crypt
  29847. remote = /path/to/DBoxroot/crypt # on the Linux server
  29848. remote = C:\[rs]Users\[rs]MyLogin\[rs]Dropbox\[rs]crypt # on the Windows notebook
  29849. filename_encryption = standard
  29850. directory_name_encryption = true
  29851. password = ...
  29852. \&...
  29853. \f[R]
  29854. .fi
  29855. .SS Testing
  29856. .PP
  29857. You should read this section only if you are developing for rclone.
  29858. You need to have rclone source code locally to work with bisync tests.
  29859. .PP
  29860. Bisync has a dedicated test framework implemented in the
  29861. \f[C]bisync_test.go\f[R] file located in the rclone source tree.
  29862. The test suite is based on the \f[C]go test\f[R] command.
  29863. Series of tests are stored in subdirectories below the
  29864. \f[C]cmd/bisync/testdata\f[R] directory.
  29865. Individual tests can be invoked by their directory name, e.g.
  29866. \f[C]go test . -case basic -remote local -remote2 gdrive: -v\f[R]
  29867. .PP
  29868. Tests will make a temporary folder on remote and purge it afterwards.
  29869. If during test run there are intermittent errors and rclone retries,
  29870. these errors will be captured and flagged as invalid MISCOMPAREs.
  29871. Rerunning the test will let it pass.
  29872. Consider such failures as noise.
  29873. .SS Test command syntax
  29874. .IP
  29875. .nf
  29876. \f[C]
  29877. usage: go test ./cmd/bisync [options...]
  29878. Options:
  29879. -case NAME Name(s) of the test case(s) to run. Multiple names should
  29880. be separated by commas. You can remove the \[ga]test_\[ga] prefix
  29881. and replace \[ga]_\[ga] by \[ga]-\[ga] in test name for convenience.
  29882. If not \[ga]all\[ga], the name(s) should map to a directory under
  29883. \[ga]./cmd/bisync/testdata\[ga].
  29884. Use \[ga]all\[ga] to run all tests (default: all)
  29885. -remote PATH1 \[ga]local\[ga] or name of cloud service with \[ga]:\[ga] (default: local)
  29886. -remote2 PATH2 \[ga]local\[ga] or name of cloud service with \[ga]:\[ga] (default: local)
  29887. -no-compare Disable comparing test results with the golden directory
  29888. (default: compare)
  29889. -no-cleanup Disable cleanup of Path1 and Path2 testdirs.
  29890. Useful for troubleshooting. (default: cleanup)
  29891. -golden Store results in the golden directory (default: false)
  29892. This flag can be used with multiple tests.
  29893. -debug Print debug messages
  29894. -stop-at NUM Stop test after given step number. (default: run to the end)
  29895. Implies \[ga]-no-compare\[ga] and \[ga]-no-cleanup\[ga], if the test really
  29896. ends prematurely. Only meaningful for a single test case.
  29897. -refresh-times Force refreshing the target modtime, useful for Dropbox
  29898. (default: false)
  29899. -verbose Run tests verbosely
  29900. \f[R]
  29901. .fi
  29902. .PP
  29903. Note: unlike rclone flags which must be prefixed by double dash
  29904. (\f[C]--\f[R]), the test command flags can be equally prefixed by a
  29905. single \f[C]-\f[R] or double dash.
  29906. .SS Running tests
  29907. .IP \[bu] 2
  29908. \f[C]go test . -case basic -remote local -remote2 local\f[R] runs the
  29909. \f[C]test_basic\f[R] test case using only the local filesystem, synching
  29910. one local directory with another local directory.
  29911. Test script output is to the console, while commands within scenario.txt
  29912. have their output sent to the \f[C].../workdir/test.log\f[R] file, which
  29913. is finally compared to the golden copy.
  29914. .IP \[bu] 2
  29915. The first argument after \f[C]go test\f[R] should be a relative name of
  29916. the directory containing bisync source code.
  29917. If you run tests right from there, the argument will be \f[C].\f[R]
  29918. (current directory) as in most examples below.
  29919. If you run bisync tests from the rclone source directory, the command
  29920. should be \f[C]go test ./cmd/bisync ...\f[R].
  29921. .IP \[bu] 2
  29922. The test engine will mangle rclone output to ensure comparability with
  29923. golden listings and logs.
  29924. .IP \[bu] 2
  29925. Test scenarios are located in \f[C]./cmd/bisync/testdata\f[R].
  29926. The test \f[C]-case\f[R] argument should match the full name of a
  29927. subdirectory under that directory.
  29928. Every test subdirectory name on disk must start with \f[C]test_\f[R],
  29929. this prefix can be omitted on command line for brevity.
  29930. Also, underscores in the name can be replaced by dashes for convenience.
  29931. .IP \[bu] 2
  29932. \f[C]go test . -remote local -remote2 local -case all\f[R] runs all
  29933. tests.
  29934. .IP \[bu] 2
  29935. Path1 and Path2 may either be the keyword \f[C]local\f[R] or may be
  29936. names of configured cloud services.
  29937. \f[C]go test . -remote gdrive: -remote2 dropbox: -case basic\f[R] will
  29938. run the test between these two services, without transferring any files
  29939. to the local filesystem.
  29940. .IP \[bu] 2
  29941. Test run stdout and stderr console output may be directed to a file,
  29942. e.g.
  29943. \f[C]go test . -remote gdrive: -remote2 local -case all > runlog.txt 2>&1\f[R]
  29944. .SS Test execution flow
  29945. .IP "1." 3
  29946. The base setup in the \f[C]initial\f[R] directory of the testcase is
  29947. applied on the Path1 and Path2 filesystems (via rclone copy the initial
  29948. directory to Path1, then rclone sync Path1 to Path2).
  29949. .IP "2." 3
  29950. The commands in the scenario.txt file are applied, with output directed
  29951. to the \f[C]test.log\f[R] file in the test working directory.
  29952. Typically, the first actual command in the \f[C]scenario.txt\f[R] file
  29953. is to do a \f[C]--resync\f[R], which establishes the baseline
  29954. \f[C]{...}.path1.lst\f[R] and \f[C]{...}.path2.lst\f[R] files in the
  29955. test working directory (\f[C].../workdir/\f[R] relative to the temporary
  29956. test directory).
  29957. Various commands and listing snapshots are done within the test.
  29958. .IP "3." 3
  29959. Finally, the contents of the test working directory are compared to the
  29960. contents of the testcase\[aq]s golden directory.
  29961. .SS Notes about testing
  29962. .IP \[bu] 2
  29963. Test cases are in individual directories beneath
  29964. \f[C]./cmd/bisync/testdata\f[R].
  29965. A command line reference to a test is understood to reference a
  29966. directory beneath \f[C]testdata\f[R].
  29967. For example,
  29968. \f[C]go test ./cmd/bisync -case dry-run -remote gdrive: -remote2 local\f[R]
  29969. refers to the test case in \f[C]./cmd/bisync/testdata/test_dry_run\f[R].
  29970. .IP \[bu] 2
  29971. The test working directory is located at \f[C].../workdir\f[R] relative
  29972. to a temporary test directory, usually under \f[C]/tmp\f[R] on Linux.
  29973. .IP \[bu] 2
  29974. The local test sync tree is created at a temporary directory named like
  29975. \f[C]bisync.XXX\f[R] under system temporary directory.
  29976. .IP \[bu] 2
  29977. The remote test sync tree is located at a temporary directory under
  29978. \f[C]<remote:>/bisync.XXX/\f[R].
  29979. .IP \[bu] 2
  29980. \f[C]path1\f[R] and/or \f[C]path2\f[R] subdirectories are created in a
  29981. temporary directory under the respective local or cloud test remote.
  29982. .IP \[bu] 2
  29983. By default, the Path1 and Path2 test dirs and workdir will be deleted
  29984. after each test run.
  29985. The \f[C]-no-cleanup\f[R] flag disables purging these directories when
  29986. validating and debugging a given test.
  29987. These directories will be flushed before running another test,
  29988. independent of the \f[C]-no-cleanup\f[R] usage.
  29989. .IP \[bu] 2
  29990. You will likely want to add \[ga]-
  29991. /testdir/\f[C]to your normal bisync\f[R]--filters-file\f[C]so that normal syncs do not attempt to sync the test temporary directories, which may have\f[R]RCLONE_TEST\f[C]miscompares in some testcases which would otherwise trip the\f[R]--check-access\f[C]system. The\f[R]--check-access\f[C]mechanism is hard-coded to ignore\f[R]RCLONE_TEST\f[C]files beneath\f[R]bisync/testdata\[ga],
  29992. so the test cases may reside on the synched tree even if there are check
  29993. file mismatches in the test tree.
  29994. .IP \[bu] 2
  29995. Some Dropbox tests can fail, notably printing the following message:
  29996. \f[C]src and dst identical but can\[aq]t set mod time without deleting and re-uploading\f[R]
  29997. This is expected and happens due to the way Dropbox handles modification
  29998. times.
  29999. You should use the \f[C]-refresh-times\f[R] test flag to make up for
  30000. this.
  30001. .IP \[bu] 2
  30002. If Dropbox tests hit request limit for you and print error message
  30003. \f[C]too_many_requests/...: Too many requests or write operations.\f[R]
  30004. then follow the Dropbox App ID
  30005. instructions (https://rclone.org/dropbox/#get-your-own-dropbox-app-id).
  30006. .SS Updating golden results
  30007. .PP
  30008. Sometimes even a slight change in the bisync source can cause little
  30009. changes spread around many log files.
  30010. Updating them manually would be a nightmare.
  30011. .PP
  30012. The \f[C]-golden\f[R] flag will store the \f[C]test.log\f[R] and
  30013. \f[C]*.lst\f[R] listings from each test case into respective golden
  30014. directories.
  30015. Golden results will automatically contain generic strings instead of
  30016. local or cloud paths which means that they should match when run with a
  30017. different cloud service.
  30018. .PP
  30019. Your normal workflow might be as follows: 1.
  30020. Git-clone the rclone sources locally 2.
  30021. Modify bisync source and check that it builds 3.
  30022. Run the whole test suite \f[C]go test ./cmd/bisync -remote local\f[R] 4.
  30023. If some tests show log difference, recheck them individually, e.g.:
  30024. \f[C]go test ./cmd/bisync -remote local -case basic\f[R] 5.
  30025. If you are convinced with the difference, goldenize all tests at once:
  30026. \f[C]go test ./cmd/bisync -remote local -golden\f[R] 6.
  30027. Use word diff: \f[C]git diff --word-diff ./cmd/bisync/testdata/\f[R].
  30028. Please note that normal line-level diff is generally useless here.
  30029. 7.
  30030. Check the difference \f[I]carefully\f[R]! 8.
  30031. Commit the change (\f[C]git commit\f[R]) \f[I]only\f[R] if you are sure.
  30032. If unsure, save your code changes then wipe the log diffs from git:
  30033. \f[C]git reset [--hard]\f[R].
  30034. .SS Structure of test scenarios
  30035. .IP \[bu] 2
  30036. \f[C]<testname>/initial/\f[R] contains a tree of files that will be set
  30037. as the initial condition on both Path1 and Path2 testdirs.
  30038. .IP \[bu] 2
  30039. \f[C]<testname>/modfiles/\f[R] contains files that will be used to
  30040. modify the Path1 and/or Path2 filesystems.
  30041. .IP \[bu] 2
  30042. \f[C]<testname>/golden/\f[R] contains the expected content of the test
  30043. working directory (\f[C]workdir\f[R]) at the completion of the testcase.
  30044. .IP \[bu] 2
  30045. \f[C]<testname>/scenario.txt\f[R] contains the body of the test, in the
  30046. form of various commands to modify files, run bisync, and snapshot
  30047. listings.
  30048. Output from these commands is captured to \f[C].../workdir/test.log\f[R]
  30049. for comparison to the golden files.
  30050. .SS Supported test commands
  30051. .IP \[bu] 2
  30052. \f[C]test <some message>\f[R] Print the line to the console and to the
  30053. \f[C]test.log\f[R]:
  30054. \f[C]test sync is working correctly with options x, y, z\f[R]
  30055. .IP \[bu] 2
  30056. \f[C]copy-listings <prefix>\f[R] Save a copy of all \f[C].lst\f[R]
  30057. listings in the test working directory with the specified prefix:
  30058. \f[C]save-listings exclude-pass-run\f[R]
  30059. .IP \[bu] 2
  30060. \f[C]move-listings <prefix>\f[R] Similar to \f[C]copy-listings\f[R] but
  30061. removes the source
  30062. .IP \[bu] 2
  30063. \f[C]purge-children <dir>\f[R] This will delete all child files and
  30064. purge all child subdirs under given directory but keep the parent
  30065. intact.
  30066. This behavior is important for tests with Google Drive because removing
  30067. and re-creating the parent would change its ID.
  30068. .IP \[bu] 2
  30069. \f[C]delete-file <file>\f[R] Delete a single file.
  30070. .IP \[bu] 2
  30071. \f[C]delete-glob <dir> <pattern>\f[R] Delete a group of files located
  30072. one level deep in the given directory with names matching a given glob
  30073. pattern.
  30074. .IP \[bu] 2
  30075. \f[C]touch-glob YYYY-MM-DD <dir> <pattern>\f[R] Change modification time
  30076. on a group of files.
  30077. .IP \[bu] 2
  30078. \f[C]touch-copy YYYY-MM-DD <source-file> <dest-dir>\f[R] Change file
  30079. modification time then copy it to destination.
  30080. .IP \[bu] 2
  30081. \f[C]copy-file <source-file> <dest-dir>\f[R] Copy a single file to given
  30082. directory.
  30083. .IP \[bu] 2
  30084. \f[C]copy-as <source-file> <dest-file>\f[R] Similar to above but
  30085. destination must include both directory and the new file name at
  30086. destination.
  30087. .IP \[bu] 2
  30088. \f[C]copy-dir <src> <dst>\f[R] and \f[C]sync-dir <src> <dst>\f[R]
  30089. Copy/sync a directory.
  30090. Equivalent of \f[C]rclone copy\f[R] and \f[C]rclone sync\f[R].
  30091. .IP \[bu] 2
  30092. \f[C]list-dirs <dir>\f[R] Equivalent to
  30093. \f[C]rclone lsf -R --dirs-only <dir>\f[R]
  30094. .IP \[bu] 2
  30095. \f[C]bisync [options]\f[R] Runs bisync against \f[C]-remote\f[R] and
  30096. \f[C]-remote2\f[R].
  30097. .SS Supported substitution terms
  30098. .IP \[bu] 2
  30099. \f[C]{testdir/}\f[R] - the root dir of the testcase
  30100. .IP \[bu] 2
  30101. \f[C]{datadir/}\f[R] - the \f[C]modfiles\f[R] dir under the testcase
  30102. root
  30103. .IP \[bu] 2
  30104. \f[C]{workdir/}\f[R] - the temporary test working directory
  30105. .IP \[bu] 2
  30106. \f[C]{path1/}\f[R] - the root of the Path1 test directory tree
  30107. .IP \[bu] 2
  30108. \f[C]{path2/}\f[R] - the root of the Path2 test directory tree
  30109. .IP \[bu] 2
  30110. \f[C]{session}\f[R] - base name of the test listings
  30111. .IP \[bu] 2
  30112. \f[C]{/}\f[R] - OS-specific path separator
  30113. .IP \[bu] 2
  30114. \f[C]{spc}\f[R], \f[C]{tab}\f[R], \f[C]{eol}\f[R] - whitespace
  30115. .IP \[bu] 2
  30116. \f[C]{chr:HH}\f[R] - raw byte with given hexadecimal code
  30117. .PP
  30118. Substitution results of the terms named like \f[C]{dir/}\f[R] will end
  30119. with \f[C]/\f[R] (or backslash on Windows), so it is not necessary to
  30120. include slash in the usage, for example
  30121. \f[C]delete-file {path1/}file1.txt\f[R].
  30122. .SS Benchmarks
  30123. .PP
  30124. \f[I]This section is work in progress.\f[R]
  30125. .PP
  30126. Here are a few data points for scale, execution times, and memory usage.
  30127. .PP
  30128. The first set of data was taken between a local disk to Dropbox.
  30129. The speedtest.net (https://speedtest.net) download speed was \[ti]170
  30130. Mbps, and upload speed was \[ti]10 Mbps.
  30131. 500 files (\[ti]9.5 MB each) had been already synched.
  30132. 50 files were added in a new directory, each \[ti]9.5 MB, \[ti]475 MB
  30133. total.
  30134. .PP
  30135. .TS
  30136. tab(@);
  30137. lw(23.8n) lw(35.0n) lw(11.2n).
  30138. T{
  30139. Change
  30140. T}@T{
  30141. Operations and times
  30142. T}@T{
  30143. Overall run time
  30144. T}
  30145. _
  30146. T{
  30147. 500 files synched (nothing to move)
  30148. T}@T{
  30149. 1x listings for Path1 & Path2
  30150. T}@T{
  30151. 1.5 sec
  30152. T}
  30153. T{
  30154. 500 files synched with --check-access
  30155. T}@T{
  30156. 1x listings for Path1 & Path2
  30157. T}@T{
  30158. 1.5 sec
  30159. T}
  30160. T{
  30161. 50 new files on remote
  30162. T}@T{
  30163. Queued 50 copies down: 27 sec
  30164. T}@T{
  30165. 29 sec
  30166. T}
  30167. T{
  30168. Moved local dir
  30169. T}@T{
  30170. Queued 50 copies up: 410 sec, 50 deletes up: 9 sec
  30171. T}@T{
  30172. 421 sec
  30173. T}
  30174. T{
  30175. Moved remote dir
  30176. T}@T{
  30177. Queued 50 copies down: 31 sec, 50 deletes down: <1 sec
  30178. T}@T{
  30179. 33 sec
  30180. T}
  30181. T{
  30182. Delete local dir
  30183. T}@T{
  30184. Queued 50 deletes up: 9 sec
  30185. T}@T{
  30186. 13 sec
  30187. T}
  30188. .TE
  30189. .PP
  30190. This next data is from a user\[aq]s application.
  30191. They had \[ti]400GB of data over 1.96 million files being sync\[aq]ed
  30192. between a Windows local disk and some remote cloud.
  30193. The file full path length was on average 35 characters (which factors
  30194. into load time and RAM required).
  30195. .IP \[bu] 2
  30196. Loading the prior listing into memory (1.96 million files, listing file
  30197. size 140 MB) took \[ti]30 sec and occupied about 1 GB of RAM.
  30198. .IP \[bu] 2
  30199. Getting a fresh listing of the local file system (producing the 140 MB
  30200. output file) took about XXX sec.
  30201. .IP \[bu] 2
  30202. Getting a fresh listing of the remote file system (producing the 140 MB
  30203. output file) took about XXX sec.
  30204. The network download speed was measured at XXX Mb/s.
  30205. .IP \[bu] 2
  30206. Once the prior and current Path1 and Path2 listings were loaded (a total
  30207. of four to be loaded, two at a time), determining the deltas was pretty
  30208. quick (a few seconds for this test case), and the transfer time for any
  30209. files to be copied was dominated by the network bandwidth.
  30210. .SS References
  30211. .PP
  30212. rclone\[aq]s bisync implementation was derived from the
  30213. rclonesync-V2 (https://github.com/cjnaz/rclonesync-V2) project,
  30214. including documentation and test mechanisms, with
  30215. [\[at]cjnaz](https://github.com/cjnaz)\[aq]s full support and
  30216. encouragement.
  30217. .PP
  30218. \f[C]rclone bisync\f[R] is similar in nature to a range of other
  30219. projects:
  30220. .IP \[bu] 2
  30221. unison (https://github.com/bcpierce00/unison)
  30222. .IP \[bu] 2
  30223. syncthing (https://github.com/syncthing/syncthing)
  30224. .IP \[bu] 2
  30225. cjnaz/rclonesync (https://github.com/cjnaz/rclonesync-V2)
  30226. .IP \[bu] 2
  30227. ConorWilliams/rsinc (https://github.com/ConorWilliams/rsinc)
  30228. .IP \[bu] 2
  30229. jwink3101/syncrclone (https://github.com/Jwink3101/syncrclone)
  30230. .IP \[bu] 2
  30231. DavideRossi/upback (https://github.com/DavideRossi/upback)
  30232. .PP
  30233. Bisync adopts the differential synchronization technique, which is based
  30234. on keeping history of changes performed by both synchronizing sides.
  30235. See the \f[I]Dual Shadow Method\f[R] section in Neil Fraser\[aq]s
  30236. article (https://neil.fraser.name/writing/sync/).
  30237. .PP
  30238. Also note a number of academic publications by Benjamin
  30239. Pierce (http://www.cis.upenn.edu/%7Ebcpierce/papers/index.shtml#File%20Synchronization)
  30240. about \f[I]Unison\f[R] and synchronization in general.
  30241. .SS Changelog
  30242. .SS \f[C]v1.66\f[R]
  30243. .IP \[bu] 2
  30244. Copies and deletes are now handled in one operation instead of two
  30245. .IP \[bu] 2
  30246. \f[C]--track-renames\f[R] and \f[C]--backup-dir\f[R] are now supported
  30247. .IP \[bu] 2
  30248. Partial uploads known issue on
  30249. \f[C]local\f[R]/\f[C]ftp\f[R]/\f[C]sftp\f[R] has been resolved (unless
  30250. using \f[C]--inplace\f[R])
  30251. .IP \[bu] 2
  30252. Final listings are now generated from sync results, to avoid needing to
  30253. re-list
  30254. .IP \[bu] 2
  30255. Bisync is now much more resilient to changes that happen during a bisync
  30256. run, and far less prone to critical errors / undetected changes
  30257. .IP \[bu] 2
  30258. Bisync is now capable of rolling a file listing back in cases of
  30259. uncertainty, essentially marking the file as needing to be rechecked
  30260. next time.
  30261. .IP \[bu] 2
  30262. A few basic terminal colors are now supported, controllable with
  30263. \f[C]--color\f[R] (https://rclone.org/docs/#color-when)
  30264. (\f[C]AUTO\f[R]|\f[C]NEVER\f[R]|\f[C]ALWAYS\f[R])
  30265. .IP \[bu] 2
  30266. Initial listing snapshots of Path1 and Path2 are now generated
  30267. concurrently, using the same \[dq]march\[dq] infrastructure as
  30268. \f[C]check\f[R] and \f[C]sync\f[R], for performance improvements and
  30269. less risk of
  30270. error (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=4.%20Listings%20should%20alternate%20between%20paths%20to%20minimize%20errors).
  30271. .IP \[bu] 2
  30272. Fixed handling of unicode normalization and case insensitivity, support
  30273. for \f[C]--fix-case\f[R] (https://rclone.org/docs/#fix-case),
  30274. \f[C]--ignore-case-sync\f[R], \f[C]--no-unicode-normalization\f[R]
  30275. .IP \[bu] 2
  30276. \f[C]--resync\f[R] is now much more efficient (especially for users of
  30277. \f[C]--create-empty-src-dirs\f[R])
  30278. .IP \[bu] 2
  30279. Google Docs (and other files of unknown size) are now supported (with
  30280. the same options as in \f[C]sync\f[R])
  30281. .IP \[bu] 2
  30282. Equality checks before a sync conflict rename now fall back to
  30283. \f[C]cryptcheck\f[R] (when possible) or \f[C]--download\f[R], instead of
  30284. of \f[C]--size-only\f[R], when \f[C]check\f[R] is not available.
  30285. .IP \[bu] 2
  30286. Bisync no longer fails to find the correct listing file when configs are
  30287. overridden with backend-specific flags.
  30288. .IP \[bu] 2
  30289. Bisync now fully supports comparing based on any combination of size,
  30290. modtime, and checksum, lifting the prior restriction on backends without
  30291. modtime support.
  30292. .IP \[bu] 2
  30293. Bisync now supports a \[dq]Graceful Shutdown\[dq] mode to cleanly cancel
  30294. a run early without requiring \f[C]--resync\f[R].
  30295. .IP \[bu] 2
  30296. New \f[C]--recover\f[R] flag allows robust recovery in the event of
  30297. interruptions, without requiring \f[C]--resync\f[R].
  30298. .IP \[bu] 2
  30299. A new \f[C]--max-lock\f[R] setting allows lock files to automatically
  30300. renew and expire, for better automatic recovery when a run is
  30301. interrupted.
  30302. .IP \[bu] 2
  30303. Bisync now supports auto-resolving sync conflicts and customizing rename
  30304. behavior with new \f[C]--conflict-resolve\f[R],
  30305. \f[C]--conflict-loser\f[R], and \f[C]--conflict-suffix\f[R] flags.
  30306. .IP \[bu] 2
  30307. A new \f[C]--resync-mode\f[R] flag allows more control over which
  30308. version of a file gets kept during a \f[C]--resync\f[R].
  30309. .IP \[bu] 2
  30310. Bisync now supports
  30311. \f[C]--retries\f[R] (https://rclone.org/docs/#retries-int) and
  30312. \f[C]--retries-sleep\f[R] (when \f[C]--resilient\f[R] is set.)
  30313. .SS \f[C]v1.64\f[R]
  30314. .IP \[bu] 2
  30315. Fixed an
  30316. issue (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=1.%20Dry%20runs%20are%20not%20completely%20dry)
  30317. causing dry runs to inadvertently commit filter changes
  30318. .IP \[bu] 2
  30319. Fixed an
  30320. issue (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=2.%20%2D%2Dresync%20deletes%20data%2C%20contrary%20to%20docs)
  30321. causing \f[C]--resync\f[R] to erroneously delete empty folders and
  30322. duplicate files unique to Path2
  30323. .IP \[bu] 2
  30324. \f[C]--check-access\f[R] is now enforced during \f[C]--resync\f[R],
  30325. preventing data loss in certain user error
  30326. scenarios (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=%2D%2Dcheck%2Daccess%20doesn%27t%20always%20fail%20when%20it%20should)
  30327. .IP \[bu] 2
  30328. Fixed an
  30329. issue (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=5.%20Bisync%20reads%20files%20in%20excluded%20directories%20during%20delete%20operations)
  30330. causing bisync to consider more files than necessary due to overbroad
  30331. filters during delete operations
  30332. .IP \[bu] 2
  30333. Improved detection of false positive change
  30334. conflicts (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=1.%20Identical%20files%20should%20be%20left%20alone%2C%20even%20if%20new/newer/changed%20on%20both%20sides)
  30335. (identical files are now left alone instead of renamed)
  30336. .IP \[bu] 2
  30337. Added support for
  30338. \f[C]--create-empty-src-dirs\f[R] (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=3.%20Bisync%20should%20create/delete%20empty%20directories%20as%20sync%20does%2C%20when%20%2D%2Dcreate%2Dempty%2Dsrc%2Ddirs%20is%20passed)
  30339. .IP \[bu] 2
  30340. Added experimental \f[C]--resilient\f[R] mode to allow recovery from
  30341. self-correctable
  30342. errors (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=2.%20Bisync%20should%20be%20more%20resilient%20to%20self%2Dcorrectable%20errors)
  30343. .IP \[bu] 2
  30344. Added new \f[C]--ignore-listing-checksum\f[R]
  30345. flag (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=6.%20%2D%2Dignore%2Dchecksum%20should%20be%20split%20into%20two%20flags%20for%20separate%20purposes)
  30346. to distinguish from \f[C]--ignore-checksum\f[R]
  30347. .IP \[bu] 2
  30348. Performance
  30349. improvements (https://forum.rclone.org/t/bisync-bugs-and-feature-requests/37636#:~:text=6.%20Deletes%20take%20several%20times%20longer%20than%20copies)
  30350. for large remotes
  30351. .IP \[bu] 2
  30352. Documentation and testing improvements
  30353. .SH Release signing
  30354. .PP
  30355. The hashes of the binary artefacts of the rclone release are signed with
  30356. a public PGP/GPG key.
  30357. This can be verified manually as described below.
  30358. .PP
  30359. The same mechanism is also used by rclone
  30360. selfupdate (https://rclone.org/commands/rclone_selfupdate/) to verify
  30361. that the release has not been tampered with before the new update is
  30362. installed.
  30363. This checks the SHA256 hash and the signature with a public key compiled
  30364. into the rclone binary.
  30365. .SS Release signing key
  30366. .PP
  30367. You may obtain the release signing key from:
  30368. .IP \[bu] 2
  30369. From KEYS on this website - this file contains all past signing keys
  30370. also.
  30371. .IP \[bu] 2
  30372. The git repository hosted on GitHub -
  30373. https://github.com/rclone/rclone/blob/master/docs/content/KEYS
  30374. .IP \[bu] 2
  30375. \f[C]gpg --keyserver hkps://keys.openpgp.org --search nick\[at]craig-wood.com\f[R]
  30376. .IP \[bu] 2
  30377. \f[C]gpg --keyserver hkps://keyserver.ubuntu.com --search nick\[at]craig-wood.com\f[R]
  30378. .IP \[bu] 2
  30379. https://www.craig-wood.com/nick/pub/pgp-key.txt
  30380. .PP
  30381. After importing the key, verify that the fingerprint of one of the keys
  30382. matches: \f[C]FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA\f[R] as this key
  30383. is used for signing.
  30384. .PP
  30385. We recommend that you cross-check the fingerprint shown above through
  30386. the domains listed below.
  30387. By cross-checking the integrity of the fingerprint across multiple
  30388. domains you can be confident that you obtained the correct key.
  30389. .IP \[bu] 2
  30390. The source for this page on
  30391. GitHub (https://github.com/rclone/rclone/blob/master/docs/content/release_signing.md).
  30392. .IP \[bu] 2
  30393. Through DNS \f[C]dig key.rclone.org txt\f[R]
  30394. .PP
  30395. If you find anything that doesn\[aq]t not match, please contact the
  30396. developers at once.
  30397. .SS How to verify the release
  30398. .PP
  30399. In the release directory you will see the release files and some files
  30400. called \f[C]MD5SUMS\f[R], \f[C]SHA1SUMS\f[R] and \f[C]SHA256SUMS\f[R].
  30401. .IP
  30402. .nf
  30403. \f[C]
  30404. $ rclone lsf --http-url https://downloads.rclone.org/v1.63.1 :http:
  30405. MD5SUMS
  30406. SHA1SUMS
  30407. SHA256SUMS
  30408. rclone-v1.63.1-freebsd-386.zip
  30409. rclone-v1.63.1-freebsd-amd64.zip
  30410. \&...
  30411. rclone-v1.63.1-windows-arm64.zip
  30412. rclone-v1.63.1.tar.gz
  30413. version.txt
  30414. \f[R]
  30415. .fi
  30416. .PP
  30417. The \f[C]MD5SUMS\f[R], \f[C]SHA1SUMS\f[R] and \f[C]SHA256SUMS\f[R]
  30418. contain hashes of the binary files in the release directory along with a
  30419. signature.
  30420. .PP
  30421. For example:
  30422. .IP
  30423. .nf
  30424. \f[C]
  30425. $ rclone cat --http-url https://downloads.rclone.org/v1.63.1 :http:SHA256SUMS
  30426. -----BEGIN PGP SIGNED MESSAGE-----
  30427. Hash: SHA1
  30428. f6d1b2d7477475ce681bdce8cb56f7870f174cb6b2a9ac5d7b3764296ea4a113 rclone-v1.63.1-freebsd-386.zip
  30429. 7266febec1f01a25d6575de51c44ddf749071a4950a6384e4164954dff7ac37e rclone-v1.63.1-freebsd-amd64.zip
  30430. \&...
  30431. 66ca083757fb22198309b73879831ed2b42309892394bf193ff95c75dff69c73 rclone-v1.63.1-windows-amd64.zip
  30432. bbb47c16882b6c5f2e8c1b04229378e28f68734c613321ef0ea2263760f74cd0 rclone-v1.63.1-windows-arm64.zip
  30433. -----BEGIN PGP SIGNATURE-----
  30434. iF0EARECAB0WIQT79zfs6firGGBL0qyTk14C/ztU+gUCZLVKJQAKCRCTk14C/ztU
  30435. +pZuAJ0XJ+QWLP/3jCtkmgcgc4KAwd/rrwCcCRZQ7E+oye1FPY46HOVzCFU3L7g=
  30436. =8qrL
  30437. -----END PGP SIGNATURE-----
  30438. \f[R]
  30439. .fi
  30440. .SS Download the files
  30441. .PP
  30442. The first step is to download the binary and SUMs file and verify that
  30443. the SUMs you have downloaded match.
  30444. Here we download \f[C]rclone-v1.63.1-windows-amd64.zip\f[R] - choose the
  30445. binary (or binaries) appropriate to your architecture.
  30446. We\[aq]ve also chosen the \f[C]SHA256SUMS\f[R] as these are the most
  30447. secure.
  30448. You could verify the other types of hash also for extra security.
  30449. \f[C]rclone selfupdate\f[R] verifies just the \f[C]SHA256SUMS\f[R].
  30450. .IP
  30451. .nf
  30452. \f[C]
  30453. $ mkdir /tmp/check
  30454. $ cd /tmp/check
  30455. $ rclone copy --http-url https://downloads.rclone.org/v1.63.1 :http:SHA256SUMS .
  30456. $ rclone copy --http-url https://downloads.rclone.org/v1.63.1 :http:rclone-v1.63.1-windows-amd64.zip .
  30457. \f[R]
  30458. .fi
  30459. .SS Verify the signatures
  30460. .PP
  30461. First verify the signatures on the SHA256 file.
  30462. .PP
  30463. Import the key.
  30464. See above for ways to verify this key is correct.
  30465. .IP
  30466. .nf
  30467. \f[C]
  30468. $ gpg --keyserver keyserver.ubuntu.com --receive-keys FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA
  30469. gpg: key 93935E02FF3B54FA: public key \[dq]Nick Craig-Wood <nick\[at]craig-wood.com>\[dq] imported
  30470. gpg: Total number processed: 1
  30471. gpg: imported: 1
  30472. \f[R]
  30473. .fi
  30474. .PP
  30475. Then check the signature:
  30476. .IP
  30477. .nf
  30478. \f[C]
  30479. $ gpg --verify SHA256SUMS
  30480. gpg: Signature made Mon 17 Jul 2023 15:03:17 BST
  30481. gpg: using DSA key FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA
  30482. gpg: Good signature from \[dq]Nick Craig-Wood <nick\[at]craig-wood.com>\[dq] [ultimate]
  30483. \f[R]
  30484. .fi
  30485. .PP
  30486. Verify the signature was good and is using the fingerprint shown above.
  30487. .PP
  30488. Repeat for \f[C]MD5SUMS\f[R] and \f[C]SHA1SUMS\f[R] if desired.
  30489. .SS Verify the hashes
  30490. .PP
  30491. Now that we know the signatures on the hashes are OK we can verify the
  30492. binaries match the hashes, completing the verification.
  30493. .IP
  30494. .nf
  30495. \f[C]
  30496. $ sha256sum -c SHA256SUMS 2>&1 | grep OK
  30497. rclone-v1.63.1-windows-amd64.zip: OK
  30498. \f[R]
  30499. .fi
  30500. .PP
  30501. Or do the check with rclone
  30502. .IP
  30503. .nf
  30504. \f[C]
  30505. $ rclone hashsum sha256 -C SHA256SUMS rclone-v1.63.1-windows-amd64.zip
  30506. 2023/09/11 10:53:58 NOTICE: SHA256SUMS: improperly formatted checksum line 0
  30507. 2023/09/11 10:53:58 NOTICE: SHA256SUMS: improperly formatted checksum line 1
  30508. 2023/09/11 10:53:58 NOTICE: SHA256SUMS: improperly formatted checksum line 49
  30509. 2023/09/11 10:53:58 NOTICE: SHA256SUMS: 4 warning(s) suppressed...
  30510. = rclone-v1.63.1-windows-amd64.zip
  30511. 2023/09/11 10:53:58 NOTICE: Local file system at /tmp/check: 0 differences found
  30512. 2023/09/11 10:53:58 NOTICE: Local file system at /tmp/check: 1 matching files
  30513. \f[R]
  30514. .fi
  30515. .SS Verify signatures and hashes together
  30516. .PP
  30517. You can verify the signatures and hashes in one command line like this:
  30518. .IP
  30519. .nf
  30520. \f[C]
  30521. $ gpg --decrypt SHA256SUMS | sha256sum -c --ignore-missing
  30522. gpg: Signature made Mon 17 Jul 2023 15:03:17 BST
  30523. gpg: using DSA key FBF737ECE9F8AB18604BD2AC93935E02FF3B54FA
  30524. gpg: Good signature from \[dq]Nick Craig-Wood <nick\[at]craig-wood.com>\[dq] [ultimate]
  30525. gpg: aka \[dq]Nick Craig-Wood <nick\[at]memset.com>\[dq] [unknown]
  30526. rclone-v1.63.1-windows-amd64.zip: OK
  30527. \f[R]
  30528. .fi
  30529. .SH 1Fichier
  30530. .PP
  30531. This is a backend for the 1fichier (https://1fichier.com) cloud storage
  30532. service.
  30533. Note that a Premium subscription is required to use the API.
  30534. .PP
  30535. Paths are specified as \f[C]remote:path\f[R]
  30536. .PP
  30537. Paths may be as deep as required, e.g.
  30538. \f[C]remote:directory/subdirectory\f[R].
  30539. .SS Configuration
  30540. .PP
  30541. The initial setup for 1Fichier involves getting the API key from the
  30542. website which you need to do in your browser.
  30543. .PP
  30544. Here is an example of how to make a remote called \f[C]remote\f[R].
  30545. First run:
  30546. .IP
  30547. .nf
  30548. \f[C]
  30549. rclone config
  30550. \f[R]
  30551. .fi
  30552. .PP
  30553. This will guide you through an interactive setup process:
  30554. .IP
  30555. .nf
  30556. \f[C]
  30557. No remotes found, make a new one?
  30558. n) New remote
  30559. s) Set configuration password
  30560. q) Quit config
  30561. n/s/q> n
  30562. name> remote
  30563. Type of storage to configure.
  30564. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  30565. Choose a number from below, or type in your own value
  30566. [snip]
  30567. XX / 1Fichier
  30568. \[rs] \[dq]fichier\[dq]
  30569. [snip]
  30570. Storage> fichier
  30571. ** See help for fichier backend at: https://rclone.org/fichier/ **
  30572. Your API Key, get it from https://1fichier.com/console/params.pl
  30573. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  30574. api_key> example_key
  30575. Edit advanced config? (y/n)
  30576. y) Yes
  30577. n) No
  30578. y/n>
  30579. Remote config
  30580. --------------------
  30581. [remote]
  30582. type = fichier
  30583. api_key = example_key
  30584. --------------------
  30585. y) Yes this is OK
  30586. e) Edit this remote
  30587. d) Delete this remote
  30588. y/e/d> y
  30589. \f[R]
  30590. .fi
  30591. .PP
  30592. Once configured you can then use \f[C]rclone\f[R] like this,
  30593. .PP
  30594. List directories in top level of your 1Fichier account
  30595. .IP
  30596. .nf
  30597. \f[C]
  30598. rclone lsd remote:
  30599. \f[R]
  30600. .fi
  30601. .PP
  30602. List all the files in your 1Fichier account
  30603. .IP
  30604. .nf
  30605. \f[C]
  30606. rclone ls remote:
  30607. \f[R]
  30608. .fi
  30609. .PP
  30610. To copy a local directory to a 1Fichier directory called backup
  30611. .IP
  30612. .nf
  30613. \f[C]
  30614. rclone copy /home/source remote:backup
  30615. \f[R]
  30616. .fi
  30617. .SS Modification times and hashes
  30618. .PP
  30619. 1Fichier does not support modification times.
  30620. It supports the Whirlpool hash algorithm.
  30621. .SS Duplicated files
  30622. .PP
  30623. 1Fichier can have two files with exactly the same name and path (unlike
  30624. a normal file system).
  30625. .PP
  30626. Duplicated files cause problems with the syncing and you will see
  30627. messages in the log about duplicates.
  30628. .SS Restricted filename characters
  30629. .PP
  30630. In addition to the default restricted characters
  30631. set (https://rclone.org/overview/#restricted-characters) the following
  30632. characters are also replaced:
  30633. .PP
  30634. .TS
  30635. tab(@);
  30636. l c c.
  30637. T{
  30638. Character
  30639. T}@T{
  30640. Value
  30641. T}@T{
  30642. Replacement
  30643. T}
  30644. _
  30645. T{
  30646. \[rs]
  30647. T}@T{
  30648. 0x5C
  30649. T}@T{
  30650. \[uFF3C]
  30651. T}
  30652. T{
  30653. <
  30654. T}@T{
  30655. 0x3C
  30656. T}@T{
  30657. \[uFF1C]
  30658. T}
  30659. T{
  30660. >
  30661. T}@T{
  30662. 0x3E
  30663. T}@T{
  30664. \[uFF1E]
  30665. T}
  30666. T{
  30667. \[dq]
  30668. T}@T{
  30669. 0x22
  30670. T}@T{
  30671. \[uFF02]
  30672. T}
  30673. T{
  30674. $
  30675. T}@T{
  30676. 0x24
  30677. T}@T{
  30678. \[uFF04]
  30679. T}
  30680. T{
  30681. \[ga]
  30682. T}@T{
  30683. 0x60
  30684. T}@T{
  30685. \[uFF40]
  30686. T}
  30687. T{
  30688. \[aq]
  30689. T}@T{
  30690. 0x27
  30691. T}@T{
  30692. \[uFF07]
  30693. T}
  30694. .TE
  30695. .PP
  30696. File names can also not start or end with the following characters.
  30697. These only get replaced if they are the first or last character in the
  30698. name:
  30699. .PP
  30700. .TS
  30701. tab(@);
  30702. l c c.
  30703. T{
  30704. Character
  30705. T}@T{
  30706. Value
  30707. T}@T{
  30708. Replacement
  30709. T}
  30710. _
  30711. T{
  30712. SP
  30713. T}@T{
  30714. 0x20
  30715. T}@T{
  30716. \[u2420]
  30717. T}
  30718. .TE
  30719. .PP
  30720. Invalid UTF-8 bytes will also be
  30721. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  30722. be used in JSON strings.
  30723. .SS Standard options
  30724. .PP
  30725. Here are the Standard options specific to fichier (1Fichier).
  30726. .SS --fichier-api-key
  30727. .PP
  30728. Your API Key, get it from https://1fichier.com/console/params.pl.
  30729. .PP
  30730. Properties:
  30731. .IP \[bu] 2
  30732. Config: api_key
  30733. .IP \[bu] 2
  30734. Env Var: RCLONE_FICHIER_API_KEY
  30735. .IP \[bu] 2
  30736. Type: string
  30737. .IP \[bu] 2
  30738. Required: false
  30739. .SS Advanced options
  30740. .PP
  30741. Here are the Advanced options specific to fichier (1Fichier).
  30742. .SS --fichier-shared-folder
  30743. .PP
  30744. If you want to download a shared folder, add this parameter.
  30745. .PP
  30746. Properties:
  30747. .IP \[bu] 2
  30748. Config: shared_folder
  30749. .IP \[bu] 2
  30750. Env Var: RCLONE_FICHIER_SHARED_FOLDER
  30751. .IP \[bu] 2
  30752. Type: string
  30753. .IP \[bu] 2
  30754. Required: false
  30755. .SS --fichier-file-password
  30756. .PP
  30757. If you want to download a shared file that is password protected, add
  30758. this parameter.
  30759. .PP
  30760. \f[B]NB\f[R] Input to this must be obscured - see rclone
  30761. obscure (https://rclone.org/commands/rclone_obscure/).
  30762. .PP
  30763. Properties:
  30764. .IP \[bu] 2
  30765. Config: file_password
  30766. .IP \[bu] 2
  30767. Env Var: RCLONE_FICHIER_FILE_PASSWORD
  30768. .IP \[bu] 2
  30769. Type: string
  30770. .IP \[bu] 2
  30771. Required: false
  30772. .SS --fichier-folder-password
  30773. .PP
  30774. If you want to list the files in a shared folder that is password
  30775. protected, add this parameter.
  30776. .PP
  30777. \f[B]NB\f[R] Input to this must be obscured - see rclone
  30778. obscure (https://rclone.org/commands/rclone_obscure/).
  30779. .PP
  30780. Properties:
  30781. .IP \[bu] 2
  30782. Config: folder_password
  30783. .IP \[bu] 2
  30784. Env Var: RCLONE_FICHIER_FOLDER_PASSWORD
  30785. .IP \[bu] 2
  30786. Type: string
  30787. .IP \[bu] 2
  30788. Required: false
  30789. .SS --fichier-cdn
  30790. .PP
  30791. Set if you wish to use CDN download links.
  30792. .PP
  30793. Properties:
  30794. .IP \[bu] 2
  30795. Config: cdn
  30796. .IP \[bu] 2
  30797. Env Var: RCLONE_FICHIER_CDN
  30798. .IP \[bu] 2
  30799. Type: bool
  30800. .IP \[bu] 2
  30801. Default: false
  30802. .SS --fichier-encoding
  30803. .PP
  30804. The encoding for the backend.
  30805. .PP
  30806. See the encoding section in the
  30807. overview (https://rclone.org/overview/#encoding) for more info.
  30808. .PP
  30809. Properties:
  30810. .IP \[bu] 2
  30811. Config: encoding
  30812. .IP \[bu] 2
  30813. Env Var: RCLONE_FICHIER_ENCODING
  30814. .IP \[bu] 2
  30815. Type: Encoding
  30816. .IP \[bu] 2
  30817. Default:
  30818. Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot
  30819. .SS --fichier-description
  30820. .PP
  30821. Description of the remote
  30822. .PP
  30823. Properties:
  30824. .IP \[bu] 2
  30825. Config: description
  30826. .IP \[bu] 2
  30827. Env Var: RCLONE_FICHIER_DESCRIPTION
  30828. .IP \[bu] 2
  30829. Type: string
  30830. .IP \[bu] 2
  30831. Required: false
  30832. .SS Limitations
  30833. .PP
  30834. \f[C]rclone about\f[R] is not supported by the 1Fichier backend.
  30835. Backends without this capability cannot determine free space for an
  30836. rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member
  30837. of an rclone union remote.
  30838. .PP
  30839. See List of backends that do not support rclone
  30840. about (https://rclone.org/overview/#optional-features) and rclone
  30841. about (https://rclone.org/commands/rclone_about/)
  30842. .SH Alias
  30843. .PP
  30844. The \f[C]alias\f[R] remote provides a new name for another remote.
  30845. .PP
  30846. Paths may be as deep as required or a local path, e.g.
  30847. \f[C]remote:directory/subdirectory\f[R] or
  30848. \f[C]/directory/subdirectory\f[R].
  30849. .PP
  30850. During the initial setup with \f[C]rclone config\f[R] you will specify
  30851. the target remote.
  30852. The target remote can either be a local path or another remote.
  30853. .PP
  30854. Subfolders can be used in target remote.
  30855. Assume an alias remote named \f[C]backup\f[R] with the target
  30856. \f[C]mydrive:private/backup\f[R].
  30857. Invoking \f[C]rclone mkdir backup:desktop\f[R] is exactly the same as
  30858. invoking \f[C]rclone mkdir mydrive:private/backup/desktop\f[R].
  30859. .PP
  30860. There will be no special handling of paths containing \f[C]..\f[R]
  30861. segments.
  30862. Invoking \f[C]rclone mkdir backup:../desktop\f[R] is exactly the same as
  30863. invoking \f[C]rclone mkdir mydrive:private/backup/../desktop\f[R].
  30864. The empty path is not allowed as a remote.
  30865. To alias the current directory use \f[C].\f[R] instead.
  30866. .PP
  30867. The target remote can also be a connection
  30868. string (https://rclone.org/docs/#connection-strings).
  30869. This can be used to modify the config of a remote for different uses,
  30870. e.g.
  30871. the alias \f[C]myDriveTrash\f[R] with the target remote
  30872. \f[C]myDrive,trashed_only:\f[R] can be used to only show the trashed
  30873. files in \f[C]myDrive\f[R].
  30874. .SS Configuration
  30875. .PP
  30876. Here is an example of how to make an alias called \f[C]remote\f[R] for
  30877. local folder.
  30878. First run:
  30879. .IP
  30880. .nf
  30881. \f[C]
  30882. rclone config
  30883. \f[R]
  30884. .fi
  30885. .PP
  30886. This will guide you through an interactive setup process:
  30887. .IP
  30888. .nf
  30889. \f[C]
  30890. No remotes found, make a new one?
  30891. n) New remote
  30892. s) Set configuration password
  30893. q) Quit config
  30894. n/s/q> n
  30895. name> remote
  30896. Type of storage to configure.
  30897. Choose a number from below, or type in your own value
  30898. [snip]
  30899. XX / Alias for an existing remote
  30900. \[rs] \[dq]alias\[dq]
  30901. [snip]
  30902. Storage> alias
  30903. Remote or path to alias.
  30904. Can be \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq], \[dq]myremote:\[dq] or \[dq]/local/path\[dq].
  30905. remote> /mnt/storage/backup
  30906. Remote config
  30907. --------------------
  30908. [remote]
  30909. remote = /mnt/storage/backup
  30910. --------------------
  30911. y) Yes this is OK
  30912. e) Edit this remote
  30913. d) Delete this remote
  30914. y/e/d> y
  30915. Current remotes:
  30916. Name Type
  30917. ==== ====
  30918. remote alias
  30919. e) Edit existing remote
  30920. n) New remote
  30921. d) Delete remote
  30922. r) Rename remote
  30923. c) Copy remote
  30924. s) Set configuration password
  30925. q) Quit config
  30926. e/n/d/r/c/s/q> q
  30927. \f[R]
  30928. .fi
  30929. .PP
  30930. Once configured you can then use \f[C]rclone\f[R] like this,
  30931. .PP
  30932. List directories in top level in \f[C]/mnt/storage/backup\f[R]
  30933. .IP
  30934. .nf
  30935. \f[C]
  30936. rclone lsd remote:
  30937. \f[R]
  30938. .fi
  30939. .PP
  30940. List all the files in \f[C]/mnt/storage/backup\f[R]
  30941. .IP
  30942. .nf
  30943. \f[C]
  30944. rclone ls remote:
  30945. \f[R]
  30946. .fi
  30947. .PP
  30948. Copy another local directory to the alias directory called source
  30949. .IP
  30950. .nf
  30951. \f[C]
  30952. rclone copy /home/source remote:source
  30953. \f[R]
  30954. .fi
  30955. .SS Standard options
  30956. .PP
  30957. Here are the Standard options specific to alias (Alias for an existing
  30958. remote).
  30959. .SS --alias-remote
  30960. .PP
  30961. Remote or path to alias.
  30962. .PP
  30963. Can be \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq],
  30964. \[dq]myremote:\[dq] or \[dq]/local/path\[dq].
  30965. .PP
  30966. Properties:
  30967. .IP \[bu] 2
  30968. Config: remote
  30969. .IP \[bu] 2
  30970. Env Var: RCLONE_ALIAS_REMOTE
  30971. .IP \[bu] 2
  30972. Type: string
  30973. .IP \[bu] 2
  30974. Required: true
  30975. .SS Advanced options
  30976. .PP
  30977. Here are the Advanced options specific to alias (Alias for an existing
  30978. remote).
  30979. .SS --alias-description
  30980. .PP
  30981. Description of the remote
  30982. .PP
  30983. Properties:
  30984. .IP \[bu] 2
  30985. Config: description
  30986. .IP \[bu] 2
  30987. Env Var: RCLONE_ALIAS_DESCRIPTION
  30988. .IP \[bu] 2
  30989. Type: string
  30990. .IP \[bu] 2
  30991. Required: false
  30992. .SH Amazon S3 Storage Providers
  30993. .PP
  30994. The S3 backend can be used with a number of different providers:
  30995. .IP \[bu] 2
  30996. AWS S3
  30997. .IP \[bu] 2
  30998. Alibaba Cloud (Aliyun) Object Storage System (OSS)
  30999. .IP \[bu] 2
  31000. Ceph
  31001. .IP \[bu] 2
  31002. China Mobile Ecloud Elastic Object Storage (EOS)
  31003. .IP \[bu] 2
  31004. Cloudflare R2
  31005. .IP \[bu] 2
  31006. Arvan Cloud Object Storage (AOS)
  31007. .IP \[bu] 2
  31008. DigitalOcean Spaces
  31009. .IP \[bu] 2
  31010. Dreamhost
  31011. .IP \[bu] 2
  31012. GCS
  31013. .IP \[bu] 2
  31014. Huawei OBS
  31015. .IP \[bu] 2
  31016. IBM COS S3
  31017. .IP \[bu] 2
  31018. IDrive e2
  31019. .IP \[bu] 2
  31020. IONOS Cloud
  31021. .IP \[bu] 2
  31022. Leviia Object Storage
  31023. .IP \[bu] 2
  31024. Liara Object Storage
  31025. .IP \[bu] 2
  31026. Linode Object Storage
  31027. .IP \[bu] 2
  31028. Minio
  31029. .IP \[bu] 2
  31030. Petabox
  31031. .IP \[bu] 2
  31032. Qiniu Cloud Object Storage (Kodo)
  31033. .IP \[bu] 2
  31034. RackCorp Object Storage
  31035. .IP \[bu] 2
  31036. Rclone Serve S3
  31037. .IP \[bu] 2
  31038. Scaleway
  31039. .IP \[bu] 2
  31040. Seagate Lyve Cloud
  31041. .IP \[bu] 2
  31042. SeaweedFS
  31043. .IP \[bu] 2
  31044. StackPath
  31045. .IP \[bu] 2
  31046. Storj
  31047. .IP \[bu] 2
  31048. Synology C2 Object Storage
  31049. .IP \[bu] 2
  31050. Tencent Cloud Object Storage (COS)
  31051. .IP \[bu] 2
  31052. Wasabi
  31053. .PP
  31054. Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for
  31055. the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g.
  31056. \f[C]remote:bucket/path/to/dir\f[R].
  31057. .PP
  31058. Once you have made a remote (see the provider specific section above)
  31059. you can use it like this:
  31060. .PP
  31061. See all buckets
  31062. .IP
  31063. .nf
  31064. \f[C]
  31065. rclone lsd remote:
  31066. \f[R]
  31067. .fi
  31068. .PP
  31069. Make a new bucket
  31070. .IP
  31071. .nf
  31072. \f[C]
  31073. rclone mkdir remote:bucket
  31074. \f[R]
  31075. .fi
  31076. .PP
  31077. List the contents of a bucket
  31078. .IP
  31079. .nf
  31080. \f[C]
  31081. rclone ls remote:bucket
  31082. \f[R]
  31083. .fi
  31084. .PP
  31085. Sync \f[C]/home/local/directory\f[R] to the remote bucket, deleting any
  31086. excess files in the bucket.
  31087. .IP
  31088. .nf
  31089. \f[C]
  31090. rclone sync --interactive /home/local/directory remote:bucket
  31091. \f[R]
  31092. .fi
  31093. .SS Configuration
  31094. .PP
  31095. Here is an example of making an s3 configuration for the AWS S3
  31096. provider.
  31097. Most applies to the other providers as well, any differences are
  31098. described below.
  31099. .PP
  31100. First run
  31101. .IP
  31102. .nf
  31103. \f[C]
  31104. rclone config
  31105. \f[R]
  31106. .fi
  31107. .PP
  31108. This will guide you through an interactive setup process.
  31109. .IP
  31110. .nf
  31111. \f[C]
  31112. No remotes found, make a new one?
  31113. n) New remote
  31114. s) Set configuration password
  31115. q) Quit config
  31116. n/s/q> n
  31117. name> remote
  31118. Type of storage to configure.
  31119. Choose a number from below, or type in your own value
  31120. [snip]
  31121. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  31122. \[rs] \[dq]s3\[dq]
  31123. [snip]
  31124. Storage> s3
  31125. Choose your S3 provider.
  31126. Choose a number from below, or type in your own value
  31127. 1 / Amazon Web Services (AWS) S3
  31128. \[rs] \[dq]AWS\[dq]
  31129. 2 / Ceph Object Storage
  31130. \[rs] \[dq]Ceph\[dq]
  31131. 3 / DigitalOcean Spaces
  31132. \[rs] \[dq]DigitalOcean\[dq]
  31133. 4 / Dreamhost DreamObjects
  31134. \[rs] \[dq]Dreamhost\[dq]
  31135. 5 / IBM COS S3
  31136. \[rs] \[dq]IBMCOS\[dq]
  31137. 6 / Minio Object Storage
  31138. \[rs] \[dq]Minio\[dq]
  31139. 7 / Wasabi Object Storage
  31140. \[rs] \[dq]Wasabi\[dq]
  31141. 8 / Any other S3 compatible provider
  31142. \[rs] \[dq]Other\[dq]
  31143. provider> 1
  31144. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
  31145. Choose a number from below, or type in your own value
  31146. 1 / Enter AWS credentials in the next step
  31147. \[rs] \[dq]false\[dq]
  31148. 2 / Get AWS credentials from the environment (env vars or IAM)
  31149. \[rs] \[dq]true\[dq]
  31150. env_auth> 1
  31151. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  31152. access_key_id> XXX
  31153. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  31154. secret_access_key> YYY
  31155. Region to connect to.
  31156. Choose a number from below, or type in your own value
  31157. / The default endpoint - a good choice if you are unsure.
  31158. 1 | US Region, Northern Virginia, or Pacific Northwest.
  31159. | Leave location constraint empty.
  31160. \[rs] \[dq]us-east-1\[dq]
  31161. / US East (Ohio) Region
  31162. 2 | Needs location constraint us-east-2.
  31163. \[rs] \[dq]us-east-2\[dq]
  31164. / US West (Oregon) Region
  31165. 3 | Needs location constraint us-west-2.
  31166. \[rs] \[dq]us-west-2\[dq]
  31167. / US West (Northern California) Region
  31168. 4 | Needs location constraint us-west-1.
  31169. \[rs] \[dq]us-west-1\[dq]
  31170. / Canada (Central) Region
  31171. 5 | Needs location constraint ca-central-1.
  31172. \[rs] \[dq]ca-central-1\[dq]
  31173. / EU (Ireland) Region
  31174. 6 | Needs location constraint EU or eu-west-1.
  31175. \[rs] \[dq]eu-west-1\[dq]
  31176. / EU (London) Region
  31177. 7 | Needs location constraint eu-west-2.
  31178. \[rs] \[dq]eu-west-2\[dq]
  31179. / EU (Frankfurt) Region
  31180. 8 | Needs location constraint eu-central-1.
  31181. \[rs] \[dq]eu-central-1\[dq]
  31182. / Asia Pacific (Singapore) Region
  31183. 9 | Needs location constraint ap-southeast-1.
  31184. \[rs] \[dq]ap-southeast-1\[dq]
  31185. / Asia Pacific (Sydney) Region
  31186. 10 | Needs location constraint ap-southeast-2.
  31187. \[rs] \[dq]ap-southeast-2\[dq]
  31188. / Asia Pacific (Tokyo) Region
  31189. 11 | Needs location constraint ap-northeast-1.
  31190. \[rs] \[dq]ap-northeast-1\[dq]
  31191. / Asia Pacific (Seoul)
  31192. 12 | Needs location constraint ap-northeast-2.
  31193. \[rs] \[dq]ap-northeast-2\[dq]
  31194. / Asia Pacific (Mumbai)
  31195. 13 | Needs location constraint ap-south-1.
  31196. \[rs] \[dq]ap-south-1\[dq]
  31197. / Asia Pacific (Hong Kong) Region
  31198. 14 | Needs location constraint ap-east-1.
  31199. \[rs] \[dq]ap-east-1\[dq]
  31200. / South America (Sao Paulo) Region
  31201. 15 | Needs location constraint sa-east-1.
  31202. \[rs] \[dq]sa-east-1\[dq]
  31203. region> 1
  31204. Endpoint for S3 API.
  31205. Leave blank if using AWS to use the default endpoint for the region.
  31206. endpoint>
  31207. Location constraint - must be set to match the Region. Used when creating buckets only.
  31208. Choose a number from below, or type in your own value
  31209. 1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
  31210. \[rs] \[dq]\[dq]
  31211. 2 / US East (Ohio) Region.
  31212. \[rs] \[dq]us-east-2\[dq]
  31213. 3 / US West (Oregon) Region.
  31214. \[rs] \[dq]us-west-2\[dq]
  31215. 4 / US West (Northern California) Region.
  31216. \[rs] \[dq]us-west-1\[dq]
  31217. 5 / Canada (Central) Region.
  31218. \[rs] \[dq]ca-central-1\[dq]
  31219. 6 / EU (Ireland) Region.
  31220. \[rs] \[dq]eu-west-1\[dq]
  31221. 7 / EU (London) Region.
  31222. \[rs] \[dq]eu-west-2\[dq]
  31223. 8 / EU Region.
  31224. \[rs] \[dq]EU\[dq]
  31225. 9 / Asia Pacific (Singapore) Region.
  31226. \[rs] \[dq]ap-southeast-1\[dq]
  31227. 10 / Asia Pacific (Sydney) Region.
  31228. \[rs] \[dq]ap-southeast-2\[dq]
  31229. 11 / Asia Pacific (Tokyo) Region.
  31230. \[rs] \[dq]ap-northeast-1\[dq]
  31231. 12 / Asia Pacific (Seoul)
  31232. \[rs] \[dq]ap-northeast-2\[dq]
  31233. 13 / Asia Pacific (Mumbai)
  31234. \[rs] \[dq]ap-south-1\[dq]
  31235. 14 / Asia Pacific (Hong Kong)
  31236. \[rs] \[dq]ap-east-1\[dq]
  31237. 15 / South America (Sao Paulo) Region.
  31238. \[rs] \[dq]sa-east-1\[dq]
  31239. location_constraint> 1
  31240. Canned ACL used when creating buckets and/or storing objects in S3.
  31241. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  31242. Choose a number from below, or type in your own value
  31243. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  31244. \[rs] \[dq]private\[dq]
  31245. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
  31246. \[rs] \[dq]public-read\[dq]
  31247. / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
  31248. 3 | Granting this on a bucket is generally not recommended.
  31249. \[rs] \[dq]public-read-write\[dq]
  31250. 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
  31251. \[rs] \[dq]authenticated-read\[dq]
  31252. / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
  31253. 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  31254. \[rs] \[dq]bucket-owner-read\[dq]
  31255. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  31256. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  31257. \[rs] \[dq]bucket-owner-full-control\[dq]
  31258. acl> 1
  31259. The server-side encryption algorithm used when storing this object in S3.
  31260. Choose a number from below, or type in your own value
  31261. 1 / None
  31262. \[rs] \[dq]\[dq]
  31263. 2 / AES256
  31264. \[rs] \[dq]AES256\[dq]
  31265. server_side_encryption> 1
  31266. The storage class to use when storing objects in S3.
  31267. Choose a number from below, or type in your own value
  31268. 1 / Default
  31269. \[rs] \[dq]\[dq]
  31270. 2 / Standard storage class
  31271. \[rs] \[dq]STANDARD\[dq]
  31272. 3 / Reduced redundancy storage class
  31273. \[rs] \[dq]REDUCED_REDUNDANCY\[dq]
  31274. 4 / Standard Infrequent Access storage class
  31275. \[rs] \[dq]STANDARD_IA\[dq]
  31276. 5 / One Zone Infrequent Access storage class
  31277. \[rs] \[dq]ONEZONE_IA\[dq]
  31278. 6 / Glacier storage class
  31279. \[rs] \[dq]GLACIER\[dq]
  31280. 7 / Glacier Deep Archive storage class
  31281. \[rs] \[dq]DEEP_ARCHIVE\[dq]
  31282. 8 / Intelligent-Tiering storage class
  31283. \[rs] \[dq]INTELLIGENT_TIERING\[dq]
  31284. 9 / Glacier Instant Retrieval storage class
  31285. \[rs] \[dq]GLACIER_IR\[dq]
  31286. storage_class> 1
  31287. Remote config
  31288. --------------------
  31289. [remote]
  31290. type = s3
  31291. provider = AWS
  31292. env_auth = false
  31293. access_key_id = XXX
  31294. secret_access_key = YYY
  31295. region = us-east-1
  31296. endpoint =
  31297. location_constraint =
  31298. acl = private
  31299. server_side_encryption =
  31300. storage_class =
  31301. --------------------
  31302. y) Yes this is OK
  31303. e) Edit this remote
  31304. d) Delete this remote
  31305. y/e/d>
  31306. \f[R]
  31307. .fi
  31308. .SS Modification times and hashes
  31309. .SS Modification times
  31310. .PP
  31311. The modified time is stored as metadata on the object as
  31312. \f[C]X-Amz-Meta-Mtime\f[R] as floating point since the epoch, accurate
  31313. to 1 ns.
  31314. .PP
  31315. If the modification time needs to be updated rclone will attempt to
  31316. perform a server side copy to update the modification if the object can
  31317. be copied in a single part.
  31318. In the case the object is larger than 5Gb or is in Glacier or Glacier
  31319. Deep Archive storage the object will be uploaded rather than copied.
  31320. .PP
  31321. Note that reading this from the object takes an additional
  31322. \f[C]HEAD\f[R] request as the metadata isn\[aq]t returned in object
  31323. listings.
  31324. .SS Hashes
  31325. .PP
  31326. For small objects which weren\[aq]t uploaded as multipart uploads
  31327. (objects sized below \f[C]--s3-upload-cutoff\f[R] if uploaded with
  31328. rclone) rclone uses the \f[C]ETag:\f[R] header as an MD5 checksum.
  31329. .PP
  31330. However for objects which were uploaded as multipart uploads or with
  31331. server side encryption (SSE-AWS or SSE-C) the \f[C]ETag\f[R] header is
  31332. no longer the MD5 sum of the data, so rclone adds an additional piece of
  31333. metadata \f[C]X-Amz-Meta-Md5chksum\f[R] which is a base64 encoded MD5
  31334. hash (in the same format as is required for \f[C]Content-MD5\f[R]).
  31335. You can use base64 -d and hexdump to check this value manually:
  31336. .IP
  31337. .nf
  31338. \f[C]
  31339. echo \[aq]VWTGdNx3LyXQDfA0e2Edxw==\[aq] | base64 -d | hexdump
  31340. \f[R]
  31341. .fi
  31342. .PP
  31343. or you can use \f[C]rclone check\f[R] to verify the hashes are OK.
  31344. .PP
  31345. For large objects, calculating this hash can take some time so the
  31346. addition of this hash can be disabled with
  31347. \f[C]--s3-disable-checksum\f[R].
  31348. This will mean that these objects do not have an MD5 checksum.
  31349. .PP
  31350. Note that reading this from the object takes an additional
  31351. \f[C]HEAD\f[R] request as the metadata isn\[aq]t returned in object
  31352. listings.
  31353. .SS Reducing costs
  31354. .SS Avoiding HEAD requests to read the modification time
  31355. .PP
  31356. By default, rclone will use the modification time of objects stored in
  31357. S3 for syncing.
  31358. This is stored in object metadata which unfortunately takes an extra
  31359. HEAD request to read which can be expensive (in time and money).
  31360. .PP
  31361. The modification time is used by default for all operations that require
  31362. checking the time a file was last updated.
  31363. It allows rclone to treat the remote more like a true filesystem, but it
  31364. is inefficient on S3 because it requires an extra API call to retrieve
  31365. the metadata.
  31366. .PP
  31367. The extra API calls can be avoided when syncing (using
  31368. \f[C]rclone sync\f[R] or \f[C]rclone copy\f[R]) in a few different ways,
  31369. each with its own tradeoffs.
  31370. .IP \[bu] 2
  31371. \f[C]--size-only\f[R]
  31372. .RS 2
  31373. .IP \[bu] 2
  31374. Only checks the size of files.
  31375. .IP \[bu] 2
  31376. Uses no extra transactions.
  31377. .IP \[bu] 2
  31378. If the file doesn\[aq]t change size then rclone won\[aq]t detect it has
  31379. changed.
  31380. .IP \[bu] 2
  31381. \f[C]rclone sync --size-only /path/to/source s3:bucket\f[R]
  31382. .RE
  31383. .IP \[bu] 2
  31384. \f[C]--checksum\f[R]
  31385. .RS 2
  31386. .IP \[bu] 2
  31387. Checks the size and MD5 checksum of files.
  31388. .IP \[bu] 2
  31389. Uses no extra transactions.
  31390. .IP \[bu] 2
  31391. The most accurate detection of changes possible.
  31392. .IP \[bu] 2
  31393. Will cause the source to read an MD5 checksum which, if it is a local
  31394. disk, will cause lots of disk activity.
  31395. .IP \[bu] 2
  31396. If the source and destination are both S3 this is the
  31397. \f[B]recommended\f[R] flag to use for maximum efficiency.
  31398. .IP \[bu] 2
  31399. \f[C]rclone sync --checksum /path/to/source s3:bucket\f[R]
  31400. .RE
  31401. .IP \[bu] 2
  31402. \f[C]--update --use-server-modtime\f[R]
  31403. .RS 2
  31404. .IP \[bu] 2
  31405. Uses no extra transactions.
  31406. .IP \[bu] 2
  31407. Modification time becomes the time the object was uploaded.
  31408. .IP \[bu] 2
  31409. For many operations this is sufficient to determine if it needs
  31410. uploading.
  31411. .IP \[bu] 2
  31412. Using \f[C]--update\f[R] along with \f[C]--use-server-modtime\f[R],
  31413. avoids the extra API call and uploads files whose local modification
  31414. time is newer than the time it was last uploaded.
  31415. .IP \[bu] 2
  31416. Files created with timestamps in the past will be missed by the sync.
  31417. .IP \[bu] 2
  31418. \f[C]rclone sync --update --use-server-modtime /path/to/source s3:bucket\f[R]
  31419. .RE
  31420. .PP
  31421. These flags can and should be used in combination with
  31422. \f[C]--fast-list\f[R] - see below.
  31423. .PP
  31424. If using \f[C]rclone mount\f[R] or any command using the VFS (eg
  31425. \f[C]rclone serve\f[R]) commands then you might want to consider using
  31426. the VFS flag \f[C]--no-modtime\f[R] which will stop rclone reading the
  31427. modification time for every object.
  31428. You could also use \f[C]--use-server-modtime\f[R] if you are happy with
  31429. the modification times of the objects being the time of upload.
  31430. .SS Avoiding GET requests to read directory listings
  31431. .PP
  31432. Rclone\[aq]s default directory traversal is to process each directory
  31433. individually.
  31434. This takes one API call per directory.
  31435. Using the \f[C]--fast-list\f[R] flag will read all info about the
  31436. objects into memory first using a smaller number of API calls (one per
  31437. 1000 objects).
  31438. See the rclone docs (https://rclone.org/docs/#fast-list) for more
  31439. details.
  31440. .IP
  31441. .nf
  31442. \f[C]
  31443. rclone sync --fast-list --checksum /path/to/source s3:bucket
  31444. \f[R]
  31445. .fi
  31446. .PP
  31447. \f[C]--fast-list\f[R] trades off API transactions for memory use.
  31448. As a rough guide rclone uses 1k of memory per object stored, so using
  31449. \f[C]--fast-list\f[R] on a sync of a million objects will use roughly 1
  31450. GiB of RAM.
  31451. .PP
  31452. If you are only copying a small number of files into a big repository
  31453. then using \f[C]--no-traverse\f[R] is a good idea.
  31454. This finds objects directly instead of through directory listings.
  31455. You can do a \[dq]top-up\[dq] sync very cheaply by using
  31456. \f[C]--max-age\f[R] and \f[C]--no-traverse\f[R] to copy only recent
  31457. files, eg
  31458. .IP
  31459. .nf
  31460. \f[C]
  31461. rclone copy --max-age 24h --no-traverse /path/to/source s3:bucket
  31462. \f[R]
  31463. .fi
  31464. .PP
  31465. You\[aq]d then do a full \f[C]rclone sync\f[R] less often.
  31466. .PP
  31467. Note that \f[C]--fast-list\f[R] isn\[aq]t required in the top-up sync.
  31468. .SS Avoiding HEAD requests after PUT
  31469. .PP
  31470. By default, rclone will HEAD every object it uploads.
  31471. It does this to check the object got uploaded correctly.
  31472. .PP
  31473. You can disable this with the --s3-no-head option - see there for more
  31474. details.
  31475. .PP
  31476. Setting this flag increases the chance for undetected upload failures.
  31477. .SS Versions
  31478. .PP
  31479. When bucket versioning is enabled (this can be done with rclone with the
  31480. \f[C]rclone backend versioning\f[R] command) when rclone uploads a new
  31481. version of a file it creates a new version of
  31482. it (https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html)
  31483. Likewise when you delete a file, the old version will be marked hidden
  31484. and still be available.
  31485. .PP
  31486. Old versions of files, where available, are visible using the
  31487. \f[C]--s3-versions\f[R] flag.
  31488. .PP
  31489. It is also possible to view a bucket as it was at a certain point in
  31490. time, using the \f[C]--s3-version-at\f[R] flag.
  31491. This will show the file versions as they were at that time, showing
  31492. files that have been deleted afterwards, and hiding files that were
  31493. created since.
  31494. .PP
  31495. If you wish to remove all the old versions then you can use the
  31496. \f[C]rclone backend cleanup-hidden remote:bucket\f[R] command which will
  31497. delete all the old hidden versions of files, leaving the current ones
  31498. intact.
  31499. You can also supply a path and only old versions under that path will be
  31500. deleted, e.g.
  31501. \f[C]rclone backend cleanup-hidden remote:bucket/path/to/stuff\f[R].
  31502. .PP
  31503. When you \f[C]purge\f[R] a bucket, the current and the old versions will
  31504. be deleted then the bucket will be deleted.
  31505. .PP
  31506. However \f[C]delete\f[R] will cause the current versions of the files to
  31507. become hidden old versions.
  31508. .PP
  31509. Here is a session showing the listing and retrieval of an old version
  31510. followed by a \f[C]cleanup\f[R] of the old versions.
  31511. .PP
  31512. Show current version and all the versions with \f[C]--s3-versions\f[R]
  31513. flag.
  31514. .IP
  31515. .nf
  31516. \f[C]
  31517. $ rclone -q ls s3:cleanup-test
  31518. 9 one.txt
  31519. $ rclone -q --s3-versions ls s3:cleanup-test
  31520. 9 one.txt
  31521. 8 one-v2016-07-04-141032-000.txt
  31522. 16 one-v2016-07-04-141003-000.txt
  31523. 15 one-v2016-07-02-155621-000.txt
  31524. \f[R]
  31525. .fi
  31526. .PP
  31527. Retrieve an old version
  31528. .IP
  31529. .nf
  31530. \f[C]
  31531. $ rclone -q --s3-versions copy s3:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
  31532. $ ls -l /tmp/one-v2016-07-04-141003-000.txt
  31533. -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
  31534. \f[R]
  31535. .fi
  31536. .PP
  31537. Clean up all the old versions and show that they\[aq]ve gone.
  31538. .IP
  31539. .nf
  31540. \f[C]
  31541. $ rclone -q backend cleanup-hidden s3:cleanup-test
  31542. $ rclone -q ls s3:cleanup-test
  31543. 9 one.txt
  31544. $ rclone -q --s3-versions ls s3:cleanup-test
  31545. 9 one.txt
  31546. \f[R]
  31547. .fi
  31548. .SS Versions naming caveat
  31549. .PP
  31550. When using \f[C]--s3-versions\f[R] flag rclone is relying on the file
  31551. name to work out whether the objects are versions or not.
  31552. Versions\[aq] names are created by inserting timestamp between file name
  31553. and its extension.
  31554. .IP
  31555. .nf
  31556. \f[C]
  31557. 9 file.txt
  31558. 8 file-v2023-07-17-161032-000.txt
  31559. 16 file-v2023-06-15-141003-000.txt
  31560. \f[R]
  31561. .fi
  31562. .PP
  31563. If there are real files present with the same names as versions, then
  31564. behaviour of \f[C]--s3-versions\f[R] can be unpredictable.
  31565. .SS Cleanup
  31566. .PP
  31567. If you run \f[C]rclone cleanup s3:bucket\f[R] then it will remove all
  31568. pending multipart uploads older than 24 hours.
  31569. You can use the \f[C]--interactive\f[R]/\f[C]i\f[R] or
  31570. \f[C]--dry-run\f[R] flag to see exactly what it will do.
  31571. If you want more control over the expiry date then run
  31572. \f[C]rclone backend cleanup s3:bucket -o max-age=1h\f[R] to expire all
  31573. uploads older than one hour.
  31574. You can use \f[C]rclone backend list-multipart-uploads s3:bucket\f[R] to
  31575. see the pending multipart uploads.
  31576. .SS Restricted filename characters
  31577. .PP
  31578. S3 allows any valid UTF-8 string as a key.
  31579. .PP
  31580. Invalid UTF-8 bytes will be
  31581. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  31582. be used in XML.
  31583. .PP
  31584. The following characters are replaced since these are problematic when
  31585. dealing with the REST API:
  31586. .PP
  31587. .TS
  31588. tab(@);
  31589. l c c.
  31590. T{
  31591. Character
  31592. T}@T{
  31593. Value
  31594. T}@T{
  31595. Replacement
  31596. T}
  31597. _
  31598. T{
  31599. NUL
  31600. T}@T{
  31601. 0x00
  31602. T}@T{
  31603. \[u2400]
  31604. T}
  31605. T{
  31606. /
  31607. T}@T{
  31608. 0x2F
  31609. T}@T{
  31610. \[uFF0F]
  31611. T}
  31612. .TE
  31613. .PP
  31614. The encoding will also encode these file names as they don\[aq]t seem to
  31615. work with the SDK properly:
  31616. .PP
  31617. .TS
  31618. tab(@);
  31619. l c.
  31620. T{
  31621. File name
  31622. T}@T{
  31623. Replacement
  31624. T}
  31625. _
  31626. T{
  31627. \&.
  31628. T}@T{
  31629. \[uFF0E]
  31630. T}
  31631. T{
  31632. \&..
  31633. T}@T{
  31634. \[uFF0E]\[uFF0E]
  31635. T}
  31636. .TE
  31637. .SS Multipart uploads
  31638. .PP
  31639. rclone supports multipart uploads with S3 which means that it can upload
  31640. files bigger than 5 GiB.
  31641. .PP
  31642. Note that files uploaded \f[I]both\f[R] with multipart upload
  31643. \f[I]and\f[R] through crypt remotes do not have MD5 sums.
  31644. .PP
  31645. rclone switches from single part uploads to multipart uploads at the
  31646. point specified by \f[C]--s3-upload-cutoff\f[R].
  31647. This can be a maximum of 5 GiB and a minimum of 0 (ie always upload
  31648. multipart files).
  31649. .PP
  31650. The chunk sizes used in the multipart upload are specified by
  31651. \f[C]--s3-chunk-size\f[R] and the number of chunks uploaded concurrently
  31652. is specified by \f[C]--s3-upload-concurrency\f[R].
  31653. .PP
  31654. Multipart uploads will use \f[C]--transfers\f[R] *
  31655. \f[C]--s3-upload-concurrency\f[R] * \f[C]--s3-chunk-size\f[R] extra
  31656. memory.
  31657. Single part uploads to not use extra memory.
  31658. .PP
  31659. Single part transfers can be faster than multipart transfers or slower
  31660. depending on your latency from S3 - the more latency, the more likely
  31661. single part transfers will be faster.
  31662. .PP
  31663. Increasing \f[C]--s3-upload-concurrency\f[R] will increase throughput (8
  31664. would be a sensible value) and increasing \f[C]--s3-chunk-size\f[R] also
  31665. increases throughput (16M would be sensible).
  31666. Increasing either of these will use more memory.
  31667. The default values are high enough to gain most of the possible
  31668. performance without using too much memory.
  31669. .SS Buckets and Regions
  31670. .PP
  31671. With Amazon S3 you can list buckets (\f[C]rclone lsd\f[R]) using any
  31672. region, but you can only access the content of a bucket from the region
  31673. it was created in.
  31674. If you attempt to access a bucket from the wrong region, you will get an
  31675. error,
  31676. \f[C]incorrect region, the bucket is not in \[aq]XXX\[aq] region\f[R].
  31677. .SS Authentication
  31678. .PP
  31679. There are a number of ways to supply \f[C]rclone\f[R] with a set of AWS
  31680. credentials, with and without using the environment.
  31681. .PP
  31682. The different authentication methods are tried in this order:
  31683. .IP \[bu] 2
  31684. Directly in the rclone configuration file (\f[C]env_auth = false\f[R] in
  31685. the config file):
  31686. .RS 2
  31687. .IP \[bu] 2
  31688. \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R] are required.
  31689. .IP \[bu] 2
  31690. \f[C]session_token\f[R] can be optionally set when using AWS STS.
  31691. .RE
  31692. .IP \[bu] 2
  31693. Runtime configuration (\f[C]env_auth = true\f[R] in the config file):
  31694. .RS 2
  31695. .IP \[bu] 2
  31696. Export the following environment variables before running
  31697. \f[C]rclone\f[R]:
  31698. .RS 2
  31699. .IP \[bu] 2
  31700. Access Key ID: \f[C]AWS_ACCESS_KEY_ID\f[R] or \f[C]AWS_ACCESS_KEY\f[R]
  31701. .IP \[bu] 2
  31702. Secret Access Key: \f[C]AWS_SECRET_ACCESS_KEY\f[R] or
  31703. \f[C]AWS_SECRET_KEY\f[R]
  31704. .IP \[bu] 2
  31705. Session Token: \f[C]AWS_SESSION_TOKEN\f[R] (optional)
  31706. .RE
  31707. .IP \[bu] 2
  31708. Or, use a named
  31709. profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html):
  31710. .RS 2
  31711. .IP \[bu] 2
  31712. Profile files are standard files used by AWS CLI tools
  31713. .IP \[bu] 2
  31714. By default it will use the profile in your home directory (e.g.
  31715. \f[C]\[ti]/.aws/credentials\f[R] on unix based systems) file and the
  31716. \[dq]default\[dq] profile, to change set these environment variables:
  31717. .RS 2
  31718. .IP \[bu] 2
  31719. \f[C]AWS_SHARED_CREDENTIALS_FILE\f[R] to control which file.
  31720. .IP \[bu] 2
  31721. \f[C]AWS_PROFILE\f[R] to control which profile to use.
  31722. .RE
  31723. .RE
  31724. .IP \[bu] 2
  31725. Or, run \f[C]rclone\f[R] in an ECS task with an IAM role (AWS only).
  31726. .IP \[bu] 2
  31727. Or, run \f[C]rclone\f[R] on an EC2 instance with an IAM role (AWS only).
  31728. .IP \[bu] 2
  31729. Or, run \f[C]rclone\f[R] in an EKS pod with an IAM role that is
  31730. associated with a service account (AWS only).
  31731. .RE
  31732. .PP
  31733. If none of these option actually end up providing \f[C]rclone\f[R] with
  31734. AWS credentials then S3 interaction will be non-authenticated (see
  31735. below).
  31736. .SS S3 Permissions
  31737. .PP
  31738. When using the \f[C]sync\f[R] subcommand of \f[C]rclone\f[R] the
  31739. following minimum permissions are required to be available on the bucket
  31740. being written to:
  31741. .IP \[bu] 2
  31742. \f[C]ListBucket\f[R]
  31743. .IP \[bu] 2
  31744. \f[C]DeleteObject\f[R]
  31745. .IP \[bu] 2
  31746. \f[C]GetObject\f[R]
  31747. .IP \[bu] 2
  31748. \f[C]PutObject\f[R]
  31749. .IP \[bu] 2
  31750. \f[C]PutObjectACL\f[R]
  31751. .IP \[bu] 2
  31752. \f[C]CreateBucket\f[R] (unless using s3-no-check-bucket)
  31753. .PP
  31754. When using the \f[C]lsd\f[R] subcommand, the \f[C]ListAllMyBuckets\f[R]
  31755. permission is required.
  31756. .PP
  31757. Example policy:
  31758. .IP
  31759. .nf
  31760. \f[C]
  31761. {
  31762. \[dq]Version\[dq]: \[dq]2012-10-17\[dq],
  31763. \[dq]Statement\[dq]: [
  31764. {
  31765. \[dq]Effect\[dq]: \[dq]Allow\[dq],
  31766. \[dq]Principal\[dq]: {
  31767. \[dq]AWS\[dq]: \[dq]arn:aws:iam::USER_SID:user/USER_NAME\[dq]
  31768. },
  31769. \[dq]Action\[dq]: [
  31770. \[dq]s3:ListBucket\[dq],
  31771. \[dq]s3:DeleteObject\[dq],
  31772. \[dq]s3:GetObject\[dq],
  31773. \[dq]s3:PutObject\[dq],
  31774. \[dq]s3:PutObjectAcl\[dq]
  31775. ],
  31776. \[dq]Resource\[dq]: [
  31777. \[dq]arn:aws:s3:::BUCKET_NAME/*\[dq],
  31778. \[dq]arn:aws:s3:::BUCKET_NAME\[dq]
  31779. ]
  31780. },
  31781. {
  31782. \[dq]Effect\[dq]: \[dq]Allow\[dq],
  31783. \[dq]Action\[dq]: \[dq]s3:ListAllMyBuckets\[dq],
  31784. \[dq]Resource\[dq]: \[dq]arn:aws:s3:::*\[dq]
  31785. }
  31786. ]
  31787. }
  31788. \f[R]
  31789. .fi
  31790. .PP
  31791. Notes on above:
  31792. .IP "1." 3
  31793. This is a policy that can be used when creating bucket.
  31794. It assumes that \f[C]USER_NAME\f[R] has been created.
  31795. .IP "2." 3
  31796. The Resource entry must include both resource ARNs, as one implies the
  31797. bucket and the other implies the bucket\[aq]s objects.
  31798. .IP "3." 3
  31799. When using s3-no-check-bucket and the bucket already exsits, the
  31800. \f[C]\[dq]arn:aws:s3:::BUCKET_NAME\[dq]\f[R] doesn\[aq]t have to be
  31801. included.
  31802. .PP
  31803. For reference, here\[aq]s an Ansible
  31804. script (https://gist.github.com/ebridges/ebfc9042dd7c756cd101cfa807b7ae2b)
  31805. that will generate one or more buckets that will work with
  31806. \f[C]rclone sync\f[R].
  31807. .SS Key Management System (KMS)
  31808. .PP
  31809. If you are using server-side encryption with KMS then you must make sure
  31810. rclone is configured with \f[C]server_side_encryption = aws:kms\f[R]
  31811. otherwise you will find you can\[aq]t transfer small objects - these
  31812. will create checksum errors.
  31813. .SS Glacier and Glacier Deep Archive
  31814. .PP
  31815. You can upload objects using the glacier storage class or transition
  31816. them to glacier using a lifecycle
  31817. policy (http://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html).
  31818. The bucket can still be synced or copied into normally, but if rclone
  31819. tries to access data from the glacier storage class you will see an
  31820. error like below.
  31821. .IP
  31822. .nf
  31823. \f[C]
  31824. 2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file
  31825. \f[R]
  31826. .fi
  31827. .PP
  31828. In this case you need to
  31829. restore (http://docs.aws.amazon.com/AmazonS3/latest/user-guide/restore-archived-objects.html)
  31830. the object(s) in question before using rclone.
  31831. .PP
  31832. Note that rclone only speaks the S3 API it does not speak the Glacier
  31833. Vault API, so rclone cannot directly access Glacier Vaults.
  31834. .SS Object-lock enabled S3 bucket
  31835. .PP
  31836. According to AWS\[aq]s documentation on S3 Object
  31837. Lock (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-permission):
  31838. .RS
  31839. .PP
  31840. If you configure a default retention period on a bucket, requests to
  31841. upload objects in such a bucket must include the Content-MD5 header.
  31842. .RE
  31843. .PP
  31844. As mentioned in the Modification times and hashes section, small files
  31845. that are not uploaded as multipart, use a different tag, causing the
  31846. upload to fail.
  31847. A simple solution is to set the \f[C]--s3-upload-cutoff 0\f[R] and force
  31848. all the files to be uploaded as multipart.
  31849. .SS Standard options
  31850. .PP
  31851. Here are the Standard options specific to s3 (Amazon S3 Compliant
  31852. Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile,
  31853. Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive,
  31854. IONOS, LyveCloud, Leviia, Liara, Linode, Minio, Netease, Petabox,
  31855. RackCorp, Rclone, Scaleway, SeaweedFS, StackPath, Storj, Synology,
  31856. TencentCOS, Wasabi, Qiniu and others).
  31857. .SS --s3-provider
  31858. .PP
  31859. Choose your S3 provider.
  31860. .PP
  31861. Properties:
  31862. .IP \[bu] 2
  31863. Config: provider
  31864. .IP \[bu] 2
  31865. Env Var: RCLONE_S3_PROVIDER
  31866. .IP \[bu] 2
  31867. Type: string
  31868. .IP \[bu] 2
  31869. Required: false
  31870. .IP \[bu] 2
  31871. Examples:
  31872. .RS 2
  31873. .IP \[bu] 2
  31874. \[dq]AWS\[dq]
  31875. .RS 2
  31876. .IP \[bu] 2
  31877. Amazon Web Services (AWS) S3
  31878. .RE
  31879. .IP \[bu] 2
  31880. \[dq]Alibaba\[dq]
  31881. .RS 2
  31882. .IP \[bu] 2
  31883. Alibaba Cloud Object Storage System (OSS) formerly Aliyun
  31884. .RE
  31885. .IP \[bu] 2
  31886. \[dq]ArvanCloud\[dq]
  31887. .RS 2
  31888. .IP \[bu] 2
  31889. Arvan Cloud Object Storage (AOS)
  31890. .RE
  31891. .IP \[bu] 2
  31892. \[dq]Ceph\[dq]
  31893. .RS 2
  31894. .IP \[bu] 2
  31895. Ceph Object Storage
  31896. .RE
  31897. .IP \[bu] 2
  31898. \[dq]ChinaMobile\[dq]
  31899. .RS 2
  31900. .IP \[bu] 2
  31901. China Mobile Ecloud Elastic Object Storage (EOS)
  31902. .RE
  31903. .IP \[bu] 2
  31904. \[dq]Cloudflare\[dq]
  31905. .RS 2
  31906. .IP \[bu] 2
  31907. Cloudflare R2 Storage
  31908. .RE
  31909. .IP \[bu] 2
  31910. \[dq]DigitalOcean\[dq]
  31911. .RS 2
  31912. .IP \[bu] 2
  31913. DigitalOcean Spaces
  31914. .RE
  31915. .IP \[bu] 2
  31916. \[dq]Dreamhost\[dq]
  31917. .RS 2
  31918. .IP \[bu] 2
  31919. Dreamhost DreamObjects
  31920. .RE
  31921. .IP \[bu] 2
  31922. \[dq]GCS\[dq]
  31923. .RS 2
  31924. .IP \[bu] 2
  31925. Google Cloud Storage
  31926. .RE
  31927. .IP \[bu] 2
  31928. \[dq]HuaweiOBS\[dq]
  31929. .RS 2
  31930. .IP \[bu] 2
  31931. Huawei Object Storage Service
  31932. .RE
  31933. .IP \[bu] 2
  31934. \[dq]IBMCOS\[dq]
  31935. .RS 2
  31936. .IP \[bu] 2
  31937. IBM COS S3
  31938. .RE
  31939. .IP \[bu] 2
  31940. \[dq]IDrive\[dq]
  31941. .RS 2
  31942. .IP \[bu] 2
  31943. IDrive e2
  31944. .RE
  31945. .IP \[bu] 2
  31946. \[dq]IONOS\[dq]
  31947. .RS 2
  31948. .IP \[bu] 2
  31949. IONOS Cloud
  31950. .RE
  31951. .IP \[bu] 2
  31952. \[dq]LyveCloud\[dq]
  31953. .RS 2
  31954. .IP \[bu] 2
  31955. Seagate Lyve Cloud
  31956. .RE
  31957. .IP \[bu] 2
  31958. \[dq]Leviia\[dq]
  31959. .RS 2
  31960. .IP \[bu] 2
  31961. Leviia Object Storage
  31962. .RE
  31963. .IP \[bu] 2
  31964. \[dq]Liara\[dq]
  31965. .RS 2
  31966. .IP \[bu] 2
  31967. Liara Object Storage
  31968. .RE
  31969. .IP \[bu] 2
  31970. \[dq]Linode\[dq]
  31971. .RS 2
  31972. .IP \[bu] 2
  31973. Linode Object Storage
  31974. .RE
  31975. .IP \[bu] 2
  31976. \[dq]Minio\[dq]
  31977. .RS 2
  31978. .IP \[bu] 2
  31979. Minio Object Storage
  31980. .RE
  31981. .IP \[bu] 2
  31982. \[dq]Netease\[dq]
  31983. .RS 2
  31984. .IP \[bu] 2
  31985. Netease Object Storage (NOS)
  31986. .RE
  31987. .IP \[bu] 2
  31988. \[dq]Petabox\[dq]
  31989. .RS 2
  31990. .IP \[bu] 2
  31991. Petabox Object Storage
  31992. .RE
  31993. .IP \[bu] 2
  31994. \[dq]RackCorp\[dq]
  31995. .RS 2
  31996. .IP \[bu] 2
  31997. RackCorp Object Storage
  31998. .RE
  31999. .IP \[bu] 2
  32000. \[dq]Rclone\[dq]
  32001. .RS 2
  32002. .IP \[bu] 2
  32003. Rclone S3 Server
  32004. .RE
  32005. .IP \[bu] 2
  32006. \[dq]Scaleway\[dq]
  32007. .RS 2
  32008. .IP \[bu] 2
  32009. Scaleway Object Storage
  32010. .RE
  32011. .IP \[bu] 2
  32012. \[dq]SeaweedFS\[dq]
  32013. .RS 2
  32014. .IP \[bu] 2
  32015. SeaweedFS S3
  32016. .RE
  32017. .IP \[bu] 2
  32018. \[dq]StackPath\[dq]
  32019. .RS 2
  32020. .IP \[bu] 2
  32021. StackPath Object Storage
  32022. .RE
  32023. .IP \[bu] 2
  32024. \[dq]Storj\[dq]
  32025. .RS 2
  32026. .IP \[bu] 2
  32027. Storj (S3 Compatible Gateway)
  32028. .RE
  32029. .IP \[bu] 2
  32030. \[dq]Synology\[dq]
  32031. .RS 2
  32032. .IP \[bu] 2
  32033. Synology C2 Object Storage
  32034. .RE
  32035. .IP \[bu] 2
  32036. \[dq]TencentCOS\[dq]
  32037. .RS 2
  32038. .IP \[bu] 2
  32039. Tencent Cloud Object Storage (COS)
  32040. .RE
  32041. .IP \[bu] 2
  32042. \[dq]Wasabi\[dq]
  32043. .RS 2
  32044. .IP \[bu] 2
  32045. Wasabi Object Storage
  32046. .RE
  32047. .IP \[bu] 2
  32048. \[dq]Qiniu\[dq]
  32049. .RS 2
  32050. .IP \[bu] 2
  32051. Qiniu Object Storage (Kodo)
  32052. .RE
  32053. .IP \[bu] 2
  32054. \[dq]Other\[dq]
  32055. .RS 2
  32056. .IP \[bu] 2
  32057. Any other S3 compatible provider
  32058. .RE
  32059. .RE
  32060. .SS --s3-env-auth
  32061. .PP
  32062. Get AWS credentials from runtime (environment variables or EC2/ECS meta
  32063. data if no env vars).
  32064. .PP
  32065. Only applies if access_key_id and secret_access_key is blank.
  32066. .PP
  32067. Properties:
  32068. .IP \[bu] 2
  32069. Config: env_auth
  32070. .IP \[bu] 2
  32071. Env Var: RCLONE_S3_ENV_AUTH
  32072. .IP \[bu] 2
  32073. Type: bool
  32074. .IP \[bu] 2
  32075. Default: false
  32076. .IP \[bu] 2
  32077. Examples:
  32078. .RS 2
  32079. .IP \[bu] 2
  32080. \[dq]false\[dq]
  32081. .RS 2
  32082. .IP \[bu] 2
  32083. Enter AWS credentials in the next step.
  32084. .RE
  32085. .IP \[bu] 2
  32086. \[dq]true\[dq]
  32087. .RS 2
  32088. .IP \[bu] 2
  32089. Get AWS credentials from the environment (env vars or IAM).
  32090. .RE
  32091. .RE
  32092. .SS --s3-access-key-id
  32093. .PP
  32094. AWS Access Key ID.
  32095. .PP
  32096. Leave blank for anonymous access or runtime credentials.
  32097. .PP
  32098. Properties:
  32099. .IP \[bu] 2
  32100. Config: access_key_id
  32101. .IP \[bu] 2
  32102. Env Var: RCLONE_S3_ACCESS_KEY_ID
  32103. .IP \[bu] 2
  32104. Type: string
  32105. .IP \[bu] 2
  32106. Required: false
  32107. .SS --s3-secret-access-key
  32108. .PP
  32109. AWS Secret Access Key (password).
  32110. .PP
  32111. Leave blank for anonymous access or runtime credentials.
  32112. .PP
  32113. Properties:
  32114. .IP \[bu] 2
  32115. Config: secret_access_key
  32116. .IP \[bu] 2
  32117. Env Var: RCLONE_S3_SECRET_ACCESS_KEY
  32118. .IP \[bu] 2
  32119. Type: string
  32120. .IP \[bu] 2
  32121. Required: false
  32122. .SS --s3-region
  32123. .PP
  32124. Region to connect to.
  32125. .PP
  32126. Properties:
  32127. .IP \[bu] 2
  32128. Config: region
  32129. .IP \[bu] 2
  32130. Env Var: RCLONE_S3_REGION
  32131. .IP \[bu] 2
  32132. Provider: AWS
  32133. .IP \[bu] 2
  32134. Type: string
  32135. .IP \[bu] 2
  32136. Required: false
  32137. .IP \[bu] 2
  32138. Examples:
  32139. .RS 2
  32140. .IP \[bu] 2
  32141. \[dq]us-east-1\[dq]
  32142. .RS 2
  32143. .IP \[bu] 2
  32144. The default endpoint - a good choice if you are unsure.
  32145. .IP \[bu] 2
  32146. US Region, Northern Virginia, or Pacific Northwest.
  32147. .IP \[bu] 2
  32148. Leave location constraint empty.
  32149. .RE
  32150. .IP \[bu] 2
  32151. \[dq]us-east-2\[dq]
  32152. .RS 2
  32153. .IP \[bu] 2
  32154. US East (Ohio) Region.
  32155. .IP \[bu] 2
  32156. Needs location constraint us-east-2.
  32157. .RE
  32158. .IP \[bu] 2
  32159. \[dq]us-west-1\[dq]
  32160. .RS 2
  32161. .IP \[bu] 2
  32162. US West (Northern California) Region.
  32163. .IP \[bu] 2
  32164. Needs location constraint us-west-1.
  32165. .RE
  32166. .IP \[bu] 2
  32167. \[dq]us-west-2\[dq]
  32168. .RS 2
  32169. .IP \[bu] 2
  32170. US West (Oregon) Region.
  32171. .IP \[bu] 2
  32172. Needs location constraint us-west-2.
  32173. .RE
  32174. .IP \[bu] 2
  32175. \[dq]ca-central-1\[dq]
  32176. .RS 2
  32177. .IP \[bu] 2
  32178. Canada (Central) Region.
  32179. .IP \[bu] 2
  32180. Needs location constraint ca-central-1.
  32181. .RE
  32182. .IP \[bu] 2
  32183. \[dq]eu-west-1\[dq]
  32184. .RS 2
  32185. .IP \[bu] 2
  32186. EU (Ireland) Region.
  32187. .IP \[bu] 2
  32188. Needs location constraint EU or eu-west-1.
  32189. .RE
  32190. .IP \[bu] 2
  32191. \[dq]eu-west-2\[dq]
  32192. .RS 2
  32193. .IP \[bu] 2
  32194. EU (London) Region.
  32195. .IP \[bu] 2
  32196. Needs location constraint eu-west-2.
  32197. .RE
  32198. .IP \[bu] 2
  32199. \[dq]eu-west-3\[dq]
  32200. .RS 2
  32201. .IP \[bu] 2
  32202. EU (Paris) Region.
  32203. .IP \[bu] 2
  32204. Needs location constraint eu-west-3.
  32205. .RE
  32206. .IP \[bu] 2
  32207. \[dq]eu-north-1\[dq]
  32208. .RS 2
  32209. .IP \[bu] 2
  32210. EU (Stockholm) Region.
  32211. .IP \[bu] 2
  32212. Needs location constraint eu-north-1.
  32213. .RE
  32214. .IP \[bu] 2
  32215. \[dq]eu-south-1\[dq]
  32216. .RS 2
  32217. .IP \[bu] 2
  32218. EU (Milan) Region.
  32219. .IP \[bu] 2
  32220. Needs location constraint eu-south-1.
  32221. .RE
  32222. .IP \[bu] 2
  32223. \[dq]eu-central-1\[dq]
  32224. .RS 2
  32225. .IP \[bu] 2
  32226. EU (Frankfurt) Region.
  32227. .IP \[bu] 2
  32228. Needs location constraint eu-central-1.
  32229. .RE
  32230. .IP \[bu] 2
  32231. \[dq]ap-southeast-1\[dq]
  32232. .RS 2
  32233. .IP \[bu] 2
  32234. Asia Pacific (Singapore) Region.
  32235. .IP \[bu] 2
  32236. Needs location constraint ap-southeast-1.
  32237. .RE
  32238. .IP \[bu] 2
  32239. \[dq]ap-southeast-2\[dq]
  32240. .RS 2
  32241. .IP \[bu] 2
  32242. Asia Pacific (Sydney) Region.
  32243. .IP \[bu] 2
  32244. Needs location constraint ap-southeast-2.
  32245. .RE
  32246. .IP \[bu] 2
  32247. \[dq]ap-northeast-1\[dq]
  32248. .RS 2
  32249. .IP \[bu] 2
  32250. Asia Pacific (Tokyo) Region.
  32251. .IP \[bu] 2
  32252. Needs location constraint ap-northeast-1.
  32253. .RE
  32254. .IP \[bu] 2
  32255. \[dq]ap-northeast-2\[dq]
  32256. .RS 2
  32257. .IP \[bu] 2
  32258. Asia Pacific (Seoul).
  32259. .IP \[bu] 2
  32260. Needs location constraint ap-northeast-2.
  32261. .RE
  32262. .IP \[bu] 2
  32263. \[dq]ap-northeast-3\[dq]
  32264. .RS 2
  32265. .IP \[bu] 2
  32266. Asia Pacific (Osaka-Local).
  32267. .IP \[bu] 2
  32268. Needs location constraint ap-northeast-3.
  32269. .RE
  32270. .IP \[bu] 2
  32271. \[dq]ap-south-1\[dq]
  32272. .RS 2
  32273. .IP \[bu] 2
  32274. Asia Pacific (Mumbai).
  32275. .IP \[bu] 2
  32276. Needs location constraint ap-south-1.
  32277. .RE
  32278. .IP \[bu] 2
  32279. \[dq]ap-east-1\[dq]
  32280. .RS 2
  32281. .IP \[bu] 2
  32282. Asia Pacific (Hong Kong) Region.
  32283. .IP \[bu] 2
  32284. Needs location constraint ap-east-1.
  32285. .RE
  32286. .IP \[bu] 2
  32287. \[dq]sa-east-1\[dq]
  32288. .RS 2
  32289. .IP \[bu] 2
  32290. South America (Sao Paulo) Region.
  32291. .IP \[bu] 2
  32292. Needs location constraint sa-east-1.
  32293. .RE
  32294. .IP \[bu] 2
  32295. \[dq]me-south-1\[dq]
  32296. .RS 2
  32297. .IP \[bu] 2
  32298. Middle East (Bahrain) Region.
  32299. .IP \[bu] 2
  32300. Needs location constraint me-south-1.
  32301. .RE
  32302. .IP \[bu] 2
  32303. \[dq]af-south-1\[dq]
  32304. .RS 2
  32305. .IP \[bu] 2
  32306. Africa (Cape Town) Region.
  32307. .IP \[bu] 2
  32308. Needs location constraint af-south-1.
  32309. .RE
  32310. .IP \[bu] 2
  32311. \[dq]cn-north-1\[dq]
  32312. .RS 2
  32313. .IP \[bu] 2
  32314. China (Beijing) Region.
  32315. .IP \[bu] 2
  32316. Needs location constraint cn-north-1.
  32317. .RE
  32318. .IP \[bu] 2
  32319. \[dq]cn-northwest-1\[dq]
  32320. .RS 2
  32321. .IP \[bu] 2
  32322. China (Ningxia) Region.
  32323. .IP \[bu] 2
  32324. Needs location constraint cn-northwest-1.
  32325. .RE
  32326. .IP \[bu] 2
  32327. \[dq]us-gov-east-1\[dq]
  32328. .RS 2
  32329. .IP \[bu] 2
  32330. AWS GovCloud (US-East) Region.
  32331. .IP \[bu] 2
  32332. Needs location constraint us-gov-east-1.
  32333. .RE
  32334. .IP \[bu] 2
  32335. \[dq]us-gov-west-1\[dq]
  32336. .RS 2
  32337. .IP \[bu] 2
  32338. AWS GovCloud (US) Region.
  32339. .IP \[bu] 2
  32340. Needs location constraint us-gov-west-1.
  32341. .RE
  32342. .RE
  32343. .SS --s3-endpoint
  32344. .PP
  32345. Endpoint for S3 API.
  32346. .PP
  32347. Leave blank if using AWS to use the default endpoint for the region.
  32348. .PP
  32349. Properties:
  32350. .IP \[bu] 2
  32351. Config: endpoint
  32352. .IP \[bu] 2
  32353. Env Var: RCLONE_S3_ENDPOINT
  32354. .IP \[bu] 2
  32355. Provider: AWS
  32356. .IP \[bu] 2
  32357. Type: string
  32358. .IP \[bu] 2
  32359. Required: false
  32360. .SS --s3-location-constraint
  32361. .PP
  32362. Location constraint - must be set to match the Region.
  32363. .PP
  32364. Used when creating buckets only.
  32365. .PP
  32366. Properties:
  32367. .IP \[bu] 2
  32368. Config: location_constraint
  32369. .IP \[bu] 2
  32370. Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  32371. .IP \[bu] 2
  32372. Provider: AWS
  32373. .IP \[bu] 2
  32374. Type: string
  32375. .IP \[bu] 2
  32376. Required: false
  32377. .IP \[bu] 2
  32378. Examples:
  32379. .RS 2
  32380. .IP \[bu] 2
  32381. \[dq]\[dq]
  32382. .RS 2
  32383. .IP \[bu] 2
  32384. Empty for US Region, Northern Virginia, or Pacific Northwest
  32385. .RE
  32386. .IP \[bu] 2
  32387. \[dq]us-east-2\[dq]
  32388. .RS 2
  32389. .IP \[bu] 2
  32390. US East (Ohio) Region
  32391. .RE
  32392. .IP \[bu] 2
  32393. \[dq]us-west-1\[dq]
  32394. .RS 2
  32395. .IP \[bu] 2
  32396. US West (Northern California) Region
  32397. .RE
  32398. .IP \[bu] 2
  32399. \[dq]us-west-2\[dq]
  32400. .RS 2
  32401. .IP \[bu] 2
  32402. US West (Oregon) Region
  32403. .RE
  32404. .IP \[bu] 2
  32405. \[dq]ca-central-1\[dq]
  32406. .RS 2
  32407. .IP \[bu] 2
  32408. Canada (Central) Region
  32409. .RE
  32410. .IP \[bu] 2
  32411. \[dq]eu-west-1\[dq]
  32412. .RS 2
  32413. .IP \[bu] 2
  32414. EU (Ireland) Region
  32415. .RE
  32416. .IP \[bu] 2
  32417. \[dq]eu-west-2\[dq]
  32418. .RS 2
  32419. .IP \[bu] 2
  32420. EU (London) Region
  32421. .RE
  32422. .IP \[bu] 2
  32423. \[dq]eu-west-3\[dq]
  32424. .RS 2
  32425. .IP \[bu] 2
  32426. EU (Paris) Region
  32427. .RE
  32428. .IP \[bu] 2
  32429. \[dq]eu-north-1\[dq]
  32430. .RS 2
  32431. .IP \[bu] 2
  32432. EU (Stockholm) Region
  32433. .RE
  32434. .IP \[bu] 2
  32435. \[dq]eu-south-1\[dq]
  32436. .RS 2
  32437. .IP \[bu] 2
  32438. EU (Milan) Region
  32439. .RE
  32440. .IP \[bu] 2
  32441. \[dq]EU\[dq]
  32442. .RS 2
  32443. .IP \[bu] 2
  32444. EU Region
  32445. .RE
  32446. .IP \[bu] 2
  32447. \[dq]ap-southeast-1\[dq]
  32448. .RS 2
  32449. .IP \[bu] 2
  32450. Asia Pacific (Singapore) Region
  32451. .RE
  32452. .IP \[bu] 2
  32453. \[dq]ap-southeast-2\[dq]
  32454. .RS 2
  32455. .IP \[bu] 2
  32456. Asia Pacific (Sydney) Region
  32457. .RE
  32458. .IP \[bu] 2
  32459. \[dq]ap-northeast-1\[dq]
  32460. .RS 2
  32461. .IP \[bu] 2
  32462. Asia Pacific (Tokyo) Region
  32463. .RE
  32464. .IP \[bu] 2
  32465. \[dq]ap-northeast-2\[dq]
  32466. .RS 2
  32467. .IP \[bu] 2
  32468. Asia Pacific (Seoul) Region
  32469. .RE
  32470. .IP \[bu] 2
  32471. \[dq]ap-northeast-3\[dq]
  32472. .RS 2
  32473. .IP \[bu] 2
  32474. Asia Pacific (Osaka-Local) Region
  32475. .RE
  32476. .IP \[bu] 2
  32477. \[dq]ap-south-1\[dq]
  32478. .RS 2
  32479. .IP \[bu] 2
  32480. Asia Pacific (Mumbai) Region
  32481. .RE
  32482. .IP \[bu] 2
  32483. \[dq]ap-east-1\[dq]
  32484. .RS 2
  32485. .IP \[bu] 2
  32486. Asia Pacific (Hong Kong) Region
  32487. .RE
  32488. .IP \[bu] 2
  32489. \[dq]sa-east-1\[dq]
  32490. .RS 2
  32491. .IP \[bu] 2
  32492. South America (Sao Paulo) Region
  32493. .RE
  32494. .IP \[bu] 2
  32495. \[dq]me-south-1\[dq]
  32496. .RS 2
  32497. .IP \[bu] 2
  32498. Middle East (Bahrain) Region
  32499. .RE
  32500. .IP \[bu] 2
  32501. \[dq]af-south-1\[dq]
  32502. .RS 2
  32503. .IP \[bu] 2
  32504. Africa (Cape Town) Region
  32505. .RE
  32506. .IP \[bu] 2
  32507. \[dq]cn-north-1\[dq]
  32508. .RS 2
  32509. .IP \[bu] 2
  32510. China (Beijing) Region
  32511. .RE
  32512. .IP \[bu] 2
  32513. \[dq]cn-northwest-1\[dq]
  32514. .RS 2
  32515. .IP \[bu] 2
  32516. China (Ningxia) Region
  32517. .RE
  32518. .IP \[bu] 2
  32519. \[dq]us-gov-east-1\[dq]
  32520. .RS 2
  32521. .IP \[bu] 2
  32522. AWS GovCloud (US-East) Region
  32523. .RE
  32524. .IP \[bu] 2
  32525. \[dq]us-gov-west-1\[dq]
  32526. .RS 2
  32527. .IP \[bu] 2
  32528. AWS GovCloud (US) Region
  32529. .RE
  32530. .RE
  32531. .SS --s3-acl
  32532. .PP
  32533. Canned ACL used when creating buckets and storing or copying objects.
  32534. .PP
  32535. This ACL is used for creating objects and if bucket_acl isn\[aq]t set,
  32536. for creating buckets too.
  32537. .PP
  32538. For more info visit
  32539. https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  32540. .PP
  32541. Note that this ACL is applied when server-side copying objects as S3
  32542. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  32543. .PP
  32544. If the acl is an empty string then no X-Amz-Acl: header is added and the
  32545. default (private) will be used.
  32546. .PP
  32547. Properties:
  32548. .IP \[bu] 2
  32549. Config: acl
  32550. .IP \[bu] 2
  32551. Env Var: RCLONE_S3_ACL
  32552. .IP \[bu] 2
  32553. Provider: !Storj,Synology,Cloudflare
  32554. .IP \[bu] 2
  32555. Type: string
  32556. .IP \[bu] 2
  32557. Required: false
  32558. .IP \[bu] 2
  32559. Examples:
  32560. .RS 2
  32561. .IP \[bu] 2
  32562. \[dq]default\[dq]
  32563. .RS 2
  32564. .IP \[bu] 2
  32565. Owner gets Full_CONTROL.
  32566. .IP \[bu] 2
  32567. No one else has access rights (default).
  32568. .RE
  32569. .IP \[bu] 2
  32570. \[dq]private\[dq]
  32571. .RS 2
  32572. .IP \[bu] 2
  32573. Owner gets FULL_CONTROL.
  32574. .IP \[bu] 2
  32575. No one else has access rights (default).
  32576. .RE
  32577. .IP \[bu] 2
  32578. \[dq]public-read\[dq]
  32579. .RS 2
  32580. .IP \[bu] 2
  32581. Owner gets FULL_CONTROL.
  32582. .IP \[bu] 2
  32583. The AllUsers group gets READ access.
  32584. .RE
  32585. .IP \[bu] 2
  32586. \[dq]public-read-write\[dq]
  32587. .RS 2
  32588. .IP \[bu] 2
  32589. Owner gets FULL_CONTROL.
  32590. .IP \[bu] 2
  32591. The AllUsers group gets READ and WRITE access.
  32592. .IP \[bu] 2
  32593. Granting this on a bucket is generally not recommended.
  32594. .RE
  32595. .IP \[bu] 2
  32596. \[dq]authenticated-read\[dq]
  32597. .RS 2
  32598. .IP \[bu] 2
  32599. Owner gets FULL_CONTROL.
  32600. .IP \[bu] 2
  32601. The AuthenticatedUsers group gets READ access.
  32602. .RE
  32603. .IP \[bu] 2
  32604. \[dq]bucket-owner-read\[dq]
  32605. .RS 2
  32606. .IP \[bu] 2
  32607. Object owner gets FULL_CONTROL.
  32608. .IP \[bu] 2
  32609. Bucket owner gets READ access.
  32610. .IP \[bu] 2
  32611. If you specify this canned ACL when creating a bucket, Amazon S3 ignores
  32612. it.
  32613. .RE
  32614. .IP \[bu] 2
  32615. \[dq]bucket-owner-full-control\[dq]
  32616. .RS 2
  32617. .IP \[bu] 2
  32618. Both the object owner and the bucket owner get FULL_CONTROL over the
  32619. object.
  32620. .IP \[bu] 2
  32621. If you specify this canned ACL when creating a bucket, Amazon S3 ignores
  32622. it.
  32623. .RE
  32624. .IP \[bu] 2
  32625. \[dq]private\[dq]
  32626. .RS 2
  32627. .IP \[bu] 2
  32628. Owner gets FULL_CONTROL.
  32629. .IP \[bu] 2
  32630. No one else has access rights (default).
  32631. .IP \[bu] 2
  32632. This acl is available on IBM Cloud (Infra), IBM Cloud (Storage),
  32633. On-Premise COS.
  32634. .RE
  32635. .IP \[bu] 2
  32636. \[dq]public-read\[dq]
  32637. .RS 2
  32638. .IP \[bu] 2
  32639. Owner gets FULL_CONTROL.
  32640. .IP \[bu] 2
  32641. The AllUsers group gets READ access.
  32642. .IP \[bu] 2
  32643. This acl is available on IBM Cloud (Infra), IBM Cloud (Storage),
  32644. On-Premise IBM COS.
  32645. .RE
  32646. .IP \[bu] 2
  32647. \[dq]public-read-write\[dq]
  32648. .RS 2
  32649. .IP \[bu] 2
  32650. Owner gets FULL_CONTROL.
  32651. .IP \[bu] 2
  32652. The AllUsers group gets READ and WRITE access.
  32653. .IP \[bu] 2
  32654. This acl is available on IBM Cloud (Infra), On-Premise IBM COS.
  32655. .RE
  32656. .IP \[bu] 2
  32657. \[dq]authenticated-read\[dq]
  32658. .RS 2
  32659. .IP \[bu] 2
  32660. Owner gets FULL_CONTROL.
  32661. .IP \[bu] 2
  32662. The AuthenticatedUsers group gets READ access.
  32663. .IP \[bu] 2
  32664. Not supported on Buckets.
  32665. .IP \[bu] 2
  32666. This acl is available on IBM Cloud (Infra) and On-Premise IBM COS.
  32667. .RE
  32668. .RE
  32669. .SS --s3-server-side-encryption
  32670. .PP
  32671. The server-side encryption algorithm used when storing this object in
  32672. S3.
  32673. .PP
  32674. Properties:
  32675. .IP \[bu] 2
  32676. Config: server_side_encryption
  32677. .IP \[bu] 2
  32678. Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION
  32679. .IP \[bu] 2
  32680. Provider: AWS,Ceph,ChinaMobile,Minio
  32681. .IP \[bu] 2
  32682. Type: string
  32683. .IP \[bu] 2
  32684. Required: false
  32685. .IP \[bu] 2
  32686. Examples:
  32687. .RS 2
  32688. .IP \[bu] 2
  32689. \[dq]\[dq]
  32690. .RS 2
  32691. .IP \[bu] 2
  32692. None
  32693. .RE
  32694. .IP \[bu] 2
  32695. \[dq]AES256\[dq]
  32696. .RS 2
  32697. .IP \[bu] 2
  32698. AES256
  32699. .RE
  32700. .IP \[bu] 2
  32701. \[dq]aws:kms\[dq]
  32702. .RS 2
  32703. .IP \[bu] 2
  32704. aws:kms
  32705. .RE
  32706. .RE
  32707. .SS --s3-sse-kms-key-id
  32708. .PP
  32709. If using KMS ID you must provide the ARN of Key.
  32710. .PP
  32711. Properties:
  32712. .IP \[bu] 2
  32713. Config: sse_kms_key_id
  32714. .IP \[bu] 2
  32715. Env Var: RCLONE_S3_SSE_KMS_KEY_ID
  32716. .IP \[bu] 2
  32717. Provider: AWS,Ceph,Minio
  32718. .IP \[bu] 2
  32719. Type: string
  32720. .IP \[bu] 2
  32721. Required: false
  32722. .IP \[bu] 2
  32723. Examples:
  32724. .RS 2
  32725. .IP \[bu] 2
  32726. \[dq]\[dq]
  32727. .RS 2
  32728. .IP \[bu] 2
  32729. None
  32730. .RE
  32731. .IP \[bu] 2
  32732. \[dq]arn:aws:kms:us-east-1:*\[dq]
  32733. .RS 2
  32734. .IP \[bu] 2
  32735. arn:aws:kms:*
  32736. .RE
  32737. .RE
  32738. .SS --s3-storage-class
  32739. .PP
  32740. The storage class to use when storing new objects in S3.
  32741. .PP
  32742. Properties:
  32743. .IP \[bu] 2
  32744. Config: storage_class
  32745. .IP \[bu] 2
  32746. Env Var: RCLONE_S3_STORAGE_CLASS
  32747. .IP \[bu] 2
  32748. Provider: AWS
  32749. .IP \[bu] 2
  32750. Type: string
  32751. .IP \[bu] 2
  32752. Required: false
  32753. .IP \[bu] 2
  32754. Examples:
  32755. .RS 2
  32756. .IP \[bu] 2
  32757. \[dq]\[dq]
  32758. .RS 2
  32759. .IP \[bu] 2
  32760. Default
  32761. .RE
  32762. .IP \[bu] 2
  32763. \[dq]STANDARD\[dq]
  32764. .RS 2
  32765. .IP \[bu] 2
  32766. Standard storage class
  32767. .RE
  32768. .IP \[bu] 2
  32769. \[dq]REDUCED_REDUNDANCY\[dq]
  32770. .RS 2
  32771. .IP \[bu] 2
  32772. Reduced redundancy storage class
  32773. .RE
  32774. .IP \[bu] 2
  32775. \[dq]STANDARD_IA\[dq]
  32776. .RS 2
  32777. .IP \[bu] 2
  32778. Standard Infrequent Access storage class
  32779. .RE
  32780. .IP \[bu] 2
  32781. \[dq]ONEZONE_IA\[dq]
  32782. .RS 2
  32783. .IP \[bu] 2
  32784. One Zone Infrequent Access storage class
  32785. .RE
  32786. .IP \[bu] 2
  32787. \[dq]GLACIER\[dq]
  32788. .RS 2
  32789. .IP \[bu] 2
  32790. Glacier storage class
  32791. .RE
  32792. .IP \[bu] 2
  32793. \[dq]DEEP_ARCHIVE\[dq]
  32794. .RS 2
  32795. .IP \[bu] 2
  32796. Glacier Deep Archive storage class
  32797. .RE
  32798. .IP \[bu] 2
  32799. \[dq]INTELLIGENT_TIERING\[dq]
  32800. .RS 2
  32801. .IP \[bu] 2
  32802. Intelligent-Tiering storage class
  32803. .RE
  32804. .IP \[bu] 2
  32805. \[dq]GLACIER_IR\[dq]
  32806. .RS 2
  32807. .IP \[bu] 2
  32808. Glacier Instant Retrieval storage class
  32809. .RE
  32810. .RE
  32811. .SS Advanced options
  32812. .PP
  32813. Here are the Advanced options specific to s3 (Amazon S3 Compliant
  32814. Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, ChinaMobile,
  32815. Cloudflare, DigitalOcean, Dreamhost, GCS, HuaweiOBS, IBMCOS, IDrive,
  32816. IONOS, LyveCloud, Leviia, Liara, Linode, Minio, Netease, Petabox,
  32817. RackCorp, Rclone, Scaleway, SeaweedFS, StackPath, Storj, Synology,
  32818. TencentCOS, Wasabi, Qiniu and others).
  32819. .SS --s3-bucket-acl
  32820. .PP
  32821. Canned ACL used when creating buckets.
  32822. .PP
  32823. For more info visit
  32824. https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  32825. .PP
  32826. Note that this ACL is applied when only when creating buckets.
  32827. If it isn\[aq]t set then \[dq]acl\[dq] is used instead.
  32828. .PP
  32829. If the \[dq]acl\[dq] and \[dq]bucket_acl\[dq] are empty strings then no
  32830. X-Amz-Acl: header is added and the default (private) will be used.
  32831. .PP
  32832. Properties:
  32833. .IP \[bu] 2
  32834. Config: bucket_acl
  32835. .IP \[bu] 2
  32836. Env Var: RCLONE_S3_BUCKET_ACL
  32837. .IP \[bu] 2
  32838. Type: string
  32839. .IP \[bu] 2
  32840. Required: false
  32841. .IP \[bu] 2
  32842. Examples:
  32843. .RS 2
  32844. .IP \[bu] 2
  32845. \[dq]private\[dq]
  32846. .RS 2
  32847. .IP \[bu] 2
  32848. Owner gets FULL_CONTROL.
  32849. .IP \[bu] 2
  32850. No one else has access rights (default).
  32851. .RE
  32852. .IP \[bu] 2
  32853. \[dq]public-read\[dq]
  32854. .RS 2
  32855. .IP \[bu] 2
  32856. Owner gets FULL_CONTROL.
  32857. .IP \[bu] 2
  32858. The AllUsers group gets READ access.
  32859. .RE
  32860. .IP \[bu] 2
  32861. \[dq]public-read-write\[dq]
  32862. .RS 2
  32863. .IP \[bu] 2
  32864. Owner gets FULL_CONTROL.
  32865. .IP \[bu] 2
  32866. The AllUsers group gets READ and WRITE access.
  32867. .IP \[bu] 2
  32868. Granting this on a bucket is generally not recommended.
  32869. .RE
  32870. .IP \[bu] 2
  32871. \[dq]authenticated-read\[dq]
  32872. .RS 2
  32873. .IP \[bu] 2
  32874. Owner gets FULL_CONTROL.
  32875. .IP \[bu] 2
  32876. The AuthenticatedUsers group gets READ access.
  32877. .RE
  32878. .RE
  32879. .SS --s3-requester-pays
  32880. .PP
  32881. Enables requester pays option when interacting with S3 bucket.
  32882. .PP
  32883. Properties:
  32884. .IP \[bu] 2
  32885. Config: requester_pays
  32886. .IP \[bu] 2
  32887. Env Var: RCLONE_S3_REQUESTER_PAYS
  32888. .IP \[bu] 2
  32889. Provider: AWS
  32890. .IP \[bu] 2
  32891. Type: bool
  32892. .IP \[bu] 2
  32893. Default: false
  32894. .SS --s3-sse-customer-algorithm
  32895. .PP
  32896. If using SSE-C, the server-side encryption algorithm used when storing
  32897. this object in S3.
  32898. .PP
  32899. Properties:
  32900. .IP \[bu] 2
  32901. Config: sse_customer_algorithm
  32902. .IP \[bu] 2
  32903. Env Var: RCLONE_S3_SSE_CUSTOMER_ALGORITHM
  32904. .IP \[bu] 2
  32905. Provider: AWS,Ceph,ChinaMobile,Minio
  32906. .IP \[bu] 2
  32907. Type: string
  32908. .IP \[bu] 2
  32909. Required: false
  32910. .IP \[bu] 2
  32911. Examples:
  32912. .RS 2
  32913. .IP \[bu] 2
  32914. \[dq]\[dq]
  32915. .RS 2
  32916. .IP \[bu] 2
  32917. None
  32918. .RE
  32919. .IP \[bu] 2
  32920. \[dq]AES256\[dq]
  32921. .RS 2
  32922. .IP \[bu] 2
  32923. AES256
  32924. .RE
  32925. .RE
  32926. .SS --s3-sse-customer-key
  32927. .PP
  32928. To use SSE-C you may provide the secret encryption key used to
  32929. encrypt/decrypt your data.
  32930. .PP
  32931. Alternatively you can provide --sse-customer-key-base64.
  32932. .PP
  32933. Properties:
  32934. .IP \[bu] 2
  32935. Config: sse_customer_key
  32936. .IP \[bu] 2
  32937. Env Var: RCLONE_S3_SSE_CUSTOMER_KEY
  32938. .IP \[bu] 2
  32939. Provider: AWS,Ceph,ChinaMobile,Minio
  32940. .IP \[bu] 2
  32941. Type: string
  32942. .IP \[bu] 2
  32943. Required: false
  32944. .IP \[bu] 2
  32945. Examples:
  32946. .RS 2
  32947. .IP \[bu] 2
  32948. \[dq]\[dq]
  32949. .RS 2
  32950. .IP \[bu] 2
  32951. None
  32952. .RE
  32953. .RE
  32954. .SS --s3-sse-customer-key-base64
  32955. .PP
  32956. If using SSE-C you must provide the secret encryption key encoded in
  32957. base64 format to encrypt/decrypt your data.
  32958. .PP
  32959. Alternatively you can provide --sse-customer-key.
  32960. .PP
  32961. Properties:
  32962. .IP \[bu] 2
  32963. Config: sse_customer_key_base64
  32964. .IP \[bu] 2
  32965. Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_BASE64
  32966. .IP \[bu] 2
  32967. Provider: AWS,Ceph,ChinaMobile,Minio
  32968. .IP \[bu] 2
  32969. Type: string
  32970. .IP \[bu] 2
  32971. Required: false
  32972. .IP \[bu] 2
  32973. Examples:
  32974. .RS 2
  32975. .IP \[bu] 2
  32976. \[dq]\[dq]
  32977. .RS 2
  32978. .IP \[bu] 2
  32979. None
  32980. .RE
  32981. .RE
  32982. .SS --s3-sse-customer-key-md5
  32983. .PP
  32984. If using SSE-C you may provide the secret encryption key MD5 checksum
  32985. (optional).
  32986. .PP
  32987. If you leave it blank, this is calculated automatically from the
  32988. sse_customer_key provided.
  32989. .PP
  32990. Properties:
  32991. .IP \[bu] 2
  32992. Config: sse_customer_key_md5
  32993. .IP \[bu] 2
  32994. Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_MD5
  32995. .IP \[bu] 2
  32996. Provider: AWS,Ceph,ChinaMobile,Minio
  32997. .IP \[bu] 2
  32998. Type: string
  32999. .IP \[bu] 2
  33000. Required: false
  33001. .IP \[bu] 2
  33002. Examples:
  33003. .RS 2
  33004. .IP \[bu] 2
  33005. \[dq]\[dq]
  33006. .RS 2
  33007. .IP \[bu] 2
  33008. None
  33009. .RE
  33010. .RE
  33011. .SS --s3-upload-cutoff
  33012. .PP
  33013. Cutoff for switching to chunked upload.
  33014. .PP
  33015. Any files larger than this will be uploaded in chunks of chunk_size.
  33016. The minimum is 0 and the maximum is 5 GiB.
  33017. .PP
  33018. Properties:
  33019. .IP \[bu] 2
  33020. Config: upload_cutoff
  33021. .IP \[bu] 2
  33022. Env Var: RCLONE_S3_UPLOAD_CUTOFF
  33023. .IP \[bu] 2
  33024. Type: SizeSuffix
  33025. .IP \[bu] 2
  33026. Default: 200Mi
  33027. .SS --s3-chunk-size
  33028. .PP
  33029. Chunk size to use for uploading.
  33030. .PP
  33031. When uploading files larger than upload_cutoff or files with unknown
  33032. size (e.g.
  33033. from \[dq]rclone rcat\[dq] or uploaded with \[dq]rclone mount\[dq] or
  33034. google photos or google docs) they will be uploaded as multipart uploads
  33035. using this chunk size.
  33036. .PP
  33037. Note that \[dq]--s3-upload-concurrency\[dq] chunks of this size are
  33038. buffered in memory per transfer.
  33039. .PP
  33040. If you are transferring large files over high-speed links and you have
  33041. enough memory, then increasing this will speed up the transfers.
  33042. .PP
  33043. Rclone will automatically increase the chunk size when uploading a large
  33044. file of known size to stay below the 10,000 chunks limit.
  33045. .PP
  33046. Files of unknown size are uploaded with the configured chunk_size.
  33047. Since the default chunk size is 5 MiB and there can be at most 10,000
  33048. chunks, this means that by default the maximum size of a file you can
  33049. stream upload is 48 GiB.
  33050. If you wish to stream upload larger files then you will need to increase
  33051. chunk_size.
  33052. .PP
  33053. Increasing the chunk size decreases the accuracy of the progress
  33054. statistics displayed with \[dq]-P\[dq] flag.
  33055. Rclone treats chunk as sent when it\[aq]s buffered by the AWS SDK, when
  33056. in fact it may still be uploading.
  33057. A bigger chunk size means a bigger AWS SDK buffer and progress reporting
  33058. more deviating from the truth.
  33059. .PP
  33060. Properties:
  33061. .IP \[bu] 2
  33062. Config: chunk_size
  33063. .IP \[bu] 2
  33064. Env Var: RCLONE_S3_CHUNK_SIZE
  33065. .IP \[bu] 2
  33066. Type: SizeSuffix
  33067. .IP \[bu] 2
  33068. Default: 5Mi
  33069. .SS --s3-max-upload-parts
  33070. .PP
  33071. Maximum number of parts in a multipart upload.
  33072. .PP
  33073. This option defines the maximum number of multipart chunks to use when
  33074. doing a multipart upload.
  33075. .PP
  33076. This can be useful if a service does not support the AWS S3
  33077. specification of 10,000 chunks.
  33078. .PP
  33079. Rclone will automatically increase the chunk size when uploading a large
  33080. file of a known size to stay below this number of chunks limit.
  33081. .PP
  33082. Properties:
  33083. .IP \[bu] 2
  33084. Config: max_upload_parts
  33085. .IP \[bu] 2
  33086. Env Var: RCLONE_S3_MAX_UPLOAD_PARTS
  33087. .IP \[bu] 2
  33088. Type: int
  33089. .IP \[bu] 2
  33090. Default: 10000
  33091. .SS --s3-copy-cutoff
  33092. .PP
  33093. Cutoff for switching to multipart copy.
  33094. .PP
  33095. Any files larger than this that need to be server-side copied will be
  33096. copied in chunks of this size.
  33097. .PP
  33098. The minimum is 0 and the maximum is 5 GiB.
  33099. .PP
  33100. Properties:
  33101. .IP \[bu] 2
  33102. Config: copy_cutoff
  33103. .IP \[bu] 2
  33104. Env Var: RCLONE_S3_COPY_CUTOFF
  33105. .IP \[bu] 2
  33106. Type: SizeSuffix
  33107. .IP \[bu] 2
  33108. Default: 4.656Gi
  33109. .SS --s3-disable-checksum
  33110. .PP
  33111. Don\[aq]t store MD5 checksum with object metadata.
  33112. .PP
  33113. Normally rclone will calculate the MD5 checksum of the input before
  33114. uploading it so it can add it to metadata on the object.
  33115. This is great for data integrity checking but can cause long delays for
  33116. large files to start uploading.
  33117. .PP
  33118. Properties:
  33119. .IP \[bu] 2
  33120. Config: disable_checksum
  33121. .IP \[bu] 2
  33122. Env Var: RCLONE_S3_DISABLE_CHECKSUM
  33123. .IP \[bu] 2
  33124. Type: bool
  33125. .IP \[bu] 2
  33126. Default: false
  33127. .SS --s3-shared-credentials-file
  33128. .PP
  33129. Path to the shared credentials file.
  33130. .PP
  33131. If env_auth = true then rclone can use a shared credentials file.
  33132. .PP
  33133. If this variable is empty rclone will look for the
  33134. \[dq]AWS_SHARED_CREDENTIALS_FILE\[dq] env variable.
  33135. If the env value is empty it will default to the current user\[aq]s home
  33136. directory.
  33137. .IP
  33138. .nf
  33139. \f[C]
  33140. Linux/OSX: \[dq]$HOME/.aws/credentials\[dq]
  33141. Windows: \[dq]%USERPROFILE%\[rs].aws\[rs]credentials\[dq]
  33142. \f[R]
  33143. .fi
  33144. .PP
  33145. Properties:
  33146. .IP \[bu] 2
  33147. Config: shared_credentials_file
  33148. .IP \[bu] 2
  33149. Env Var: RCLONE_S3_SHARED_CREDENTIALS_FILE
  33150. .IP \[bu] 2
  33151. Type: string
  33152. .IP \[bu] 2
  33153. Required: false
  33154. .SS --s3-profile
  33155. .PP
  33156. Profile to use in the shared credentials file.
  33157. .PP
  33158. If env_auth = true then rclone can use a shared credentials file.
  33159. This variable controls which profile is used in that file.
  33160. .PP
  33161. If empty it will default to the environment variable
  33162. \[dq]AWS_PROFILE\[dq] or \[dq]default\[dq] if that environment variable
  33163. is also not set.
  33164. .PP
  33165. Properties:
  33166. .IP \[bu] 2
  33167. Config: profile
  33168. .IP \[bu] 2
  33169. Env Var: RCLONE_S3_PROFILE
  33170. .IP \[bu] 2
  33171. Type: string
  33172. .IP \[bu] 2
  33173. Required: false
  33174. .SS --s3-session-token
  33175. .PP
  33176. An AWS session token.
  33177. .PP
  33178. Properties:
  33179. .IP \[bu] 2
  33180. Config: session_token
  33181. .IP \[bu] 2
  33182. Env Var: RCLONE_S3_SESSION_TOKEN
  33183. .IP \[bu] 2
  33184. Type: string
  33185. .IP \[bu] 2
  33186. Required: false
  33187. .SS --s3-upload-concurrency
  33188. .PP
  33189. Concurrency for multipart uploads and copies.
  33190. .PP
  33191. This is the number of chunks of the same file that are uploaded
  33192. concurrently for multipart uploads and copies.
  33193. .PP
  33194. If you are uploading small numbers of large files over high-speed links
  33195. and these uploads do not fully utilize your bandwidth, then increasing
  33196. this may help to speed up the transfers.
  33197. .PP
  33198. Properties:
  33199. .IP \[bu] 2
  33200. Config: upload_concurrency
  33201. .IP \[bu] 2
  33202. Env Var: RCLONE_S3_UPLOAD_CONCURRENCY
  33203. .IP \[bu] 2
  33204. Type: int
  33205. .IP \[bu] 2
  33206. Default: 4
  33207. .SS --s3-force-path-style
  33208. .PP
  33209. If true use path style access if false use virtual hosted style.
  33210. .PP
  33211. If this is true (the default) then rclone will use path style access, if
  33212. false then rclone will use virtual path style.
  33213. See the AWS S3
  33214. docs (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro)
  33215. for more info.
  33216. .PP
  33217. Some providers (e.g.
  33218. AWS, Aliyun OSS, Netease COS, or Tencent COS) require this set to false
  33219. - rclone will do this automatically based on the provider setting.
  33220. .PP
  33221. Properties:
  33222. .IP \[bu] 2
  33223. Config: force_path_style
  33224. .IP \[bu] 2
  33225. Env Var: RCLONE_S3_FORCE_PATH_STYLE
  33226. .IP \[bu] 2
  33227. Type: bool
  33228. .IP \[bu] 2
  33229. Default: true
  33230. .SS --s3-v2-auth
  33231. .PP
  33232. If true use v2 authentication.
  33233. .PP
  33234. If this is false (the default) then rclone will use v4 authentication.
  33235. If it is set then rclone will use v2 authentication.
  33236. .PP
  33237. Use this only if v4 signatures don\[aq]t work, e.g.
  33238. pre Jewel/v10 CEPH.
  33239. .PP
  33240. Properties:
  33241. .IP \[bu] 2
  33242. Config: v2_auth
  33243. .IP \[bu] 2
  33244. Env Var: RCLONE_S3_V2_AUTH
  33245. .IP \[bu] 2
  33246. Type: bool
  33247. .IP \[bu] 2
  33248. Default: false
  33249. .SS --s3-use-dual-stack
  33250. .PP
  33251. If true use AWS S3 dual-stack endpoint (IPv6 support).
  33252. .PP
  33253. See AWS Docs on Dualstack
  33254. Endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)
  33255. .PP
  33256. Properties:
  33257. .IP \[bu] 2
  33258. Config: use_dual_stack
  33259. .IP \[bu] 2
  33260. Env Var: RCLONE_S3_USE_DUAL_STACK
  33261. .IP \[bu] 2
  33262. Type: bool
  33263. .IP \[bu] 2
  33264. Default: false
  33265. .SS --s3-use-accelerate-endpoint
  33266. .PP
  33267. If true use the AWS S3 accelerated endpoint.
  33268. .PP
  33269. See: AWS S3 Transfer
  33270. acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration-examples.html)
  33271. .PP
  33272. Properties:
  33273. .IP \[bu] 2
  33274. Config: use_accelerate_endpoint
  33275. .IP \[bu] 2
  33276. Env Var: RCLONE_S3_USE_ACCELERATE_ENDPOINT
  33277. .IP \[bu] 2
  33278. Provider: AWS
  33279. .IP \[bu] 2
  33280. Type: bool
  33281. .IP \[bu] 2
  33282. Default: false
  33283. .SS --s3-leave-parts-on-error
  33284. .PP
  33285. If true avoid calling abort upload on a failure, leaving all
  33286. successfully uploaded parts on S3 for manual recovery.
  33287. .PP
  33288. It should be set to true for resuming uploads across different sessions.
  33289. .PP
  33290. WARNING: Storing parts of an incomplete multipart upload counts towards
  33291. space usage on S3 and will add additional costs if not cleaned up.
  33292. .PP
  33293. Properties:
  33294. .IP \[bu] 2
  33295. Config: leave_parts_on_error
  33296. .IP \[bu] 2
  33297. Env Var: RCLONE_S3_LEAVE_PARTS_ON_ERROR
  33298. .IP \[bu] 2
  33299. Provider: AWS
  33300. .IP \[bu] 2
  33301. Type: bool
  33302. .IP \[bu] 2
  33303. Default: false
  33304. .SS --s3-list-chunk
  33305. .PP
  33306. Size of listing chunk (response list for each ListObject S3 request).
  33307. .PP
  33308. This option is also known as \[dq]MaxKeys\[dq], \[dq]max-items\[dq], or
  33309. \[dq]page-size\[dq] from the AWS S3 specification.
  33310. Most services truncate the response list to 1000 objects even if
  33311. requested more than that.
  33312. In AWS S3 this is a global maximum and cannot be changed, see AWS
  33313. S3 (https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html).
  33314. In Ceph, this can be increased with the \[dq]rgw list buckets max
  33315. chunk\[dq] option.
  33316. .PP
  33317. Properties:
  33318. .IP \[bu] 2
  33319. Config: list_chunk
  33320. .IP \[bu] 2
  33321. Env Var: RCLONE_S3_LIST_CHUNK
  33322. .IP \[bu] 2
  33323. Type: int
  33324. .IP \[bu] 2
  33325. Default: 1000
  33326. .SS --s3-list-version
  33327. .PP
  33328. Version of ListObjects to use: 1,2 or 0 for auto.
  33329. .PP
  33330. When S3 originally launched it only provided the ListObjects call to
  33331. enumerate objects in a bucket.
  33332. .PP
  33333. However in May 2016 the ListObjectsV2 call was introduced.
  33334. This is much higher performance and should be used if at all possible.
  33335. .PP
  33336. If set to the default, 0, rclone will guess according to the provider
  33337. set which list objects method to call.
  33338. If it guesses wrong, then it may be set manually here.
  33339. .PP
  33340. Properties:
  33341. .IP \[bu] 2
  33342. Config: list_version
  33343. .IP \[bu] 2
  33344. Env Var: RCLONE_S3_LIST_VERSION
  33345. .IP \[bu] 2
  33346. Type: int
  33347. .IP \[bu] 2
  33348. Default: 0
  33349. .SS --s3-list-url-encode
  33350. .PP
  33351. Whether to url encode listings: true/false/unset
  33352. .PP
  33353. Some providers support URL encoding listings and where this is available
  33354. this is more reliable when using control characters in file names.
  33355. If this is set to unset (the default) then rclone will choose according
  33356. to the provider setting what to apply, but you can override rclone\[aq]s
  33357. choice here.
  33358. .PP
  33359. Properties:
  33360. .IP \[bu] 2
  33361. Config: list_url_encode
  33362. .IP \[bu] 2
  33363. Env Var: RCLONE_S3_LIST_URL_ENCODE
  33364. .IP \[bu] 2
  33365. Type: Tristate
  33366. .IP \[bu] 2
  33367. Default: unset
  33368. .SS --s3-no-check-bucket
  33369. .PP
  33370. If set, don\[aq]t attempt to check the bucket exists or create it.
  33371. .PP
  33372. This can be useful when trying to minimise the number of transactions
  33373. rclone does if you know the bucket exists already.
  33374. .PP
  33375. It can also be needed if the user you are using does not have bucket
  33376. creation permissions.
  33377. Before v1.52.0 this would have passed silently due to a bug.
  33378. .PP
  33379. Properties:
  33380. .IP \[bu] 2
  33381. Config: no_check_bucket
  33382. .IP \[bu] 2
  33383. Env Var: RCLONE_S3_NO_CHECK_BUCKET
  33384. .IP \[bu] 2
  33385. Type: bool
  33386. .IP \[bu] 2
  33387. Default: false
  33388. .SS --s3-no-head
  33389. .PP
  33390. If set, don\[aq]t HEAD uploaded objects to check integrity.
  33391. .PP
  33392. This can be useful when trying to minimise the number of transactions
  33393. rclone does.
  33394. .PP
  33395. Setting it means that if rclone receives a 200 OK message after
  33396. uploading an object with PUT then it will assume that it got uploaded
  33397. properly.
  33398. .PP
  33399. In particular it will assume:
  33400. .IP \[bu] 2
  33401. the metadata, including modtime, storage class and content type was as
  33402. uploaded
  33403. .IP \[bu] 2
  33404. the size was as uploaded
  33405. .PP
  33406. It reads the following items from the response for a single part PUT:
  33407. .IP \[bu] 2
  33408. the MD5SUM
  33409. .IP \[bu] 2
  33410. The uploaded date
  33411. .PP
  33412. For multipart uploads these items aren\[aq]t read.
  33413. .PP
  33414. If an source object of unknown length is uploaded then rclone
  33415. \f[B]will\f[R] do a HEAD request.
  33416. .PP
  33417. Setting this flag increases the chance for undetected upload failures,
  33418. in particular an incorrect size, so it isn\[aq]t recommended for normal
  33419. operation.
  33420. In practice the chance of an undetected upload failure is very small
  33421. even with this flag.
  33422. .PP
  33423. Properties:
  33424. .IP \[bu] 2
  33425. Config: no_head
  33426. .IP \[bu] 2
  33427. Env Var: RCLONE_S3_NO_HEAD
  33428. .IP \[bu] 2
  33429. Type: bool
  33430. .IP \[bu] 2
  33431. Default: false
  33432. .SS --s3-no-head-object
  33433. .PP
  33434. If set, do not do HEAD before GET when getting objects.
  33435. .PP
  33436. Properties:
  33437. .IP \[bu] 2
  33438. Config: no_head_object
  33439. .IP \[bu] 2
  33440. Env Var: RCLONE_S3_NO_HEAD_OBJECT
  33441. .IP \[bu] 2
  33442. Type: bool
  33443. .IP \[bu] 2
  33444. Default: false
  33445. .SS --s3-encoding
  33446. .PP
  33447. The encoding for the backend.
  33448. .PP
  33449. See the encoding section in the
  33450. overview (https://rclone.org/overview/#encoding) for more info.
  33451. .PP
  33452. Properties:
  33453. .IP \[bu] 2
  33454. Config: encoding
  33455. .IP \[bu] 2
  33456. Env Var: RCLONE_S3_ENCODING
  33457. .IP \[bu] 2
  33458. Type: Encoding
  33459. .IP \[bu] 2
  33460. Default: Slash,InvalidUtf8,Dot
  33461. .SS --s3-memory-pool-flush-time
  33462. .PP
  33463. How often internal memory buffer pools will be flushed.
  33464. (no longer used)
  33465. .PP
  33466. Properties:
  33467. .IP \[bu] 2
  33468. Config: memory_pool_flush_time
  33469. .IP \[bu] 2
  33470. Env Var: RCLONE_S3_MEMORY_POOL_FLUSH_TIME
  33471. .IP \[bu] 2
  33472. Type: Duration
  33473. .IP \[bu] 2
  33474. Default: 1m0s
  33475. .SS --s3-memory-pool-use-mmap
  33476. .PP
  33477. Whether to use mmap buffers in internal memory pool.
  33478. (no longer used)
  33479. .PP
  33480. Properties:
  33481. .IP \[bu] 2
  33482. Config: memory_pool_use_mmap
  33483. .IP \[bu] 2
  33484. Env Var: RCLONE_S3_MEMORY_POOL_USE_MMAP
  33485. .IP \[bu] 2
  33486. Type: bool
  33487. .IP \[bu] 2
  33488. Default: false
  33489. .SS --s3-disable-http2
  33490. .PP
  33491. Disable usage of http2 for S3 backends.
  33492. .PP
  33493. There is currently an unsolved issue with the s3 (specifically minio)
  33494. backend and HTTP/2.
  33495. HTTP/2 is enabled by default for the s3 backend but can be disabled
  33496. here.
  33497. When the issue is solved this flag will be removed.
  33498. .PP
  33499. See: https://github.com/rclone/rclone/issues/4673,
  33500. https://github.com/rclone/rclone/issues/3631
  33501. .PP
  33502. Properties:
  33503. .IP \[bu] 2
  33504. Config: disable_http2
  33505. .IP \[bu] 2
  33506. Env Var: RCLONE_S3_DISABLE_HTTP2
  33507. .IP \[bu] 2
  33508. Type: bool
  33509. .IP \[bu] 2
  33510. Default: false
  33511. .SS --s3-download-url
  33512. .PP
  33513. Custom endpoint for downloads.
  33514. This is usually set to a CloudFront CDN URL as AWS S3 offers cheaper
  33515. egress for data downloaded through the CloudFront network.
  33516. .PP
  33517. Properties:
  33518. .IP \[bu] 2
  33519. Config: download_url
  33520. .IP \[bu] 2
  33521. Env Var: RCLONE_S3_DOWNLOAD_URL
  33522. .IP \[bu] 2
  33523. Type: string
  33524. .IP \[bu] 2
  33525. Required: false
  33526. .SS --s3-directory-markers
  33527. .PP
  33528. Upload an empty object with a trailing slash when a new directory is
  33529. created
  33530. .PP
  33531. Empty folders are unsupported for bucket based remotes, this option
  33532. creates an empty object ending with \[dq]/\[dq], to persist the folder.
  33533. .PP
  33534. Properties:
  33535. .IP \[bu] 2
  33536. Config: directory_markers
  33537. .IP \[bu] 2
  33538. Env Var: RCLONE_S3_DIRECTORY_MARKERS
  33539. .IP \[bu] 2
  33540. Type: bool
  33541. .IP \[bu] 2
  33542. Default: false
  33543. .SS --s3-use-multipart-etag
  33544. .PP
  33545. Whether to use ETag in multipart uploads for verification
  33546. .PP
  33547. This should be true, false or left unset to use the default for the
  33548. provider.
  33549. .PP
  33550. Properties:
  33551. .IP \[bu] 2
  33552. Config: use_multipart_etag
  33553. .IP \[bu] 2
  33554. Env Var: RCLONE_S3_USE_MULTIPART_ETAG
  33555. .IP \[bu] 2
  33556. Type: Tristate
  33557. .IP \[bu] 2
  33558. Default: unset
  33559. .SS --s3-use-presigned-request
  33560. .PP
  33561. Whether to use a presigned request or PutObject for single part uploads
  33562. .PP
  33563. If this is false rclone will use PutObject from the AWS SDK to upload an
  33564. object.
  33565. .PP
  33566. Versions of rclone < 1.59 use presigned requests to upload a single part
  33567. object and setting this flag to true will re-enable that functionality.
  33568. This shouldn\[aq]t be necessary except in exceptional circumstances or
  33569. for testing.
  33570. .PP
  33571. Properties:
  33572. .IP \[bu] 2
  33573. Config: use_presigned_request
  33574. .IP \[bu] 2
  33575. Env Var: RCLONE_S3_USE_PRESIGNED_REQUEST
  33576. .IP \[bu] 2
  33577. Type: bool
  33578. .IP \[bu] 2
  33579. Default: false
  33580. .SS --s3-versions
  33581. .PP
  33582. Include old versions in directory listings.
  33583. .PP
  33584. Properties:
  33585. .IP \[bu] 2
  33586. Config: versions
  33587. .IP \[bu] 2
  33588. Env Var: RCLONE_S3_VERSIONS
  33589. .IP \[bu] 2
  33590. Type: bool
  33591. .IP \[bu] 2
  33592. Default: false
  33593. .SS --s3-version-at
  33594. .PP
  33595. Show file versions as they were at the specified time.
  33596. .PP
  33597. The parameter should be a date, \[dq]2006-01-02\[dq], datetime
  33598. \[dq]2006-01-02 15:04:05\[dq] or a duration for that long ago, eg
  33599. \[dq]100d\[dq] or \[dq]1h\[dq].
  33600. .PP
  33601. Note that when using this no file write operations are permitted, so you
  33602. can\[aq]t upload files or delete them.
  33603. .PP
  33604. See the time option docs (https://rclone.org/docs/#time-option) for
  33605. valid formats.
  33606. .PP
  33607. Properties:
  33608. .IP \[bu] 2
  33609. Config: version_at
  33610. .IP \[bu] 2
  33611. Env Var: RCLONE_S3_VERSION_AT
  33612. .IP \[bu] 2
  33613. Type: Time
  33614. .IP \[bu] 2
  33615. Default: off
  33616. .SS --s3-version-deleted
  33617. .PP
  33618. Show deleted file markers when using versions.
  33619. .PP
  33620. This shows deleted file markers in the listing when using versions.
  33621. These will appear as 0 size files.
  33622. The only operation which can be performed on them is deletion.
  33623. .PP
  33624. Deleting a delete marker will reveal the previous version.
  33625. .PP
  33626. Deleted files will always show with a timestamp.
  33627. .PP
  33628. Properties:
  33629. .IP \[bu] 2
  33630. Config: version_deleted
  33631. .IP \[bu] 2
  33632. Env Var: RCLONE_S3_VERSION_DELETED
  33633. .IP \[bu] 2
  33634. Type: bool
  33635. .IP \[bu] 2
  33636. Default: false
  33637. .SS --s3-decompress
  33638. .PP
  33639. If set this will decompress gzip encoded objects.
  33640. .PP
  33641. It is possible to upload objects to S3 with \[dq]Content-Encoding:
  33642. gzip\[dq] set.
  33643. Normally rclone will download these files as compressed objects.
  33644. .PP
  33645. If this flag is set then rclone will decompress these files with
  33646. \[dq]Content-Encoding: gzip\[dq] as they are received.
  33647. This means that rclone can\[aq]t check the size and hash but the file
  33648. contents will be decompressed.
  33649. .PP
  33650. Properties:
  33651. .IP \[bu] 2
  33652. Config: decompress
  33653. .IP \[bu] 2
  33654. Env Var: RCLONE_S3_DECOMPRESS
  33655. .IP \[bu] 2
  33656. Type: bool
  33657. .IP \[bu] 2
  33658. Default: false
  33659. .SS --s3-might-gzip
  33660. .PP
  33661. Set this if the backend might gzip objects.
  33662. .PP
  33663. Normally providers will not alter objects when they are downloaded.
  33664. If an object was not uploaded with \f[C]Content-Encoding: gzip\f[R] then
  33665. it won\[aq]t be set on download.
  33666. .PP
  33667. However some providers may gzip objects even if they weren\[aq]t
  33668. uploaded with \f[C]Content-Encoding: gzip\f[R] (eg Cloudflare).
  33669. .PP
  33670. A symptom of this would be receiving errors like
  33671. .IP
  33672. .nf
  33673. \f[C]
  33674. ERROR corrupted on transfer: sizes differ NNN vs MMM
  33675. \f[R]
  33676. .fi
  33677. .PP
  33678. If you set this flag and rclone downloads an object with
  33679. Content-Encoding: gzip set and chunked transfer encoding, then rclone
  33680. will decompress the object on the fly.
  33681. .PP
  33682. If this is set to unset (the default) then rclone will choose according
  33683. to the provider setting what to apply, but you can override rclone\[aq]s
  33684. choice here.
  33685. .PP
  33686. Properties:
  33687. .IP \[bu] 2
  33688. Config: might_gzip
  33689. .IP \[bu] 2
  33690. Env Var: RCLONE_S3_MIGHT_GZIP
  33691. .IP \[bu] 2
  33692. Type: Tristate
  33693. .IP \[bu] 2
  33694. Default: unset
  33695. .SS --s3-use-accept-encoding-gzip
  33696. .PP
  33697. Whether to send \f[C]Accept-Encoding: gzip\f[R] header.
  33698. .PP
  33699. By default, rclone will append \f[C]Accept-Encoding: gzip\f[R] to the
  33700. request to download compressed objects whenever possible.
  33701. .PP
  33702. However some providers such as Google Cloud Storage may alter the HTTP
  33703. headers, breaking the signature of the request.
  33704. .PP
  33705. A symptom of this would be receiving errors like
  33706. .IP
  33707. .nf
  33708. \f[C]
  33709. SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided.
  33710. \f[R]
  33711. .fi
  33712. .PP
  33713. In this case, you might want to try disabling this option.
  33714. .PP
  33715. Properties:
  33716. .IP \[bu] 2
  33717. Config: use_accept_encoding_gzip
  33718. .IP \[bu] 2
  33719. Env Var: RCLONE_S3_USE_ACCEPT_ENCODING_GZIP
  33720. .IP \[bu] 2
  33721. Type: Tristate
  33722. .IP \[bu] 2
  33723. Default: unset
  33724. .SS --s3-no-system-metadata
  33725. .PP
  33726. Suppress setting and reading of system metadata
  33727. .PP
  33728. Properties:
  33729. .IP \[bu] 2
  33730. Config: no_system_metadata
  33731. .IP \[bu] 2
  33732. Env Var: RCLONE_S3_NO_SYSTEM_METADATA
  33733. .IP \[bu] 2
  33734. Type: bool
  33735. .IP \[bu] 2
  33736. Default: false
  33737. .SS --s3-sts-endpoint
  33738. .PP
  33739. Endpoint for STS.
  33740. .PP
  33741. Leave blank if using AWS to use the default endpoint for the region.
  33742. .PP
  33743. Properties:
  33744. .IP \[bu] 2
  33745. Config: sts_endpoint
  33746. .IP \[bu] 2
  33747. Env Var: RCLONE_S3_STS_ENDPOINT
  33748. .IP \[bu] 2
  33749. Provider: AWS
  33750. .IP \[bu] 2
  33751. Type: string
  33752. .IP \[bu] 2
  33753. Required: false
  33754. .SS --s3-use-already-exists
  33755. .PP
  33756. Set if rclone should report BucketAlreadyExists errors on bucket
  33757. creation.
  33758. .PP
  33759. At some point during the evolution of the s3 protocol, AWS started
  33760. returning an \f[C]AlreadyOwnedByYou\f[R] error when attempting to create
  33761. a bucket that the user already owned, rather than a
  33762. \f[C]BucketAlreadyExists\f[R] error.
  33763. .PP
  33764. Unfortunately exactly what has been implemented by s3 clones is a little
  33765. inconsistent, some return \f[C]AlreadyOwnedByYou\f[R], some return
  33766. \f[C]BucketAlreadyExists\f[R] and some return no error at all.
  33767. .PP
  33768. This is important to rclone because it ensures the bucket exists by
  33769. creating it on quite a lot of operations (unless
  33770. \f[C]--s3-no-check-bucket\f[R] is used).
  33771. .PP
  33772. If rclone knows the provider can return \f[C]AlreadyOwnedByYou\f[R] or
  33773. returns no error then it can report \f[C]BucketAlreadyExists\f[R] errors
  33774. when the user attempts to create a bucket not owned by them.
  33775. Otherwise rclone ignores the \f[C]BucketAlreadyExists\f[R] error which
  33776. can lead to confusion.
  33777. .PP
  33778. This should be automatically set correctly for all providers rclone
  33779. knows about - please make a bug report if not.
  33780. .PP
  33781. Properties:
  33782. .IP \[bu] 2
  33783. Config: use_already_exists
  33784. .IP \[bu] 2
  33785. Env Var: RCLONE_S3_USE_ALREADY_EXISTS
  33786. .IP \[bu] 2
  33787. Type: Tristate
  33788. .IP \[bu] 2
  33789. Default: unset
  33790. .SS --s3-use-multipart-uploads
  33791. .PP
  33792. Set if rclone should use multipart uploads.
  33793. .PP
  33794. You can change this if you want to disable the use of multipart uploads.
  33795. This shouldn\[aq]t be necessary in normal operation.
  33796. .PP
  33797. This should be automatically set correctly for all providers rclone
  33798. knows about - please make a bug report if not.
  33799. .PP
  33800. Properties:
  33801. .IP \[bu] 2
  33802. Config: use_multipart_uploads
  33803. .IP \[bu] 2
  33804. Env Var: RCLONE_S3_USE_MULTIPART_UPLOADS
  33805. .IP \[bu] 2
  33806. Type: Tristate
  33807. .IP \[bu] 2
  33808. Default: unset
  33809. .SS --s3-description
  33810. .PP
  33811. Description of the remote
  33812. .PP
  33813. Properties:
  33814. .IP \[bu] 2
  33815. Config: description
  33816. .IP \[bu] 2
  33817. Env Var: RCLONE_S3_DESCRIPTION
  33818. .IP \[bu] 2
  33819. Type: string
  33820. .IP \[bu] 2
  33821. Required: false
  33822. .SS Metadata
  33823. .PP
  33824. User metadata is stored as x-amz-meta- keys.
  33825. S3 metadata keys are case insensitive and are always returned in lower
  33826. case.
  33827. .PP
  33828. Here are the possible system metadata items for the s3 backend.
  33829. .PP
  33830. .TS
  33831. tab(@);
  33832. lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n).
  33833. T{
  33834. Name
  33835. T}@T{
  33836. Help
  33837. T}@T{
  33838. Type
  33839. T}@T{
  33840. Example
  33841. T}@T{
  33842. Read Only
  33843. T}
  33844. _
  33845. T{
  33846. btime
  33847. T}@T{
  33848. Time of file birth (creation) read from Last-Modified header
  33849. T}@T{
  33850. RFC 3339
  33851. T}@T{
  33852. 2006-01-02T15:04:05.999999999Z07:00
  33853. T}@T{
  33854. \f[B]Y\f[R]
  33855. T}
  33856. T{
  33857. cache-control
  33858. T}@T{
  33859. Cache-Control header
  33860. T}@T{
  33861. string
  33862. T}@T{
  33863. no-cache
  33864. T}@T{
  33865. N
  33866. T}
  33867. T{
  33868. content-disposition
  33869. T}@T{
  33870. Content-Disposition header
  33871. T}@T{
  33872. string
  33873. T}@T{
  33874. inline
  33875. T}@T{
  33876. N
  33877. T}
  33878. T{
  33879. content-encoding
  33880. T}@T{
  33881. Content-Encoding header
  33882. T}@T{
  33883. string
  33884. T}@T{
  33885. gzip
  33886. T}@T{
  33887. N
  33888. T}
  33889. T{
  33890. content-language
  33891. T}@T{
  33892. Content-Language header
  33893. T}@T{
  33894. string
  33895. T}@T{
  33896. en-US
  33897. T}@T{
  33898. N
  33899. T}
  33900. T{
  33901. content-type
  33902. T}@T{
  33903. Content-Type header
  33904. T}@T{
  33905. string
  33906. T}@T{
  33907. text/plain
  33908. T}@T{
  33909. N
  33910. T}
  33911. T{
  33912. mtime
  33913. T}@T{
  33914. Time of last modification, read from rclone metadata
  33915. T}@T{
  33916. RFC 3339
  33917. T}@T{
  33918. 2006-01-02T15:04:05.999999999Z07:00
  33919. T}@T{
  33920. N
  33921. T}
  33922. T{
  33923. tier
  33924. T}@T{
  33925. Tier of the object
  33926. T}@T{
  33927. string
  33928. T}@T{
  33929. GLACIER
  33930. T}@T{
  33931. \f[B]Y\f[R]
  33932. T}
  33933. .TE
  33934. .PP
  33935. See the metadata (https://rclone.org/docs/#metadata) docs for more info.
  33936. .SS Backend commands
  33937. .PP
  33938. Here are the commands specific to the s3 backend.
  33939. .PP
  33940. Run them with
  33941. .IP
  33942. .nf
  33943. \f[C]
  33944. rclone backend COMMAND remote:
  33945. \f[R]
  33946. .fi
  33947. .PP
  33948. The help below will explain what arguments each command takes.
  33949. .PP
  33950. See the backend (https://rclone.org/commands/rclone_backend/) command
  33951. for more info on how to pass options and arguments.
  33952. .PP
  33953. These can be run on a running backend using the rc command
  33954. backend/command (https://rclone.org/rc/#backend-command).
  33955. .SS restore
  33956. .PP
  33957. Restore objects from GLACIER to normal storage
  33958. .IP
  33959. .nf
  33960. \f[C]
  33961. rclone backend restore remote: [options] [<arguments>+]
  33962. \f[R]
  33963. .fi
  33964. .PP
  33965. This command can be used to restore one or more objects from GLACIER to
  33966. normal storage.
  33967. .PP
  33968. Usage Examples:
  33969. .IP
  33970. .nf
  33971. \f[C]
  33972. rclone backend restore s3:bucket/path/to/object -o priority=PRIORITY -o lifetime=DAYS
  33973. rclone backend restore s3:bucket/path/to/directory -o priority=PRIORITY -o lifetime=DAYS
  33974. rclone backend restore s3:bucket -o priority=PRIORITY -o lifetime=DAYS
  33975. \f[R]
  33976. .fi
  33977. .PP
  33978. This flag also obeys the filters.
  33979. Test first with --interactive/-i or --dry-run flags
  33980. .IP
  33981. .nf
  33982. \f[C]
  33983. rclone --interactive backend restore --include \[dq]*.txt\[dq] s3:bucket/path -o priority=Standard -o lifetime=1
  33984. \f[R]
  33985. .fi
  33986. .PP
  33987. All the objects shown will be marked for restore, then
  33988. .IP
  33989. .nf
  33990. \f[C]
  33991. rclone backend restore --include \[dq]*.txt\[dq] s3:bucket/path -o priority=Standard -o lifetime=1
  33992. \f[R]
  33993. .fi
  33994. .PP
  33995. It returns a list of status dictionaries with Remote and Status keys.
  33996. The Status will be OK if it was successful or an error message if not.
  33997. .IP
  33998. .nf
  33999. \f[C]
  34000. [
  34001. {
  34002. \[dq]Status\[dq]: \[dq]OK\[dq],
  34003. \[dq]Remote\[dq]: \[dq]test.txt\[dq]
  34004. },
  34005. {
  34006. \[dq]Status\[dq]: \[dq]OK\[dq],
  34007. \[dq]Remote\[dq]: \[dq]test/file4.txt\[dq]
  34008. }
  34009. ]
  34010. \f[R]
  34011. .fi
  34012. .PP
  34013. Options:
  34014. .IP \[bu] 2
  34015. \[dq]description\[dq]: The optional description for the job.
  34016. .IP \[bu] 2
  34017. \[dq]lifetime\[dq]: Lifetime of the active copy in days
  34018. .IP \[bu] 2
  34019. \[dq]priority\[dq]: Priority of restore: Standard|Expedited|Bulk
  34020. .SS restore-status
  34021. .PP
  34022. Show the restore status for objects being restored from GLACIER to
  34023. normal storage
  34024. .IP
  34025. .nf
  34026. \f[C]
  34027. rclone backend restore-status remote: [options] [<arguments>+]
  34028. \f[R]
  34029. .fi
  34030. .PP
  34031. This command can be used to show the status for objects being restored
  34032. from GLACIER to normal storage.
  34033. .PP
  34034. Usage Examples:
  34035. .IP
  34036. .nf
  34037. \f[C]
  34038. rclone backend restore-status s3:bucket/path/to/object
  34039. rclone backend restore-status s3:bucket/path/to/directory
  34040. rclone backend restore-status -o all s3:bucket/path/to/directory
  34041. \f[R]
  34042. .fi
  34043. .PP
  34044. This command does not obey the filters.
  34045. .PP
  34046. It returns a list of status dictionaries.
  34047. .IP
  34048. .nf
  34049. \f[C]
  34050. [
  34051. {
  34052. \[dq]Remote\[dq]: \[dq]file.txt\[dq],
  34053. \[dq]VersionID\[dq]: null,
  34054. \[dq]RestoreStatus\[dq]: {
  34055. \[dq]IsRestoreInProgress\[dq]: true,
  34056. \[dq]RestoreExpiryDate\[dq]: \[dq]2023-09-06T12:29:19+01:00\[dq]
  34057. },
  34058. \[dq]StorageClass\[dq]: \[dq]GLACIER\[dq]
  34059. },
  34060. {
  34061. \[dq]Remote\[dq]: \[dq]test.pdf\[dq],
  34062. \[dq]VersionID\[dq]: null,
  34063. \[dq]RestoreStatus\[dq]: {
  34064. \[dq]IsRestoreInProgress\[dq]: false,
  34065. \[dq]RestoreExpiryDate\[dq]: \[dq]2023-09-06T12:29:19+01:00\[dq]
  34066. },
  34067. \[dq]StorageClass\[dq]: \[dq]DEEP_ARCHIVE\[dq]
  34068. }
  34069. ]
  34070. \f[R]
  34071. .fi
  34072. .PP
  34073. Options:
  34074. .IP \[bu] 2
  34075. \[dq]all\[dq]: if set then show all objects, not just ones with restore
  34076. status
  34077. .SS list-multipart-uploads
  34078. .PP
  34079. List the unfinished multipart uploads
  34080. .IP
  34081. .nf
  34082. \f[C]
  34083. rclone backend list-multipart-uploads remote: [options] [<arguments>+]
  34084. \f[R]
  34085. .fi
  34086. .PP
  34087. This command lists the unfinished multipart uploads in JSON format.
  34088. .IP
  34089. .nf
  34090. \f[C]
  34091. rclone backend list-multipart s3:bucket/path/to/object
  34092. \f[R]
  34093. .fi
  34094. .PP
  34095. It returns a dictionary of buckets with values as lists of unfinished
  34096. multipart uploads.
  34097. .PP
  34098. You can call it with no bucket in which case it lists all bucket, with a
  34099. bucket or with a bucket and path.
  34100. .IP
  34101. .nf
  34102. \f[C]
  34103. {
  34104. \[dq]rclone\[dq]: [
  34105. {
  34106. \[dq]Initiated\[dq]: \[dq]2020-06-26T14:20:36Z\[dq],
  34107. \[dq]Initiator\[dq]: {
  34108. \[dq]DisplayName\[dq]: \[dq]XXX\[dq],
  34109. \[dq]ID\[dq]: \[dq]arn:aws:iam::XXX:user/XXX\[dq]
  34110. },
  34111. \[dq]Key\[dq]: \[dq]KEY\[dq],
  34112. \[dq]Owner\[dq]: {
  34113. \[dq]DisplayName\[dq]: null,
  34114. \[dq]ID\[dq]: \[dq]XXX\[dq]
  34115. },
  34116. \[dq]StorageClass\[dq]: \[dq]STANDARD\[dq],
  34117. \[dq]UploadId\[dq]: \[dq]XXX\[dq]
  34118. }
  34119. ],
  34120. \[dq]rclone-1000files\[dq]: [],
  34121. \[dq]rclone-dst\[dq]: []
  34122. }
  34123. \f[R]
  34124. .fi
  34125. .SS cleanup
  34126. .PP
  34127. Remove unfinished multipart uploads.
  34128. .IP
  34129. .nf
  34130. \f[C]
  34131. rclone backend cleanup remote: [options] [<arguments>+]
  34132. \f[R]
  34133. .fi
  34134. .PP
  34135. This command removes unfinished multipart uploads of age greater than
  34136. max-age which defaults to 24 hours.
  34137. .PP
  34138. Note that you can use --interactive/-i or --dry-run with this command to
  34139. see what it would do.
  34140. .IP
  34141. .nf
  34142. \f[C]
  34143. rclone backend cleanup s3:bucket/path/to/object
  34144. rclone backend cleanup -o max-age=7w s3:bucket/path/to/object
  34145. \f[R]
  34146. .fi
  34147. .PP
  34148. Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
  34149. .PP
  34150. Options:
  34151. .IP \[bu] 2
  34152. \[dq]max-age\[dq]: Max age of upload to delete
  34153. .SS cleanup-hidden
  34154. .PP
  34155. Remove old versions of files.
  34156. .IP
  34157. .nf
  34158. \f[C]
  34159. rclone backend cleanup-hidden remote: [options] [<arguments>+]
  34160. \f[R]
  34161. .fi
  34162. .PP
  34163. This command removes any old hidden versions of files on a versions
  34164. enabled bucket.
  34165. .PP
  34166. Note that you can use --interactive/-i or --dry-run with this command to
  34167. see what it would do.
  34168. .IP
  34169. .nf
  34170. \f[C]
  34171. rclone backend cleanup-hidden s3:bucket/path/to/dir
  34172. \f[R]
  34173. .fi
  34174. .SS versioning
  34175. .PP
  34176. Set/get versioning support for a bucket.
  34177. .IP
  34178. .nf
  34179. \f[C]
  34180. rclone backend versioning remote: [options] [<arguments>+]
  34181. \f[R]
  34182. .fi
  34183. .PP
  34184. This command sets versioning support if a parameter is passed and then
  34185. returns the current versioning status for the bucket supplied.
  34186. .IP
  34187. .nf
  34188. \f[C]
  34189. rclone backend versioning s3:bucket # read status only
  34190. rclone backend versioning s3:bucket Enabled
  34191. rclone backend versioning s3:bucket Suspended
  34192. \f[R]
  34193. .fi
  34194. .PP
  34195. It may return \[dq]Enabled\[dq], \[dq]Suspended\[dq] or
  34196. \[dq]Unversioned\[dq].
  34197. Note that once versioning has been enabled the status can\[aq]t be set
  34198. back to \[dq]Unversioned\[dq].
  34199. .SS set
  34200. .PP
  34201. Set command for updating the config parameters.
  34202. .IP
  34203. .nf
  34204. \f[C]
  34205. rclone backend set remote: [options] [<arguments>+]
  34206. \f[R]
  34207. .fi
  34208. .PP
  34209. This set command can be used to update the config parameters for a
  34210. running s3 backend.
  34211. .PP
  34212. Usage Examples:
  34213. .IP
  34214. .nf
  34215. \f[C]
  34216. rclone backend set s3: [-o opt_name=opt_value] [-o opt_name2=opt_value2]
  34217. rclone rc backend/command command=set fs=s3: [-o opt_name=opt_value] [-o opt_name2=opt_value2]
  34218. rclone rc backend/command command=set fs=s3: -o session_token=X -o access_key_id=X -o secret_access_key=X
  34219. \f[R]
  34220. .fi
  34221. .PP
  34222. The option keys are named as they are in the config file.
  34223. .PP
  34224. This rebuilds the connection to the s3 backend when it is called with
  34225. the new parameters.
  34226. Only new parameters need be passed as the values will default to those
  34227. currently in use.
  34228. .PP
  34229. It doesn\[aq]t return anything.
  34230. .SS Anonymous access to public buckets
  34231. .PP
  34232. If you want to use rclone to access a public bucket, configure with a
  34233. blank \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R].
  34234. Your config should end up looking like this:
  34235. .IP
  34236. .nf
  34237. \f[C]
  34238. [anons3]
  34239. type = s3
  34240. provider = AWS
  34241. env_auth = false
  34242. access_key_id =
  34243. secret_access_key =
  34244. region = us-east-1
  34245. endpoint =
  34246. location_constraint =
  34247. acl = private
  34248. server_side_encryption =
  34249. storage_class =
  34250. \f[R]
  34251. .fi
  34252. .PP
  34253. Then use it as normal with the name of the public bucket, e.g.
  34254. .IP
  34255. .nf
  34256. \f[C]
  34257. rclone lsd anons3:1000genomes
  34258. \f[R]
  34259. .fi
  34260. .PP
  34261. You will be able to list and copy data but not upload it.
  34262. .SS Providers
  34263. .SS AWS S3
  34264. .PP
  34265. This is the provider used as main example and described in the
  34266. configuration section above.
  34267. .SS AWS Snowball Edge
  34268. .PP
  34269. AWS Snowball (https://aws.amazon.com/snowball/) is a hardware appliance
  34270. used for transferring bulk data back to AWS.
  34271. Its main software interface is S3 object storage.
  34272. .PP
  34273. To use rclone with AWS Snowball Edge devices, configure as standard for
  34274. an \[aq]S3 Compatible Service\[aq].
  34275. .PP
  34276. If using rclone pre v1.59 be sure to set \f[C]upload_cutoff = 0\f[R]
  34277. otherwise you will run into authentication header issues as the snowball
  34278. device does not support query parameter based authentication.
  34279. .PP
  34280. With rclone v1.59 or later setting \f[C]upload_cutoff\f[R] should not be
  34281. necessary.
  34282. .PP
  34283. eg.
  34284. .IP
  34285. .nf
  34286. \f[C]
  34287. [snowball]
  34288. type = s3
  34289. provider = Other
  34290. access_key_id = YOUR_ACCESS_KEY
  34291. secret_access_key = YOUR_SECRET_KEY
  34292. endpoint = http://[IP of Snowball]:8080
  34293. upload_cutoff = 0
  34294. \f[R]
  34295. .fi
  34296. .SS Ceph
  34297. .PP
  34298. Ceph (https://ceph.com/) is an open-source, unified, distributed storage
  34299. system designed for excellent performance, reliability and scalability.
  34300. It has an S3 compatible object storage interface.
  34301. .PP
  34302. To use rclone with Ceph, configure as above but leave the region blank
  34303. and set the endpoint.
  34304. You should end up with something like this in your config:
  34305. .IP
  34306. .nf
  34307. \f[C]
  34308. [ceph]
  34309. type = s3
  34310. provider = Ceph
  34311. env_auth = false
  34312. access_key_id = XXX
  34313. secret_access_key = YYY
  34314. region =
  34315. endpoint = https://ceph.endpoint.example.com
  34316. location_constraint =
  34317. acl =
  34318. server_side_encryption =
  34319. storage_class =
  34320. \f[R]
  34321. .fi
  34322. .PP
  34323. If you are using an older version of CEPH (e.g.
  34324. 10.2.x Jewel) and a version of rclone before v1.59 then you may need to
  34325. supply the parameter \f[C]--s3-upload-cutoff 0\f[R] or put this in the
  34326. config file as \f[C]upload_cutoff 0\f[R] to work around a bug which
  34327. causes uploading of small files to fail.
  34328. .PP
  34329. Note also that Ceph sometimes puts \f[C]/\f[R] in the passwords it gives
  34330. users.
  34331. If you read the secret access key using the command line tools you will
  34332. get a JSON blob with the \f[C]/\f[R] escaped as \f[C]\[rs]/\f[R].
  34333. Make sure you only write \f[C]/\f[R] in the secret access key.
  34334. .PP
  34335. Eg the dump from Ceph looks something like this (irrelevant keys
  34336. removed).
  34337. .IP
  34338. .nf
  34339. \f[C]
  34340. {
  34341. \[dq]user_id\[dq]: \[dq]xxx\[dq],
  34342. \[dq]display_name\[dq]: \[dq]xxxx\[dq],
  34343. \[dq]keys\[dq]: [
  34344. {
  34345. \[dq]user\[dq]: \[dq]xxx\[dq],
  34346. \[dq]access_key\[dq]: \[dq]xxxxxx\[dq],
  34347. \[dq]secret_key\[dq]: \[dq]xxxxxx\[rs]/xxxx\[dq]
  34348. }
  34349. ],
  34350. }
  34351. \f[R]
  34352. .fi
  34353. .PP
  34354. Because this is a json dump, it is encoding the \f[C]/\f[R] as
  34355. \f[C]\[rs]/\f[R], so if you use the secret key as \f[C]xxxxxx/xxxx\f[R]
  34356. it will work fine.
  34357. .SS Cloudflare R2
  34358. .PP
  34359. Cloudflare R2 (https://blog.cloudflare.com/r2-open-beta/) Storage allows
  34360. developers to store large amounts of unstructured data without the
  34361. costly egress bandwidth fees associated with typical cloud storage
  34362. services.
  34363. .PP
  34364. Here is an example of making a Cloudflare R2 configuration.
  34365. First run:
  34366. .IP
  34367. .nf
  34368. \f[C]
  34369. rclone config
  34370. \f[R]
  34371. .fi
  34372. .PP
  34373. This will guide you through an interactive setup process.
  34374. .PP
  34375. Note that all buckets are private, and all are stored in the same
  34376. \[dq]auto\[dq] region.
  34377. It is necessary to use Cloudflare workers to share the content of a
  34378. bucket publicly.
  34379. .IP
  34380. .nf
  34381. \f[C]
  34382. No remotes found, make a new one?
  34383. n) New remote
  34384. s) Set configuration password
  34385. q) Quit config
  34386. n/s/q> n
  34387. name> r2
  34388. Option Storage.
  34389. Type of storage to configure.
  34390. Choose a number from below, or type in your own value.
  34391. \&...
  34392. XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Synology, Tencent COS and Wasabi
  34393. \[rs] (s3)
  34394. \&...
  34395. Storage> s3
  34396. Option provider.
  34397. Choose your S3 provider.
  34398. Choose a number from below, or type in your own value.
  34399. Press Enter to leave empty.
  34400. \&...
  34401. XX / Cloudflare R2 Storage
  34402. \[rs] (Cloudflare)
  34403. \&...
  34404. provider> Cloudflare
  34405. Option env_auth.
  34406. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  34407. Only applies if access_key_id and secret_access_key is blank.
  34408. Choose a number from below, or type in your own boolean value (true or false).
  34409. Press Enter for the default (false).
  34410. 1 / Enter AWS credentials in the next step.
  34411. \[rs] (false)
  34412. 2 / Get AWS credentials from the environment (env vars or IAM).
  34413. \[rs] (true)
  34414. env_auth> 1
  34415. Option access_key_id.
  34416. AWS Access Key ID.
  34417. Leave blank for anonymous access or runtime credentials.
  34418. Enter a value. Press Enter to leave empty.
  34419. access_key_id> ACCESS_KEY
  34420. Option secret_access_key.
  34421. AWS Secret Access Key (password).
  34422. Leave blank for anonymous access or runtime credentials.
  34423. Enter a value. Press Enter to leave empty.
  34424. secret_access_key> SECRET_ACCESS_KEY
  34425. Option region.
  34426. Region to connect to.
  34427. Choose a number from below, or type in your own value.
  34428. Press Enter to leave empty.
  34429. 1 / R2 buckets are automatically distributed across Cloudflare\[aq]s data centers for low latency.
  34430. \[rs] (auto)
  34431. region> 1
  34432. Option endpoint.
  34433. Endpoint for S3 API.
  34434. Required when using an S3 clone.
  34435. Enter a value. Press Enter to leave empty.
  34436. endpoint> https://ACCOUNT_ID.r2.cloudflarestorage.com
  34437. Edit advanced config?
  34438. y) Yes
  34439. n) No (default)
  34440. y/n> n
  34441. --------------------
  34442. y) Yes this is OK (default)
  34443. e) Edit this remote
  34444. d) Delete this remote
  34445. y/e/d> y
  34446. \f[R]
  34447. .fi
  34448. .PP
  34449. This will leave your config looking something like:
  34450. .IP
  34451. .nf
  34452. \f[C]
  34453. [r2]
  34454. type = s3
  34455. provider = Cloudflare
  34456. access_key_id = ACCESS_KEY
  34457. secret_access_key = SECRET_ACCESS_KEY
  34458. region = auto
  34459. endpoint = https://ACCOUNT_ID.r2.cloudflarestorage.com
  34460. acl = private
  34461. \f[R]
  34462. .fi
  34463. .PP
  34464. Now run \f[C]rclone lsf r2:\f[R] to see your buckets and
  34465. \f[C]rclone lsf r2:bucket\f[R] to look within a bucket.
  34466. .SS Dreamhost
  34467. .PP
  34468. Dreamhost DreamObjects (https://www.dreamhost.com/cloud/storage/) is an
  34469. object storage system based on CEPH.
  34470. .PP
  34471. To use rclone with Dreamhost, configure as above but leave the region
  34472. blank and set the endpoint.
  34473. You should end up with something like this in your config:
  34474. .IP
  34475. .nf
  34476. \f[C]
  34477. [dreamobjects]
  34478. type = s3
  34479. provider = DreamHost
  34480. env_auth = false
  34481. access_key_id = your_access_key
  34482. secret_access_key = your_secret_key
  34483. region =
  34484. endpoint = objects-us-west-1.dream.io
  34485. location_constraint =
  34486. acl = private
  34487. server_side_encryption =
  34488. storage_class =
  34489. \f[R]
  34490. .fi
  34491. .SS Google Cloud Storage
  34492. .PP
  34493. GoogleCloudStorage (https://cloud.google.com/storage/docs) is an
  34494. S3-interoperable (https://cloud.google.com/storage/docs/interoperability)
  34495. object storage service from Google Cloud Platform.
  34496. .PP
  34497. To connect to Google Cloud Storage you will need an access key and
  34498. secret key.
  34499. These can be retrieved by creating an HMAC
  34500. key (https://cloud.google.com/storage/docs/authentication/managing-hmackeys).
  34501. .IP
  34502. .nf
  34503. \f[C]
  34504. [gs]
  34505. type = s3
  34506. provider = GCS
  34507. access_key_id = your_access_key
  34508. secret_access_key = your_secret_key
  34509. endpoint = https://storage.googleapis.com
  34510. \f[R]
  34511. .fi
  34512. .PP
  34513. \f[B]Note\f[R] that \f[C]--s3-versions\f[R] does not work with GCS when
  34514. it needs to do directory paging.
  34515. Rclone will return the error:
  34516. .IP
  34517. .nf
  34518. \f[C]
  34519. s3 protocol error: received versions listing with IsTruncated set with no NextKeyMarker
  34520. \f[R]
  34521. .fi
  34522. .PP
  34523. This is Google bug
  34524. #312292516 (https://issuetracker.google.com/u/0/issues/312292516).
  34525. .SS DigitalOcean Spaces
  34526. .PP
  34527. Spaces (https://www.digitalocean.com/products/object-storage/) is an
  34528. S3-interoperable (https://developers.digitalocean.com/documentation/spaces/)
  34529. object storage service from cloud provider DigitalOcean.
  34530. .PP
  34531. To connect to DigitalOcean Spaces you will need an access key and secret
  34532. key.
  34533. These can be retrieved on the \[dq]Applications &
  34534. API (https://cloud.digitalocean.com/settings/api/tokens)\[dq] page of
  34535. the DigitalOcean control panel.
  34536. They will be needed when prompted by \f[C]rclone config\f[R] for your
  34537. \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R].
  34538. .PP
  34539. When prompted for a \f[C]region\f[R] or \f[C]location_constraint\f[R],
  34540. press enter to use the default value.
  34541. The region must be included in the \f[C]endpoint\f[R] setting (e.g.
  34542. \f[C]nyc3.digitaloceanspaces.com\f[R]).
  34543. The default values can be used for other settings.
  34544. .PP
  34545. Going through the whole process of creating a new remote by running
  34546. \f[C]rclone config\f[R], each prompt should be answered as shown below:
  34547. .IP
  34548. .nf
  34549. \f[C]
  34550. Storage> s3
  34551. env_auth> 1
  34552. access_key_id> YOUR_ACCESS_KEY
  34553. secret_access_key> YOUR_SECRET_KEY
  34554. region>
  34555. endpoint> nyc3.digitaloceanspaces.com
  34556. location_constraint>
  34557. acl>
  34558. storage_class>
  34559. \f[R]
  34560. .fi
  34561. .PP
  34562. The resulting configuration file should look like:
  34563. .IP
  34564. .nf
  34565. \f[C]
  34566. [spaces]
  34567. type = s3
  34568. provider = DigitalOcean
  34569. env_auth = false
  34570. access_key_id = YOUR_ACCESS_KEY
  34571. secret_access_key = YOUR_SECRET_KEY
  34572. region =
  34573. endpoint = nyc3.digitaloceanspaces.com
  34574. location_constraint =
  34575. acl =
  34576. server_side_encryption =
  34577. storage_class =
  34578. \f[R]
  34579. .fi
  34580. .PP
  34581. Once configured, you can create a new Space and begin copying files.
  34582. For example:
  34583. .IP
  34584. .nf
  34585. \f[C]
  34586. rclone mkdir spaces:my-new-space
  34587. rclone copy /path/to/files spaces:my-new-space
  34588. \f[R]
  34589. .fi
  34590. .SS Huawei OBS
  34591. .PP
  34592. Object Storage Service (OBS) provides stable, secure, efficient, and
  34593. easy-to-use cloud storage that lets you store virtually any volume of
  34594. unstructured data in any format and access it from anywhere.
  34595. .PP
  34596. OBS provides an S3 interface, you can copy and modify the following
  34597. configuration and add it to your rclone configuration file.
  34598. .IP
  34599. .nf
  34600. \f[C]
  34601. [obs]
  34602. type = s3
  34603. provider = HuaweiOBS
  34604. access_key_id = your-access-key-id
  34605. secret_access_key = your-secret-access-key
  34606. region = af-south-1
  34607. endpoint = obs.af-south-1.myhuaweicloud.com
  34608. acl = private
  34609. \f[R]
  34610. .fi
  34611. .PP
  34612. Or you can also configure via the interactive command line:
  34613. .IP
  34614. .nf
  34615. \f[C]
  34616. No remotes found, make a new one?
  34617. n) New remote
  34618. s) Set configuration password
  34619. q) Quit config
  34620. n/s/q> n
  34621. name> obs
  34622. Option Storage.
  34623. Type of storage to configure.
  34624. Choose a number from below, or type in your own value.
  34625. [snip]
  34626. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  34627. \[rs] (s3)
  34628. [snip]
  34629. Storage> s3
  34630. Option provider.
  34631. Choose your S3 provider.
  34632. Choose a number from below, or type in your own value.
  34633. Press Enter to leave empty.
  34634. [snip]
  34635. 9 / Huawei Object Storage Service
  34636. \[rs] (HuaweiOBS)
  34637. [snip]
  34638. provider> 9
  34639. Option env_auth.
  34640. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  34641. Only applies if access_key_id and secret_access_key is blank.
  34642. Choose a number from below, or type in your own boolean value (true or false).
  34643. Press Enter for the default (false).
  34644. 1 / Enter AWS credentials in the next step.
  34645. \[rs] (false)
  34646. 2 / Get AWS credentials from the environment (env vars or IAM).
  34647. \[rs] (true)
  34648. env_auth> 1
  34649. Option access_key_id.
  34650. AWS Access Key ID.
  34651. Leave blank for anonymous access or runtime credentials.
  34652. Enter a value. Press Enter to leave empty.
  34653. access_key_id> your-access-key-id
  34654. Option secret_access_key.
  34655. AWS Secret Access Key (password).
  34656. Leave blank for anonymous access or runtime credentials.
  34657. Enter a value. Press Enter to leave empty.
  34658. secret_access_key> your-secret-access-key
  34659. Option region.
  34660. Region to connect to.
  34661. Choose a number from below, or type in your own value.
  34662. Press Enter to leave empty.
  34663. 1 / AF-Johannesburg
  34664. \[rs] (af-south-1)
  34665. 2 / AP-Bangkok
  34666. \[rs] (ap-southeast-2)
  34667. [snip]
  34668. region> 1
  34669. Option endpoint.
  34670. Endpoint for OBS API.
  34671. Choose a number from below, or type in your own value.
  34672. Press Enter to leave empty.
  34673. 1 / AF-Johannesburg
  34674. \[rs] (obs.af-south-1.myhuaweicloud.com)
  34675. 2 / AP-Bangkok
  34676. \[rs] (obs.ap-southeast-2.myhuaweicloud.com)
  34677. [snip]
  34678. endpoint> 1
  34679. Option acl.
  34680. Canned ACL used when creating buckets and storing or copying objects.
  34681. This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too.
  34682. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  34683. Note that this ACL is applied when server-side copying objects as S3
  34684. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  34685. Choose a number from below, or type in your own value.
  34686. Press Enter to leave empty.
  34687. / Owner gets FULL_CONTROL.
  34688. 1 | No one else has access rights (default).
  34689. \[rs] (private)
  34690. [snip]
  34691. acl> 1
  34692. Edit advanced config?
  34693. y) Yes
  34694. n) No (default)
  34695. y/n>
  34696. --------------------
  34697. [obs]
  34698. type = s3
  34699. provider = HuaweiOBS
  34700. access_key_id = your-access-key-id
  34701. secret_access_key = your-secret-access-key
  34702. region = af-south-1
  34703. endpoint = obs.af-south-1.myhuaweicloud.com
  34704. acl = private
  34705. --------------------
  34706. y) Yes this is OK (default)
  34707. e) Edit this remote
  34708. d) Delete this remote
  34709. y/e/d> y
  34710. Current remotes:
  34711. Name Type
  34712. ==== ====
  34713. obs s3
  34714. e) Edit existing remote
  34715. n) New remote
  34716. d) Delete remote
  34717. r) Rename remote
  34718. c) Copy remote
  34719. s) Set configuration password
  34720. q) Quit config
  34721. e/n/d/r/c/s/q> q
  34722. \f[R]
  34723. .fi
  34724. .SS IBM COS (S3)
  34725. .PP
  34726. Information stored with IBM Cloud Object Storage is encrypted and
  34727. dispersed across multiple geographic locations, and accessed through an
  34728. implementation of the S3 API.
  34729. This service makes use of the distributed storage technologies provided
  34730. by IBM\[cq]s Cloud Object Storage System (formerly Cleversafe).
  34731. For more information visit: (http://www.ibm.com/cloud/object-storage)
  34732. .PP
  34733. To configure access to IBM COS S3, follow the steps below:
  34734. .IP "1." 3
  34735. Run rclone config and select n for a new remote.
  34736. .IP
  34737. .nf
  34738. \f[C]
  34739. 2018/02/14 14:13:11 NOTICE: Config file \[dq]C:\[rs]\[rs]Users\[rs]\[rs]a\[rs]\[rs].config\[rs]\[rs]rclone\[rs]\[rs]rclone.conf\[dq] not found - using defaults
  34740. No remotes found, make a new one?
  34741. n) New remote
  34742. s) Set configuration password
  34743. q) Quit config
  34744. n/s/q> n
  34745. \f[R]
  34746. .fi
  34747. .IP "2." 3
  34748. Enter the name for the configuration
  34749. .IP
  34750. .nf
  34751. \f[C]
  34752. name> <YOUR NAME>
  34753. \f[R]
  34754. .fi
  34755. .IP "3." 3
  34756. Select \[dq]s3\[dq] storage.
  34757. .IP
  34758. .nf
  34759. \f[C]
  34760. Choose a number from below, or type in your own value
  34761. [snip]
  34762. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  34763. \[rs] \[dq]s3\[dq]
  34764. [snip]
  34765. Storage> s3
  34766. \f[R]
  34767. .fi
  34768. .IP "4." 3
  34769. Select IBM COS as the S3 Storage Provider.
  34770. .IP
  34771. .nf
  34772. \f[C]
  34773. Choose the S3 provider.
  34774. Choose a number from below, or type in your own value
  34775. 1 / Choose this option to configure Storage to AWS S3
  34776. \[rs] \[dq]AWS\[dq]
  34777. 2 / Choose this option to configure Storage to Ceph Systems
  34778. \[rs] \[dq]Ceph\[dq]
  34779. 3 / Choose this option to configure Storage to Dreamhost
  34780. \[rs] \[dq]Dreamhost\[dq]
  34781. 4 / Choose this option to the configure Storage to IBM COS S3
  34782. \[rs] \[dq]IBMCOS\[dq]
  34783. 5 / Choose this option to the configure Storage to Minio
  34784. \[rs] \[dq]Minio\[dq]
  34785. Provider>4
  34786. \f[R]
  34787. .fi
  34788. .IP "5." 3
  34789. Enter the Access Key and Secret.
  34790. .IP
  34791. .nf
  34792. \f[C]
  34793. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  34794. access_key_id> <>
  34795. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  34796. secret_access_key> <>
  34797. \f[R]
  34798. .fi
  34799. .IP "6." 3
  34800. Specify the endpoint for IBM COS.
  34801. For Public IBM COS, choose from the option below.
  34802. For On Premise IBM COS, enter an endpoint address.
  34803. .IP
  34804. .nf
  34805. \f[C]
  34806. Endpoint for IBM COS S3 API.
  34807. Specify if using an IBM COS On Premise.
  34808. Choose a number from below, or type in your own value
  34809. 1 / US Cross Region Endpoint
  34810. \[rs] \[dq]s3-api.us-geo.objectstorage.softlayer.net\[dq]
  34811. 2 / US Cross Region Dallas Endpoint
  34812. \[rs] \[dq]s3-api.dal.us-geo.objectstorage.softlayer.net\[dq]
  34813. 3 / US Cross Region Washington DC Endpoint
  34814. \[rs] \[dq]s3-api.wdc-us-geo.objectstorage.softlayer.net\[dq]
  34815. 4 / US Cross Region San Jose Endpoint
  34816. \[rs] \[dq]s3-api.sjc-us-geo.objectstorage.softlayer.net\[dq]
  34817. 5 / US Cross Region Private Endpoint
  34818. \[rs] \[dq]s3-api.us-geo.objectstorage.service.networklayer.com\[dq]
  34819. 6 / US Cross Region Dallas Private Endpoint
  34820. \[rs] \[dq]s3-api.dal-us-geo.objectstorage.service.networklayer.com\[dq]
  34821. 7 / US Cross Region Washington DC Private Endpoint
  34822. \[rs] \[dq]s3-api.wdc-us-geo.objectstorage.service.networklayer.com\[dq]
  34823. 8 / US Cross Region San Jose Private Endpoint
  34824. \[rs] \[dq]s3-api.sjc-us-geo.objectstorage.service.networklayer.com\[dq]
  34825. 9 / US Region East Endpoint
  34826. \[rs] \[dq]s3.us-east.objectstorage.softlayer.net\[dq]
  34827. 10 / US Region East Private Endpoint
  34828. \[rs] \[dq]s3.us-east.objectstorage.service.networklayer.com\[dq]
  34829. 11 / US Region South Endpoint
  34830. [snip]
  34831. 34 / Toronto Single Site Private Endpoint
  34832. \[rs] \[dq]s3.tor01.objectstorage.service.networklayer.com\[dq]
  34833. endpoint>1
  34834. \f[R]
  34835. .fi
  34836. .IP "7." 3
  34837. Specify a IBM COS Location Constraint.
  34838. The location constraint must match endpoint when using IBM Cloud Public.
  34839. For on-prem COS, do not make a selection from this list, hit enter
  34840. .IP
  34841. .nf
  34842. \f[C]
  34843. 1 / US Cross Region Standard
  34844. \[rs] \[dq]us-standard\[dq]
  34845. 2 / US Cross Region Vault
  34846. \[rs] \[dq]us-vault\[dq]
  34847. 3 / US Cross Region Cold
  34848. \[rs] \[dq]us-cold\[dq]
  34849. 4 / US Cross Region Flex
  34850. \[rs] \[dq]us-flex\[dq]
  34851. 5 / US East Region Standard
  34852. \[rs] \[dq]us-east-standard\[dq]
  34853. 6 / US East Region Vault
  34854. \[rs] \[dq]us-east-vault\[dq]
  34855. 7 / US East Region Cold
  34856. \[rs] \[dq]us-east-cold\[dq]
  34857. 8 / US East Region Flex
  34858. \[rs] \[dq]us-east-flex\[dq]
  34859. 9 / US South Region Standard
  34860. \[rs] \[dq]us-south-standard\[dq]
  34861. 10 / US South Region Vault
  34862. \[rs] \[dq]us-south-vault\[dq]
  34863. [snip]
  34864. 32 / Toronto Flex
  34865. \[rs] \[dq]tor01-flex\[dq]
  34866. location_constraint>1
  34867. \f[R]
  34868. .fi
  34869. .IP "9." 3
  34870. Specify a canned ACL.
  34871. IBM Cloud (Storage) supports \[dq]public-read\[dq] and
  34872. \[dq]private\[dq].
  34873. IBM Cloud(Infra) supports all the canned ACLs.
  34874. On-Premise COS supports all the canned ACLs.
  34875. .IP
  34876. .nf
  34877. \f[C]
  34878. Canned ACL used when creating buckets and/or storing objects in S3.
  34879. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  34880. Choose a number from below, or type in your own value
  34881. 1 / Owner gets FULL_CONTROL. No one else has access rights (default). This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise COS
  34882. \[rs] \[dq]private\[dq]
  34883. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise IBM COS
  34884. \[rs] \[dq]public-read\[dq]
  34885. 3 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. This acl is available on IBM Cloud (Infra), On-Premise IBM COS
  34886. \[rs] \[dq]public-read-write\[dq]
  34887. 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. Not supported on Buckets. This acl is available on IBM Cloud (Infra) and On-Premise IBM COS
  34888. \[rs] \[dq]authenticated-read\[dq]
  34889. acl> 1
  34890. \f[R]
  34891. .fi
  34892. .IP "12." 4
  34893. Review the displayed configuration and accept to save the
  34894. \[dq]remote\[dq] then quit.
  34895. The config file should look like this
  34896. .IP
  34897. .nf
  34898. \f[C]
  34899. [xxx]
  34900. type = s3
  34901. Provider = IBMCOS
  34902. access_key_id = xxx
  34903. secret_access_key = yyy
  34904. endpoint = s3-api.us-geo.objectstorage.softlayer.net
  34905. location_constraint = us-standard
  34906. acl = private
  34907. \f[R]
  34908. .fi
  34909. .IP "13." 4
  34910. Execute rclone commands
  34911. .IP
  34912. .nf
  34913. \f[C]
  34914. 1) Create a bucket.
  34915. rclone mkdir IBM-COS-XREGION:newbucket
  34916. 2) List available buckets.
  34917. rclone lsd IBM-COS-XREGION:
  34918. -1 2017-11-08 21:16:22 -1 test
  34919. -1 2018-02-14 20:16:39 -1 newbucket
  34920. 3) List contents of a bucket.
  34921. rclone ls IBM-COS-XREGION:newbucket
  34922. 18685952 test.exe
  34923. 4) Copy a file from local to remote.
  34924. rclone copy /Users/file.txt IBM-COS-XREGION:newbucket
  34925. 5) Copy a file from remote to local.
  34926. rclone copy IBM-COS-XREGION:newbucket/file.txt .
  34927. 6) Delete a file on remote.
  34928. rclone delete IBM-COS-XREGION:newbucket/file.txt
  34929. \f[R]
  34930. .fi
  34931. .SS IDrive e2
  34932. .PP
  34933. Here is an example of making an IDrive e2 (https://www.idrive.com/e2/)
  34934. configuration.
  34935. First run:
  34936. .IP
  34937. .nf
  34938. \f[C]
  34939. rclone config
  34940. \f[R]
  34941. .fi
  34942. .PP
  34943. This will guide you through an interactive setup process.
  34944. .IP
  34945. .nf
  34946. \f[C]
  34947. No remotes found, make a new one?
  34948. n) New remote
  34949. s) Set configuration password
  34950. q) Quit config
  34951. n/s/q> n
  34952. Enter name for new remote.
  34953. name> e2
  34954. Option Storage.
  34955. Type of storage to configure.
  34956. Choose a number from below, or type in your own value.
  34957. [snip]
  34958. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  34959. \[rs] (s3)
  34960. [snip]
  34961. Storage> s3
  34962. Option provider.
  34963. Choose your S3 provider.
  34964. Choose a number from below, or type in your own value.
  34965. Press Enter to leave empty.
  34966. [snip]
  34967. XX / IDrive e2
  34968. \[rs] (IDrive)
  34969. [snip]
  34970. provider> IDrive
  34971. Option env_auth.
  34972. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  34973. Only applies if access_key_id and secret_access_key is blank.
  34974. Choose a number from below, or type in your own boolean value (true or false).
  34975. Press Enter for the default (false).
  34976. 1 / Enter AWS credentials in the next step.
  34977. \[rs] (false)
  34978. 2 / Get AWS credentials from the environment (env vars or IAM).
  34979. \[rs] (true)
  34980. env_auth>
  34981. Option access_key_id.
  34982. AWS Access Key ID.
  34983. Leave blank for anonymous access or runtime credentials.
  34984. Enter a value. Press Enter to leave empty.
  34985. access_key_id> YOUR_ACCESS_KEY
  34986. Option secret_access_key.
  34987. AWS Secret Access Key (password).
  34988. Leave blank for anonymous access or runtime credentials.
  34989. Enter a value. Press Enter to leave empty.
  34990. secret_access_key> YOUR_SECRET_KEY
  34991. Option acl.
  34992. Canned ACL used when creating buckets and storing or copying objects.
  34993. This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too.
  34994. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  34995. Note that this ACL is applied when server-side copying objects as S3
  34996. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  34997. Choose a number from below, or type in your own value.
  34998. Press Enter to leave empty.
  34999. / Owner gets FULL_CONTROL.
  35000. 1 | No one else has access rights (default).
  35001. \[rs] (private)
  35002. / Owner gets FULL_CONTROL.
  35003. 2 | The AllUsers group gets READ access.
  35004. \[rs] (public-read)
  35005. / Owner gets FULL_CONTROL.
  35006. 3 | The AllUsers group gets READ and WRITE access.
  35007. | Granting this on a bucket is generally not recommended.
  35008. \[rs] (public-read-write)
  35009. / Owner gets FULL_CONTROL.
  35010. 4 | The AuthenticatedUsers group gets READ access.
  35011. \[rs] (authenticated-read)
  35012. / Object owner gets FULL_CONTROL.
  35013. 5 | Bucket owner gets READ access.
  35014. | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  35015. \[rs] (bucket-owner-read)
  35016. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  35017. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  35018. \[rs] (bucket-owner-full-control)
  35019. acl>
  35020. Edit advanced config?
  35021. y) Yes
  35022. n) No (default)
  35023. y/n>
  35024. Configuration complete.
  35025. Options:
  35026. - type: s3
  35027. - provider: IDrive
  35028. - access_key_id: YOUR_ACCESS_KEY
  35029. - secret_access_key: YOUR_SECRET_KEY
  35030. - endpoint: q9d9.la12.idrivee2-5.com
  35031. Keep this \[dq]e2\[dq] remote?
  35032. y) Yes this is OK (default)
  35033. e) Edit this remote
  35034. d) Delete this remote
  35035. y/e/d> y
  35036. \f[R]
  35037. .fi
  35038. .SS IONOS Cloud
  35039. .PP
  35040. IONOS S3 Object Storage (https://cloud.ionos.com/storage/object-storage)
  35041. is a service offered by IONOS for storing and accessing unstructured
  35042. data.
  35043. To connect to the service, you will need an access key and a secret key.
  35044. These can be found in the Data Center Designer (https://dcd.ionos.com/),
  35045. by selecting \f[B]Manager resources\f[R] > \f[B]Object Storage Key
  35046. Manager\f[R].
  35047. .PP
  35048. Here is an example of a configuration.
  35049. First, run \f[C]rclone config\f[R].
  35050. This will walk you through an interactive setup process.
  35051. Type \f[C]n\f[R] to add the new remote, and then enter a name:
  35052. .IP
  35053. .nf
  35054. \f[C]
  35055. Enter name for new remote.
  35056. name> ionos-fra
  35057. \f[R]
  35058. .fi
  35059. .PP
  35060. Type \f[C]s3\f[R] to choose the connection type:
  35061. .IP
  35062. .nf
  35063. \f[C]
  35064. Option Storage.
  35065. Type of storage to configure.
  35066. Choose a number from below, or type in your own value.
  35067. [snip]
  35068. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  35069. \[rs] (s3)
  35070. [snip]
  35071. Storage> s3
  35072. \f[R]
  35073. .fi
  35074. .PP
  35075. Type \f[C]IONOS\f[R]:
  35076. .IP
  35077. .nf
  35078. \f[C]
  35079. Option provider.
  35080. Choose your S3 provider.
  35081. Choose a number from below, or type in your own value.
  35082. Press Enter to leave empty.
  35083. [snip]
  35084. XX / IONOS Cloud
  35085. \[rs] (IONOS)
  35086. [snip]
  35087. provider> IONOS
  35088. \f[R]
  35089. .fi
  35090. .PP
  35091. Press Enter to choose the default option
  35092. \f[C]Enter AWS credentials in the next step\f[R]:
  35093. .IP
  35094. .nf
  35095. \f[C]
  35096. Option env_auth.
  35097. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  35098. Only applies if access_key_id and secret_access_key is blank.
  35099. Choose a number from below, or type in your own boolean value (true or false).
  35100. Press Enter for the default (false).
  35101. 1 / Enter AWS credentials in the next step.
  35102. \[rs] (false)
  35103. 2 / Get AWS credentials from the environment (env vars or IAM).
  35104. \[rs] (true)
  35105. env_auth>
  35106. \f[R]
  35107. .fi
  35108. .PP
  35109. Enter your Access Key and Secret key.
  35110. These can be retrieved in the Data Center
  35111. Designer (https://dcd.ionos.com/), click on the menu \[lq]Manager
  35112. resources\[rq] / \[dq]Object Storage Key Manager\[dq].
  35113. .IP
  35114. .nf
  35115. \f[C]
  35116. Option access_key_id.
  35117. AWS Access Key ID.
  35118. Leave blank for anonymous access or runtime credentials.
  35119. Enter a value. Press Enter to leave empty.
  35120. access_key_id> YOUR_ACCESS_KEY
  35121. Option secret_access_key.
  35122. AWS Secret Access Key (password).
  35123. Leave blank for anonymous access or runtime credentials.
  35124. Enter a value. Press Enter to leave empty.
  35125. secret_access_key> YOUR_SECRET_KEY
  35126. \f[R]
  35127. .fi
  35128. .PP
  35129. Choose the region where your bucket is located:
  35130. .IP
  35131. .nf
  35132. \f[C]
  35133. Option region.
  35134. Region where your bucket will be created and your data stored.
  35135. Choose a number from below, or type in your own value.
  35136. Press Enter to leave empty.
  35137. 1 / Frankfurt, Germany
  35138. \[rs] (de)
  35139. 2 / Berlin, Germany
  35140. \[rs] (eu-central-2)
  35141. 3 / Logrono, Spain
  35142. \[rs] (eu-south-2)
  35143. region> 2
  35144. \f[R]
  35145. .fi
  35146. .PP
  35147. Choose the endpoint from the same region:
  35148. .IP
  35149. .nf
  35150. \f[C]
  35151. Option endpoint.
  35152. Endpoint for IONOS S3 Object Storage.
  35153. Specify the endpoint from the same region.
  35154. Choose a number from below, or type in your own value.
  35155. Press Enter to leave empty.
  35156. 1 / Frankfurt, Germany
  35157. \[rs] (s3-eu-central-1.ionoscloud.com)
  35158. 2 / Berlin, Germany
  35159. \[rs] (s3-eu-central-2.ionoscloud.com)
  35160. 3 / Logrono, Spain
  35161. \[rs] (s3-eu-south-2.ionoscloud.com)
  35162. endpoint> 1
  35163. \f[R]
  35164. .fi
  35165. .PP
  35166. Press Enter to choose the default option or choose the desired ACL
  35167. setting:
  35168. .IP
  35169. .nf
  35170. \f[C]
  35171. Option acl.
  35172. Canned ACL used when creating buckets and storing or copying objects.
  35173. This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too.
  35174. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  35175. Note that this ACL is applied when server-side copying objects as S3
  35176. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  35177. Choose a number from below, or type in your own value.
  35178. Press Enter to leave empty.
  35179. / Owner gets FULL_CONTROL.
  35180. 1 | No one else has access rights (default).
  35181. \[rs] (private)
  35182. / Owner gets FULL_CONTROL.
  35183. [snip]
  35184. acl>
  35185. \f[R]
  35186. .fi
  35187. .PP
  35188. Press Enter to skip the advanced config:
  35189. .IP
  35190. .nf
  35191. \f[C]
  35192. Edit advanced config?
  35193. y) Yes
  35194. n) No (default)
  35195. y/n>
  35196. \f[R]
  35197. .fi
  35198. .PP
  35199. Press Enter to save the configuration, and then \f[C]q\f[R] to quit the
  35200. configuration process:
  35201. .IP
  35202. .nf
  35203. \f[C]
  35204. Configuration complete.
  35205. Options:
  35206. - type: s3
  35207. - provider: IONOS
  35208. - access_key_id: YOUR_ACCESS_KEY
  35209. - secret_access_key: YOUR_SECRET_KEY
  35210. - endpoint: s3-eu-central-1.ionoscloud.com
  35211. Keep this \[dq]ionos-fra\[dq] remote?
  35212. y) Yes this is OK (default)
  35213. e) Edit this remote
  35214. d) Delete this remote
  35215. y/e/d> y
  35216. \f[R]
  35217. .fi
  35218. .PP
  35219. Done! Now you can try some commands (for macOS, use \f[C]./rclone\f[R]
  35220. instead of \f[C]rclone\f[R]).
  35221. .IP "1)" 3
  35222. Create a bucket (the name must be unique within the whole IONOS S3)
  35223. .IP
  35224. .nf
  35225. \f[C]
  35226. rclone mkdir ionos-fra:my-bucket
  35227. \f[R]
  35228. .fi
  35229. .IP "2)" 3
  35230. List available buckets
  35231. .IP
  35232. .nf
  35233. \f[C]
  35234. rclone lsd ionos-fra:
  35235. \f[R]
  35236. .fi
  35237. .IP "4)" 3
  35238. Copy a file from local to remote
  35239. .IP
  35240. .nf
  35241. \f[C]
  35242. rclone copy /Users/file.txt ionos-fra:my-bucket
  35243. \f[R]
  35244. .fi
  35245. .IP "3)" 3
  35246. List contents of a bucket
  35247. .IP
  35248. .nf
  35249. \f[C]
  35250. rclone ls ionos-fra:my-bucket
  35251. \f[R]
  35252. .fi
  35253. .IP "5)" 3
  35254. Copy a file from remote to local
  35255. .IP
  35256. .nf
  35257. \f[C]
  35258. rclone copy ionos-fra:my-bucket/file.txt
  35259. \f[R]
  35260. .fi
  35261. .SS Minio
  35262. .PP
  35263. Minio (https://minio.io/) is an object storage server built for cloud
  35264. application developers and devops.
  35265. .PP
  35266. It is very easy to install and provides an S3 compatible server which
  35267. can be used by rclone.
  35268. .PP
  35269. To use it, install Minio following the instructions
  35270. here (https://docs.minio.io/docs/minio-quickstart-guide).
  35271. .PP
  35272. When it configures itself Minio will print something like this
  35273. .IP
  35274. .nf
  35275. \f[C]
  35276. Endpoint: http://192.168.1.106:9000 http://172.23.0.1:9000
  35277. AccessKey: USWUXHGYZQYFYFFIT3RE
  35278. SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  35279. Region: us-east-1
  35280. SQS ARNs: arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis
  35281. Browser Access:
  35282. http://192.168.1.106:9000 http://172.23.0.1:9000
  35283. Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
  35284. $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  35285. Object API (Amazon S3 compatible):
  35286. Go: https://docs.minio.io/docs/golang-client-quickstart-guide
  35287. Java: https://docs.minio.io/docs/java-client-quickstart-guide
  35288. Python: https://docs.minio.io/docs/python-client-quickstart-guide
  35289. JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
  35290. .NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
  35291. Drive Capacity: 26 GiB Free, 165 GiB Total
  35292. \f[R]
  35293. .fi
  35294. .PP
  35295. These details need to go into \f[C]rclone config\f[R] like this.
  35296. Note that it is important to put the region in as stated above.
  35297. .IP
  35298. .nf
  35299. \f[C]
  35300. env_auth> 1
  35301. access_key_id> USWUXHGYZQYFYFFIT3RE
  35302. secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  35303. region> us-east-1
  35304. endpoint> http://192.168.1.106:9000
  35305. location_constraint>
  35306. server_side_encryption>
  35307. \f[R]
  35308. .fi
  35309. .PP
  35310. Which makes the config file look like this
  35311. .IP
  35312. .nf
  35313. \f[C]
  35314. [minio]
  35315. type = s3
  35316. provider = Minio
  35317. env_auth = false
  35318. access_key_id = USWUXHGYZQYFYFFIT3RE
  35319. secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  35320. region = us-east-1
  35321. endpoint = http://192.168.1.106:9000
  35322. location_constraint =
  35323. server_side_encryption =
  35324. \f[R]
  35325. .fi
  35326. .PP
  35327. So once set up, for example, to copy files into a bucket
  35328. .IP
  35329. .nf
  35330. \f[C]
  35331. rclone copy /path/to/files minio:bucket
  35332. \f[R]
  35333. .fi
  35334. .SS Qiniu Cloud Object Storage (Kodo)
  35335. .PP
  35336. Qiniu Cloud Object Storage
  35337. (Kodo) (https://www.qiniu.com/en/products/kodo), a completely
  35338. independent-researched core technology which is proven by repeated
  35339. customer experience has occupied absolute leading market leader
  35340. position.
  35341. Kodo can be widely applied to mass data management.
  35342. .PP
  35343. To configure access to Qiniu Kodo, follow the steps below:
  35344. .IP "1." 3
  35345. Run \f[C]rclone config\f[R] and select \f[C]n\f[R] for a new remote.
  35346. .IP
  35347. .nf
  35348. \f[C]
  35349. rclone config
  35350. No remotes found, make a new one?
  35351. n) New remote
  35352. s) Set configuration password
  35353. q) Quit config
  35354. n/s/q> n
  35355. \f[R]
  35356. .fi
  35357. .IP "2." 3
  35358. Give the name of the configuration.
  35359. For example, name it \[aq]qiniu\[aq].
  35360. .IP
  35361. .nf
  35362. \f[C]
  35363. name> qiniu
  35364. \f[R]
  35365. .fi
  35366. .IP "3." 3
  35367. Select \f[C]s3\f[R] storage.
  35368. .IP
  35369. .nf
  35370. \f[C]
  35371. Choose a number from below, or type in your own value
  35372. [snip]
  35373. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  35374. \[rs] (s3)
  35375. [snip]
  35376. Storage> s3
  35377. \f[R]
  35378. .fi
  35379. .IP "4." 3
  35380. Select \f[C]Qiniu\f[R] provider.
  35381. .IP
  35382. .nf
  35383. \f[C]
  35384. Choose a number from below, or type in your own value
  35385. 1 / Amazon Web Services (AWS) S3
  35386. \[rs] \[dq]AWS\[dq]
  35387. [snip]
  35388. 22 / Qiniu Object Storage (Kodo)
  35389. \[rs] (Qiniu)
  35390. [snip]
  35391. provider> Qiniu
  35392. \f[R]
  35393. .fi
  35394. .IP "5." 3
  35395. Enter your SecretId and SecretKey of Qiniu Kodo.
  35396. .IP
  35397. .nf
  35398. \f[C]
  35399. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  35400. Only applies if access_key_id and secret_access_key is blank.
  35401. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  35402. Choose a number from below, or type in your own value
  35403. 1 / Enter AWS credentials in the next step
  35404. \[rs] \[dq]false\[dq]
  35405. 2 / Get AWS credentials from the environment (env vars or IAM)
  35406. \[rs] \[dq]true\[dq]
  35407. env_auth> 1
  35408. AWS Access Key ID.
  35409. Leave blank for anonymous access or runtime credentials.
  35410. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  35411. access_key_id> AKIDxxxxxxxxxx
  35412. AWS Secret Access Key (password)
  35413. Leave blank for anonymous access or runtime credentials.
  35414. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  35415. secret_access_key> xxxxxxxxxxx
  35416. \f[R]
  35417. .fi
  35418. .IP "6." 3
  35419. Select endpoint for Qiniu Kodo.
  35420. This is the standard endpoint for different region.
  35421. .IP
  35422. .nf
  35423. \f[C]
  35424. / The default endpoint - a good choice if you are unsure.
  35425. 1 | East China Region 1.
  35426. | Needs location constraint cn-east-1.
  35427. \[rs] (cn-east-1)
  35428. / East China Region 2.
  35429. 2 | Needs location constraint cn-east-2.
  35430. \[rs] (cn-east-2)
  35431. / North China Region 1.
  35432. 3 | Needs location constraint cn-north-1.
  35433. \[rs] (cn-north-1)
  35434. / South China Region 1.
  35435. 4 | Needs location constraint cn-south-1.
  35436. \[rs] (cn-south-1)
  35437. / North America Region.
  35438. 5 | Needs location constraint us-north-1.
  35439. \[rs] (us-north-1)
  35440. / Southeast Asia Region 1.
  35441. 6 | Needs location constraint ap-southeast-1.
  35442. \[rs] (ap-southeast-1)
  35443. / Northeast Asia Region 1.
  35444. 7 | Needs location constraint ap-northeast-1.
  35445. \[rs] (ap-northeast-1)
  35446. [snip]
  35447. endpoint> 1
  35448. Option endpoint.
  35449. Endpoint for Qiniu Object Storage.
  35450. Choose a number from below, or type in your own value.
  35451. Press Enter to leave empty.
  35452. 1 / East China Endpoint 1
  35453. \[rs] (s3-cn-east-1.qiniucs.com)
  35454. 2 / East China Endpoint 2
  35455. \[rs] (s3-cn-east-2.qiniucs.com)
  35456. 3 / North China Endpoint 1
  35457. \[rs] (s3-cn-north-1.qiniucs.com)
  35458. 4 / South China Endpoint 1
  35459. \[rs] (s3-cn-south-1.qiniucs.com)
  35460. 5 / North America Endpoint 1
  35461. \[rs] (s3-us-north-1.qiniucs.com)
  35462. 6 / Southeast Asia Endpoint 1
  35463. \[rs] (s3-ap-southeast-1.qiniucs.com)
  35464. 7 / Northeast Asia Endpoint 1
  35465. \[rs] (s3-ap-northeast-1.qiniucs.com)
  35466. endpoint> 1
  35467. Option location_constraint.
  35468. Location constraint - must be set to match the Region.
  35469. Used when creating buckets only.
  35470. Choose a number from below, or type in your own value.
  35471. Press Enter to leave empty.
  35472. 1 / East China Region 1
  35473. \[rs] (cn-east-1)
  35474. 2 / East China Region 2
  35475. \[rs] (cn-east-2)
  35476. 3 / North China Region 1
  35477. \[rs] (cn-north-1)
  35478. 4 / South China Region 1
  35479. \[rs] (cn-south-1)
  35480. 5 / North America Region 1
  35481. \[rs] (us-north-1)
  35482. 6 / Southeast Asia Region 1
  35483. \[rs] (ap-southeast-1)
  35484. 7 / Northeast Asia Region 1
  35485. \[rs] (ap-northeast-1)
  35486. location_constraint> 1
  35487. \f[R]
  35488. .fi
  35489. .IP "7." 3
  35490. Choose acl and storage class.
  35491. .IP
  35492. .nf
  35493. \f[C]
  35494. Note that this ACL is applied when server-side copying objects as S3
  35495. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  35496. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  35497. Choose a number from below, or type in your own value
  35498. / Owner gets FULL_CONTROL.
  35499. 1 | No one else has access rights (default).
  35500. \[rs] (private)
  35501. / Owner gets FULL_CONTROL.
  35502. 2 | The AllUsers group gets READ access.
  35503. \[rs] (public-read)
  35504. [snip]
  35505. acl> 2
  35506. The storage class to use when storing new objects in Tencent COS.
  35507. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  35508. Choose a number from below, or type in your own value
  35509. 1 / Standard storage class
  35510. \[rs] (STANDARD)
  35511. 2 / Infrequent access storage mode
  35512. \[rs] (LINE)
  35513. 3 / Archive storage mode
  35514. \[rs] (GLACIER)
  35515. 4 / Deep archive storage mode
  35516. \[rs] (DEEP_ARCHIVE)
  35517. [snip]
  35518. storage_class> 1
  35519. Edit advanced config? (y/n)
  35520. y) Yes
  35521. n) No (default)
  35522. y/n> n
  35523. Remote config
  35524. --------------------
  35525. [qiniu]
  35526. - type: s3
  35527. - provider: Qiniu
  35528. - access_key_id: xxx
  35529. - secret_access_key: xxx
  35530. - region: cn-east-1
  35531. - endpoint: s3-cn-east-1.qiniucs.com
  35532. - location_constraint: cn-east-1
  35533. - acl: public-read
  35534. - storage_class: STANDARD
  35535. --------------------
  35536. y) Yes this is OK (default)
  35537. e) Edit this remote
  35538. d) Delete this remote
  35539. y/e/d> y
  35540. Current remotes:
  35541. Name Type
  35542. ==== ====
  35543. qiniu s3
  35544. \f[R]
  35545. .fi
  35546. .SS RackCorp
  35547. .PP
  35548. RackCorp Object Storage (https://www.rackcorp.com/storage/s3storage) is
  35549. an S3 compatible object storage platform from your friendly cloud
  35550. provider RackCorp.
  35551. The service is fast, reliable, well priced and located in many strategic
  35552. locations unserviced by others, to ensure you can maintain data
  35553. sovereignty.
  35554. .PP
  35555. Before you can use RackCorp Object Storage, you\[aq]ll need to \[dq]sign
  35556. up (https://www.rackcorp.com/signup)\[dq] for an account on our
  35557. \[dq]portal (https://portal.rackcorp.com)\[dq].
  35558. Next you can create an \f[C]access key\f[R], a \f[C]secret key\f[R] and
  35559. \f[C]buckets\f[R], in your location of choice with ease.
  35560. These details are required for the next steps of configuration, when
  35561. \f[C]rclone config\f[R] asks for your \f[C]access_key_id\f[R] and
  35562. \f[C]secret_access_key\f[R].
  35563. .PP
  35564. Your config should end up looking a bit like this:
  35565. .IP
  35566. .nf
  35567. \f[C]
  35568. [RCS3-demo-config]
  35569. type = s3
  35570. provider = RackCorp
  35571. env_auth = true
  35572. access_key_id = YOURACCESSKEY
  35573. secret_access_key = YOURSECRETACCESSKEY
  35574. region = au-nsw
  35575. endpoint = s3.rackcorp.com
  35576. location_constraint = au-nsw
  35577. \f[R]
  35578. .fi
  35579. .SS Rclone Serve S3
  35580. .PP
  35581. Rclone can serve any remote over the S3 protocol.
  35582. For details see the rclone serve
  35583. s3 (https://rclone.org/commands/rclone_serve_http/) documentation.
  35584. .PP
  35585. For example, to serve \f[C]remote:path\f[R] over s3, run the server like
  35586. this:
  35587. .IP
  35588. .nf
  35589. \f[C]
  35590. rclone serve s3 --auth-key ACCESS_KEY_ID,SECRET_ACCESS_KEY remote:path
  35591. \f[R]
  35592. .fi
  35593. .PP
  35594. This will be compatible with an rclone remote which is defined like
  35595. this:
  35596. .IP
  35597. .nf
  35598. \f[C]
  35599. [serves3]
  35600. type = s3
  35601. provider = Rclone
  35602. endpoint = http://127.0.0.1:8080/
  35603. access_key_id = ACCESS_KEY_ID
  35604. secret_access_key = SECRET_ACCESS_KEY
  35605. use_multipart_uploads = false
  35606. \f[R]
  35607. .fi
  35608. .PP
  35609. Note that setting \f[C]disable_multipart_uploads = true\f[R] is to work
  35610. around a bug (https://rclone.org/commands/rclone_serve_http/#bugs) which
  35611. will be fixed in due course.
  35612. .SS Scaleway
  35613. .PP
  35614. Scaleway (https://www.scaleway.com/object-storage/) The Object Storage
  35615. platform allows you to store anything from backups, logs and web assets
  35616. to documents and photos.
  35617. Files can be dropped from the Scaleway console or transferred through
  35618. our API and CLI or using any S3-compatible tool.
  35619. .PP
  35620. Scaleway provides an S3 interface which can be configured for use with
  35621. rclone like this:
  35622. .IP
  35623. .nf
  35624. \f[C]
  35625. [scaleway]
  35626. type = s3
  35627. provider = Scaleway
  35628. env_auth = false
  35629. endpoint = s3.nl-ams.scw.cloud
  35630. access_key_id = SCWXXXXXXXXXXXXXX
  35631. secret_access_key = 1111111-2222-3333-44444-55555555555555
  35632. region = nl-ams
  35633. location_constraint =
  35634. acl = private
  35635. server_side_encryption =
  35636. storage_class =
  35637. \f[R]
  35638. .fi
  35639. .PP
  35640. C14 Cold Storage (https://www.online.net/en/storage/c14-cold-storage) is
  35641. the low-cost S3 Glacier alternative from Scaleway and it works the same
  35642. way as on S3 by accepting the \[dq]GLACIER\[dq] \f[C]storage_class\f[R].
  35643. So you can configure your remote with the
  35644. \f[C]storage_class = GLACIER\f[R] option to upload directly to C14.
  35645. Don\[aq]t forget that in this state you can\[aq]t read files back after,
  35646. you will need to restore them to \[dq]STANDARD\[dq] storage_class first
  35647. before being able to read them (see \[dq]restore\[dq] section above)
  35648. .SS Seagate Lyve Cloud
  35649. .PP
  35650. Seagate Lyve
  35651. Cloud (https://www.seagate.com/gb/en/services/cloud/storage/) is an S3
  35652. compatible object storage platform from Seagate (https://seagate.com/)
  35653. intended for enterprise use.
  35654. .PP
  35655. Here is a config run through for a remote called \f[C]remote\f[R] - you
  35656. may choose a different name of course.
  35657. Note that to create an access key and secret key you will need to create
  35658. a service account first.
  35659. .IP
  35660. .nf
  35661. \f[C]
  35662. $ rclone config
  35663. No remotes found, make a new one?
  35664. n) New remote
  35665. s) Set configuration password
  35666. q) Quit config
  35667. n/s/q> n
  35668. name> remote
  35669. \f[R]
  35670. .fi
  35671. .PP
  35672. Choose \f[C]s3\f[R] backend
  35673. .IP
  35674. .nf
  35675. \f[C]
  35676. Type of storage to configure.
  35677. Choose a number from below, or type in your own value.
  35678. [snip]
  35679. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  35680. \[rs] (s3)
  35681. [snip]
  35682. Storage> s3
  35683. \f[R]
  35684. .fi
  35685. .PP
  35686. Choose \f[C]LyveCloud\f[R] as S3 provider
  35687. .IP
  35688. .nf
  35689. \f[C]
  35690. Choose your S3 provider.
  35691. Choose a number from below, or type in your own value.
  35692. Press Enter to leave empty.
  35693. [snip]
  35694. XX / Seagate Lyve Cloud
  35695. \[rs] (LyveCloud)
  35696. [snip]
  35697. provider> LyveCloud
  35698. \f[R]
  35699. .fi
  35700. .PP
  35701. Take the default (just press enter) to enter access key and secret in
  35702. the config file.
  35703. .IP
  35704. .nf
  35705. \f[C]
  35706. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  35707. Only applies if access_key_id and secret_access_key is blank.
  35708. Choose a number from below, or type in your own boolean value (true or false).
  35709. Press Enter for the default (false).
  35710. 1 / Enter AWS credentials in the next step.
  35711. \[rs] (false)
  35712. 2 / Get AWS credentials from the environment (env vars or IAM).
  35713. \[rs] (true)
  35714. env_auth>
  35715. \f[R]
  35716. .fi
  35717. .IP
  35718. .nf
  35719. \f[C]
  35720. AWS Access Key ID.
  35721. Leave blank for anonymous access or runtime credentials.
  35722. Enter a value. Press Enter to leave empty.
  35723. access_key_id> XXX
  35724. \f[R]
  35725. .fi
  35726. .IP
  35727. .nf
  35728. \f[C]
  35729. AWS Secret Access Key (password).
  35730. Leave blank for anonymous access or runtime credentials.
  35731. Enter a value. Press Enter to leave empty.
  35732. secret_access_key> YYY
  35733. \f[R]
  35734. .fi
  35735. .PP
  35736. Leave region blank
  35737. .IP
  35738. .nf
  35739. \f[C]
  35740. Region to connect to.
  35741. Leave blank if you are using an S3 clone and you don\[aq]t have a region.
  35742. Choose a number from below, or type in your own value.
  35743. Press Enter to leave empty.
  35744. / Use this if unsure.
  35745. 1 | Will use v4 signatures and an empty region.
  35746. \[rs] ()
  35747. / Use this only if v4 signatures don\[aq]t work.
  35748. 2 | E.g. pre Jewel/v10 CEPH.
  35749. \[rs] (other-v2-signature)
  35750. region>
  35751. \f[R]
  35752. .fi
  35753. .PP
  35754. Choose an endpoint from the list
  35755. .IP
  35756. .nf
  35757. \f[C]
  35758. Endpoint for S3 API.
  35759. Required when using an S3 clone.
  35760. Choose a number from below, or type in your own value.
  35761. Press Enter to leave empty.
  35762. 1 / Seagate Lyve Cloud US East 1 (Virginia)
  35763. \[rs] (s3.us-east-1.lyvecloud.seagate.com)
  35764. 2 / Seagate Lyve Cloud US West 1 (California)
  35765. \[rs] (s3.us-west-1.lyvecloud.seagate.com)
  35766. 3 / Seagate Lyve Cloud AP Southeast 1 (Singapore)
  35767. \[rs] (s3.ap-southeast-1.lyvecloud.seagate.com)
  35768. endpoint> 1
  35769. \f[R]
  35770. .fi
  35771. .PP
  35772. Leave location constraint blank
  35773. .IP
  35774. .nf
  35775. \f[C]
  35776. Location constraint - must be set to match the Region.
  35777. Leave blank if not sure. Used when creating buckets only.
  35778. Enter a value. Press Enter to leave empty.
  35779. location_constraint>
  35780. \f[R]
  35781. .fi
  35782. .PP
  35783. Choose default ACL (\f[C]private\f[R]).
  35784. .IP
  35785. .nf
  35786. \f[C]
  35787. Canned ACL used when creating buckets and storing or copying objects.
  35788. This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too.
  35789. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  35790. Note that this ACL is applied when server-side copying objects as S3
  35791. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  35792. Choose a number from below, or type in your own value.
  35793. Press Enter to leave empty.
  35794. / Owner gets FULL_CONTROL.
  35795. 1 | No one else has access rights (default).
  35796. \[rs] (private)
  35797. [snip]
  35798. acl>
  35799. \f[R]
  35800. .fi
  35801. .PP
  35802. And the config file should end up looking like this:
  35803. .IP
  35804. .nf
  35805. \f[C]
  35806. [remote]
  35807. type = s3
  35808. provider = LyveCloud
  35809. access_key_id = XXX
  35810. secret_access_key = YYY
  35811. endpoint = s3.us-east-1.lyvecloud.seagate.com
  35812. \f[R]
  35813. .fi
  35814. .SS SeaweedFS
  35815. .PP
  35816. SeaweedFS (https://github.com/chrislusf/seaweedfs/) is a distributed
  35817. storage system for blobs, objects, files, and data lake, with O(1) disk
  35818. seek and a scalable file metadata store.
  35819. It has an S3 compatible object storage interface.
  35820. SeaweedFS can also act as a gateway to remote S3 compatible object
  35821. store (https://github.com/chrislusf/seaweedfs/wiki/Gateway-to-Remote-Object-Storage)
  35822. to cache data and metadata with asynchronous write back, for fast local
  35823. speed and minimize access cost.
  35824. .PP
  35825. Assuming the SeaweedFS are configured with \f[C]weed shell\f[R] as such:
  35826. .IP
  35827. .nf
  35828. \f[C]
  35829. > s3.bucket.create -name foo
  35830. > s3.configure -access_key=any -secret_key=any -buckets=foo -user=me -actions=Read,Write,List,Tagging,Admin -apply
  35831. {
  35832. \[dq]identities\[dq]: [
  35833. {
  35834. \[dq]name\[dq]: \[dq]me\[dq],
  35835. \[dq]credentials\[dq]: [
  35836. {
  35837. \[dq]accessKey\[dq]: \[dq]any\[dq],
  35838. \[dq]secretKey\[dq]: \[dq]any\[dq]
  35839. }
  35840. ],
  35841. \[dq]actions\[dq]: [
  35842. \[dq]Read:foo\[dq],
  35843. \[dq]Write:foo\[dq],
  35844. \[dq]List:foo\[dq],
  35845. \[dq]Tagging:foo\[dq],
  35846. \[dq]Admin:foo\[dq]
  35847. ]
  35848. }
  35849. ]
  35850. }
  35851. \f[R]
  35852. .fi
  35853. .PP
  35854. To use rclone with SeaweedFS, above configuration should end up with
  35855. something like this in your config:
  35856. .IP
  35857. .nf
  35858. \f[C]
  35859. [seaweedfs_s3]
  35860. type = s3
  35861. provider = SeaweedFS
  35862. access_key_id = any
  35863. secret_access_key = any
  35864. endpoint = localhost:8333
  35865. \f[R]
  35866. .fi
  35867. .PP
  35868. So once set up, for example to copy files into a bucket
  35869. .IP
  35870. .nf
  35871. \f[C]
  35872. rclone copy /path/to/files seaweedfs_s3:foo
  35873. \f[R]
  35874. .fi
  35875. .SS Wasabi
  35876. .PP
  35877. Wasabi (https://wasabi.com) is a cloud-based object storage service for
  35878. a broad range of applications and use cases.
  35879. Wasabi is designed for individuals and organizations that require a
  35880. high-performance, reliable, and secure data storage infrastructure at
  35881. minimal cost.
  35882. .PP
  35883. Wasabi provides an S3 interface which can be configured for use with
  35884. rclone like this.
  35885. .IP
  35886. .nf
  35887. \f[C]
  35888. No remotes found, make a new one?
  35889. n) New remote
  35890. s) Set configuration password
  35891. n/s> n
  35892. name> wasabi
  35893. Type of storage to configure.
  35894. Choose a number from below, or type in your own value
  35895. [snip]
  35896. XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Minio, Liara)
  35897. \[rs] \[dq]s3\[dq]
  35898. [snip]
  35899. Storage> s3
  35900. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
  35901. Choose a number from below, or type in your own value
  35902. 1 / Enter AWS credentials in the next step
  35903. \[rs] \[dq]false\[dq]
  35904. 2 / Get AWS credentials from the environment (env vars or IAM)
  35905. \[rs] \[dq]true\[dq]
  35906. env_auth> 1
  35907. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  35908. access_key_id> YOURACCESSKEY
  35909. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  35910. secret_access_key> YOURSECRETACCESSKEY
  35911. Region to connect to.
  35912. Choose a number from below, or type in your own value
  35913. / The default endpoint - a good choice if you are unsure.
  35914. 1 | US Region, Northern Virginia, or Pacific Northwest.
  35915. | Leave location constraint empty.
  35916. \[rs] \[dq]us-east-1\[dq]
  35917. [snip]
  35918. region> us-east-1
  35919. Endpoint for S3 API.
  35920. Leave blank if using AWS to use the default endpoint for the region.
  35921. Specify if using an S3 clone such as Ceph.
  35922. endpoint> s3.wasabisys.com
  35923. Location constraint - must be set to match the Region. Used when creating buckets only.
  35924. Choose a number from below, or type in your own value
  35925. 1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
  35926. \[rs] \[dq]\[dq]
  35927. [snip]
  35928. location_constraint>
  35929. Canned ACL used when creating buckets and/or storing objects in S3.
  35930. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  35931. Choose a number from below, or type in your own value
  35932. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  35933. \[rs] \[dq]private\[dq]
  35934. [snip]
  35935. acl>
  35936. The server-side encryption algorithm used when storing this object in S3.
  35937. Choose a number from below, or type in your own value
  35938. 1 / None
  35939. \[rs] \[dq]\[dq]
  35940. 2 / AES256
  35941. \[rs] \[dq]AES256\[dq]
  35942. server_side_encryption>
  35943. The storage class to use when storing objects in S3.
  35944. Choose a number from below, or type in your own value
  35945. 1 / Default
  35946. \[rs] \[dq]\[dq]
  35947. 2 / Standard storage class
  35948. \[rs] \[dq]STANDARD\[dq]
  35949. 3 / Reduced redundancy storage class
  35950. \[rs] \[dq]REDUCED_REDUNDANCY\[dq]
  35951. 4 / Standard Infrequent Access storage class
  35952. \[rs] \[dq]STANDARD_IA\[dq]
  35953. storage_class>
  35954. Remote config
  35955. --------------------
  35956. [wasabi]
  35957. env_auth = false
  35958. access_key_id = YOURACCESSKEY
  35959. secret_access_key = YOURSECRETACCESSKEY
  35960. region = us-east-1
  35961. endpoint = s3.wasabisys.com
  35962. location_constraint =
  35963. acl =
  35964. server_side_encryption =
  35965. storage_class =
  35966. --------------------
  35967. y) Yes this is OK
  35968. e) Edit this remote
  35969. d) Delete this remote
  35970. y/e/d> y
  35971. \f[R]
  35972. .fi
  35973. .PP
  35974. This will leave the config file looking like this.
  35975. .IP
  35976. .nf
  35977. \f[C]
  35978. [wasabi]
  35979. type = s3
  35980. provider = Wasabi
  35981. env_auth = false
  35982. access_key_id = YOURACCESSKEY
  35983. secret_access_key = YOURSECRETACCESSKEY
  35984. region =
  35985. endpoint = s3.wasabisys.com
  35986. location_constraint =
  35987. acl =
  35988. server_side_encryption =
  35989. storage_class =
  35990. \f[R]
  35991. .fi
  35992. .SS Alibaba OSS
  35993. .PP
  35994. Here is an example of making an Alibaba Cloud (Aliyun)
  35995. OSS (https://www.alibabacloud.com/product/oss/) configuration.
  35996. First run:
  35997. .IP
  35998. .nf
  35999. \f[C]
  36000. rclone config
  36001. \f[R]
  36002. .fi
  36003. .PP
  36004. This will guide you through an interactive setup process.
  36005. .IP
  36006. .nf
  36007. \f[C]
  36008. No remotes found, make a new one?
  36009. n) New remote
  36010. s) Set configuration password
  36011. q) Quit config
  36012. n/s/q> n
  36013. name> oss
  36014. Type of storage to configure.
  36015. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36016. Choose a number from below, or type in your own value
  36017. [snip]
  36018. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  36019. \[rs] \[dq]s3\[dq]
  36020. [snip]
  36021. Storage> s3
  36022. Choose your S3 provider.
  36023. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36024. Choose a number from below, or type in your own value
  36025. 1 / Amazon Web Services (AWS) S3
  36026. \[rs] \[dq]AWS\[dq]
  36027. 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
  36028. \[rs] \[dq]Alibaba\[dq]
  36029. 3 / Ceph Object Storage
  36030. \[rs] \[dq]Ceph\[dq]
  36031. [snip]
  36032. provider> Alibaba
  36033. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  36034. Only applies if access_key_id and secret_access_key is blank.
  36035. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  36036. Choose a number from below, or type in your own value
  36037. 1 / Enter AWS credentials in the next step
  36038. \[rs] \[dq]false\[dq]
  36039. 2 / Get AWS credentials from the environment (env vars or IAM)
  36040. \[rs] \[dq]true\[dq]
  36041. env_auth> 1
  36042. AWS Access Key ID.
  36043. Leave blank for anonymous access or runtime credentials.
  36044. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36045. access_key_id> accesskeyid
  36046. AWS Secret Access Key (password)
  36047. Leave blank for anonymous access or runtime credentials.
  36048. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36049. secret_access_key> secretaccesskey
  36050. Endpoint for OSS API.
  36051. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36052. Choose a number from below, or type in your own value
  36053. 1 / East China 1 (Hangzhou)
  36054. \[rs] \[dq]oss-cn-hangzhou.aliyuncs.com\[dq]
  36055. 2 / East China 2 (Shanghai)
  36056. \[rs] \[dq]oss-cn-shanghai.aliyuncs.com\[dq]
  36057. 3 / North China 1 (Qingdao)
  36058. \[rs] \[dq]oss-cn-qingdao.aliyuncs.com\[dq]
  36059. [snip]
  36060. endpoint> 1
  36061. Canned ACL used when creating buckets and storing or copying objects.
  36062. Note that this ACL is applied when server-side copying objects as S3
  36063. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  36064. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36065. Choose a number from below, or type in your own value
  36066. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  36067. \[rs] \[dq]private\[dq]
  36068. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
  36069. \[rs] \[dq]public-read\[dq]
  36070. / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
  36071. [snip]
  36072. acl> 1
  36073. The storage class to use when storing new objects in OSS.
  36074. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36075. Choose a number from below, or type in your own value
  36076. 1 / Default
  36077. \[rs] \[dq]\[dq]
  36078. 2 / Standard storage class
  36079. \[rs] \[dq]STANDARD\[dq]
  36080. 3 / Archive storage mode.
  36081. \[rs] \[dq]GLACIER\[dq]
  36082. 4 / Infrequent access storage mode.
  36083. \[rs] \[dq]STANDARD_IA\[dq]
  36084. storage_class> 1
  36085. Edit advanced config? (y/n)
  36086. y) Yes
  36087. n) No
  36088. y/n> n
  36089. Remote config
  36090. --------------------
  36091. [oss]
  36092. type = s3
  36093. provider = Alibaba
  36094. env_auth = false
  36095. access_key_id = accesskeyid
  36096. secret_access_key = secretaccesskey
  36097. endpoint = oss-cn-hangzhou.aliyuncs.com
  36098. acl = private
  36099. storage_class = Standard
  36100. --------------------
  36101. y) Yes this is OK
  36102. e) Edit this remote
  36103. d) Delete this remote
  36104. y/e/d> y
  36105. \f[R]
  36106. .fi
  36107. .SS China Mobile Ecloud Elastic Object Storage (EOS)
  36108. .PP
  36109. Here is an example of making an China Mobile Ecloud Elastic Object
  36110. Storage (EOS) (https:///ecloud.10086.cn/home/product-introduction/eos/)
  36111. configuration.
  36112. First run:
  36113. .IP
  36114. .nf
  36115. \f[C]
  36116. rclone config
  36117. \f[R]
  36118. .fi
  36119. .PP
  36120. This will guide you through an interactive setup process.
  36121. .IP
  36122. .nf
  36123. \f[C]
  36124. No remotes found, make a new one?
  36125. n) New remote
  36126. s) Set configuration password
  36127. q) Quit config
  36128. n/s/q> n
  36129. name> ChinaMobile
  36130. Option Storage.
  36131. Type of storage to configure.
  36132. Choose a number from below, or type in your own value.
  36133. ...
  36134. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  36135. \[rs] (s3)
  36136. ...
  36137. Storage> s3
  36138. Option provider.
  36139. Choose your S3 provider.
  36140. Choose a number from below, or type in your own value.
  36141. Press Enter to leave empty.
  36142. ...
  36143. 4 / China Mobile Ecloud Elastic Object Storage (EOS)
  36144. \[rs] (ChinaMobile)
  36145. ...
  36146. provider> ChinaMobile
  36147. Option env_auth.
  36148. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  36149. Only applies if access_key_id and secret_access_key is blank.
  36150. Choose a number from below, or type in your own boolean value (true or false).
  36151. Press Enter for the default (false).
  36152. 1 / Enter AWS credentials in the next step.
  36153. \[rs] (false)
  36154. 2 / Get AWS credentials from the environment (env vars or IAM).
  36155. \[rs] (true)
  36156. env_auth>
  36157. Option access_key_id.
  36158. AWS Access Key ID.
  36159. Leave blank for anonymous access or runtime credentials.
  36160. Enter a value. Press Enter to leave empty.
  36161. access_key_id> accesskeyid
  36162. Option secret_access_key.
  36163. AWS Secret Access Key (password).
  36164. Leave blank for anonymous access or runtime credentials.
  36165. Enter a value. Press Enter to leave empty.
  36166. secret_access_key> secretaccesskey
  36167. Option endpoint.
  36168. Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API.
  36169. Choose a number from below, or type in your own value.
  36170. Press Enter to leave empty.
  36171. / The default endpoint - a good choice if you are unsure.
  36172. 1 | East China (Suzhou)
  36173. \[rs] (eos-wuxi-1.cmecloud.cn)
  36174. 2 / East China (Jinan)
  36175. \[rs] (eos-jinan-1.cmecloud.cn)
  36176. 3 / East China (Hangzhou)
  36177. \[rs] (eos-ningbo-1.cmecloud.cn)
  36178. 4 / East China (Shanghai-1)
  36179. \[rs] (eos-shanghai-1.cmecloud.cn)
  36180. 5 / Central China (Zhengzhou)
  36181. \[rs] (eos-zhengzhou-1.cmecloud.cn)
  36182. 6 / Central China (Changsha-1)
  36183. \[rs] (eos-hunan-1.cmecloud.cn)
  36184. 7 / Central China (Changsha-2)
  36185. \[rs] (eos-zhuzhou-1.cmecloud.cn)
  36186. 8 / South China (Guangzhou-2)
  36187. \[rs] (eos-guangzhou-1.cmecloud.cn)
  36188. 9 / South China (Guangzhou-3)
  36189. \[rs] (eos-dongguan-1.cmecloud.cn)
  36190. 10 / North China (Beijing-1)
  36191. \[rs] (eos-beijing-1.cmecloud.cn)
  36192. 11 / North China (Beijing-2)
  36193. \[rs] (eos-beijing-2.cmecloud.cn)
  36194. 12 / North China (Beijing-3)
  36195. \[rs] (eos-beijing-4.cmecloud.cn)
  36196. 13 / North China (Huhehaote)
  36197. \[rs] (eos-huhehaote-1.cmecloud.cn)
  36198. 14 / Southwest China (Chengdu)
  36199. \[rs] (eos-chengdu-1.cmecloud.cn)
  36200. 15 / Southwest China (Chongqing)
  36201. \[rs] (eos-chongqing-1.cmecloud.cn)
  36202. 16 / Southwest China (Guiyang)
  36203. \[rs] (eos-guiyang-1.cmecloud.cn)
  36204. 17 / Nouthwest China (Xian)
  36205. \[rs] (eos-xian-1.cmecloud.cn)
  36206. 18 / Yunnan China (Kunming)
  36207. \[rs] (eos-yunnan.cmecloud.cn)
  36208. 19 / Yunnan China (Kunming-2)
  36209. \[rs] (eos-yunnan-2.cmecloud.cn)
  36210. 20 / Tianjin China (Tianjin)
  36211. \[rs] (eos-tianjin-1.cmecloud.cn)
  36212. 21 / Jilin China (Changchun)
  36213. \[rs] (eos-jilin-1.cmecloud.cn)
  36214. 22 / Hubei China (Xiangyan)
  36215. \[rs] (eos-hubei-1.cmecloud.cn)
  36216. 23 / Jiangxi China (Nanchang)
  36217. \[rs] (eos-jiangxi-1.cmecloud.cn)
  36218. 24 / Gansu China (Lanzhou)
  36219. \[rs] (eos-gansu-1.cmecloud.cn)
  36220. 25 / Shanxi China (Taiyuan)
  36221. \[rs] (eos-shanxi-1.cmecloud.cn)
  36222. 26 / Liaoning China (Shenyang)
  36223. \[rs] (eos-liaoning-1.cmecloud.cn)
  36224. 27 / Hebei China (Shijiazhuang)
  36225. \[rs] (eos-hebei-1.cmecloud.cn)
  36226. 28 / Fujian China (Xiamen)
  36227. \[rs] (eos-fujian-1.cmecloud.cn)
  36228. 29 / Guangxi China (Nanning)
  36229. \[rs] (eos-guangxi-1.cmecloud.cn)
  36230. 30 / Anhui China (Huainan)
  36231. \[rs] (eos-anhui-1.cmecloud.cn)
  36232. endpoint> 1
  36233. Option location_constraint.
  36234. Location constraint - must match endpoint.
  36235. Used when creating buckets only.
  36236. Choose a number from below, or type in your own value.
  36237. Press Enter to leave empty.
  36238. 1 / East China (Suzhou)
  36239. \[rs] (wuxi1)
  36240. 2 / East China (Jinan)
  36241. \[rs] (jinan1)
  36242. 3 / East China (Hangzhou)
  36243. \[rs] (ningbo1)
  36244. 4 / East China (Shanghai-1)
  36245. \[rs] (shanghai1)
  36246. 5 / Central China (Zhengzhou)
  36247. \[rs] (zhengzhou1)
  36248. 6 / Central China (Changsha-1)
  36249. \[rs] (hunan1)
  36250. 7 / Central China (Changsha-2)
  36251. \[rs] (zhuzhou1)
  36252. 8 / South China (Guangzhou-2)
  36253. \[rs] (guangzhou1)
  36254. 9 / South China (Guangzhou-3)
  36255. \[rs] (dongguan1)
  36256. 10 / North China (Beijing-1)
  36257. \[rs] (beijing1)
  36258. 11 / North China (Beijing-2)
  36259. \[rs] (beijing2)
  36260. 12 / North China (Beijing-3)
  36261. \[rs] (beijing4)
  36262. 13 / North China (Huhehaote)
  36263. \[rs] (huhehaote1)
  36264. 14 / Southwest China (Chengdu)
  36265. \[rs] (chengdu1)
  36266. 15 / Southwest China (Chongqing)
  36267. \[rs] (chongqing1)
  36268. 16 / Southwest China (Guiyang)
  36269. \[rs] (guiyang1)
  36270. 17 / Nouthwest China (Xian)
  36271. \[rs] (xian1)
  36272. 18 / Yunnan China (Kunming)
  36273. \[rs] (yunnan)
  36274. 19 / Yunnan China (Kunming-2)
  36275. \[rs] (yunnan2)
  36276. 20 / Tianjin China (Tianjin)
  36277. \[rs] (tianjin1)
  36278. 21 / Jilin China (Changchun)
  36279. \[rs] (jilin1)
  36280. 22 / Hubei China (Xiangyan)
  36281. \[rs] (hubei1)
  36282. 23 / Jiangxi China (Nanchang)
  36283. \[rs] (jiangxi1)
  36284. 24 / Gansu China (Lanzhou)
  36285. \[rs] (gansu1)
  36286. 25 / Shanxi China (Taiyuan)
  36287. \[rs] (shanxi1)
  36288. 26 / Liaoning China (Shenyang)
  36289. \[rs] (liaoning1)
  36290. 27 / Hebei China (Shijiazhuang)
  36291. \[rs] (hebei1)
  36292. 28 / Fujian China (Xiamen)
  36293. \[rs] (fujian1)
  36294. 29 / Guangxi China (Nanning)
  36295. \[rs] (guangxi1)
  36296. 30 / Anhui China (Huainan)
  36297. \[rs] (anhui1)
  36298. location_constraint> 1
  36299. Option acl.
  36300. Canned ACL used when creating buckets and storing or copying objects.
  36301. This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too.
  36302. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  36303. Note that this ACL is applied when server-side copying objects as S3
  36304. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  36305. Choose a number from below, or type in your own value.
  36306. Press Enter to leave empty.
  36307. / Owner gets FULL_CONTROL.
  36308. 1 | No one else has access rights (default).
  36309. \[rs] (private)
  36310. / Owner gets FULL_CONTROL.
  36311. 2 | The AllUsers group gets READ access.
  36312. \[rs] (public-read)
  36313. / Owner gets FULL_CONTROL.
  36314. 3 | The AllUsers group gets READ and WRITE access.
  36315. | Granting this on a bucket is generally not recommended.
  36316. \[rs] (public-read-write)
  36317. / Owner gets FULL_CONTROL.
  36318. 4 | The AuthenticatedUsers group gets READ access.
  36319. \[rs] (authenticated-read)
  36320. / Object owner gets FULL_CONTROL.
  36321. acl> private
  36322. Option server_side_encryption.
  36323. The server-side encryption algorithm used when storing this object in S3.
  36324. Choose a number from below, or type in your own value.
  36325. Press Enter to leave empty.
  36326. 1 / None
  36327. \[rs] ()
  36328. 2 / AES256
  36329. \[rs] (AES256)
  36330. server_side_encryption>
  36331. Option storage_class.
  36332. The storage class to use when storing new objects in ChinaMobile.
  36333. Choose a number from below, or type in your own value.
  36334. Press Enter to leave empty.
  36335. 1 / Default
  36336. \[rs] ()
  36337. 2 / Standard storage class
  36338. \[rs] (STANDARD)
  36339. 3 / Archive storage mode
  36340. \[rs] (GLACIER)
  36341. 4 / Infrequent access storage mode
  36342. \[rs] (STANDARD_IA)
  36343. storage_class>
  36344. Edit advanced config?
  36345. y) Yes
  36346. n) No (default)
  36347. y/n> n
  36348. --------------------
  36349. [ChinaMobile]
  36350. type = s3
  36351. provider = ChinaMobile
  36352. access_key_id = accesskeyid
  36353. secret_access_key = secretaccesskey
  36354. endpoint = eos-wuxi-1.cmecloud.cn
  36355. location_constraint = wuxi1
  36356. acl = private
  36357. --------------------
  36358. y) Yes this is OK (default)
  36359. e) Edit this remote
  36360. d) Delete this remote
  36361. y/e/d> y
  36362. \f[R]
  36363. .fi
  36364. .SS Leviia Cloud Object Storage
  36365. .PP
  36366. Leviia Object Storage (https://www.leviia.com/object-storage/), backup
  36367. and secure your data in a 100% French cloud, independent of GAFAM..
  36368. .PP
  36369. To configure access to Leviia, follow the steps below:
  36370. .IP "1." 3
  36371. Run \f[C]rclone config\f[R] and select \f[C]n\f[R] for a new remote.
  36372. .IP
  36373. .nf
  36374. \f[C]
  36375. rclone config
  36376. No remotes found, make a new one?
  36377. n) New remote
  36378. s) Set configuration password
  36379. q) Quit config
  36380. n/s/q> n
  36381. \f[R]
  36382. .fi
  36383. .IP "2." 3
  36384. Give the name of the configuration.
  36385. For example, name it \[aq]leviia\[aq].
  36386. .IP
  36387. .nf
  36388. \f[C]
  36389. name> leviia
  36390. \f[R]
  36391. .fi
  36392. .IP "3." 3
  36393. Select \f[C]s3\f[R] storage.
  36394. .IP
  36395. .nf
  36396. \f[C]
  36397. Choose a number from below, or type in your own value
  36398. [snip]
  36399. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  36400. \[rs] (s3)
  36401. [snip]
  36402. Storage> s3
  36403. \f[R]
  36404. .fi
  36405. .IP "4." 3
  36406. Select \f[C]Leviia\f[R] provider.
  36407. .IP
  36408. .nf
  36409. \f[C]
  36410. Choose a number from below, or type in your own value
  36411. 1 / Amazon Web Services (AWS) S3
  36412. \[rs] \[dq]AWS\[dq]
  36413. [snip]
  36414. 15 / Leviia Object Storage
  36415. \[rs] (Leviia)
  36416. [snip]
  36417. provider> Leviia
  36418. \f[R]
  36419. .fi
  36420. .IP "5." 3
  36421. Enter your SecretId and SecretKey of Leviia.
  36422. .IP
  36423. .nf
  36424. \f[C]
  36425. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  36426. Only applies if access_key_id and secret_access_key is blank.
  36427. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  36428. Choose a number from below, or type in your own value
  36429. 1 / Enter AWS credentials in the next step
  36430. \[rs] \[dq]false\[dq]
  36431. 2 / Get AWS credentials from the environment (env vars or IAM)
  36432. \[rs] \[dq]true\[dq]
  36433. env_auth> 1
  36434. AWS Access Key ID.
  36435. Leave blank for anonymous access or runtime credentials.
  36436. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36437. access_key_id> ZnIx.xxxxxxxxxxxxxxx
  36438. AWS Secret Access Key (password)
  36439. Leave blank for anonymous access or runtime credentials.
  36440. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36441. secret_access_key> xxxxxxxxxxx
  36442. \f[R]
  36443. .fi
  36444. .IP "6." 3
  36445. Select endpoint for Leviia.
  36446. .IP
  36447. .nf
  36448. \f[C]
  36449. / The default endpoint
  36450. 1 | Leviia.
  36451. \[rs] (s3.leviia.com)
  36452. [snip]
  36453. endpoint> 1
  36454. \f[R]
  36455. .fi
  36456. .IP "7." 3
  36457. Choose acl.
  36458. .IP
  36459. .nf
  36460. \f[C]
  36461. Note that this ACL is applied when server-side copying objects as S3
  36462. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  36463. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36464. Choose a number from below, or type in your own value
  36465. / Owner gets FULL_CONTROL.
  36466. 1 | No one else has access rights (default).
  36467. \[rs] (private)
  36468. / Owner gets FULL_CONTROL.
  36469. 2 | The AllUsers group gets READ access.
  36470. \[rs] (public-read)
  36471. [snip]
  36472. acl> 1
  36473. Edit advanced config? (y/n)
  36474. y) Yes
  36475. n) No (default)
  36476. y/n> n
  36477. Remote config
  36478. --------------------
  36479. [leviia]
  36480. - type: s3
  36481. - provider: Leviia
  36482. - access_key_id: ZnIx.xxxxxxx
  36483. - secret_access_key: xxxxxxxx
  36484. - endpoint: s3.leviia.com
  36485. - acl: private
  36486. --------------------
  36487. y) Yes this is OK (default)
  36488. e) Edit this remote
  36489. d) Delete this remote
  36490. y/e/d> y
  36491. Current remotes:
  36492. Name Type
  36493. ==== ====
  36494. leviia s3
  36495. \f[R]
  36496. .fi
  36497. .SS Liara
  36498. .PP
  36499. Here is an example of making a Liara Object
  36500. Storage (https://liara.ir/landing/object-storage) configuration.
  36501. First run:
  36502. .IP
  36503. .nf
  36504. \f[C]
  36505. rclone config
  36506. \f[R]
  36507. .fi
  36508. .PP
  36509. This will guide you through an interactive setup process.
  36510. .IP
  36511. .nf
  36512. \f[C]
  36513. No remotes found, make a new one?
  36514. n) New remote
  36515. s) Set configuration password
  36516. n/s> n
  36517. name> Liara
  36518. Type of storage to configure.
  36519. Choose a number from below, or type in your own value
  36520. [snip]
  36521. XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio)
  36522. \[rs] \[dq]s3\[dq]
  36523. [snip]
  36524. Storage> s3
  36525. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
  36526. Choose a number from below, or type in your own value
  36527. 1 / Enter AWS credentials in the next step
  36528. \[rs] \[dq]false\[dq]
  36529. 2 / Get AWS credentials from the environment (env vars or IAM)
  36530. \[rs] \[dq]true\[dq]
  36531. env_auth> 1
  36532. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  36533. access_key_id> YOURACCESSKEY
  36534. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  36535. secret_access_key> YOURSECRETACCESSKEY
  36536. Region to connect to.
  36537. Choose a number from below, or type in your own value
  36538. / The default endpoint
  36539. 1 | US Region, Northern Virginia, or Pacific Northwest.
  36540. | Leave location constraint empty.
  36541. \[rs] \[dq]us-east-1\[dq]
  36542. [snip]
  36543. region>
  36544. Endpoint for S3 API.
  36545. Leave blank if using Liara to use the default endpoint for the region.
  36546. Specify if using an S3 clone such as Ceph.
  36547. endpoint> storage.iran.liara.space
  36548. Canned ACL used when creating buckets and/or storing objects in S3.
  36549. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  36550. Choose a number from below, or type in your own value
  36551. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  36552. \[rs] \[dq]private\[dq]
  36553. [snip]
  36554. acl>
  36555. The server-side encryption algorithm used when storing this object in S3.
  36556. Choose a number from below, or type in your own value
  36557. 1 / None
  36558. \[rs] \[dq]\[dq]
  36559. 2 / AES256
  36560. \[rs] \[dq]AES256\[dq]
  36561. server_side_encryption>
  36562. The storage class to use when storing objects in S3.
  36563. Choose a number from below, or type in your own value
  36564. 1 / Default
  36565. \[rs] \[dq]\[dq]
  36566. 2 / Standard storage class
  36567. \[rs] \[dq]STANDARD\[dq]
  36568. storage_class>
  36569. Remote config
  36570. --------------------
  36571. [Liara]
  36572. env_auth = false
  36573. access_key_id = YOURACCESSKEY
  36574. secret_access_key = YOURSECRETACCESSKEY
  36575. endpoint = storage.iran.liara.space
  36576. location_constraint =
  36577. acl =
  36578. server_side_encryption =
  36579. storage_class =
  36580. --------------------
  36581. y) Yes this is OK
  36582. e) Edit this remote
  36583. d) Delete this remote
  36584. y/e/d> y
  36585. \f[R]
  36586. .fi
  36587. .PP
  36588. This will leave the config file looking like this.
  36589. .IP
  36590. .nf
  36591. \f[C]
  36592. [Liara]
  36593. type = s3
  36594. provider = Liara
  36595. env_auth = false
  36596. access_key_id = YOURACCESSKEY
  36597. secret_access_key = YOURSECRETACCESSKEY
  36598. region =
  36599. endpoint = storage.iran.liara.space
  36600. location_constraint =
  36601. acl =
  36602. server_side_encryption =
  36603. storage_class =
  36604. \f[R]
  36605. .fi
  36606. .SS Linode
  36607. .PP
  36608. Here is an example of making a Linode Object
  36609. Storage (https://www.linode.com/products/object-storage/) configuration.
  36610. First run:
  36611. .IP
  36612. .nf
  36613. \f[C]
  36614. rclone config
  36615. \f[R]
  36616. .fi
  36617. .PP
  36618. This will guide you through an interactive setup process.
  36619. .IP
  36620. .nf
  36621. \f[C]
  36622. No remotes found, make a new one?
  36623. n) New remote
  36624. s) Set configuration password
  36625. q) Quit config
  36626. n/s/q> n
  36627. Enter name for new remote.
  36628. name> linode
  36629. Option Storage.
  36630. Type of storage to configure.
  36631. Choose a number from below, or type in your own value.
  36632. [snip]
  36633. XX / Amazon S3 Compliant Storage Providers including AWS, ...Linode, ...and others
  36634. \[rs] (s3)
  36635. [snip]
  36636. Storage> s3
  36637. Option provider.
  36638. Choose your S3 provider.
  36639. Choose a number from below, or type in your own value.
  36640. Press Enter to leave empty.
  36641. [snip]
  36642. XX / Linode Object Storage
  36643. \[rs] (Linode)
  36644. [snip]
  36645. provider> Linode
  36646. Option env_auth.
  36647. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  36648. Only applies if access_key_id and secret_access_key is blank.
  36649. Choose a number from below, or type in your own boolean value (true or false).
  36650. Press Enter for the default (false).
  36651. 1 / Enter AWS credentials in the next step.
  36652. \[rs] (false)
  36653. 2 / Get AWS credentials from the environment (env vars or IAM).
  36654. \[rs] (true)
  36655. env_auth>
  36656. Option access_key_id.
  36657. AWS Access Key ID.
  36658. Leave blank for anonymous access or runtime credentials.
  36659. Enter a value. Press Enter to leave empty.
  36660. access_key_id> ACCESS_KEY
  36661. Option secret_access_key.
  36662. AWS Secret Access Key (password).
  36663. Leave blank for anonymous access or runtime credentials.
  36664. Enter a value. Press Enter to leave empty.
  36665. secret_access_key> SECRET_ACCESS_KEY
  36666. Option endpoint.
  36667. Endpoint for Linode Object Storage API.
  36668. Choose a number from below, or type in your own value.
  36669. Press Enter to leave empty.
  36670. 1 / Atlanta, GA (USA), us-southeast-1
  36671. \[rs] (us-southeast-1.linodeobjects.com)
  36672. 2 / Chicago, IL (USA), us-ord-1
  36673. \[rs] (us-ord-1.linodeobjects.com)
  36674. 3 / Frankfurt (Germany), eu-central-1
  36675. \[rs] (eu-central-1.linodeobjects.com)
  36676. 4 / Milan (Italy), it-mil-1
  36677. \[rs] (it-mil-1.linodeobjects.com)
  36678. 5 / Newark, NJ (USA), us-east-1
  36679. \[rs] (us-east-1.linodeobjects.com)
  36680. 6 / Paris (France), fr-par-1
  36681. \[rs] (fr-par-1.linodeobjects.com)
  36682. 7 / Seattle, WA (USA), us-sea-1
  36683. \[rs] (us-sea-1.linodeobjects.com)
  36684. 8 / Singapore ap-south-1
  36685. \[rs] (ap-south-1.linodeobjects.com)
  36686. 9 / Stockholm (Sweden), se-sto-1
  36687. \[rs] (se-sto-1.linodeobjects.com)
  36688. 10 / Washington, DC, (USA), us-iad-1
  36689. \[rs] (us-iad-1.linodeobjects.com)
  36690. endpoint> 3
  36691. Option acl.
  36692. Canned ACL used when creating buckets and storing or copying objects.
  36693. This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too.
  36694. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  36695. Note that this ACL is applied when server-side copying objects as S3
  36696. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  36697. If the acl is an empty string then no X-Amz-Acl: header is added and
  36698. the default (private) will be used.
  36699. Choose a number from below, or type in your own value.
  36700. Press Enter to leave empty.
  36701. / Owner gets FULL_CONTROL.
  36702. 1 | No one else has access rights (default).
  36703. \[rs] (private)
  36704. [snip]
  36705. acl>
  36706. Edit advanced config?
  36707. y) Yes
  36708. n) No (default)
  36709. y/n> n
  36710. Configuration complete.
  36711. Options:
  36712. - type: s3
  36713. - provider: Linode
  36714. - access_key_id: ACCESS_KEY
  36715. - secret_access_key: SECRET_ACCESS_KEY
  36716. - endpoint: eu-central-1.linodeobjects.com
  36717. Keep this \[dq]linode\[dq] remote?
  36718. y) Yes this is OK (default)
  36719. e) Edit this remote
  36720. d) Delete this remote
  36721. y/e/d> y
  36722. \f[R]
  36723. .fi
  36724. .PP
  36725. This will leave the config file looking like this.
  36726. .IP
  36727. .nf
  36728. \f[C]
  36729. [linode]
  36730. type = s3
  36731. provider = Linode
  36732. access_key_id = ACCESS_KEY
  36733. secret_access_key = SECRET_ACCESS_KEY
  36734. endpoint = eu-central-1.linodeobjects.com
  36735. \f[R]
  36736. .fi
  36737. .SS ArvanCloud
  36738. .PP
  36739. ArvanCloud (https://www.arvancloud.com/en/products/cloud-storage)
  36740. ArvanCloud Object Storage goes beyond the limited traditional file
  36741. storage.
  36742. It gives you access to backup and archived files and allows sharing.
  36743. Files like profile image in the app, images sent by users or scanned
  36744. documents can be stored securely and easily in our Object Storage
  36745. service.
  36746. .PP
  36747. ArvanCloud provides an S3 interface which can be configured for use with
  36748. rclone like this.
  36749. .IP
  36750. .nf
  36751. \f[C]
  36752. No remotes found, make a new one?
  36753. n) New remote
  36754. s) Set configuration password
  36755. n/s> n
  36756. name> ArvanCloud
  36757. Type of storage to configure.
  36758. Choose a number from below, or type in your own value
  36759. [snip]
  36760. XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio)
  36761. \[rs] \[dq]s3\[dq]
  36762. [snip]
  36763. Storage> s3
  36764. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
  36765. Choose a number from below, or type in your own value
  36766. 1 / Enter AWS credentials in the next step
  36767. \[rs] \[dq]false\[dq]
  36768. 2 / Get AWS credentials from the environment (env vars or IAM)
  36769. \[rs] \[dq]true\[dq]
  36770. env_auth> 1
  36771. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  36772. access_key_id> YOURACCESSKEY
  36773. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  36774. secret_access_key> YOURSECRETACCESSKEY
  36775. Region to connect to.
  36776. Choose a number from below, or type in your own value
  36777. / The default endpoint - a good choice if you are unsure.
  36778. 1 | US Region, Northern Virginia, or Pacific Northwest.
  36779. | Leave location constraint empty.
  36780. \[rs] \[dq]us-east-1\[dq]
  36781. [snip]
  36782. region>
  36783. Endpoint for S3 API.
  36784. Leave blank if using ArvanCloud to use the default endpoint for the region.
  36785. Specify if using an S3 clone such as Ceph.
  36786. endpoint> s3.arvanstorage.com
  36787. Location constraint - must be set to match the Region. Used when creating buckets only.
  36788. Choose a number from below, or type in your own value
  36789. 1 / Empty for Iran-Tehran Region.
  36790. \[rs] \[dq]\[dq]
  36791. [snip]
  36792. location_constraint>
  36793. Canned ACL used when creating buckets and/or storing objects in S3.
  36794. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  36795. Choose a number from below, or type in your own value
  36796. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  36797. \[rs] \[dq]private\[dq]
  36798. [snip]
  36799. acl>
  36800. The server-side encryption algorithm used when storing this object in S3.
  36801. Choose a number from below, or type in your own value
  36802. 1 / None
  36803. \[rs] \[dq]\[dq]
  36804. 2 / AES256
  36805. \[rs] \[dq]AES256\[dq]
  36806. server_side_encryption>
  36807. The storage class to use when storing objects in S3.
  36808. Choose a number from below, or type in your own value
  36809. 1 / Default
  36810. \[rs] \[dq]\[dq]
  36811. 2 / Standard storage class
  36812. \[rs] \[dq]STANDARD\[dq]
  36813. storage_class>
  36814. Remote config
  36815. --------------------
  36816. [ArvanCloud]
  36817. env_auth = false
  36818. access_key_id = YOURACCESSKEY
  36819. secret_access_key = YOURSECRETACCESSKEY
  36820. region = ir-thr-at1
  36821. endpoint = s3.arvanstorage.com
  36822. location_constraint =
  36823. acl =
  36824. server_side_encryption =
  36825. storage_class =
  36826. --------------------
  36827. y) Yes this is OK
  36828. e) Edit this remote
  36829. d) Delete this remote
  36830. y/e/d> y
  36831. \f[R]
  36832. .fi
  36833. .PP
  36834. This will leave the config file looking like this.
  36835. .IP
  36836. .nf
  36837. \f[C]
  36838. [ArvanCloud]
  36839. type = s3
  36840. provider = ArvanCloud
  36841. env_auth = false
  36842. access_key_id = YOURACCESSKEY
  36843. secret_access_key = YOURSECRETACCESSKEY
  36844. region =
  36845. endpoint = s3.arvanstorage.com
  36846. location_constraint =
  36847. acl =
  36848. server_side_encryption =
  36849. storage_class =
  36850. \f[R]
  36851. .fi
  36852. .SS Tencent COS
  36853. .PP
  36854. Tencent Cloud Object Storage
  36855. (COS) (https://intl.cloud.tencent.com/product/cos) is a distributed
  36856. storage service offered by Tencent Cloud for unstructured data.
  36857. It is secure, stable, massive, convenient, low-delay and low-cost.
  36858. .PP
  36859. To configure access to Tencent COS, follow the steps below:
  36860. .IP "1." 3
  36861. Run \f[C]rclone config\f[R] and select \f[C]n\f[R] for a new remote.
  36862. .IP
  36863. .nf
  36864. \f[C]
  36865. rclone config
  36866. No remotes found, make a new one?
  36867. n) New remote
  36868. s) Set configuration password
  36869. q) Quit config
  36870. n/s/q> n
  36871. \f[R]
  36872. .fi
  36873. .IP "2." 3
  36874. Give the name of the configuration.
  36875. For example, name it \[aq]cos\[aq].
  36876. .IP
  36877. .nf
  36878. \f[C]
  36879. name> cos
  36880. \f[R]
  36881. .fi
  36882. .IP "3." 3
  36883. Select \f[C]s3\f[R] storage.
  36884. .IP
  36885. .nf
  36886. \f[C]
  36887. Choose a number from below, or type in your own value
  36888. [snip]
  36889. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  36890. \[rs] \[dq]s3\[dq]
  36891. [snip]
  36892. Storage> s3
  36893. \f[R]
  36894. .fi
  36895. .IP "4." 3
  36896. Select \f[C]TencentCOS\f[R] provider.
  36897. .IP
  36898. .nf
  36899. \f[C]
  36900. Choose a number from below, or type in your own value
  36901. 1 / Amazon Web Services (AWS) S3
  36902. \[rs] \[dq]AWS\[dq]
  36903. [snip]
  36904. 11 / Tencent Cloud Object Storage (COS)
  36905. \[rs] \[dq]TencentCOS\[dq]
  36906. [snip]
  36907. provider> TencentCOS
  36908. \f[R]
  36909. .fi
  36910. .IP "5." 3
  36911. Enter your SecretId and SecretKey of Tencent Cloud.
  36912. .IP
  36913. .nf
  36914. \f[C]
  36915. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  36916. Only applies if access_key_id and secret_access_key is blank.
  36917. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  36918. Choose a number from below, or type in your own value
  36919. 1 / Enter AWS credentials in the next step
  36920. \[rs] \[dq]false\[dq]
  36921. 2 / Get AWS credentials from the environment (env vars or IAM)
  36922. \[rs] \[dq]true\[dq]
  36923. env_auth> 1
  36924. AWS Access Key ID.
  36925. Leave blank for anonymous access or runtime credentials.
  36926. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36927. access_key_id> AKIDxxxxxxxxxx
  36928. AWS Secret Access Key (password)
  36929. Leave blank for anonymous access or runtime credentials.
  36930. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36931. secret_access_key> xxxxxxxxxxx
  36932. \f[R]
  36933. .fi
  36934. .IP "6." 3
  36935. Select endpoint for Tencent COS.
  36936. This is the standard endpoint for different region.
  36937. .IP
  36938. .nf
  36939. \f[C]
  36940. 1 / Beijing Region.
  36941. \[rs] \[dq]cos.ap-beijing.myqcloud.com\[dq]
  36942. 2 / Nanjing Region.
  36943. \[rs] \[dq]cos.ap-nanjing.myqcloud.com\[dq]
  36944. 3 / Shanghai Region.
  36945. \[rs] \[dq]cos.ap-shanghai.myqcloud.com\[dq]
  36946. 4 / Guangzhou Region.
  36947. \[rs] \[dq]cos.ap-guangzhou.myqcloud.com\[dq]
  36948. [snip]
  36949. endpoint> 4
  36950. \f[R]
  36951. .fi
  36952. .IP "7." 3
  36953. Choose acl and storage class.
  36954. .IP
  36955. .nf
  36956. \f[C]
  36957. Note that this ACL is applied when server-side copying objects as S3
  36958. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  36959. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36960. Choose a number from below, or type in your own value
  36961. 1 / Owner gets Full_CONTROL. No one else has access rights (default).
  36962. \[rs] \[dq]default\[dq]
  36963. [snip]
  36964. acl> 1
  36965. The storage class to use when storing new objects in Tencent COS.
  36966. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  36967. Choose a number from below, or type in your own value
  36968. 1 / Default
  36969. \[rs] \[dq]\[dq]
  36970. [snip]
  36971. storage_class> 1
  36972. Edit advanced config? (y/n)
  36973. y) Yes
  36974. n) No (default)
  36975. y/n> n
  36976. Remote config
  36977. --------------------
  36978. [cos]
  36979. type = s3
  36980. provider = TencentCOS
  36981. env_auth = false
  36982. access_key_id = xxx
  36983. secret_access_key = xxx
  36984. endpoint = cos.ap-guangzhou.myqcloud.com
  36985. acl = default
  36986. --------------------
  36987. y) Yes this is OK (default)
  36988. e) Edit this remote
  36989. d) Delete this remote
  36990. y/e/d> y
  36991. Current remotes:
  36992. Name Type
  36993. ==== ====
  36994. cos s3
  36995. \f[R]
  36996. .fi
  36997. .SS Netease NOS
  36998. .PP
  36999. For Netease NOS configure as per the configurator
  37000. \f[C]rclone config\f[R] setting the provider \f[C]Netease\f[R].
  37001. This will automatically set \f[C]force_path_style = false\f[R] which is
  37002. necessary for it to run properly.
  37003. .SS Petabox
  37004. .PP
  37005. Here is an example of making a Petabox (https://petabox.io/)
  37006. configuration.
  37007. First run:
  37008. .IP
  37009. .nf
  37010. \f[C]
  37011. rclone config
  37012. \f[R]
  37013. .fi
  37014. .PP
  37015. This will guide you through an interactive setup process.
  37016. .IP
  37017. .nf
  37018. \f[C]
  37019. No remotes found, make a new one?
  37020. n) New remote
  37021. s) Set configuration password
  37022. n/s> n
  37023. Enter name for new remote.
  37024. name> My Petabox Storage
  37025. Option Storage.
  37026. Type of storage to configure.
  37027. Choose a number from below, or type in your own value.
  37028. [snip]
  37029. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  37030. \[rs] \[dq]s3\[dq]
  37031. [snip]
  37032. Storage> s3
  37033. Option provider.
  37034. Choose your S3 provider.
  37035. Choose a number from below, or type in your own value.
  37036. Press Enter to leave empty.
  37037. [snip]
  37038. XX / Petabox Object Storage
  37039. \[rs] (Petabox)
  37040. [snip]
  37041. provider> Petabox
  37042. Option env_auth.
  37043. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  37044. Only applies if access_key_id and secret_access_key is blank.
  37045. Choose a number from below, or type in your own boolean value (true or false).
  37046. Press Enter for the default (false).
  37047. 1 / Enter AWS credentials in the next step.
  37048. \[rs] (false)
  37049. 2 / Get AWS credentials from the environment (env vars or IAM).
  37050. \[rs] (true)
  37051. env_auth> 1
  37052. Option access_key_id.
  37053. AWS Access Key ID.
  37054. Leave blank for anonymous access or runtime credentials.
  37055. Enter a value. Press Enter to leave empty.
  37056. access_key_id> YOUR_ACCESS_KEY_ID
  37057. Option secret_access_key.
  37058. AWS Secret Access Key (password).
  37059. Leave blank for anonymous access or runtime credentials.
  37060. Enter a value. Press Enter to leave empty.
  37061. secret_access_key> YOUR_SECRET_ACCESS_KEY
  37062. Option region.
  37063. Region where your bucket will be created and your data stored.
  37064. Choose a number from below, or type in your own value.
  37065. Press Enter to leave empty.
  37066. 1 / US East (N. Virginia)
  37067. \[rs] (us-east-1)
  37068. 2 / Europe (Frankfurt)
  37069. \[rs] (eu-central-1)
  37070. 3 / Asia Pacific (Singapore)
  37071. \[rs] (ap-southeast-1)
  37072. 4 / Middle East (Bahrain)
  37073. \[rs] (me-south-1)
  37074. 5 / South America (S\[~a]o Paulo)
  37075. \[rs] (sa-east-1)
  37076. region> 1
  37077. Option endpoint.
  37078. Endpoint for Petabox S3 Object Storage.
  37079. Specify the endpoint from the same region.
  37080. Choose a number from below, or type in your own value.
  37081. 1 / US East (N. Virginia)
  37082. \[rs] (s3.petabox.io)
  37083. 2 / US East (N. Virginia)
  37084. \[rs] (s3.us-east-1.petabox.io)
  37085. 3 / Europe (Frankfurt)
  37086. \[rs] (s3.eu-central-1.petabox.io)
  37087. 4 / Asia Pacific (Singapore)
  37088. \[rs] (s3.ap-southeast-1.petabox.io)
  37089. 5 / Middle East (Bahrain)
  37090. \[rs] (s3.me-south-1.petabox.io)
  37091. 6 / South America (S\[~a]o Paulo)
  37092. \[rs] (s3.sa-east-1.petabox.io)
  37093. endpoint> 1
  37094. Option acl.
  37095. Canned ACL used when creating buckets and storing or copying objects.
  37096. This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too.
  37097. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  37098. Note that this ACL is applied when server-side copying objects as S3
  37099. doesn\[aq]t copy the ACL from the source but rather writes a fresh one.
  37100. If the acl is an empty string then no X-Amz-Acl: header is added and
  37101. the default (private) will be used.
  37102. Choose a number from below, or type in your own value.
  37103. Press Enter to leave empty.
  37104. / Owner gets FULL_CONTROL.
  37105. 1 | No one else has access rights (default).
  37106. \[rs] (private)
  37107. / Owner gets FULL_CONTROL.
  37108. 2 | The AllUsers group gets READ access.
  37109. \[rs] (public-read)
  37110. / Owner gets FULL_CONTROL.
  37111. 3 | The AllUsers group gets READ and WRITE access.
  37112. | Granting this on a bucket is generally not recommended.
  37113. \[rs] (public-read-write)
  37114. / Owner gets FULL_CONTROL.
  37115. 4 | The AuthenticatedUsers group gets READ access.
  37116. \[rs] (authenticated-read)
  37117. / Object owner gets FULL_CONTROL.
  37118. 5 | Bucket owner gets READ access.
  37119. | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  37120. \[rs] (bucket-owner-read)
  37121. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  37122. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  37123. \[rs] (bucket-owner-full-control)
  37124. acl> 1
  37125. Edit advanced config?
  37126. y) Yes
  37127. n) No (default)
  37128. y/n> No
  37129. Configuration complete.
  37130. Options:
  37131. - type: s3
  37132. - provider: Petabox
  37133. - access_key_id: YOUR_ACCESS_KEY_ID
  37134. - secret_access_key: YOUR_SECRET_ACCESS_KEY
  37135. - region: us-east-1
  37136. - endpoint: s3.petabox.io
  37137. Keep this \[dq]My Petabox Storage\[dq] remote?
  37138. y) Yes this is OK (default)
  37139. e) Edit this remote
  37140. d) Delete this remote
  37141. y/e/d> y
  37142. \f[R]
  37143. .fi
  37144. .PP
  37145. This will leave the config file looking like this.
  37146. .IP
  37147. .nf
  37148. \f[C]
  37149. [My Petabox Storage]
  37150. type = s3
  37151. provider = Petabox
  37152. access_key_id = YOUR_ACCESS_KEY_ID
  37153. secret_access_key = YOUR_SECRET_ACCESS_KEY
  37154. region = us-east-1
  37155. endpoint = s3.petabox.io
  37156. \f[R]
  37157. .fi
  37158. .SS Storj
  37159. .PP
  37160. Storj is a decentralized cloud storage which can be used through its
  37161. native protocol or an S3 compatible gateway.
  37162. .PP
  37163. The S3 compatible gateway is configured using \f[C]rclone config\f[R]
  37164. with a type of \f[C]s3\f[R] and with a provider name of \f[C]Storj\f[R].
  37165. Here is an example run of the configurator.
  37166. .IP
  37167. .nf
  37168. \f[C]
  37169. Type of storage to configure.
  37170. Storage> s3
  37171. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  37172. Only applies if access_key_id and secret_access_key is blank.
  37173. Choose a number from below, or type in your own boolean value (true or false).
  37174. Press Enter for the default (false).
  37175. 1 / Enter AWS credentials in the next step.
  37176. \[rs] (false)
  37177. 2 / Get AWS credentials from the environment (env vars or IAM).
  37178. \[rs] (true)
  37179. env_auth> 1
  37180. Option access_key_id.
  37181. AWS Access Key ID.
  37182. Leave blank for anonymous access or runtime credentials.
  37183. Enter a value. Press Enter to leave empty.
  37184. access_key_id> XXXX (as shown when creating the access grant)
  37185. Option secret_access_key.
  37186. AWS Secret Access Key (password).
  37187. Leave blank for anonymous access or runtime credentials.
  37188. Enter a value. Press Enter to leave empty.
  37189. secret_access_key> XXXX (as shown when creating the access grant)
  37190. Option endpoint.
  37191. Endpoint of the Shared Gateway.
  37192. Choose a number from below, or type in your own value.
  37193. Press Enter to leave empty.
  37194. 1 / EU1 Shared Gateway
  37195. \[rs] (gateway.eu1.storjshare.io)
  37196. 2 / US1 Shared Gateway
  37197. \[rs] (gateway.us1.storjshare.io)
  37198. 3 / Asia-Pacific Shared Gateway
  37199. \[rs] (gateway.ap1.storjshare.io)
  37200. endpoint> 1 (as shown when creating the access grant)
  37201. Edit advanced config?
  37202. y) Yes
  37203. n) No (default)
  37204. y/n> n
  37205. \f[R]
  37206. .fi
  37207. .PP
  37208. Note that s3 credentials are generated when you create an access
  37209. grant (https://docs.storj.io/dcs/api-reference/s3-compatible-gateway#usage).
  37210. .SS Backend quirks
  37211. .IP \[bu] 2
  37212. \f[C]--chunk-size\f[R] is forced to be 64 MiB or greater.
  37213. This will use more memory than the default of 5 MiB.
  37214. .IP \[bu] 2
  37215. Server side copy is disabled as it isn\[aq]t currently supported in the
  37216. gateway.
  37217. .IP \[bu] 2
  37218. GetTier and SetTier are not supported.
  37219. .SS Backend bugs
  37220. .PP
  37221. Due to issue #39 (https://github.com/storj/gateway-mt/issues/39)
  37222. uploading multipart files via the S3 gateway causes them to lose their
  37223. metadata.
  37224. For rclone\[aq]s purpose this means that the modification time is not
  37225. stored, nor is any MD5SUM (if one is available from the source).
  37226. .PP
  37227. This has the following consequences:
  37228. .IP \[bu] 2
  37229. Using \f[C]rclone rcat\f[R] will fail as the medatada doesn\[aq]t match
  37230. after upload
  37231. .IP \[bu] 2
  37232. Uploading files with \f[C]rclone mount\f[R] will fail for the same
  37233. reason
  37234. .RS 2
  37235. .IP \[bu] 2
  37236. This can worked around by using \f[C]--vfs-cache-mode writes\f[R] or
  37237. \f[C]--vfs-cache-mode full\f[R] or setting \f[C]--s3-upload-cutoff\f[R]
  37238. large
  37239. .RE
  37240. .IP \[bu] 2
  37241. Files uploaded via a multipart upload won\[aq]t have their modtimes
  37242. .RS 2
  37243. .IP \[bu] 2
  37244. This will mean that \f[C]rclone sync\f[R] will likely keep trying to
  37245. upload files bigger than \f[C]--s3-upload-cutoff\f[R]
  37246. .IP \[bu] 2
  37247. This can be worked around with \f[C]--checksum\f[R] or
  37248. \f[C]--size-only\f[R] or setting \f[C]--s3-upload-cutoff\f[R] large
  37249. .IP \[bu] 2
  37250. The maximum value for \f[C]--s3-upload-cutoff\f[R] is 5GiB though
  37251. .RE
  37252. .PP
  37253. One general purpose workaround is to set
  37254. \f[C]--s3-upload-cutoff 5G\f[R].
  37255. This means that rclone will upload files smaller than 5GiB as single
  37256. parts.
  37257. Note that this can be set in the config file with
  37258. \f[C]upload_cutoff = 5G\f[R] or configured in the advanced settings.
  37259. If you regularly transfer files larger than 5G then using
  37260. \f[C]--checksum\f[R] or \f[C]--size-only\f[R] in \f[C]rclone sync\f[R]
  37261. is the recommended workaround.
  37262. .SS Comparison with the native protocol
  37263. .PP
  37264. Use the the native protocol to take advantage of client-side encryption
  37265. as well as to achieve the best possible download performance.
  37266. Uploads will be erasure-coded locally, thus a 1gb upload will result in
  37267. 2.68gb of data being uploaded to storage nodes across the network.
  37268. .PP
  37269. Use this backend and the S3 compatible Hosted Gateway to increase upload
  37270. performance and reduce the load on your systems and network.
  37271. Uploads will be encrypted and erasure-coded server-side, thus a 1GB
  37272. upload will result in only in 1GB of data being uploaded to storage
  37273. nodes across the network.
  37274. .PP
  37275. For more detailed comparison please check the documentation of the storj
  37276. backend.
  37277. .SS Limitations
  37278. .PP
  37279. \f[C]rclone about\f[R] is not supported by the S3 backend.
  37280. Backends without this capability cannot determine free space for an
  37281. rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member
  37282. of an rclone union remote.
  37283. .PP
  37284. See List of backends that do not support rclone
  37285. about (https://rclone.org/overview/#optional-features) and rclone
  37286. about (https://rclone.org/commands/rclone_about/)
  37287. .SS Synology C2 Object Storage
  37288. .PP
  37289. Synology C2 Object
  37290. Storage (https://c2.synology.com/en-global/object-storage/overview)
  37291. provides a secure, S3-compatible, and cost-effective cloud storage
  37292. solution without API request, download fees, and deletion penalty.
  37293. .PP
  37294. The S3 compatible gateway is configured using \f[C]rclone config\f[R]
  37295. with a type of \f[C]s3\f[R] and with a provider name of
  37296. \f[C]Synology\f[R].
  37297. Here is an example run of the configurator.
  37298. .PP
  37299. First run:
  37300. .IP
  37301. .nf
  37302. \f[C]
  37303. rclone config
  37304. \f[R]
  37305. .fi
  37306. .PP
  37307. This will guide you through an interactive setup process.
  37308. .IP
  37309. .nf
  37310. \f[C]
  37311. No remotes found, make a new one?
  37312. n) New remote
  37313. s) Set configuration password
  37314. q) Quit config
  37315. n/s/q> n
  37316. Enter name for new remote.1
  37317. name> syno
  37318. Type of storage to configure.
  37319. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  37320. Choose a number from below, or type in your own value
  37321. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  37322. \[rs] \[dq]s3\[dq]
  37323. Storage> s3
  37324. Choose your S3 provider.
  37325. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  37326. Choose a number from below, or type in your own value
  37327. 24 / Synology C2 Object Storage
  37328. \[rs] (Synology)
  37329. provider> Synology
  37330. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  37331. Only applies if access_key_id and secret_access_key is blank.
  37332. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  37333. Choose a number from below, or type in your own value
  37334. 1 / Enter AWS credentials in the next step
  37335. \[rs] \[dq]false\[dq]
  37336. 2 / Get AWS credentials from the environment (env vars or IAM)
  37337. \[rs] \[dq]true\[dq]
  37338. env_auth> 1
  37339. AWS Access Key ID.
  37340. Leave blank for anonymous access or runtime credentials.
  37341. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  37342. access_key_id> accesskeyid
  37343. AWS Secret Access Key (password)
  37344. Leave blank for anonymous access or runtime credentials.
  37345. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  37346. secret_access_key> secretaccesskey
  37347. Region where your data stored.
  37348. Choose a number from below, or type in your own value.
  37349. Press Enter to leave empty.
  37350. 1 / Europe Region 1
  37351. \[rs] (eu-001)
  37352. 2 / Europe Region 2
  37353. \[rs] (eu-002)
  37354. 3 / US Region 1
  37355. \[rs] (us-001)
  37356. 4 / US Region 2
  37357. \[rs] (us-002)
  37358. 5 / Asia (Taiwan)
  37359. \[rs] (tw-001)
  37360. region > 1
  37361. Option endpoint.
  37362. Endpoint for Synology C2 Object Storage API.
  37363. Choose a number from below, or type in your own value.
  37364. Press Enter to leave empty.
  37365. 1 / EU Endpoint 1
  37366. \[rs] (eu-001.s3.synologyc2.net)
  37367. 2 / US Endpoint 1
  37368. \[rs] (us-001.s3.synologyc2.net)
  37369. 3 / TW Endpoint 1
  37370. \[rs] (tw-001.s3.synologyc2.net)
  37371. endpoint> 1
  37372. Option location_constraint.
  37373. Location constraint - must be set to match the Region.
  37374. Leave blank if not sure. Used when creating buckets only.
  37375. Enter a value. Press Enter to leave empty.
  37376. location_constraint>
  37377. Edit advanced config? (y/n)
  37378. y) Yes
  37379. n) No
  37380. y/n> y
  37381. Option no_check_bucket.
  37382. If set, don\[aq]t attempt to check the bucket exists or create it.
  37383. This can be useful when trying to minimise the number of transactions
  37384. rclone does if you know the bucket exists already.
  37385. It can also be needed if the user you are using does not have bucket
  37386. creation permissions. Before v1.52.0 this would have passed silently
  37387. due to a bug.
  37388. Enter a boolean value (true or false). Press Enter for the default (true).
  37389. no_check_bucket> true
  37390. Configuration complete.
  37391. Options:
  37392. - type: s3
  37393. - provider: Synology
  37394. - region: eu-001
  37395. - endpoint: eu-001.s3.synologyc2.net
  37396. - no_check_bucket: true
  37397. Keep this \[dq]syno\[dq] remote?
  37398. y) Yes this is OK (default)
  37399. e) Edit this remote
  37400. d) Delete this remote
  37401. y/e/d> y
  37402. # Backblaze B2
  37403. B2 is [Backblaze\[aq]s cloud storage system](https://www.backblaze.com/b2/).
  37404. Paths are specified as \[ga]remote:bucket\[ga] (or \[ga]remote:\[ga] for the \[ga]lsd\[ga]
  37405. command.) You may put subdirectories in too, e.g. \[ga]remote:bucket/path/to/dir\[ga].
  37406. ## Configuration
  37407. Here is an example of making a b2 configuration. First run
  37408. rclone config
  37409. This will guide you through an interactive setup process. To authenticate
  37410. you will either need your Account ID (a short hex number) and Master
  37411. Application Key (a long hex number) OR an Application Key, which is the
  37412. recommended method. See below for further details on generating and using
  37413. an Application Key.
  37414. \f[R]
  37415. .fi
  37416. .PP
  37417. No remotes found, make a new one?
  37418. n) New remote q) Quit config n/q> n name> remote Type of storage to
  37419. configure.
  37420. Choose a number from below, or type in your own value [snip] XX /
  37421. Backblaze B2 \ \[dq]b2\[dq] [snip] Storage> b2 Account ID or Application
  37422. Key ID account> 123456789abc Application Key key>
  37423. 0123456789abcdef0123456789abcdef0123456789 Endpoint for the service -
  37424. leave blank normally.
  37425. endpoint> Remote config -------------------- [remote] account =
  37426. 123456789abc key = 0123456789abcdef0123456789abcdef0123456789 endpoint =
  37427. -------------------- y) Yes this is OK e) Edit this remote d) Delete
  37428. this remote y/e/d> y
  37429. .IP
  37430. .nf
  37431. \f[C]
  37432. This remote is called \[ga]remote\[ga] and can now be used like this
  37433. See all buckets
  37434. rclone lsd remote:
  37435. Create a new bucket
  37436. rclone mkdir remote:bucket
  37437. List the contents of a bucket
  37438. rclone ls remote:bucket
  37439. Sync \[ga]/home/local/directory\[ga] to the remote bucket, deleting any
  37440. excess files in the bucket.
  37441. rclone sync --interactive /home/local/directory remote:bucket
  37442. ### Application Keys
  37443. B2 supports multiple [Application Keys for different access permission
  37444. to B2 Buckets](https://www.backblaze.com/b2/docs/application_keys.html).
  37445. You can use these with rclone too; you will need to use rclone version 1.43
  37446. or later.
  37447. Follow Backblaze\[aq]s docs to create an Application Key with the required
  37448. permission and add the \[ga]applicationKeyId\[ga] as the \[ga]account\[ga] and the
  37449. \[ga]Application Key\[ga] itself as the \[ga]key\[ga].
  37450. Note that you must put the _applicationKeyId_ as the \[ga]account\[ga] \[en] you
  37451. can\[aq]t use the master Account ID. If you try then B2 will return 401
  37452. errors.
  37453. ### --fast-list
  37454. This remote supports \[ga]--fast-list\[ga] which allows you to use fewer
  37455. transactions in exchange for more memory. See the [rclone
  37456. docs](https://rclone.org/docs/#fast-list) for more details.
  37457. ### Modification times
  37458. The modification time is stored as metadata on the object as
  37459. \[ga]X-Bz-Info-src_last_modified_millis\[ga] as milliseconds since 1970-01-01
  37460. in the Backblaze standard. Other tools should be able to use this as
  37461. a modified time.
  37462. Modified times are used in syncing and are fully supported. Note that
  37463. if a modification time needs to be updated on an object then it will
  37464. create a new version of the object.
  37465. ### Restricted filename characters
  37466. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  37467. the following characters are also replaced:
  37468. | Character | Value | Replacement |
  37469. | --------- |:-----:|:-----------:|
  37470. | \[rs] | 0x5C | \[uFF3C] |
  37471. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  37472. as they can\[aq]t be used in JSON strings.
  37473. Note that in 2020-05 Backblaze started allowing \[rs] characters in file
  37474. names. Rclone hasn\[aq]t changed its encoding as this could cause syncs to
  37475. re-transfer files. If you want rclone not to replace \[rs] then see the
  37476. \[ga]--b2-encoding\[ga] flag below and remove the \[ga]BackSlash\[ga] from the
  37477. string. This can be set in the config.
  37478. ### SHA1 checksums
  37479. The SHA1 checksums of the files are checked on upload and download and
  37480. will be used in the syncing process.
  37481. Large files (bigger than the limit in \[ga]--b2-upload-cutoff\[ga]) which are
  37482. uploaded in chunks will store their SHA1 on the object as
  37483. \[ga]X-Bz-Info-large_file_sha1\[ga] as recommended by Backblaze.
  37484. For a large file to be uploaded with an SHA1 checksum, the source
  37485. needs to support SHA1 checksums. The local disk supports SHA1
  37486. checksums so large file transfers from local disk will have an SHA1.
  37487. See [the overview](https://rclone.org/overview/#features) for exactly which remotes
  37488. support SHA1.
  37489. Sources which don\[aq]t support SHA1, in particular \[ga]crypt\[ga] will upload
  37490. large files without SHA1 checksums. This may be fixed in the future
  37491. (see [#1767](https://github.com/rclone/rclone/issues/1767)).
  37492. Files sizes below \[ga]--b2-upload-cutoff\[ga] will always have an SHA1
  37493. regardless of the source.
  37494. ### Transfers
  37495. Backblaze recommends that you do lots of transfers simultaneously for
  37496. maximum speed. In tests from my SSD equipped laptop the optimum
  37497. setting is about \[ga]--transfers 32\[ga] though higher numbers may be used
  37498. for a slight speed improvement. The optimum number for you may vary
  37499. depending on your hardware, how big the files are, how much you want
  37500. to load your computer, etc. The default of \[ga]--transfers 4\[ga] is
  37501. definitely too low for Backblaze B2 though.
  37502. Note that uploading big files (bigger than 200 MiB by default) will use
  37503. a 96 MiB RAM buffer by default. There can be at most \[ga]--transfers\[ga] of
  37504. these in use at any moment, so this sets the upper limit on the memory
  37505. used.
  37506. ### Versions
  37507. When rclone uploads a new version of a file it creates a [new version
  37508. of it](https://www.backblaze.com/b2/docs/file_versions.html).
  37509. Likewise when you delete a file, the old version will be marked hidden
  37510. and still be available. Conversely, you may opt in to a \[dq]hard delete\[dq]
  37511. of files with the \[ga]--b2-hard-delete\[ga] flag which would permanently remove
  37512. the file instead of hiding it.
  37513. Old versions of files, where available, are visible using the
  37514. \[ga]--b2-versions\[ga] flag.
  37515. It is also possible to view a bucket as it was at a certain point in time,
  37516. using the \[ga]--b2-version-at\[ga] flag. This will show the file versions as they
  37517. were at that time, showing files that have been deleted afterwards, and
  37518. hiding files that were created since.
  37519. If you wish to remove all the old versions then you can use the
  37520. \[ga]rclone cleanup remote:bucket\[ga] command which will delete all the old
  37521. versions of files, leaving the current ones intact. You can also
  37522. supply a path and only old versions under that path will be deleted,
  37523. e.g. \[ga]rclone cleanup remote:bucket/path/to/stuff\[ga].
  37524. Note that \[ga]cleanup\[ga] will remove partially uploaded files from the bucket
  37525. if they are more than a day old.
  37526. When you \[ga]purge\[ga] a bucket, the current and the old versions will be
  37527. deleted then the bucket will be deleted.
  37528. However \[ga]delete\[ga] will cause the current versions of the files to
  37529. become hidden old versions.
  37530. Here is a session showing the listing and retrieval of an old
  37531. version followed by a \[ga]cleanup\[ga] of the old versions.
  37532. Show current version and all the versions with \[ga]--b2-versions\[ga] flag.
  37533. \f[R]
  37534. .fi
  37535. .PP
  37536. $ rclone -q ls b2:cleanup-test 9 one.txt
  37537. .PP
  37538. $ rclone -q --b2-versions ls b2:cleanup-test 9 one.txt 8
  37539. one-v2016-07-04-141032-000.txt 16 one-v2016-07-04-141003-000.txt 15
  37540. one-v2016-07-02-155621-000.txt
  37541. .IP
  37542. .nf
  37543. \f[C]
  37544. Retrieve an old version
  37545. \f[R]
  37546. .fi
  37547. .PP
  37548. $ rclone -q --b2-versions copy
  37549. b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
  37550. .PP
  37551. $ ls -l /tmp/one-v2016-07-04-141003-000.txt -rw-rw-r-- 1 ncw ncw 16 Jul
  37552. 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
  37553. .IP
  37554. .nf
  37555. \f[C]
  37556. Clean up all the old versions and show that they\[aq]ve gone.
  37557. \f[R]
  37558. .fi
  37559. .PP
  37560. $ rclone -q cleanup b2:cleanup-test
  37561. .PP
  37562. $ rclone -q ls b2:cleanup-test 9 one.txt
  37563. .PP
  37564. $ rclone -q --b2-versions ls b2:cleanup-test 9 one.txt
  37565. .IP
  37566. .nf
  37567. \f[C]
  37568. #### Versions naming caveat
  37569. When using \[ga]--b2-versions\[ga] flag rclone is relying on the file name
  37570. to work out whether the objects are versions or not. Versions\[aq] names
  37571. are created by inserting timestamp between file name and its extension.
  37572. \f[R]
  37573. .fi
  37574. .IP
  37575. .nf
  37576. \f[C]
  37577. 9 file.txt
  37578. 8 file-v2023-07-17-161032-000.txt
  37579. 16 file-v2023-06-15-141003-000.txt
  37580. \f[R]
  37581. .fi
  37582. .IP
  37583. .nf
  37584. \f[C]
  37585. If there are real files present with the same names as versions, then
  37586. behaviour of \[ga]--b2-versions\[ga] can be unpredictable.
  37587. ### Data usage
  37588. It is useful to know how many requests are sent to the server in different scenarios.
  37589. All copy commands send the following 4 requests:
  37590. \f[R]
  37591. .fi
  37592. .PP
  37593. /b2api/v1/b2_authorize_account /b2api/v1/b2_create_bucket
  37594. /b2api/v1/b2_list_buckets /b2api/v1/b2_list_file_names
  37595. .IP
  37596. .nf
  37597. \f[C]
  37598. The \[ga]b2_list_file_names\[ga] request will be sent once for every 1k files
  37599. in the remote path, providing the checksum and modification time of
  37600. the listed files. As of version 1.33 issue
  37601. [#818](https://github.com/rclone/rclone/issues/818) causes extra requests
  37602. to be sent when using B2 with Crypt. When a copy operation does not
  37603. require any files to be uploaded, no more requests will be sent.
  37604. Uploading files that do not require chunking, will send 2 requests per
  37605. file upload:
  37606. \f[R]
  37607. .fi
  37608. .PP
  37609. /b2api/v1/b2_get_upload_url /b2api/v1/b2_upload_file/
  37610. .IP
  37611. .nf
  37612. \f[C]
  37613. Uploading files requiring chunking, will send 2 requests (one each to
  37614. start and finish the upload) and another 2 requests for each chunk:
  37615. \f[R]
  37616. .fi
  37617. .PP
  37618. /b2api/v1/b2_start_large_file /b2api/v1/b2_get_upload_part_url
  37619. /b2api/v1/b2_upload_part/ /b2api/v1/b2_finish_large_file
  37620. .IP
  37621. .nf
  37622. \f[C]
  37623. #### Versions
  37624. Versions can be viewed with the \[ga]--b2-versions\[ga] flag. When it is set
  37625. rclone will show and act on older versions of files. For example
  37626. Listing without \[ga]--b2-versions\[ga]
  37627. \f[R]
  37628. .fi
  37629. .PP
  37630. $ rclone -q ls b2:cleanup-test 9 one.txt
  37631. .IP
  37632. .nf
  37633. \f[C]
  37634. And with
  37635. \f[R]
  37636. .fi
  37637. .PP
  37638. $ rclone -q --b2-versions ls b2:cleanup-test 9 one.txt 8
  37639. one-v2016-07-04-141032-000.txt 16 one-v2016-07-04-141003-000.txt 15
  37640. one-v2016-07-02-155621-000.txt
  37641. .IP
  37642. .nf
  37643. \f[C]
  37644. Showing that the current version is unchanged but older versions can
  37645. be seen. These have the UTC date that they were uploaded to the
  37646. server to the nearest millisecond appended to them.
  37647. Note that when using \[ga]--b2-versions\[ga] no file write operations are
  37648. permitted, so you can\[aq]t upload files or delete them.
  37649. ### B2 and rclone link
  37650. Rclone supports generating file share links for private B2 buckets.
  37651. They can either be for a file for example:
  37652. \f[R]
  37653. .fi
  37654. .PP
  37655. \&./rclone link B2:bucket/path/to/file.txt
  37656. https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx
  37657. .IP
  37658. .nf
  37659. \f[C]
  37660. or if run on a directory you will get:
  37661. \f[R]
  37662. .fi
  37663. .PP
  37664. \&./rclone link B2:bucket/path
  37665. https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx
  37666. .IP
  37667. .nf
  37668. \f[C]
  37669. you can then use the authorization token (the part of the url from the
  37670. \[ga]?Authorization=\[ga] on) on any file path under that directory. For example:
  37671. \f[R]
  37672. .fi
  37673. .PP
  37674. https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx
  37675. https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx
  37676. https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx
  37677. .IP
  37678. .nf
  37679. \f[C]
  37680. ### Standard options
  37681. Here are the Standard options specific to b2 (Backblaze B2).
  37682. #### --b2-account
  37683. Account ID or Application Key ID.
  37684. Properties:
  37685. - Config: account
  37686. - Env Var: RCLONE_B2_ACCOUNT
  37687. - Type: string
  37688. - Required: true
  37689. #### --b2-key
  37690. Application Key.
  37691. Properties:
  37692. - Config: key
  37693. - Env Var: RCLONE_B2_KEY
  37694. - Type: string
  37695. - Required: true
  37696. #### --b2-hard-delete
  37697. Permanently delete files on remote removal, otherwise hide files.
  37698. Properties:
  37699. - Config: hard_delete
  37700. - Env Var: RCLONE_B2_HARD_DELETE
  37701. - Type: bool
  37702. - Default: false
  37703. ### Advanced options
  37704. Here are the Advanced options specific to b2 (Backblaze B2).
  37705. #### --b2-endpoint
  37706. Endpoint for the service.
  37707. Leave blank normally.
  37708. Properties:
  37709. - Config: endpoint
  37710. - Env Var: RCLONE_B2_ENDPOINT
  37711. - Type: string
  37712. - Required: false
  37713. #### --b2-test-mode
  37714. A flag string for X-Bz-Test-Mode header for debugging.
  37715. This is for debugging purposes only. Setting it to one of the strings
  37716. below will cause b2 to return specific errors:
  37717. * \[dq]fail_some_uploads\[dq]
  37718. * \[dq]expire_some_account_authorization_tokens\[dq]
  37719. * \[dq]force_cap_exceeded\[dq]
  37720. These will be set in the \[dq]X-Bz-Test-Mode\[dq] header which is documented
  37721. in the [b2 integrations checklist](https://www.backblaze.com/b2/docs/integration_checklist.html).
  37722. Properties:
  37723. - Config: test_mode
  37724. - Env Var: RCLONE_B2_TEST_MODE
  37725. - Type: string
  37726. - Required: false
  37727. #### --b2-versions
  37728. Include old versions in directory listings.
  37729. Note that when using this no file write operations are permitted,
  37730. so you can\[aq]t upload files or delete them.
  37731. Properties:
  37732. - Config: versions
  37733. - Env Var: RCLONE_B2_VERSIONS
  37734. - Type: bool
  37735. - Default: false
  37736. #### --b2-version-at
  37737. Show file versions as they were at the specified time.
  37738. Note that when using this no file write operations are permitted,
  37739. so you can\[aq]t upload files or delete them.
  37740. Properties:
  37741. - Config: version_at
  37742. - Env Var: RCLONE_B2_VERSION_AT
  37743. - Type: Time
  37744. - Default: off
  37745. #### --b2-upload-cutoff
  37746. Cutoff for switching to chunked upload.
  37747. Files above this size will be uploaded in chunks of \[dq]--b2-chunk-size\[dq].
  37748. This value should be set no larger than 4.657 GiB (== 5 GB).
  37749. Properties:
  37750. - Config: upload_cutoff
  37751. - Env Var: RCLONE_B2_UPLOAD_CUTOFF
  37752. - Type: SizeSuffix
  37753. - Default: 200Mi
  37754. #### --b2-copy-cutoff
  37755. Cutoff for switching to multipart copy.
  37756. Any files larger than this that need to be server-side copied will be
  37757. copied in chunks of this size.
  37758. The minimum is 0 and the maximum is 4.6 GiB.
  37759. Properties:
  37760. - Config: copy_cutoff
  37761. - Env Var: RCLONE_B2_COPY_CUTOFF
  37762. - Type: SizeSuffix
  37763. - Default: 4Gi
  37764. #### --b2-chunk-size
  37765. Upload chunk size.
  37766. When uploading large files, chunk the file into this size.
  37767. Must fit in memory. These chunks are buffered in memory and there
  37768. might a maximum of \[dq]--transfers\[dq] chunks in progress at once.
  37769. 5,000,000 Bytes is the minimum size.
  37770. Properties:
  37771. - Config: chunk_size
  37772. - Env Var: RCLONE_B2_CHUNK_SIZE
  37773. - Type: SizeSuffix
  37774. - Default: 96Mi
  37775. #### --b2-upload-concurrency
  37776. Concurrency for multipart uploads.
  37777. This is the number of chunks of the same file that are uploaded
  37778. concurrently.
  37779. Note that chunks are stored in memory and there may be up to
  37780. \[dq]--transfers\[dq] * \[dq]--b2-upload-concurrency\[dq] chunks stored at once
  37781. in memory.
  37782. Properties:
  37783. - Config: upload_concurrency
  37784. - Env Var: RCLONE_B2_UPLOAD_CONCURRENCY
  37785. - Type: int
  37786. - Default: 4
  37787. #### --b2-disable-checksum
  37788. Disable checksums for large (> upload cutoff) files.
  37789. Normally rclone will calculate the SHA1 checksum of the input before
  37790. uploading it so it can add it to metadata on the object. This is great
  37791. for data integrity checking but can cause long delays for large files
  37792. to start uploading.
  37793. Properties:
  37794. - Config: disable_checksum
  37795. - Env Var: RCLONE_B2_DISABLE_CHECKSUM
  37796. - Type: bool
  37797. - Default: false
  37798. #### --b2-download-url
  37799. Custom endpoint for downloads.
  37800. This is usually set to a Cloudflare CDN URL as Backblaze offers
  37801. free egress for data downloaded through the Cloudflare network.
  37802. Rclone works with private buckets by sending an \[dq]Authorization\[dq] header.
  37803. If the custom endpoint rewrites the requests for authentication,
  37804. e.g., in Cloudflare Workers, this header needs to be handled properly.
  37805. Leave blank if you want to use the endpoint provided by Backblaze.
  37806. The URL provided here SHOULD have the protocol and SHOULD NOT have
  37807. a trailing slash or specify the /file/bucket subpath as rclone will
  37808. request files with \[dq]{download_url}/file/{bucket_name}/{path}\[dq].
  37809. Example:
  37810. > https://mysubdomain.mydomain.tld
  37811. (No trailing \[dq]/\[dq], \[dq]file\[dq] or \[dq]bucket\[dq])
  37812. Properties:
  37813. - Config: download_url
  37814. - Env Var: RCLONE_B2_DOWNLOAD_URL
  37815. - Type: string
  37816. - Required: false
  37817. #### --b2-download-auth-duration
  37818. Time before the public link authorization token will expire in s or suffix ms|s|m|h|d.
  37819. This is used in combination with \[dq]rclone link\[dq] for making files
  37820. accessible to the public and sets the duration before the download
  37821. authorization token will expire.
  37822. The minimum value is 1 second. The maximum value is one week.
  37823. Properties:
  37824. - Config: download_auth_duration
  37825. - Env Var: RCLONE_B2_DOWNLOAD_AUTH_DURATION
  37826. - Type: Duration
  37827. - Default: 1w
  37828. #### --b2-memory-pool-flush-time
  37829. How often internal memory buffer pools will be flushed. (no longer used)
  37830. Properties:
  37831. - Config: memory_pool_flush_time
  37832. - Env Var: RCLONE_B2_MEMORY_POOL_FLUSH_TIME
  37833. - Type: Duration
  37834. - Default: 1m0s
  37835. #### --b2-memory-pool-use-mmap
  37836. Whether to use mmap buffers in internal memory pool. (no longer used)
  37837. Properties:
  37838. - Config: memory_pool_use_mmap
  37839. - Env Var: RCLONE_B2_MEMORY_POOL_USE_MMAP
  37840. - Type: bool
  37841. - Default: false
  37842. #### --b2-lifecycle
  37843. Set the number of days deleted files should be kept when creating a bucket.
  37844. On bucket creation, this parameter is used to create a lifecycle rule
  37845. for the entire bucket.
  37846. If lifecycle is 0 (the default) it does not create a lifecycle rule so
  37847. the default B2 behaviour applies. This is to create versions of files
  37848. on delete and overwrite and to keep them indefinitely.
  37849. If lifecycle is >0 then it creates a single rule setting the number of
  37850. days before a file that is deleted or overwritten is deleted
  37851. permanently. This is known as daysFromHidingToDeleting in the b2 docs.
  37852. The minimum value for this parameter is 1 day.
  37853. You can also enable hard_delete in the config also which will mean
  37854. deletions won\[aq]t cause versions but overwrites will still cause
  37855. versions to be made.
  37856. See: [rclone backend lifecycle](#lifecycle) for setting lifecycles after bucket creation.
  37857. Properties:
  37858. - Config: lifecycle
  37859. - Env Var: RCLONE_B2_LIFECYCLE
  37860. - Type: int
  37861. - Default: 0
  37862. #### --b2-encoding
  37863. The encoding for the backend.
  37864. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  37865. Properties:
  37866. - Config: encoding
  37867. - Env Var: RCLONE_B2_ENCODING
  37868. - Type: Encoding
  37869. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  37870. #### --b2-description
  37871. Description of the remote
  37872. Properties:
  37873. - Config: description
  37874. - Env Var: RCLONE_B2_DESCRIPTION
  37875. - Type: string
  37876. - Required: false
  37877. ## Backend commands
  37878. Here are the commands specific to the b2 backend.
  37879. Run them with
  37880. rclone backend COMMAND remote:
  37881. The help below will explain what arguments each command takes.
  37882. See the [backend](https://rclone.org/commands/rclone_backend/) command for more
  37883. info on how to pass options and arguments.
  37884. These can be run on a running backend using the rc command
  37885. [backend/command](https://rclone.org/rc/#backend-command).
  37886. ### lifecycle
  37887. Read or set the lifecycle for a bucket
  37888. rclone backend lifecycle remote: [options] [<arguments>+]
  37889. This command can be used to read or set the lifecycle for a bucket.
  37890. Usage Examples:
  37891. To show the current lifecycle rules:
  37892. rclone backend lifecycle b2:bucket
  37893. This will dump something like this showing the lifecycle rules.
  37894. [
  37895. {
  37896. \[dq]daysFromHidingToDeleting\[dq]: 1,
  37897. \[dq]daysFromUploadingToHiding\[dq]: null,
  37898. \[dq]fileNamePrefix\[dq]: \[dq]\[dq]
  37899. }
  37900. ]
  37901. If there are no lifecycle rules (the default) then it will just return [].
  37902. To reset the current lifecycle rules:
  37903. rclone backend lifecycle b2:bucket -o daysFromHidingToDeleting=30
  37904. rclone backend lifecycle b2:bucket -o daysFromUploadingToHiding=5 -o daysFromHidingToDeleting=1
  37905. This will run and then print the new lifecycle rules as above.
  37906. Rclone only lets you set lifecycles for the whole bucket with the
  37907. fileNamePrefix = \[dq]\[dq].
  37908. You can\[aq]t disable versioning with B2. The best you can do is to set
  37909. the daysFromHidingToDeleting to 1 day. You can enable hard_delete in
  37910. the config also which will mean deletions won\[aq]t cause versions but
  37911. overwrites will still cause versions to be made.
  37912. rclone backend lifecycle b2:bucket -o daysFromHidingToDeleting=1
  37913. See: https://www.backblaze.com/docs/cloud-storage-lifecycle-rules
  37914. Options:
  37915. - \[dq]daysFromHidingToDeleting\[dq]: After a file has been hidden for this many days it is deleted. 0 is off.
  37916. - \[dq]daysFromUploadingToHiding\[dq]: This many days after uploading a file is hidden
  37917. ## Limitations
  37918. \[ga]rclone about\[ga] is not supported by the B2 backend. Backends without
  37919. this capability cannot determine free space for an rclone mount or
  37920. use policy \[ga]mfs\[ga] (most free space) as a member of an rclone union
  37921. remote.
  37922. See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
  37923. # Box
  37924. Paths are specified as \[ga]remote:path\[ga]
  37925. Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga].
  37926. The initial setup for Box involves getting a token from Box which you
  37927. can do either in your browser, or with a config.json downloaded from Box
  37928. to use JWT authentication. \[ga]rclone config\[ga] walks you through it.
  37929. ## Configuration
  37930. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  37931. rclone config
  37932. This will guide you through an interactive setup process:
  37933. \f[R]
  37934. .fi
  37935. .PP
  37936. No remotes found, make a new one?
  37937. n) New remote s) Set configuration password q) Quit config n/s/q> n
  37938. name> remote Type of storage to configure.
  37939. Choose a number from below, or type in your own value [snip] XX / Box
  37940. \ \[dq]box\[dq] [snip] Storage> box Box App Client Id - leave blank
  37941. normally.
  37942. client_id> Box App Client Secret - leave blank normally.
  37943. client_secret> Box App config.json location Leave blank normally.
  37944. Enter a string value.
  37945. Press Enter for the default (\[dq]\[dq]).
  37946. box_config_file> Box App Primary Access Token Leave blank normally.
  37947. Enter a string value.
  37948. Press Enter for the default (\[dq]\[dq]).
  37949. access_token>
  37950. .PP
  37951. Enter a string value.
  37952. Press Enter for the default (\[dq]user\[dq]).
  37953. Choose a number from below, or type in your own value 1 / Rclone should
  37954. act on behalf of a user \ \[dq]user\[dq] 2 / Rclone should act on behalf
  37955. of a service account \ \[dq]enterprise\[dq] box_sub_type> Remote config
  37956. Use web browser to automatically authenticate rclone with remote?
  37957. * Say Y if the machine running rclone has a web browser you can use *
  37958. Say N if running rclone on a (remote) machine without web browser access
  37959. If not sure try Y.
  37960. If Y failed, try N.
  37961. y) Yes n) No y/n> y If your browser doesn\[aq]t open automatically go to
  37962. the following link: http://127.0.0.1:53682/auth Log in and authorize
  37963. rclone for access Waiting for code...
  37964. Got code -------------------- [remote] client_id = client_secret = token
  37965. =
  37966. {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]XXX\[dq]}
  37967. -------------------- y) Yes this is OK e) Edit this remote d) Delete
  37968. this remote y/e/d> y
  37969. .IP
  37970. .nf
  37971. \f[C]
  37972. See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
  37973. machine with no Internet browser available.
  37974. Note that rclone runs a webserver on your local machine to collect the
  37975. token as returned from Box. This only runs from the moment it opens
  37976. your browser to the moment you get back the verification code. This
  37977. is on \[ga]http://127.0.0.1:53682/\[ga] and this it may require you to unblock
  37978. it temporarily if you are running a host firewall.
  37979. Once configured you can then use \[ga]rclone\[ga] like this,
  37980. List directories in top level of your Box
  37981. rclone lsd remote:
  37982. List all the files in your Box
  37983. rclone ls remote:
  37984. To copy a local directory to an Box directory called backup
  37985. rclone copy /home/source remote:backup
  37986. ### Using rclone with an Enterprise account with SSO
  37987. If you have an \[dq]Enterprise\[dq] account type with Box with single sign on
  37988. (SSO), you need to create a password to use Box with rclone. This can
  37989. be done at your Enterprise Box account by going to Settings, \[dq]Account\[dq]
  37990. Tab, and then set the password in the \[dq]Authentication\[dq] field.
  37991. Once you have done this, you can setup your Enterprise Box account
  37992. using the same procedure detailed above in the, using the password you
  37993. have just set.
  37994. ### Invalid refresh token
  37995. According to the [box docs](https://developer.box.com/v2.0/docs/oauth-20#section-6-using-the-access-and-refresh-tokens):
  37996. > Each refresh_token is valid for one use in 60 days.
  37997. This means that if you
  37998. * Don\[aq]t use the box remote for 60 days
  37999. * Copy the config file with a box refresh token in and use it in two places
  38000. * Get an error on a token refresh
  38001. then rclone will return an error which includes the text \[ga]Invalid
  38002. refresh token\[ga].
  38003. To fix this you will need to use oauth2 again to update the refresh
  38004. token. You can use the methods in [the remote setup
  38005. docs](https://rclone.org/remote_setup/), bearing in mind that if you use the copy the
  38006. config file method, you should not use that remote on the computer you
  38007. did the authentication on.
  38008. Here is how to do it.
  38009. \f[R]
  38010. .fi
  38011. .PP
  38012. $ rclone config Current remotes:
  38013. .PP
  38014. Name Type ==== ==== remote box
  38015. .IP "e)" 3
  38016. Edit existing remote
  38017. .IP "f)" 3
  38018. New remote
  38019. .IP "g)" 3
  38020. Delete remote
  38021. .IP "h)" 3
  38022. Rename remote
  38023. .IP "i)" 3
  38024. Copy remote
  38025. .IP "j)" 3
  38026. Set configuration password
  38027. .IP "k)" 3
  38028. Quit config e/n/d/r/c/s/q> e Choose a number from below, or type in an
  38029. existing value 1 > remote remote> remote -------------------- [remote]
  38030. type = box token =
  38031. {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2017-07-08T23:40:08.059167677+01:00\[dq]}
  38032. -------------------- Edit remote Value \[dq]client_id\[dq] = \[dq]\[dq]
  38033. Edit?
  38034. (y/n)>
  38035. .IP "l)" 3
  38036. Yes
  38037. .IP "m)" 3
  38038. No y/n> n Value \[dq]client_secret\[dq] = \[dq]\[dq] Edit?
  38039. (y/n)>
  38040. .IP "n)" 3
  38041. Yes
  38042. .IP "o)" 3
  38043. No y/n> n Remote config Already have a token - refresh?
  38044. .IP "p)" 3
  38045. Yes
  38046. .IP "q)" 3
  38047. No y/n> y Use web browser to automatically authenticate rclone with
  38048. remote?
  38049. .IP \[bu] 2
  38050. Say Y if the machine running rclone has a web browser you can use
  38051. .IP \[bu] 2
  38052. Say N if running rclone on a (remote) machine without web browser access
  38053. If not sure try Y.
  38054. If Y failed, try N.
  38055. .IP "y)" 3
  38056. Yes
  38057. .IP "z)" 3
  38058. No y/n> y If your browser doesn\[aq]t open automatically go to the
  38059. following link: http://127.0.0.1:53682/auth Log in and authorize rclone
  38060. for access Waiting for code...
  38061. Got code -------------------- [remote] type = box token =
  38062. {\[dq]access_token\[dq]:\[dq]YYY\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]YYY\[dq],\[dq]expiry\[dq]:\[dq]2017-07-23T12:22:29.259137901+01:00\[dq]}
  38063. --------------------
  38064. .IP "a)" 3
  38065. Yes this is OK
  38066. .IP "b)" 3
  38067. Edit this remote
  38068. .IP "c)" 3
  38069. Delete this remote y/e/d> y
  38070. .IP
  38071. .nf
  38072. \f[C]
  38073. ### Modification times and hashes
  38074. Box allows modification times to be set on objects accurate to 1
  38075. second. These will be used to detect whether objects need syncing or
  38076. not.
  38077. Box supports SHA1 type hashes, so you can use the \[ga]--checksum\[ga]
  38078. flag.
  38079. ### Restricted filename characters
  38080. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  38081. the following characters are also replaced:
  38082. | Character | Value | Replacement |
  38083. | --------- |:-----:|:-----------:|
  38084. | \[rs] | 0x5C | \[uFF3C] |
  38085. File names can also not end with the following characters.
  38086. These only get replaced if they are the last character in the name:
  38087. | Character | Value | Replacement |
  38088. | --------- |:-----:|:-----------:|
  38089. | SP | 0x20 | \[u2420] |
  38090. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  38091. as they can\[aq]t be used in JSON strings.
  38092. ### Transfers
  38093. For files above 50 MiB rclone will use a chunked transfer. Rclone will
  38094. upload up to \[ga]--transfers\[ga] chunks at the same time (shared among all
  38095. the multipart uploads). Chunks are buffered in memory and are
  38096. normally 8 MiB so increasing \[ga]--transfers\[ga] will increase memory use.
  38097. ### Deleting files
  38098. Depending on the enterprise settings for your user, the item will
  38099. either be actually deleted from Box or moved to the trash.
  38100. Emptying the trash is supported via the rclone however cleanup command
  38101. however this deletes every trashed file and folder individually so it
  38102. may take a very long time.
  38103. Emptying the trash via the WebUI does not have this limitation
  38104. so it is advised to empty the trash via the WebUI.
  38105. ### Root folder ID
  38106. You can set the \[ga]root_folder_id\[ga] for rclone. This is the directory
  38107. (identified by its \[ga]Folder ID\[ga]) that rclone considers to be the root
  38108. of your Box drive.
  38109. Normally you will leave this blank and rclone will determine the
  38110. correct root to use itself.
  38111. However you can set this to restrict rclone to a specific folder
  38112. hierarchy.
  38113. In order to do this you will have to find the \[ga]Folder ID\[ga] of the
  38114. directory you wish rclone to display. This will be the last segment
  38115. of the URL when you open the relevant folder in the Box web
  38116. interface.
  38117. So if the folder you want rclone to use has a URL which looks like
  38118. \[ga]https://app.box.com/folder/11xxxxxxxxx8\[ga]
  38119. in the browser, then you use \[ga]11xxxxxxxxx8\[ga] as
  38120. the \[ga]root_folder_id\[ga] in the config.
  38121. ### Standard options
  38122. Here are the Standard options specific to box (Box).
  38123. #### --box-client-id
  38124. OAuth Client Id.
  38125. Leave blank normally.
  38126. Properties:
  38127. - Config: client_id
  38128. - Env Var: RCLONE_BOX_CLIENT_ID
  38129. - Type: string
  38130. - Required: false
  38131. #### --box-client-secret
  38132. OAuth Client Secret.
  38133. Leave blank normally.
  38134. Properties:
  38135. - Config: client_secret
  38136. - Env Var: RCLONE_BOX_CLIENT_SECRET
  38137. - Type: string
  38138. - Required: false
  38139. #### --box-box-config-file
  38140. Box App config.json location
  38141. Leave blank normally.
  38142. Leading \[ga]\[ti]\[ga] will be expanded in the file name as will environment variables such as \[ga]${RCLONE_CONFIG_DIR}\[ga].
  38143. Properties:
  38144. - Config: box_config_file
  38145. - Env Var: RCLONE_BOX_BOX_CONFIG_FILE
  38146. - Type: string
  38147. - Required: false
  38148. #### --box-access-token
  38149. Box App Primary Access Token
  38150. Leave blank normally.
  38151. Properties:
  38152. - Config: access_token
  38153. - Env Var: RCLONE_BOX_ACCESS_TOKEN
  38154. - Type: string
  38155. - Required: false
  38156. #### --box-box-sub-type
  38157. Properties:
  38158. - Config: box_sub_type
  38159. - Env Var: RCLONE_BOX_BOX_SUB_TYPE
  38160. - Type: string
  38161. - Default: \[dq]user\[dq]
  38162. - Examples:
  38163. - \[dq]user\[dq]
  38164. - Rclone should act on behalf of a user.
  38165. - \[dq]enterprise\[dq]
  38166. - Rclone should act on behalf of a service account.
  38167. ### Advanced options
  38168. Here are the Advanced options specific to box (Box).
  38169. #### --box-token
  38170. OAuth Access Token as a JSON blob.
  38171. Properties:
  38172. - Config: token
  38173. - Env Var: RCLONE_BOX_TOKEN
  38174. - Type: string
  38175. - Required: false
  38176. #### --box-auth-url
  38177. Auth server URL.
  38178. Leave blank to use the provider defaults.
  38179. Properties:
  38180. - Config: auth_url
  38181. - Env Var: RCLONE_BOX_AUTH_URL
  38182. - Type: string
  38183. - Required: false
  38184. #### --box-token-url
  38185. Token server url.
  38186. Leave blank to use the provider defaults.
  38187. Properties:
  38188. - Config: token_url
  38189. - Env Var: RCLONE_BOX_TOKEN_URL
  38190. - Type: string
  38191. - Required: false
  38192. #### --box-root-folder-id
  38193. Fill in for rclone to use a non root folder as its starting point.
  38194. Properties:
  38195. - Config: root_folder_id
  38196. - Env Var: RCLONE_BOX_ROOT_FOLDER_ID
  38197. - Type: string
  38198. - Default: \[dq]0\[dq]
  38199. #### --box-upload-cutoff
  38200. Cutoff for switching to multipart upload (>= 50 MiB).
  38201. Properties:
  38202. - Config: upload_cutoff
  38203. - Env Var: RCLONE_BOX_UPLOAD_CUTOFF
  38204. - Type: SizeSuffix
  38205. - Default: 50Mi
  38206. #### --box-commit-retries
  38207. Max number of times to try committing a multipart file.
  38208. Properties:
  38209. - Config: commit_retries
  38210. - Env Var: RCLONE_BOX_COMMIT_RETRIES
  38211. - Type: int
  38212. - Default: 100
  38213. #### --box-list-chunk
  38214. Size of listing chunk 1-1000.
  38215. Properties:
  38216. - Config: list_chunk
  38217. - Env Var: RCLONE_BOX_LIST_CHUNK
  38218. - Type: int
  38219. - Default: 1000
  38220. #### --box-owned-by
  38221. Only show items owned by the login (email address) passed in.
  38222. Properties:
  38223. - Config: owned_by
  38224. - Env Var: RCLONE_BOX_OWNED_BY
  38225. - Type: string
  38226. - Required: false
  38227. #### --box-impersonate
  38228. Impersonate this user ID when using a service account.
  38229. Setting this flag allows rclone, when using a JWT service account, to
  38230. act on behalf of another user by setting the as-user header.
  38231. The user ID is the Box identifier for a user. User IDs can found for
  38232. any user via the GET /users endpoint, which is only available to
  38233. admins, or by calling the GET /users/me endpoint with an authenticated
  38234. user session.
  38235. See: https://developer.box.com/guides/authentication/jwt/as-user/
  38236. Properties:
  38237. - Config: impersonate
  38238. - Env Var: RCLONE_BOX_IMPERSONATE
  38239. - Type: string
  38240. - Required: false
  38241. #### --box-encoding
  38242. The encoding for the backend.
  38243. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  38244. Properties:
  38245. - Config: encoding
  38246. - Env Var: RCLONE_BOX_ENCODING
  38247. - Type: Encoding
  38248. - Default: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot
  38249. #### --box-description
  38250. Description of the remote
  38251. Properties:
  38252. - Config: description
  38253. - Env Var: RCLONE_BOX_DESCRIPTION
  38254. - Type: string
  38255. - Required: false
  38256. ## Limitations
  38257. Note that Box is case insensitive so you can\[aq]t have a file called
  38258. \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  38259. Box file names can\[aq]t have the \[ga]\[rs]\[ga] character in. rclone maps this to
  38260. and from an identical looking unicode equivalent \[ga]\[uFF3C]\[ga] (U+FF3C Fullwidth
  38261. Reverse Solidus).
  38262. Box only supports filenames up to 255 characters in length.
  38263. Box has [API rate limits](https://developer.box.com/guides/api-calls/permissions-and-errors/rate-limits/) that sometimes reduce the speed of rclone.
  38264. \[ga]rclone about\[ga] is not supported by the Box backend. Backends without
  38265. this capability cannot determine free space for an rclone mount or
  38266. use policy \[ga]mfs\[ga] (most free space) as a member of an rclone union
  38267. remote.
  38268. See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
  38269. ## Get your own Box App ID
  38270. Here is how to create your own Box App ID for rclone:
  38271. 1. Go to the [Box Developer Console](https://app.box.com/developers/console)
  38272. and login, then click \[ga]My Apps\[ga] on the sidebar. Click \[ga]Create New App\[ga]
  38273. and select \[ga]Custom App\[ga].
  38274. 2. In the first screen on the box that pops up, you can pretty much enter
  38275. whatever you want. The \[ga]App Name\[ga] can be whatever. For \[ga]Purpose\[ga] choose
  38276. automation to avoid having to fill out anything else. Click \[ga]Next\[ga].
  38277. 3. In the second screen of the creation screen, select
  38278. \[ga]User Authentication (OAuth 2.0)\[ga]. Then click \[ga]Create App\[ga].
  38279. 4. You should now be on the \[ga]Configuration\[ga] tab of your new app. If not,
  38280. click on it at the top of the webpage. Copy down \[ga]Client ID\[ga]
  38281. and \[ga]Client Secret\[ga], you\[aq]ll need those for rclone.
  38282. 5. Under \[dq]OAuth 2.0 Redirect URI\[dq], add \[ga]http://127.0.0.1:53682/\[ga]
  38283. 6. For \[ga]Application Scopes\[ga], select \[ga]Read all files and folders stored in Box\[ga]
  38284. and \[ga]Write all files and folders stored in box\[ga] (assuming you want to do both).
  38285. Leave others unchecked. Click \[ga]Save Changes\[ga] at the top right.
  38286. # Cache
  38287. The \[ga]cache\[ga] remote wraps another existing remote and stores file structure
  38288. and its data for long running tasks like \[ga]rclone mount\[ga].
  38289. ## Status
  38290. The cache backend code is working but it currently doesn\[aq]t
  38291. have a maintainer so there are [outstanding bugs](https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22Remote%3A+Cache%22) which aren\[aq]t getting fixed.
  38292. The cache backend is due to be phased out in favour of the VFS caching
  38293. layer eventually which is more tightly integrated into rclone.
  38294. Until this happens we recommend only using the cache backend if you
  38295. find you can\[aq]t work without it. There are many docs online describing
  38296. the use of the cache backend to minimize API hits and by-and-large
  38297. these are out of date and the cache backend isn\[aq]t needed in those
  38298. scenarios any more.
  38299. ## Configuration
  38300. To get started you just need to have an existing remote which can be configured
  38301. with \[ga]cache\[ga].
  38302. Here is an example of how to make a remote called \[ga]test-cache\[ga]. First run:
  38303. rclone config
  38304. This will guide you through an interactive setup process:
  38305. \f[R]
  38306. .fi
  38307. .PP
  38308. No remotes found, make a new one?
  38309. n) New remote r) Rename remote c) Copy remote s) Set configuration
  38310. password q) Quit config n/r/c/s/q> n name> test-cache Type of storage to
  38311. configure.
  38312. Choose a number from below, or type in your own value [snip] XX / Cache
  38313. a remote \ \[dq]cache\[dq] [snip] Storage> cache Remote to cache.
  38314. Normally should contain a \[aq]:\[aq] and a path, e.g.
  38315. \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq] or maybe
  38316. \[dq]myremote:\[dq] (not recommended).
  38317. remote> local:/test Optional: The URL of the Plex server plex_url>
  38318. http://127.0.0.1:32400 Optional: The username of the Plex user
  38319. plex_username> dummyusername Optional: The password of the Plex user y)
  38320. Yes type in my own password g) Generate random password n) No leave this
  38321. optional password blank y/g/n> y Enter the password: password: Confirm
  38322. the password: password: The size of a chunk.
  38323. Lower value good for slow connections but can affect seamless reading.
  38324. Default: 5M Choose a number from below, or type in your own value 1 / 1
  38325. MiB \ \[dq]1M\[dq] 2 / 5 MiB \ \[dq]5M\[dq] 3 / 10 MiB \ \[dq]10M\[dq]
  38326. chunk_size> 2 How much time should object info (file size, file hashes,
  38327. etc.) be stored in cache.
  38328. Use a very high value if you don\[aq]t plan on changing the source FS
  38329. from outside the cache.
  38330. Accepted units are: \[dq]s\[dq], \[dq]m\[dq], \[dq]h\[dq].
  38331. Default: 5m Choose a number from below, or type in your own value 1 / 1
  38332. hour \ \[dq]1h\[dq] 2 / 24 hours \ \[dq]24h\[dq] 3 / 24 hours
  38333. \ \[dq]48h\[dq] info_age> 2 The maximum size of stored chunks.
  38334. When the storage grows beyond this size, the oldest chunks will be
  38335. deleted.
  38336. Default: 10G Choose a number from below, or type in your own value 1 /
  38337. 500 MiB \ \[dq]500M\[dq] 2 / 1 GiB \ \[dq]1G\[dq] 3 / 10 GiB
  38338. \ \[dq]10G\[dq] chunk_total_size> 3 Remote config --------------------
  38339. [test-cache] remote = local:/test plex_url = http://127.0.0.1:32400
  38340. plex_username = dummyusername plex_password = *** ENCRYPTED ***
  38341. chunk_size = 5M info_age = 48h chunk_total_size = 10G
  38342. .IP
  38343. .nf
  38344. \f[C]
  38345. You can then use it like this,
  38346. List directories in top level of your drive
  38347. rclone lsd test-cache:
  38348. List all the files in your drive
  38349. rclone ls test-cache:
  38350. To start a cached mount
  38351. rclone mount --allow-other test-cache: /var/tmp/test-cache
  38352. ### Write Features ###
  38353. ### Offline uploading ###
  38354. In an effort to make writing through cache more reliable, the backend
  38355. now supports this feature which can be activated by specifying a
  38356. \[ga]cache-tmp-upload-path\[ga].
  38357. A files goes through these states when using this feature:
  38358. 1. An upload is started (usually by copying a file on the cache remote)
  38359. 2. When the copy to the temporary location is complete the file is part
  38360. of the cached remote and looks and behaves like any other file (reading included)
  38361. 3. After \[ga]cache-tmp-wait-time\[ga] passes and the file is next in line, \[ga]rclone move\[ga]
  38362. is used to move the file to the cloud provider
  38363. 4. Reading the file still works during the upload but most modifications on it will be prohibited
  38364. 5. Once the move is complete the file is unlocked for modifications as it
  38365. becomes as any other regular file
  38366. 6. If the file is being read through \[ga]cache\[ga] when it\[aq]s actually
  38367. deleted from the temporary path then \[ga]cache\[ga] will simply swap the source
  38368. to the cloud provider without interrupting the reading (small blip can happen though)
  38369. Files are uploaded in sequence and only one file is uploaded at a time.
  38370. Uploads will be stored in a queue and be processed based on the order they were added.
  38371. The queue and the temporary storage is persistent across restarts but
  38372. can be cleared on startup with the \[ga]--cache-db-purge\[ga] flag.
  38373. ### Write Support ###
  38374. Writes are supported through \[ga]cache\[ga].
  38375. One caveat is that a mounted cache remote does not add any retry or fallback
  38376. mechanism to the upload operation. This will depend on the implementation
  38377. of the wrapped remote. Consider using \[ga]Offline uploading\[ga] for reliable writes.
  38378. One special case is covered with \[ga]cache-writes\[ga] which will cache the file
  38379. data at the same time as the upload when it is enabled making it available
  38380. from the cache store immediately once the upload is finished.
  38381. ### Read Features ###
  38382. #### Multiple connections ####
  38383. To counter the high latency between a local PC where rclone is running
  38384. and cloud providers, the cache remote can split multiple requests to the
  38385. cloud provider for smaller file chunks and combines them together locally
  38386. where they can be available almost immediately before the reader usually
  38387. needs them.
  38388. This is similar to buffering when media files are played online. Rclone
  38389. will stay around the current marker but always try its best to stay ahead
  38390. and prepare the data before.
  38391. #### Plex Integration ####
  38392. There is a direct integration with Plex which allows cache to detect during reading
  38393. if the file is in playback or not. This helps cache to adapt how it queries
  38394. the cloud provider depending on what is needed for.
  38395. Scans will have a minimum amount of workers (1) while in a confirmed playback cache
  38396. will deploy the configured number of workers.
  38397. This integration opens the doorway to additional performance improvements
  38398. which will be explored in the near future.
  38399. **Note:** If Plex options are not configured, \[ga]cache\[ga] will function with its
  38400. configured options without adapting any of its settings.
  38401. How to enable? Run \[ga]rclone config\[ga] and add all the Plex options (endpoint, username
  38402. and password) in your remote and it will be automatically enabled.
  38403. Affected settings:
  38404. - \[ga]cache-workers\[ga]: _Configured value_ during confirmed playback or _1_ all the other times
  38405. ##### Certificate Validation #####
  38406. When the Plex server is configured to only accept secure connections, it is
  38407. possible to use \[ga].plex.direct\[ga] URLs to ensure certificate validation succeeds.
  38408. These URLs are used by Plex internally to connect to the Plex server securely.
  38409. The format for these URLs is the following:
  38410. \[ga]https://ip-with-dots-replaced.server-hash.plex.direct:32400/\[ga]
  38411. The \[ga]ip-with-dots-replaced\[ga] part can be any IPv4 address, where the dots
  38412. have been replaced with dashes, e.g. \[ga]127.0.0.1\[ga] becomes \[ga]127-0-0-1\[ga].
  38413. To get the \[ga]server-hash\[ga] part, the easiest way is to visit
  38414. https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-token
  38415. This page will list all the available Plex servers for your account
  38416. with at least one \[ga].plex.direct\[ga] link for each. Copy one URL and replace
  38417. the IP address with the desired address. This can be used as the
  38418. \[ga]plex_url\[ga] value.
  38419. ### Known issues ###
  38420. #### Mount and --dir-cache-time ####
  38421. --dir-cache-time controls the first layer of directory caching which works at the mount layer.
  38422. Being an independent caching mechanism from the \[ga]cache\[ga] backend, it will manage its own entries
  38423. based on the configured time.
  38424. To avoid getting in a scenario where dir cache has obsolete data and cache would have the correct
  38425. one, try to set \[ga]--dir-cache-time\[ga] to a lower time than \[ga]--cache-info-age\[ga]. Default values are
  38426. already configured in this way.
  38427. #### Windows support - Experimental ####
  38428. There are a couple of issues with Windows \[ga]mount\[ga] functionality that still require some investigations.
  38429. It should be considered as experimental thus far as fixes come in for this OS.
  38430. Most of the issues seem to be related to the difference between filesystems
  38431. on Linux flavors and Windows as cache is heavily dependent on them.
  38432. Any reports or feedback on how cache behaves on this OS is greatly appreciated.
  38433. - https://github.com/rclone/rclone/issues/1935
  38434. - https://github.com/rclone/rclone/issues/1907
  38435. - https://github.com/rclone/rclone/issues/1834
  38436. #### Risk of throttling ####
  38437. Future iterations of the cache backend will make use of the pooling functionality
  38438. of the cloud provider to synchronize and at the same time make writing through it
  38439. more tolerant to failures.
  38440. There are a couple of enhancements in track to add these but in the meantime
  38441. there is a valid concern that the expiring cache listings can lead to cloud provider
  38442. throttles or bans due to repeated queries on it for very large mounts.
  38443. Some recommendations:
  38444. - don\[aq]t use a very small interval for entry information (\[ga]--cache-info-age\[ga])
  38445. - while writes aren\[aq]t yet optimised, you can still write through \[ga]cache\[ga] which gives you the advantage
  38446. of adding the file in the cache at the same time if configured to do so.
  38447. Future enhancements:
  38448. - https://github.com/rclone/rclone/issues/1937
  38449. - https://github.com/rclone/rclone/issues/1936
  38450. #### cache and crypt ####
  38451. One common scenario is to keep your data encrypted in the cloud provider
  38452. using the \[ga]crypt\[ga] remote. \[ga]crypt\[ga] uses a similar technique to wrap around
  38453. an existing remote and handles this translation in a seamless way.
  38454. There is an issue with wrapping the remotes in this order:
  38455. **cloud remote** -> **crypt** -> **cache**
  38456. During testing, I experienced a lot of bans with the remotes in this order.
  38457. I suspect it might be related to how crypt opens files on the cloud provider
  38458. which makes it think we\[aq]re downloading the full file instead of small chunks.
  38459. Organizing the remotes in this order yields better results:
  38460. **cloud remote** -> **cache** -> **crypt**
  38461. #### absolute remote paths ####
  38462. \[ga]cache\[ga] can not differentiate between relative and absolute paths for the wrapped remote.
  38463. Any path given in the \[ga]remote\[ga] config setting and on the command line will be passed to
  38464. the wrapped remote as is, but for storing the chunks on disk the path will be made
  38465. relative by removing any leading \[ga]/\[ga] character.
  38466. This behavior is irrelevant for most backend types, but there are backends where a leading \[ga]/\[ga]
  38467. changes the effective directory, e.g. in the \[ga]sftp\[ga] backend paths starting with a \[ga]/\[ga] are
  38468. relative to the root of the SSH server and paths without are relative to the user home directory.
  38469. As a result \[ga]sftp:bin\[ga] and \[ga]sftp:/bin\[ga] will share the same cache folder, even if they represent
  38470. a different directory on the SSH server.
  38471. ### Cache and Remote Control (--rc) ###
  38472. Cache supports the new \[ga]--rc\[ga] mode in rclone and can be remote controlled through the following end points:
  38473. By default, the listener is disabled if you do not add the flag.
  38474. ### rc cache/expire
  38475. Purge a remote from the cache backend. Supports either a directory or a file.
  38476. It supports both encrypted and unencrypted file names if cache is wrapped by crypt.
  38477. Params:
  38478. - **remote** = path to remote **(required)**
  38479. - **withData** = true/false to delete cached data (chunks) as well _(optional, false by default)_
  38480. ### Standard options
  38481. Here are the Standard options specific to cache (Cache a remote).
  38482. #### --cache-remote
  38483. Remote to cache.
  38484. Normally should contain a \[aq]:\[aq] and a path, e.g. \[dq]myremote:path/to/dir\[dq],
  38485. \[dq]myremote:bucket\[dq] or maybe \[dq]myremote:\[dq] (not recommended).
  38486. Properties:
  38487. - Config: remote
  38488. - Env Var: RCLONE_CACHE_REMOTE
  38489. - Type: string
  38490. - Required: true
  38491. #### --cache-plex-url
  38492. The URL of the Plex server.
  38493. Properties:
  38494. - Config: plex_url
  38495. - Env Var: RCLONE_CACHE_PLEX_URL
  38496. - Type: string
  38497. - Required: false
  38498. #### --cache-plex-username
  38499. The username of the Plex user.
  38500. Properties:
  38501. - Config: plex_username
  38502. - Env Var: RCLONE_CACHE_PLEX_USERNAME
  38503. - Type: string
  38504. - Required: false
  38505. #### --cache-plex-password
  38506. The password of the Plex user.
  38507. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  38508. Properties:
  38509. - Config: plex_password
  38510. - Env Var: RCLONE_CACHE_PLEX_PASSWORD
  38511. - Type: string
  38512. - Required: false
  38513. #### --cache-chunk-size
  38514. The size of a chunk (partial file data).
  38515. Use lower numbers for slower connections. If the chunk size is
  38516. changed, any downloaded chunks will be invalid and cache-chunk-path
  38517. will need to be cleared or unexpected EOF errors will occur.
  38518. Properties:
  38519. - Config: chunk_size
  38520. - Env Var: RCLONE_CACHE_CHUNK_SIZE
  38521. - Type: SizeSuffix
  38522. - Default: 5Mi
  38523. - Examples:
  38524. - \[dq]1M\[dq]
  38525. - 1 MiB
  38526. - \[dq]5M\[dq]
  38527. - 5 MiB
  38528. - \[dq]10M\[dq]
  38529. - 10 MiB
  38530. #### --cache-info-age
  38531. How long to cache file structure information (directory listings, file size, times, etc.).
  38532. If all write operations are done through the cache then you can safely make
  38533. this value very large as the cache store will also be updated in real time.
  38534. Properties:
  38535. - Config: info_age
  38536. - Env Var: RCLONE_CACHE_INFO_AGE
  38537. - Type: Duration
  38538. - Default: 6h0m0s
  38539. - Examples:
  38540. - \[dq]1h\[dq]
  38541. - 1 hour
  38542. - \[dq]24h\[dq]
  38543. - 24 hours
  38544. - \[dq]48h\[dq]
  38545. - 48 hours
  38546. #### --cache-chunk-total-size
  38547. The total size that the chunks can take up on the local disk.
  38548. If the cache exceeds this value then it will start to delete the
  38549. oldest chunks until it goes under this value.
  38550. Properties:
  38551. - Config: chunk_total_size
  38552. - Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE
  38553. - Type: SizeSuffix
  38554. - Default: 10Gi
  38555. - Examples:
  38556. - \[dq]500M\[dq]
  38557. - 500 MiB
  38558. - \[dq]1G\[dq]
  38559. - 1 GiB
  38560. - \[dq]10G\[dq]
  38561. - 10 GiB
  38562. ### Advanced options
  38563. Here are the Advanced options specific to cache (Cache a remote).
  38564. #### --cache-plex-token
  38565. The plex token for authentication - auto set normally.
  38566. Properties:
  38567. - Config: plex_token
  38568. - Env Var: RCLONE_CACHE_PLEX_TOKEN
  38569. - Type: string
  38570. - Required: false
  38571. #### --cache-plex-insecure
  38572. Skip all certificate verification when connecting to the Plex server.
  38573. Properties:
  38574. - Config: plex_insecure
  38575. - Env Var: RCLONE_CACHE_PLEX_INSECURE
  38576. - Type: string
  38577. - Required: false
  38578. #### --cache-db-path
  38579. Directory to store file structure metadata DB.
  38580. The remote name is used as the DB file name.
  38581. Properties:
  38582. - Config: db_path
  38583. - Env Var: RCLONE_CACHE_DB_PATH
  38584. - Type: string
  38585. - Default: \[dq]$HOME/.cache/rclone/cache-backend\[dq]
  38586. #### --cache-chunk-path
  38587. Directory to cache chunk files.
  38588. Path to where partial file data (chunks) are stored locally. The remote
  38589. name is appended to the final path.
  38590. This config follows the \[dq]--cache-db-path\[dq]. If you specify a custom
  38591. location for \[dq]--cache-db-path\[dq] and don\[aq]t specify one for \[dq]--cache-chunk-path\[dq]
  38592. then \[dq]--cache-chunk-path\[dq] will use the same path as \[dq]--cache-db-path\[dq].
  38593. Properties:
  38594. - Config: chunk_path
  38595. - Env Var: RCLONE_CACHE_CHUNK_PATH
  38596. - Type: string
  38597. - Default: \[dq]$HOME/.cache/rclone/cache-backend\[dq]
  38598. #### --cache-db-purge
  38599. Clear all the cached data for this remote on start.
  38600. Properties:
  38601. - Config: db_purge
  38602. - Env Var: RCLONE_CACHE_DB_PURGE
  38603. - Type: bool
  38604. - Default: false
  38605. #### --cache-chunk-clean-interval
  38606. How often should the cache perform cleanups of the chunk storage.
  38607. The default value should be ok for most people. If you find that the
  38608. cache goes over \[dq]cache-chunk-total-size\[dq] too often then try to lower
  38609. this value to force it to perform cleanups more often.
  38610. Properties:
  38611. - Config: chunk_clean_interval
  38612. - Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
  38613. - Type: Duration
  38614. - Default: 1m0s
  38615. #### --cache-read-retries
  38616. How many times to retry a read from a cache storage.
  38617. Since reading from a cache stream is independent from downloading file
  38618. data, readers can get to a point where there\[aq]s no more data in the
  38619. cache. Most of the times this can indicate a connectivity issue if
  38620. cache isn\[aq]t able to provide file data anymore.
  38621. For really slow connections, increase this to a point where the stream is
  38622. able to provide data but your experience will be very stuttering.
  38623. Properties:
  38624. - Config: read_retries
  38625. - Env Var: RCLONE_CACHE_READ_RETRIES
  38626. - Type: int
  38627. - Default: 10
  38628. #### --cache-workers
  38629. How many workers should run in parallel to download chunks.
  38630. Higher values will mean more parallel processing (better CPU needed)
  38631. and more concurrent requests on the cloud provider. This impacts
  38632. several aspects like the cloud provider API limits, more stress on the
  38633. hardware that rclone runs on but it also means that streams will be
  38634. more fluid and data will be available much more faster to readers.
  38635. **Note**: If the optional Plex integration is enabled then this
  38636. setting will adapt to the type of reading performed and the value
  38637. specified here will be used as a maximum number of workers to use.
  38638. Properties:
  38639. - Config: workers
  38640. - Env Var: RCLONE_CACHE_WORKERS
  38641. - Type: int
  38642. - Default: 4
  38643. #### --cache-chunk-no-memory
  38644. Disable the in-memory cache for storing chunks during streaming.
  38645. By default, cache will keep file data during streaming in RAM as well
  38646. to provide it to readers as fast as possible.
  38647. This transient data is evicted as soon as it is read and the number of
  38648. chunks stored doesn\[aq]t exceed the number of workers. However, depending
  38649. on other settings like \[dq]cache-chunk-size\[dq] and \[dq]cache-workers\[dq] this footprint
  38650. can increase if there are parallel streams too (multiple files being read
  38651. at the same time).
  38652. If the hardware permits it, use this feature to provide an overall better
  38653. performance during streaming but it can also be disabled if RAM is not
  38654. available on the local machine.
  38655. Properties:
  38656. - Config: chunk_no_memory
  38657. - Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY
  38658. - Type: bool
  38659. - Default: false
  38660. #### --cache-rps
  38661. Limits the number of requests per second to the source FS (-1 to disable).
  38662. This setting places a hard limit on the number of requests per second
  38663. that cache will be doing to the cloud provider remote and try to
  38664. respect that value by setting waits between reads.
  38665. If you find that you\[aq]re getting banned or limited on the cloud
  38666. provider through cache and know that a smaller number of requests per
  38667. second will allow you to work with it then you can use this setting
  38668. for that.
  38669. A good balance of all the other settings should make this setting
  38670. useless but it is available to set for more special cases.
  38671. **NOTE**: This will limit the number of requests during streams but
  38672. other API calls to the cloud provider like directory listings will
  38673. still pass.
  38674. Properties:
  38675. - Config: rps
  38676. - Env Var: RCLONE_CACHE_RPS
  38677. - Type: int
  38678. - Default: -1
  38679. #### --cache-writes
  38680. Cache file data on writes through the FS.
  38681. If you need to read files immediately after you upload them through
  38682. cache you can enable this flag to have their data stored in the
  38683. cache store at the same time during upload.
  38684. Properties:
  38685. - Config: writes
  38686. - Env Var: RCLONE_CACHE_WRITES
  38687. - Type: bool
  38688. - Default: false
  38689. #### --cache-tmp-upload-path
  38690. Directory to keep temporary files until they are uploaded.
  38691. This is the path where cache will use as a temporary storage for new
  38692. files that need to be uploaded to the cloud provider.
  38693. Specifying a value will enable this feature. Without it, it is
  38694. completely disabled and files will be uploaded directly to the cloud
  38695. provider
  38696. Properties:
  38697. - Config: tmp_upload_path
  38698. - Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH
  38699. - Type: string
  38700. - Required: false
  38701. #### --cache-tmp-wait-time
  38702. How long should files be stored in local cache before being uploaded.
  38703. This is the duration that a file must wait in the temporary location
  38704. _cache-tmp-upload-path_ before it is selected for upload.
  38705. Note that only one file is uploaded at a time and it can take longer
  38706. to start the upload if a queue formed for this purpose.
  38707. Properties:
  38708. - Config: tmp_wait_time
  38709. - Env Var: RCLONE_CACHE_TMP_WAIT_TIME
  38710. - Type: Duration
  38711. - Default: 15s
  38712. #### --cache-db-wait-time
  38713. How long to wait for the DB to be available - 0 is unlimited.
  38714. Only one process can have the DB open at any one time, so rclone waits
  38715. for this duration for the DB to become available before it gives an
  38716. error.
  38717. If you set it to 0 then it will wait forever.
  38718. Properties:
  38719. - Config: db_wait_time
  38720. - Env Var: RCLONE_CACHE_DB_WAIT_TIME
  38721. - Type: Duration
  38722. - Default: 1s
  38723. #### --cache-description
  38724. Description of the remote
  38725. Properties:
  38726. - Config: description
  38727. - Env Var: RCLONE_CACHE_DESCRIPTION
  38728. - Type: string
  38729. - Required: false
  38730. ## Backend commands
  38731. Here are the commands specific to the cache backend.
  38732. Run them with
  38733. rclone backend COMMAND remote:
  38734. The help below will explain what arguments each command takes.
  38735. See the [backend](https://rclone.org/commands/rclone_backend/) command for more
  38736. info on how to pass options and arguments.
  38737. These can be run on a running backend using the rc command
  38738. [backend/command](https://rclone.org/rc/#backend-command).
  38739. ### stats
  38740. Print stats on the cache backend in JSON format.
  38741. rclone backend stats remote: [options] [<arguments>+]
  38742. # Chunker
  38743. The \[ga]chunker\[ga] overlay transparently splits large files into smaller chunks
  38744. during upload to wrapped remote and transparently assembles them back
  38745. when the file is downloaded. This allows to effectively overcome size limits
  38746. imposed by storage providers.
  38747. ## Configuration
  38748. To use it, first set up the underlying remote following the configuration
  38749. instructions for that remote. You can also use a local pathname instead of
  38750. a remote.
  38751. First check your chosen remote is working - we\[aq]ll call it \[ga]remote:path\[ga] here.
  38752. Note that anything inside \[ga]remote:path\[ga] will be chunked and anything outside
  38753. won\[aq]t. This means that if you are using a bucket-based remote (e.g. S3, B2, swift)
  38754. then you should probably put the bucket in the remote \[ga]s3:bucket\[ga].
  38755. Now configure \[ga]chunker\[ga] using \[ga]rclone config\[ga]. We will call this one \[ga]overlay\[ga]
  38756. to separate it from the \[ga]remote\[ga] itself.
  38757. \f[R]
  38758. .fi
  38759. .PP
  38760. No remotes found, make a new one?
  38761. n) New remote s) Set configuration password q) Quit config n/s/q> n
  38762. name> overlay Type of storage to configure.
  38763. Choose a number from below, or type in your own value [snip] XX /
  38764. Transparently chunk/split large files \ \[dq]chunker\[dq] [snip]
  38765. Storage> chunker Remote to chunk/unchunk.
  38766. Normally should contain a \[aq]:\[aq] and a path, e.g.
  38767. \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq] or maybe
  38768. \[dq]myremote:\[dq] (not recommended).
  38769. Enter a string value.
  38770. Press Enter for the default (\[dq]\[dq]).
  38771. remote> remote:path Files larger than chunk size will be split in
  38772. chunks.
  38773. Enter a size with suffix K,M,G,T.
  38774. Press Enter for the default (\[dq]2G\[dq]).
  38775. chunk_size> 100M Choose how chunker handles hash sums.
  38776. All modes but \[dq]none\[dq] require metadata.
  38777. Enter a string value.
  38778. Press Enter for the default (\[dq]md5\[dq]).
  38779. Choose a number from below, or type in your own value 1 / Pass any hash
  38780. supported by wrapped remote for non-chunked files, return nothing
  38781. otherwise \ \[dq]none\[dq] 2 / MD5 for composite files \ \[dq]md5\[dq] 3
  38782. / SHA1 for composite files \ \[dq]sha1\[dq] 4 / MD5 for all files
  38783. \ \[dq]md5all\[dq] 5 / SHA1 for all files \ \[dq]sha1all\[dq] 6 /
  38784. Copying a file to chunker will request MD5 from the source falling back
  38785. to SHA1 if unsupported \ \[dq]md5quick\[dq] 7 / Similar to
  38786. \[dq]md5quick\[dq] but prefers SHA1 over MD5 \ \[dq]sha1quick\[dq]
  38787. hash_type> md5 Edit advanced config?
  38788. (y/n) y) Yes n) No y/n> n Remote config -------------------- [overlay]
  38789. type = chunker remote = remote:bucket chunk_size = 100M hash_type = md5
  38790. -------------------- y) Yes this is OK e) Edit this remote d) Delete
  38791. this remote y/e/d> y
  38792. .IP
  38793. .nf
  38794. \f[C]
  38795. ### Specifying the remote
  38796. In normal use, make sure the remote has a \[ga]:\[ga] in. If you specify the remote
  38797. without a \[ga]:\[ga] then rclone will use a local directory of that name.
  38798. So if you use a remote of \[ga]/path/to/secret/files\[ga] then rclone will
  38799. chunk stuff in that directory. If you use a remote of \[ga]name\[ga] then rclone
  38800. will put files in a directory called \[ga]name\[ga] in the current directory.
  38801. ### Chunking
  38802. When rclone starts a file upload, chunker checks the file size. If it
  38803. doesn\[aq]t exceed the configured chunk size, chunker will just pass the file
  38804. to the wrapped remote (however, see caveat below). If a file is large, chunker will transparently cut
  38805. data in pieces with temporary names and stream them one by one, on the fly.
  38806. Each data chunk will contain the specified number of bytes, except for the
  38807. last one which may have less data. If file size is unknown in advance
  38808. (this is called a streaming upload), chunker will internally create
  38809. a temporary copy, record its size and repeat the above process.
  38810. When upload completes, temporary chunk files are finally renamed.
  38811. This scheme guarantees that operations can be run in parallel and look
  38812. from outside as atomic.
  38813. A similar method with hidden temporary chunks is used for other operations
  38814. (copy/move/rename, etc.). If an operation fails, hidden chunks are normally
  38815. destroyed, and the target composite file stays intact.
  38816. When a composite file download is requested, chunker transparently
  38817. assembles it by concatenating data chunks in order. As the split is trivial
  38818. one could even manually concatenate data chunks together to obtain the
  38819. original content.
  38820. When the \[ga]list\[ga] rclone command scans a directory on wrapped remote,
  38821. the potential chunk files are accounted for, grouped and assembled into
  38822. composite directory entries. Any temporary chunks are hidden.
  38823. List and other commands can sometimes come across composite files with
  38824. missing or invalid chunks, e.g. shadowed by like-named directory or
  38825. another file. This usually means that wrapped file system has been directly
  38826. tampered with or damaged. If chunker detects a missing chunk it will
  38827. by default print warning, skip the whole incomplete group of chunks but
  38828. proceed with current command.
  38829. You can set the \[ga]--chunker-fail-hard\[ga] flag to have commands abort with
  38830. error message in such cases.
  38831. **Caveat**: As it is now, chunker will always create a temporary file in the
  38832. backend and then rename it, even if the file is below the chunk threshold.
  38833. This will result in unnecessary API calls and can severely restrict throughput
  38834. when handling transfers primarily composed of small files on some backends (e.g. Box).
  38835. A workaround to this issue is to use chunker only for files above the chunk threshold
  38836. via \[ga]--min-size\[ga] and then perform a separate call without chunker on the remaining
  38837. files.
  38838. #### Chunk names
  38839. The default chunk name format is \[ga]*.rclone_chunk.###\[ga], hence by default
  38840. chunk names are \[ga]BIG_FILE_NAME.rclone_chunk.001\[ga],
  38841. \[ga]BIG_FILE_NAME.rclone_chunk.002\[ga] etc. You can configure another name format
  38842. using the \[ga]name_format\[ga] configuration file option. The format uses asterisk
  38843. \[ga]*\[ga] as a placeholder for the base file name and one or more consecutive
  38844. hash characters \[ga]#\[ga] as a placeholder for sequential chunk number.
  38845. There must be one and only one asterisk. The number of consecutive hash
  38846. characters defines the minimum length of a string representing a chunk number.
  38847. If decimal chunk number has less digits than the number of hashes, it is
  38848. left-padded by zeros. If the decimal string is longer, it is left intact.
  38849. By default numbering starts from 1 but there is another option that allows
  38850. user to start from 0, e.g. for compatibility with legacy software.
  38851. For example, if name format is \[ga]big_*-##.part\[ga] and original file name is
  38852. \[ga]data.txt\[ga] and numbering starts from 0, then the first chunk will be named
  38853. \[ga]big_data.txt-00.part\[ga], the 99th chunk will be \[ga]big_data.txt-98.part\[ga]
  38854. and the 302nd chunk will become \[ga]big_data.txt-301.part\[ga].
  38855. Note that \[ga]list\[ga] assembles composite directory entries only when chunk names
  38856. match the configured format and treats non-conforming file names as normal
  38857. non-chunked files.
  38858. When using \[ga]norename\[ga] transactions, chunk names will additionally have a unique
  38859. file version suffix. For example, \[ga]BIG_FILE_NAME.rclone_chunk.001_bp562k\[ga].
  38860. ### Metadata
  38861. Besides data chunks chunker will by default create metadata object for
  38862. a composite file. The object is named after the original file.
  38863. Chunker allows user to disable metadata completely (the \[ga]none\[ga] format).
  38864. Note that metadata is normally not created for files smaller than the
  38865. configured chunk size. This may change in future rclone releases.
  38866. #### Simple JSON metadata format
  38867. This is the default format. It supports hash sums and chunk validation
  38868. for composite files. Meta objects carry the following fields:
  38869. - \[ga]ver\[ga] - version of format, currently \[ga]1\[ga]
  38870. - \[ga]size\[ga] - total size of composite file
  38871. - \[ga]nchunks\[ga] - number of data chunks in file
  38872. - \[ga]md5\[ga] - MD5 hashsum of composite file (if present)
  38873. - \[ga]sha1\[ga] - SHA1 hashsum (if present)
  38874. - \[ga]txn\[ga] - identifies current version of the file
  38875. There is no field for composite file name as it\[aq]s simply equal to the name
  38876. of meta object on the wrapped remote. Please refer to respective sections
  38877. for details on hashsums and modified time handling.
  38878. #### No metadata
  38879. You can disable meta objects by setting the meta format option to \[ga]none\[ga].
  38880. In this mode chunker will scan directory for all files that follow
  38881. configured chunk name format, group them by detecting chunks with the same
  38882. base name and show group names as virtual composite files.
  38883. This method is more prone to missing chunk errors (especially missing
  38884. last chunk) than format with metadata enabled.
  38885. ### Hashsums
  38886. Chunker supports hashsums only when a compatible metadata is present.
  38887. Hence, if you choose metadata format of \[ga]none\[ga], chunker will report hashsum
  38888. as \[ga]UNSUPPORTED\[ga].
  38889. Please note that by default metadata is stored only for composite files.
  38890. If a file is smaller than configured chunk size, chunker will transparently
  38891. redirect hash requests to wrapped remote, so support depends on that.
  38892. You will see the empty string as a hashsum of requested type for small
  38893. files if the wrapped remote doesn\[aq]t support it.
  38894. Many storage backends support MD5 and SHA1 hash types, so does chunker.
  38895. With chunker you can choose one or another but not both.
  38896. MD5 is set by default as the most supported type.
  38897. Since chunker keeps hashes for composite files and falls back to the
  38898. wrapped remote hash for non-chunked ones, we advise you to choose the same
  38899. hash type as supported by wrapped remote so that your file listings
  38900. look coherent.
  38901. If your storage backend does not support MD5 or SHA1 but you need consistent
  38902. file hashing, configure chunker with \[ga]md5all\[ga] or \[ga]sha1all\[ga]. These two modes
  38903. guarantee given hash for all files. If wrapped remote doesn\[aq]t support it,
  38904. chunker will then add metadata to all files, even small. However, this can
  38905. double the amount of small files in storage and incur additional service charges.
  38906. You can even use chunker to force md5/sha1 support in any other remote
  38907. at expense of sidecar meta objects by setting e.g. \[ga]hash_type=sha1all\[ga]
  38908. to force hashsums and \[ga]chunk_size=1P\[ga] to effectively disable chunking.
  38909. Normally, when a file is copied to chunker controlled remote, chunker
  38910. will ask the file source for compatible file hash and revert to on-the-fly
  38911. calculation if none is found. This involves some CPU overhead but provides
  38912. a guarantee that given hashsum is available. Also, chunker will reject
  38913. a server-side copy or move operation if source and destination hashsum
  38914. types are different resulting in the extra network bandwidth, too.
  38915. In some rare cases this may be undesired, so chunker provides two optional
  38916. choices: \[ga]sha1quick\[ga] and \[ga]md5quick\[ga]. If the source does not support primary
  38917. hash type and the quick mode is enabled, chunker will try to fall back to
  38918. the secondary type. This will save CPU and bandwidth but can result in empty
  38919. hashsums at destination. Beware of consequences: the \[ga]sync\[ga] command will
  38920. revert (sometimes silently) to time/size comparison if compatible hashsums
  38921. between source and target are not found.
  38922. ### Modification times
  38923. Chunker stores modification times using the wrapped remote so support
  38924. depends on that. For a small non-chunked file the chunker overlay simply
  38925. manipulates modification time of the wrapped remote file.
  38926. For a composite file with metadata chunker will get and set
  38927. modification time of the metadata object on the wrapped remote.
  38928. If file is chunked but metadata format is \[ga]none\[ga] then chunker will
  38929. use modification time of the first data chunk.
  38930. ### Migrations
  38931. The idiomatic way to migrate to a different chunk size, hash type, transaction
  38932. style or chunk naming scheme is to:
  38933. - Collect all your chunked files under a directory and have your
  38934. chunker remote point to it.
  38935. - Create another directory (most probably on the same cloud storage)
  38936. and configure a new remote with desired metadata format,
  38937. hash type, chunk naming etc.
  38938. - Now run \[ga]rclone sync --interactive oldchunks: newchunks:\[ga] and all your data
  38939. will be transparently converted in transfer.
  38940. This may take some time, yet chunker will try server-side
  38941. copy if possible.
  38942. - After checking data integrity you may remove configuration section
  38943. of the old remote.
  38944. If rclone gets killed during a long operation on a big composite file,
  38945. hidden temporary chunks may stay in the directory. They will not be
  38946. shown by the \[ga]list\[ga] command but will eat up your account quota.
  38947. Please note that the \[ga]deletefile\[ga] command deletes only active
  38948. chunks of a file. As a workaround, you can use remote of the wrapped
  38949. file system to see them.
  38950. An easy way to get rid of hidden garbage is to copy littered directory
  38951. somewhere using the chunker remote and purge the original directory.
  38952. The \[ga]copy\[ga] command will copy only active chunks while the \[ga]purge\[ga] will
  38953. remove everything including garbage.
  38954. ### Caveats and Limitations
  38955. Chunker requires wrapped remote to support server-side \[ga]move\[ga] (or \[ga]copy\[ga] +
  38956. \[ga]delete\[ga]) operations, otherwise it will explicitly refuse to start.
  38957. This is because it internally renames temporary chunk files to their final
  38958. names when an operation completes successfully.
  38959. Chunker encodes chunk number in file name, so with default \[ga]name_format\[ga]
  38960. setting it adds 17 characters. Also chunker adds 7 characters of temporary
  38961. suffix during operations. Many file systems limit base file name without path
  38962. by 255 characters. Using rclone\[aq]s crypt remote as a base file system limits
  38963. file name by 143 characters. Thus, maximum name length is 231 for most files
  38964. and 119 for chunker-over-crypt. A user in need can change name format to
  38965. e.g. \[ga]*.rcc##\[ga] and save 10 characters (provided at most 99 chunks per file).
  38966. Note that a move implemented using the copy-and-delete method may incur
  38967. double charging with some cloud storage providers.
  38968. Chunker will not automatically rename existing chunks when you run
  38969. \[ga]rclone config\[ga] on a live remote and change the chunk name format.
  38970. Beware that in result of this some files which have been treated as chunks
  38971. before the change can pop up in directory listings as normal files
  38972. and vice versa. The same warning holds for the chunk size.
  38973. If you desperately need to change critical chunking settings, you should
  38974. run data migration as described above.
  38975. If wrapped remote is case insensitive, the chunker overlay will inherit
  38976. that property (so you can\[aq]t have a file called \[dq]Hello.doc\[dq] and \[dq]hello.doc\[dq]
  38977. in the same directory).
  38978. Chunker included in rclone releases up to \[ga]v1.54\[ga] can sometimes fail to
  38979. detect metadata produced by recent versions of rclone. We recommend users
  38980. to keep rclone up-to-date to avoid data corruption.
  38981. Changing \[ga]transactions\[ga] is dangerous and requires explicit migration.
  38982. ### Standard options
  38983. Here are the Standard options specific to chunker (Transparently chunk/split large files).
  38984. #### --chunker-remote
  38985. Remote to chunk/unchunk.
  38986. Normally should contain a \[aq]:\[aq] and a path, e.g. \[dq]myremote:path/to/dir\[dq],
  38987. \[dq]myremote:bucket\[dq] or maybe \[dq]myremote:\[dq] (not recommended).
  38988. Properties:
  38989. - Config: remote
  38990. - Env Var: RCLONE_CHUNKER_REMOTE
  38991. - Type: string
  38992. - Required: true
  38993. #### --chunker-chunk-size
  38994. Files larger than chunk size will be split in chunks.
  38995. Properties:
  38996. - Config: chunk_size
  38997. - Env Var: RCLONE_CHUNKER_CHUNK_SIZE
  38998. - Type: SizeSuffix
  38999. - Default: 2Gi
  39000. #### --chunker-hash-type
  39001. Choose how chunker handles hash sums.
  39002. All modes but \[dq]none\[dq] require metadata.
  39003. Properties:
  39004. - Config: hash_type
  39005. - Env Var: RCLONE_CHUNKER_HASH_TYPE
  39006. - Type: string
  39007. - Default: \[dq]md5\[dq]
  39008. - Examples:
  39009. - \[dq]none\[dq]
  39010. - Pass any hash supported by wrapped remote for non-chunked files.
  39011. - Return nothing otherwise.
  39012. - \[dq]md5\[dq]
  39013. - MD5 for composite files.
  39014. - \[dq]sha1\[dq]
  39015. - SHA1 for composite files.
  39016. - \[dq]md5all\[dq]
  39017. - MD5 for all files.
  39018. - \[dq]sha1all\[dq]
  39019. - SHA1 for all files.
  39020. - \[dq]md5quick\[dq]
  39021. - Copying a file to chunker will request MD5 from the source.
  39022. - Falling back to SHA1 if unsupported.
  39023. - \[dq]sha1quick\[dq]
  39024. - Similar to \[dq]md5quick\[dq] but prefers SHA1 over MD5.
  39025. ### Advanced options
  39026. Here are the Advanced options specific to chunker (Transparently chunk/split large files).
  39027. #### --chunker-name-format
  39028. String format of chunk file names.
  39029. The two placeholders are: base file name (*) and chunk number (#...).
  39030. There must be one and only one asterisk and one or more consecutive hash characters.
  39031. If chunk number has less digits than the number of hashes, it is left-padded by zeros.
  39032. If there are more digits in the number, they are left as is.
  39033. Possible chunk files are ignored if their name does not match given format.
  39034. Properties:
  39035. - Config: name_format
  39036. - Env Var: RCLONE_CHUNKER_NAME_FORMAT
  39037. - Type: string
  39038. - Default: \[dq]*.rclone_chunk.###\[dq]
  39039. #### --chunker-start-from
  39040. Minimum valid chunk number. Usually 0 or 1.
  39041. By default chunk numbers start from 1.
  39042. Properties:
  39043. - Config: start_from
  39044. - Env Var: RCLONE_CHUNKER_START_FROM
  39045. - Type: int
  39046. - Default: 1
  39047. #### --chunker-meta-format
  39048. Format of the metadata object or \[dq]none\[dq].
  39049. By default \[dq]simplejson\[dq].
  39050. Metadata is a small JSON file named after the composite file.
  39051. Properties:
  39052. - Config: meta_format
  39053. - Env Var: RCLONE_CHUNKER_META_FORMAT
  39054. - Type: string
  39055. - Default: \[dq]simplejson\[dq]
  39056. - Examples:
  39057. - \[dq]none\[dq]
  39058. - Do not use metadata files at all.
  39059. - Requires hash type \[dq]none\[dq].
  39060. - \[dq]simplejson\[dq]
  39061. - Simple JSON supports hash sums and chunk validation.
  39062. -
  39063. - It has the following fields: ver, size, nchunks, md5, sha1.
  39064. #### --chunker-fail-hard
  39065. Choose how chunker should handle files with missing or invalid chunks.
  39066. Properties:
  39067. - Config: fail_hard
  39068. - Env Var: RCLONE_CHUNKER_FAIL_HARD
  39069. - Type: bool
  39070. - Default: false
  39071. - Examples:
  39072. - \[dq]true\[dq]
  39073. - Report errors and abort current command.
  39074. - \[dq]false\[dq]
  39075. - Warn user, skip incomplete file and proceed.
  39076. #### --chunker-transactions
  39077. Choose how chunker should handle temporary files during transactions.
  39078. Properties:
  39079. - Config: transactions
  39080. - Env Var: RCLONE_CHUNKER_TRANSACTIONS
  39081. - Type: string
  39082. - Default: \[dq]rename\[dq]
  39083. - Examples:
  39084. - \[dq]rename\[dq]
  39085. - Rename temporary files after a successful transaction.
  39086. - \[dq]norename\[dq]
  39087. - Leave temporary file names and write transaction ID to metadata file.
  39088. - Metadata is required for no rename transactions (meta format cannot be \[dq]none\[dq]).
  39089. - If you are using norename transactions you should be careful not to downgrade Rclone
  39090. - as older versions of Rclone don\[aq]t support this transaction style and will misinterpret
  39091. - files manipulated by norename transactions.
  39092. - This method is EXPERIMENTAL, don\[aq]t use on production systems.
  39093. - \[dq]auto\[dq]
  39094. - Rename or norename will be used depending on capabilities of the backend.
  39095. - If meta format is set to \[dq]none\[dq], rename transactions will always be used.
  39096. - This method is EXPERIMENTAL, don\[aq]t use on production systems.
  39097. #### --chunker-description
  39098. Description of the remote
  39099. Properties:
  39100. - Config: description
  39101. - Env Var: RCLONE_CHUNKER_DESCRIPTION
  39102. - Type: string
  39103. - Required: false
  39104. # Citrix ShareFile
  39105. [Citrix ShareFile](https://sharefile.com) is a secure file sharing and transfer service aimed as business.
  39106. ## Configuration
  39107. The initial setup for Citrix ShareFile involves getting a token from
  39108. Citrix ShareFile which you can in your browser. \[ga]rclone config\[ga] walks you
  39109. through it.
  39110. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  39111. rclone config
  39112. This will guide you through an interactive setup process:
  39113. \f[R]
  39114. .fi
  39115. .PP
  39116. No remotes found, make a new one?
  39117. n) New remote s) Set configuration password q) Quit config n/s/q> n
  39118. name> remote Type of storage to configure.
  39119. Enter a string value.
  39120. Press Enter for the default (\[dq]\[dq]).
  39121. Choose a number from below, or type in your own value XX / Citrix
  39122. Sharefile \ \[dq]sharefile\[dq] Storage> sharefile ** See help for
  39123. sharefile backend at: https://rclone.org/sharefile/ **
  39124. .PP
  39125. ID of the root folder
  39126. .PP
  39127. Leave blank to access \[dq]Personal Folders\[dq].
  39128. You can use one of the standard values here or any folder ID (long hex
  39129. number ID).
  39130. Enter a string value.
  39131. Press Enter for the default (\[dq]\[dq]).
  39132. Choose a number from below, or type in your own value 1 / Access the
  39133. Personal Folders.
  39134. (Default) \ \[dq]\[dq] 2 / Access the Favorites folder.
  39135. \ \[dq]favorites\[dq] 3 / Access all the shared folders.
  39136. \ \[dq]allshared\[dq] 4 / Access all the individual connectors.
  39137. \ \[dq]connectors\[dq] 5 / Access the home, favorites, and shared
  39138. folders as well as the connectors.
  39139. \ \[dq]top\[dq] root_folder_id> Edit advanced config?
  39140. (y/n) y) Yes n) No y/n> n Remote config Use web browser to automatically
  39141. authenticate rclone with remote?
  39142. * Say Y if the machine running rclone has a web browser you can use *
  39143. Say N if running rclone on a (remote) machine without web browser access
  39144. If not sure try Y.
  39145. If Y failed, try N.
  39146. y) Yes n) No y/n> y If your browser doesn\[aq]t open automatically go to
  39147. the following link: http://127.0.0.1:53682/auth?state=XXX Log in and
  39148. authorize rclone for access Waiting for code...
  39149. Got code -------------------- [remote] type = sharefile endpoint =
  39150. https://XXX.sharefile.com token =
  39151. {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2019-09-30T19:41:45.878561877+01:00\[dq]}
  39152. -------------------- y) Yes this is OK e) Edit this remote d) Delete
  39153. this remote y/e/d> y
  39154. .IP
  39155. .nf
  39156. \f[C]
  39157. See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
  39158. machine with no Internet browser available.
  39159. Note that rclone runs a webserver on your local machine to collect the
  39160. token as returned from Citrix ShareFile. This only runs from the moment it opens
  39161. your browser to the moment you get back the verification code. This
  39162. is on \[ga]http://127.0.0.1:53682/\[ga] and this it may require you to unblock
  39163. it temporarily if you are running a host firewall.
  39164. Once configured you can then use \[ga]rclone\[ga] like this,
  39165. List directories in top level of your ShareFile
  39166. rclone lsd remote:
  39167. List all the files in your ShareFile
  39168. rclone ls remote:
  39169. To copy a local directory to an ShareFile directory called backup
  39170. rclone copy /home/source remote:backup
  39171. Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga].
  39172. ### Modification times and hashes
  39173. ShareFile allows modification times to be set on objects accurate to 1
  39174. second. These will be used to detect whether objects need syncing or
  39175. not.
  39176. ShareFile supports MD5 type hashes, so you can use the \[ga]--checksum\[ga]
  39177. flag.
  39178. ### Transfers
  39179. For files above 128 MiB rclone will use a chunked transfer. Rclone will
  39180. upload up to \[ga]--transfers\[ga] chunks at the same time (shared among all
  39181. the multipart uploads). Chunks are buffered in memory and are
  39182. normally 64 MiB so increasing \[ga]--transfers\[ga] will increase memory use.
  39183. ### Restricted filename characters
  39184. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  39185. the following characters are also replaced:
  39186. | Character | Value | Replacement |
  39187. | --------- |:-----:|:-----------:|
  39188. | \[rs]\[rs] | 0x5C | \[uFF3C] |
  39189. | * | 0x2A | \[uFF0A] |
  39190. | < | 0x3C | \[uFF1C] |
  39191. | > | 0x3E | \[uFF1E] |
  39192. | ? | 0x3F | \[uFF1F] |
  39193. | : | 0x3A | \[uFF1A] |
  39194. | \[rs]| | 0x7C | \[uFF5C] |
  39195. | \[dq] | 0x22 | \[uFF02] |
  39196. File names can also not start or end with the following characters.
  39197. These only get replaced if they are the first or last character in the
  39198. name:
  39199. | Character | Value | Replacement |
  39200. | --------- |:-----:|:-----------:|
  39201. | SP | 0x20 | \[u2420] |
  39202. | . | 0x2E | \[uFF0E] |
  39203. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  39204. as they can\[aq]t be used in JSON strings.
  39205. ### Standard options
  39206. Here are the Standard options specific to sharefile (Citrix Sharefile).
  39207. #### --sharefile-client-id
  39208. OAuth Client Id.
  39209. Leave blank normally.
  39210. Properties:
  39211. - Config: client_id
  39212. - Env Var: RCLONE_SHAREFILE_CLIENT_ID
  39213. - Type: string
  39214. - Required: false
  39215. #### --sharefile-client-secret
  39216. OAuth Client Secret.
  39217. Leave blank normally.
  39218. Properties:
  39219. - Config: client_secret
  39220. - Env Var: RCLONE_SHAREFILE_CLIENT_SECRET
  39221. - Type: string
  39222. - Required: false
  39223. #### --sharefile-root-folder-id
  39224. ID of the root folder.
  39225. Leave blank to access \[dq]Personal Folders\[dq]. You can use one of the
  39226. standard values here or any folder ID (long hex number ID).
  39227. Properties:
  39228. - Config: root_folder_id
  39229. - Env Var: RCLONE_SHAREFILE_ROOT_FOLDER_ID
  39230. - Type: string
  39231. - Required: false
  39232. - Examples:
  39233. - \[dq]\[dq]
  39234. - Access the Personal Folders (default).
  39235. - \[dq]favorites\[dq]
  39236. - Access the Favorites folder.
  39237. - \[dq]allshared\[dq]
  39238. - Access all the shared folders.
  39239. - \[dq]connectors\[dq]
  39240. - Access all the individual connectors.
  39241. - \[dq]top\[dq]
  39242. - Access the home, favorites, and shared folders as well as the connectors.
  39243. ### Advanced options
  39244. Here are the Advanced options specific to sharefile (Citrix Sharefile).
  39245. #### --sharefile-token
  39246. OAuth Access Token as a JSON blob.
  39247. Properties:
  39248. - Config: token
  39249. - Env Var: RCLONE_SHAREFILE_TOKEN
  39250. - Type: string
  39251. - Required: false
  39252. #### --sharefile-auth-url
  39253. Auth server URL.
  39254. Leave blank to use the provider defaults.
  39255. Properties:
  39256. - Config: auth_url
  39257. - Env Var: RCLONE_SHAREFILE_AUTH_URL
  39258. - Type: string
  39259. - Required: false
  39260. #### --sharefile-token-url
  39261. Token server url.
  39262. Leave blank to use the provider defaults.
  39263. Properties:
  39264. - Config: token_url
  39265. - Env Var: RCLONE_SHAREFILE_TOKEN_URL
  39266. - Type: string
  39267. - Required: false
  39268. #### --sharefile-upload-cutoff
  39269. Cutoff for switching to multipart upload.
  39270. Properties:
  39271. - Config: upload_cutoff
  39272. - Env Var: RCLONE_SHAREFILE_UPLOAD_CUTOFF
  39273. - Type: SizeSuffix
  39274. - Default: 128Mi
  39275. #### --sharefile-chunk-size
  39276. Upload chunk size.
  39277. Must a power of 2 >= 256k.
  39278. Making this larger will improve performance, but note that each chunk
  39279. is buffered in memory one per transfer.
  39280. Reducing this will reduce memory usage but decrease performance.
  39281. Properties:
  39282. - Config: chunk_size
  39283. - Env Var: RCLONE_SHAREFILE_CHUNK_SIZE
  39284. - Type: SizeSuffix
  39285. - Default: 64Mi
  39286. #### --sharefile-endpoint
  39287. Endpoint for API calls.
  39288. This is usually auto discovered as part of the oauth process, but can
  39289. be set manually to something like: https://XXX.sharefile.com
  39290. Properties:
  39291. - Config: endpoint
  39292. - Env Var: RCLONE_SHAREFILE_ENDPOINT
  39293. - Type: string
  39294. - Required: false
  39295. #### --sharefile-encoding
  39296. The encoding for the backend.
  39297. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  39298. Properties:
  39299. - Config: encoding
  39300. - Env Var: RCLONE_SHAREFILE_ENCODING
  39301. - Type: Encoding
  39302. - Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot
  39303. #### --sharefile-description
  39304. Description of the remote
  39305. Properties:
  39306. - Config: description
  39307. - Env Var: RCLONE_SHAREFILE_DESCRIPTION
  39308. - Type: string
  39309. - Required: false
  39310. ## Limitations
  39311. Note that ShareFile is case insensitive so you can\[aq]t have a file called
  39312. \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  39313. ShareFile only supports filenames up to 256 characters in length.
  39314. \[ga]rclone about\[ga] is not supported by the Citrix ShareFile backend. Backends without
  39315. this capability cannot determine free space for an rclone mount or
  39316. use policy \[ga]mfs\[ga] (most free space) as a member of an rclone union
  39317. remote.
  39318. See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
  39319. # Crypt
  39320. Rclone \[ga]crypt\[ga] remotes encrypt and decrypt other remotes.
  39321. A remote of type \[ga]crypt\[ga] does not access a [storage system](https://rclone.org/overview/)
  39322. directly, but instead wraps another remote, which in turn accesses
  39323. the storage system. This is similar to how [alias](https://rclone.org/alias/),
  39324. [union](https://rclone.org/union/), [chunker](https://rclone.org/chunker/)
  39325. and a few others work. It makes the usage very flexible, as you can
  39326. add a layer, in this case an encryption layer, on top of any other
  39327. backend, even in multiple layers. Rclone\[aq]s functionality
  39328. can be used as with any other remote, for example you can
  39329. [mount](https://rclone.org/commands/rclone_mount/) a crypt remote.
  39330. Accessing a storage system through a crypt remote realizes client-side
  39331. encryption, which makes it safe to keep your data in a location you do
  39332. not trust will not get compromised.
  39333. When working against the \[ga]crypt\[ga] remote, rclone will automatically
  39334. encrypt (before uploading) and decrypt (after downloading) on your local
  39335. system as needed on the fly, leaving the data encrypted at rest in the
  39336. wrapped remote. If you access the storage system using an application
  39337. other than rclone, or access the wrapped remote directly using rclone,
  39338. there will not be any encryption/decryption: Downloading existing content
  39339. will just give you the encrypted (scrambled) format, and anything you
  39340. upload will *not* become encrypted.
  39341. The encryption is a secret-key encryption (also called symmetric key encryption)
  39342. algorithm, where a password (or pass phrase) is used to generate real encryption key.
  39343. The password can be supplied by user, or you may chose to let rclone
  39344. generate one. It will be stored in the configuration file, in a lightly obscured form.
  39345. If you are in an environment where you are not able to keep your configuration
  39346. secured, you should add
  39347. [configuration encryption](https://rclone.org/docs/#configuration-encryption)
  39348. as protection. As long as you have this configuration file, you will be able to
  39349. decrypt your data. Without the configuration file, as long as you remember
  39350. the password (or keep it in a safe place), you can re-create the configuration
  39351. and gain access to the existing data. You may also configure a corresponding
  39352. remote in a different installation to access the same data.
  39353. See below for guidance to [changing password](#changing-password).
  39354. Encryption uses [cryptographic salt](https://en.wikipedia.org/wiki/Salt_(cryptography)),
  39355. to permute the encryption key so that the same string may be encrypted in
  39356. different ways. When configuring the crypt remote it is optional to enter a salt,
  39357. or to let rclone generate a unique salt. If omitted, rclone uses a built-in unique string.
  39358. Normally in cryptography, the salt is stored together with the encrypted content,
  39359. and do not have to be memorized by the user. This is not the case in rclone,
  39360. because rclone does not store any additional information on the remotes. Use of
  39361. custom salt is effectively a second password that must be memorized.
  39362. [File content](#file-encryption) encryption is performed using
  39363. [NaCl SecretBox](https://godoc.org/golang.org/x/crypto/nacl/secretbox),
  39364. based on XSalsa20 cipher and Poly1305 for integrity.
  39365. [Names](#name-encryption) (file- and directory names) are also encrypted
  39366. by default, but this has some implications and is therefore
  39367. possible to be turned off.
  39368. ## Configuration
  39369. Here is an example of how to make a remote called \[ga]secret\[ga].
  39370. To use \[ga]crypt\[ga], first set up the underlying remote. Follow the
  39371. \[ga]rclone config\[ga] instructions for the specific backend.
  39372. Before configuring the crypt remote, check the underlying remote is
  39373. working. In this example the underlying remote is called \[ga]remote\[ga].
  39374. We will configure a path \[ga]path\[ga] within this remote to contain the
  39375. encrypted content. Anything inside \[ga]remote:path\[ga] will be encrypted
  39376. and anything outside will not.
  39377. Configure \[ga]crypt\[ga] using \[ga]rclone config\[ga]. In this example the \[ga]crypt\[ga]
  39378. remote is called \[ga]secret\[ga], to differentiate it from the underlying
  39379. \[ga]remote\[ga].
  39380. When you are done you can use the crypt remote named \[ga]secret\[ga] just
  39381. as you would with any other remote, e.g. \[ga]rclone copy D:\[rs]docs secret:\[rs]docs\[ga],
  39382. and rclone will encrypt and decrypt as needed on the fly.
  39383. If you access the wrapped remote \[ga]remote:path\[ga] directly you will bypass
  39384. the encryption, and anything you read will be in encrypted form, and
  39385. anything you write will be unencrypted. To avoid issues it is best to
  39386. configure a dedicated path for encrypted content, and access it
  39387. exclusively through a crypt remote.
  39388. \f[R]
  39389. .fi
  39390. .PP
  39391. No remotes found, make a new one?
  39392. n) New remote s) Set configuration password q) Quit config n/s/q> n
  39393. name> secret Type of storage to configure.
  39394. Enter a string value.
  39395. Press Enter for the default (\[dq]\[dq]).
  39396. Choose a number from below, or type in your own value [snip] XX /
  39397. Encrypt/Decrypt a remote \ \[dq]crypt\[dq] [snip] Storage> crypt ** See
  39398. help for crypt backend at: https://rclone.org/crypt/ **
  39399. .PP
  39400. Remote to encrypt/decrypt.
  39401. Normally should contain a \[aq]:\[aq] and a path, eg
  39402. \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq] or maybe
  39403. \[dq]myremote:\[dq] (not recommended).
  39404. Enter a string value.
  39405. Press Enter for the default (\[dq]\[dq]).
  39406. remote> remote:path How to encrypt the filenames.
  39407. Enter a string value.
  39408. Press Enter for the default (\[dq]standard\[dq]).
  39409. Choose a number from below, or type in your own value.
  39410. / Encrypt the filenames.
  39411. 1 | See the docs for the details.
  39412. \ \[dq]standard\[dq] 2 / Very simple filename obfuscation.
  39413. \ \[dq]obfuscate\[dq] / Don\[aq]t encrypt the file names.
  39414. 3 | Adds a \[dq].bin\[dq] extension only.
  39415. \ \[dq]off\[dq] filename_encryption> Option to either encrypt directory
  39416. names or leave them intact.
  39417. .PP
  39418. NB If filename_encryption is \[dq]off\[dq] then this option will do
  39419. nothing.
  39420. Enter a boolean value (true or false).
  39421. Press Enter for the default (\[dq]true\[dq]).
  39422. Choose a number from below, or type in your own value 1 / Encrypt
  39423. directory names.
  39424. \ \[dq]true\[dq] 2 / Don\[aq]t encrypt directory names, leave them
  39425. intact.
  39426. \ \[dq]false\[dq] directory_name_encryption> Password or pass phrase for
  39427. encryption.
  39428. y) Yes type in my own password g) Generate random password y/g> y Enter
  39429. the password: password: Confirm the password: password: Password or pass
  39430. phrase for salt.
  39431. Optional but recommended.
  39432. Should be different to the previous password.
  39433. y) Yes type in my own password g) Generate random password n) No leave
  39434. this optional password blank (default) y/g/n> g Password strength in
  39435. bits.
  39436. 64 is just about memorable 128 is secure 1024 is the maximum Bits> 128
  39437. Your password is: JAsJvRcgR-_veXNfy_sGmQ Use this password?
  39438. Please note that an obscured version of this password (and not the
  39439. password itself) will be stored under your configuration file, so keep
  39440. this generated password in a safe place.
  39441. y) Yes (default) n) No y/n> Edit advanced config?
  39442. (y/n) y) Yes n) No (default) y/n> Remote config --------------------
  39443. [secret] type = crypt remote = remote:path password = *** ENCRYPTED
  39444. \f[B]\f[BI] password2 = \f[B]\f[R] ENCRYPTED *** -------------------- y)
  39445. Yes this is OK (default) e) Edit this remote d) Delete this remote
  39446. y/e/d>
  39447. .IP
  39448. .nf
  39449. \f[C]
  39450. **Important** The crypt password stored in \[ga]rclone.conf\[ga] is lightly
  39451. obscured. That only protects it from cursory inspection. It is not
  39452. secure unless [configuration encryption](https://rclone.org/docs/#configuration-encryption) of \[ga]rclone.conf\[ga] is specified.
  39453. A long passphrase is recommended, or \[ga]rclone config\[ga] can generate a
  39454. random one.
  39455. The obscured password is created using AES-CTR with a static key. The
  39456. salt is stored verbatim at the beginning of the obscured password. This
  39457. static key is shared between all versions of rclone.
  39458. If you reconfigure rclone with the same passwords/passphrases
  39459. elsewhere it will be compatible, but the obscured version will be different
  39460. due to the different salt.
  39461. Rclone does not encrypt
  39462. * file length - this can be calculated within 16 bytes
  39463. * modification time - used for syncing
  39464. ### Specifying the remote
  39465. When configuring the remote to encrypt/decrypt, you may specify any
  39466. string that rclone accepts as a source/destination of other commands.
  39467. The primary use case is to specify the path into an already configured
  39468. remote (e.g. \[ga]remote:path/to/dir\[ga] or \[ga]remote:bucket\[ga]), such that
  39469. data in a remote untrusted location can be stored encrypted.
  39470. You may also specify a local filesystem path, such as
  39471. \[ga]/path/to/dir\[ga] on Linux, \[ga]C:\[rs]path\[rs]to\[rs]dir\[ga] on Windows. By creating
  39472. a crypt remote pointing to such a local filesystem path, you can
  39473. use rclone as a utility for pure local file encryption, for example
  39474. to keep encrypted files on a removable USB drive.
  39475. **Note**: A string which do not contain a \[ga]:\[ga] will by rclone be treated
  39476. as a relative path in the local filesystem. For example, if you enter
  39477. the name \[ga]remote\[ga] without the trailing \[ga]:\[ga], it will be treated as
  39478. a subdirectory of the current directory with name \[dq]remote\[dq].
  39479. If a path \[ga]remote:path/to/dir\[ga] is specified, rclone stores encrypted
  39480. files in \[ga]path/to/dir\[ga] on the remote. With file name encryption, files
  39481. saved to \[ga]secret:subdir/subfile\[ga] are stored in the unencrypted path
  39482. \[ga]path/to/dir\[ga] but the \[ga]subdir/subpath\[ga] element is encrypted.
  39483. The path you specify does not have to exist, rclone will create
  39484. it when needed.
  39485. If you intend to use the wrapped remote both directly for keeping
  39486. unencrypted content, as well as through a crypt remote for encrypted
  39487. content, it is recommended to point the crypt remote to a separate
  39488. directory within the wrapped remote. If you use a bucket-based storage
  39489. system (e.g. Swift, S3, Google Compute Storage, B2) it is generally
  39490. advisable to wrap the crypt remote around a specific bucket (\[ga]s3:bucket\[ga]).
  39491. If wrapping around the entire root of the storage (\[ga]s3:\[ga]), and use the
  39492. optional file name encryption, rclone will encrypt the bucket name.
  39493. ### Changing password
  39494. Should the password, or the configuration file containing a lightly obscured
  39495. form of the password, be compromised, you need to re-encrypt your data with
  39496. a new password. Since rclone uses secret-key encryption, where the encryption
  39497. key is generated directly from the password kept on the client, it is not
  39498. possible to change the password/key of already encrypted content. Just changing
  39499. the password configured for an existing crypt remote means you will no longer
  39500. able to decrypt any of the previously encrypted content. The only possibility
  39501. is to re-upload everything via a crypt remote configured with your new password.
  39502. Depending on the size of your data, your bandwidth, storage quota etc, there are
  39503. different approaches you can take:
  39504. - If you have everything in a different location, for example on your local system,
  39505. you could remove all of the prior encrypted files, change the password for your
  39506. configured crypt remote (or delete and re-create the crypt configuration),
  39507. and then re-upload everything from the alternative location.
  39508. - If you have enough space on the storage system you can create a new crypt
  39509. remote pointing to a separate directory on the same backend, and then use
  39510. rclone to copy everything from the original crypt remote to the new,
  39511. effectively decrypting everything on the fly using the old password and
  39512. re-encrypting using the new password. When done, delete the original crypt
  39513. remote directory and finally the rclone crypt configuration with the old password.
  39514. All data will be streamed from the storage system and back, so you will
  39515. get half the bandwidth and be charged twice if you have upload and download quota
  39516. on the storage system.
  39517. **Note**: A security problem related to the random password generator
  39518. was fixed in rclone version 1.53.3 (released 2020-11-19). Passwords generated
  39519. by rclone config in version 1.49.0 (released 2019-08-26) to 1.53.2
  39520. (released 2020-10-26) are not considered secure and should be changed.
  39521. If you made up your own password, or used rclone version older than 1.49.0 or
  39522. newer than 1.53.2 to generate it, you are *not* affected by this issue.
  39523. See [issue #4783](https://github.com/rclone/rclone/issues/4783) for more
  39524. details, and a tool you can use to check if you are affected.
  39525. ### Example
  39526. Create the following file structure using \[dq]standard\[dq] file name
  39527. encryption.
  39528. \f[R]
  39529. .fi
  39530. .PP
  39531. plaintext/ \[u251C]\[u2500]\[u2500] file0.txt \[u251C]\[u2500]\[u2500]
  39532. file1.txt \[u2514]\[u2500]\[u2500] subdir \[u251C]\[u2500]\[u2500]
  39533. file2.txt \[u251C]\[u2500]\[u2500] file3.txt \[u2514]\[u2500]\[u2500]
  39534. subsubdir \[u2514]\[u2500]\[u2500] file4.txt
  39535. .IP
  39536. .nf
  39537. \f[C]
  39538. Copy these to the remote, and list them
  39539. \f[R]
  39540. .fi
  39541. .PP
  39542. $ rclone -q copy plaintext secret: $ rclone -q ls secret: 7 file1.txt 6
  39543. file0.txt 8 subdir/file2.txt 10 subdir/subsubdir/file4.txt 9
  39544. subdir/file3.txt
  39545. .IP
  39546. .nf
  39547. \f[C]
  39548. The crypt remote looks like
  39549. \f[R]
  39550. .fi
  39551. .PP
  39552. $ rclone -q ls remote:path 55 hagjclgavj2mbiqm6u6cnjjqcg 54
  39553. v05749mltvv1tf4onltun46gls 57
  39554. 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo 58
  39555. 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc
  39556. 56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
  39557. .IP
  39558. .nf
  39559. \f[C]
  39560. The directory structure is preserved
  39561. \f[R]
  39562. .fi
  39563. .PP
  39564. $ rclone -q ls secret:subdir 8 file2.txt 9 file3.txt 10
  39565. subsubdir/file4.txt
  39566. .IP
  39567. .nf
  39568. \f[C]
  39569. Without file name encryption \[ga].bin\[ga] extensions are added to underlying
  39570. names. This prevents the cloud provider attempting to interpret file
  39571. content.
  39572. \f[R]
  39573. .fi
  39574. .PP
  39575. $ rclone -q ls remote:path 54 file0.txt.bin 57 subdir/file3.txt.bin 56
  39576. subdir/file2.txt.bin 58 subdir/subsubdir/file4.txt.bin 55 file1.txt.bin
  39577. .IP
  39578. .nf
  39579. \f[C]
  39580. ### File name encryption modes
  39581. Off
  39582. * doesn\[aq]t hide file names or directory structure
  39583. * allows for longer file names (\[ti]246 characters)
  39584. * can use sub paths and copy single files
  39585. Standard
  39586. * file names encrypted
  39587. * file names can\[aq]t be as long (\[ti]143 characters)
  39588. * can use sub paths and copy single files
  39589. * directory structure visible
  39590. * identical files names will have identical uploaded names
  39591. * can use shortcuts to shorten the directory recursion
  39592. Obfuscation
  39593. This is a simple \[dq]rotate\[dq] of the filename, with each file having a rot
  39594. distance based on the filename. Rclone stores the distance at the
  39595. beginning of the filename. A file called \[dq]hello\[dq] may become \[dq]53.jgnnq\[dq].
  39596. Obfuscation is not a strong encryption of filenames, but hinders
  39597. automated scanning tools picking up on filename patterns. It is an
  39598. intermediate between \[dq]off\[dq] and \[dq]standard\[dq] which allows for longer path
  39599. segment names.
  39600. There is a possibility with some unicode based filenames that the
  39601. obfuscation is weak and may map lower case characters to upper case
  39602. equivalents.
  39603. Obfuscation cannot be relied upon for strong protection.
  39604. * file names very lightly obfuscated
  39605. * file names can be longer than standard encryption
  39606. * can use sub paths and copy single files
  39607. * directory structure visible
  39608. * identical files names will have identical uploaded names
  39609. Cloud storage systems have limits on file name length and
  39610. total path length which rclone is more likely to breach using
  39611. \[dq]Standard\[dq] file name encryption. Where file names are less than 156
  39612. characters in length issues should not be encountered, irrespective of
  39613. cloud storage provider.
  39614. An experimental advanced option \[ga]filename_encoding\[ga] is now provided to
  39615. address this problem to a certain degree.
  39616. For cloud storage systems with case sensitive file names (e.g. Google Drive),
  39617. \[ga]base64\[ga] can be used to reduce file name length.
  39618. For cloud storage systems using UTF-16 to store file names internally
  39619. (e.g. OneDrive, Dropbox, Box), \[ga]base32768\[ga] can be used to drastically reduce
  39620. file name length.
  39621. An alternative, future rclone file name encryption mode may tolerate
  39622. backend provider path length limits.
  39623. ### Directory name encryption
  39624. Crypt offers the option of encrypting dir names or leaving them intact.
  39625. There are two options:
  39626. True
  39627. Encrypts the whole file path including directory names
  39628. Example:
  39629. \[ga]1/12/123.txt\[ga] is encrypted to
  39630. \[ga]p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0\[ga]
  39631. False
  39632. Only encrypts file names, skips directory names
  39633. Example:
  39634. \[ga]1/12/123.txt\[ga] is encrypted to
  39635. \[ga]1/12/qgm4avr35m5loi1th53ato71v0\[ga]
  39636. ### Modification times and hashes
  39637. Crypt stores modification times using the underlying remote so support
  39638. depends on that.
  39639. Hashes are not stored for crypt. However the data integrity is
  39640. protected by an extremely strong crypto authenticator.
  39641. Use the \[ga]rclone cryptcheck\[ga] command to check the
  39642. integrity of an encrypted remote instead of \[ga]rclone check\[ga] which can\[aq]t
  39643. check the checksums properly.
  39644. ### Standard options
  39645. Here are the Standard options specific to crypt (Encrypt/Decrypt a remote).
  39646. #### --crypt-remote
  39647. Remote to encrypt/decrypt.
  39648. Normally should contain a \[aq]:\[aq] and a path, e.g. \[dq]myremote:path/to/dir\[dq],
  39649. \[dq]myremote:bucket\[dq] or maybe \[dq]myremote:\[dq] (not recommended).
  39650. Properties:
  39651. - Config: remote
  39652. - Env Var: RCLONE_CRYPT_REMOTE
  39653. - Type: string
  39654. - Required: true
  39655. #### --crypt-filename-encryption
  39656. How to encrypt the filenames.
  39657. Properties:
  39658. - Config: filename_encryption
  39659. - Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION
  39660. - Type: string
  39661. - Default: \[dq]standard\[dq]
  39662. - Examples:
  39663. - \[dq]standard\[dq]
  39664. - Encrypt the filenames.
  39665. - See the docs for the details.
  39666. - \[dq]obfuscate\[dq]
  39667. - Very simple filename obfuscation.
  39668. - \[dq]off\[dq]
  39669. - Don\[aq]t encrypt the file names.
  39670. - Adds a \[dq].bin\[dq], or \[dq]suffix\[dq] extension only.
  39671. #### --crypt-directory-name-encryption
  39672. Option to either encrypt directory names or leave them intact.
  39673. NB If filename_encryption is \[dq]off\[dq] then this option will do nothing.
  39674. Properties:
  39675. - Config: directory_name_encryption
  39676. - Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
  39677. - Type: bool
  39678. - Default: true
  39679. - Examples:
  39680. - \[dq]true\[dq]
  39681. - Encrypt directory names.
  39682. - \[dq]false\[dq]
  39683. - Don\[aq]t encrypt directory names, leave them intact.
  39684. #### --crypt-password
  39685. Password or pass phrase for encryption.
  39686. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  39687. Properties:
  39688. - Config: password
  39689. - Env Var: RCLONE_CRYPT_PASSWORD
  39690. - Type: string
  39691. - Required: true
  39692. #### --crypt-password2
  39693. Password or pass phrase for salt.
  39694. Optional but recommended.
  39695. Should be different to the previous password.
  39696. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  39697. Properties:
  39698. - Config: password2
  39699. - Env Var: RCLONE_CRYPT_PASSWORD2
  39700. - Type: string
  39701. - Required: false
  39702. ### Advanced options
  39703. Here are the Advanced options specific to crypt (Encrypt/Decrypt a remote).
  39704. #### --crypt-server-side-across-configs
  39705. Deprecated: use --server-side-across-configs instead.
  39706. Allow server-side operations (e.g. copy) to work across different crypt configs.
  39707. Normally this option is not what you want, but if you have two crypts
  39708. pointing to the same backend you can use it.
  39709. This can be used, for example, to change file name encryption type
  39710. without re-uploading all the data. Just make two crypt backends
  39711. pointing to two different directories with the single changed
  39712. parameter and use rclone move to move the files between the crypt
  39713. remotes.
  39714. Properties:
  39715. - Config: server_side_across_configs
  39716. - Env Var: RCLONE_CRYPT_SERVER_SIDE_ACROSS_CONFIGS
  39717. - Type: bool
  39718. - Default: false
  39719. #### --crypt-show-mapping
  39720. For all files listed show how the names encrypt.
  39721. If this flag is set then for each file that the remote is asked to
  39722. list, it will log (at level INFO) a line stating the decrypted file
  39723. name and the encrypted file name.
  39724. This is so you can work out which encrypted names are which decrypted
  39725. names just in case you need to do something with the encrypted file
  39726. names, or for debugging purposes.
  39727. Properties:
  39728. - Config: show_mapping
  39729. - Env Var: RCLONE_CRYPT_SHOW_MAPPING
  39730. - Type: bool
  39731. - Default: false
  39732. #### --crypt-no-data-encryption
  39733. Option to either encrypt file data or leave it unencrypted.
  39734. Properties:
  39735. - Config: no_data_encryption
  39736. - Env Var: RCLONE_CRYPT_NO_DATA_ENCRYPTION
  39737. - Type: bool
  39738. - Default: false
  39739. - Examples:
  39740. - \[dq]true\[dq]
  39741. - Don\[aq]t encrypt file data, leave it unencrypted.
  39742. - \[dq]false\[dq]
  39743. - Encrypt file data.
  39744. #### --crypt-pass-bad-blocks
  39745. If set this will pass bad blocks through as all 0.
  39746. This should not be set in normal operation, it should only be set if
  39747. trying to recover an encrypted file with errors and it is desired to
  39748. recover as much of the file as possible.
  39749. Properties:
  39750. - Config: pass_bad_blocks
  39751. - Env Var: RCLONE_CRYPT_PASS_BAD_BLOCKS
  39752. - Type: bool
  39753. - Default: false
  39754. #### --crypt-strict-names
  39755. If set, this will raise an error when crypt comes across a filename that can\[aq]t be decrypted.
  39756. (By default, rclone will just log a NOTICE and continue as normal.)
  39757. This can happen if encrypted and unencrypted files are stored in the same
  39758. directory (which is not recommended.) It may also indicate a more serious
  39759. problem that should be investigated.
  39760. Properties:
  39761. - Config: strict_names
  39762. - Env Var: RCLONE_CRYPT_STRICT_NAMES
  39763. - Type: bool
  39764. - Default: false
  39765. #### --crypt-filename-encoding
  39766. How to encode the encrypted filename to text string.
  39767. This option could help with shortening the encrypted filename. The
  39768. suitable option would depend on the way your remote count the filename
  39769. length and if it\[aq]s case sensitive.
  39770. Properties:
  39771. - Config: filename_encoding
  39772. - Env Var: RCLONE_CRYPT_FILENAME_ENCODING
  39773. - Type: string
  39774. - Default: \[dq]base32\[dq]
  39775. - Examples:
  39776. - \[dq]base32\[dq]
  39777. - Encode using base32. Suitable for all remote.
  39778. - \[dq]base64\[dq]
  39779. - Encode using base64. Suitable for case sensitive remote.
  39780. - \[dq]base32768\[dq]
  39781. - Encode using base32768. Suitable if your remote counts UTF-16 or
  39782. - Unicode codepoint instead of UTF-8 byte length. (Eg. Onedrive, Dropbox)
  39783. #### --crypt-suffix
  39784. If this is set it will override the default suffix of \[dq].bin\[dq].
  39785. Setting suffix to \[dq]none\[dq] will result in an empty suffix. This may be useful
  39786. when the path length is critical.
  39787. Properties:
  39788. - Config: suffix
  39789. - Env Var: RCLONE_CRYPT_SUFFIX
  39790. - Type: string
  39791. - Default: \[dq].bin\[dq]
  39792. #### --crypt-description
  39793. Description of the remote
  39794. Properties:
  39795. - Config: description
  39796. - Env Var: RCLONE_CRYPT_DESCRIPTION
  39797. - Type: string
  39798. - Required: false
  39799. ### Metadata
  39800. Any metadata supported by the underlying remote is read and written.
  39801. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  39802. ## Backend commands
  39803. Here are the commands specific to the crypt backend.
  39804. Run them with
  39805. rclone backend COMMAND remote:
  39806. The help below will explain what arguments each command takes.
  39807. See the [backend](https://rclone.org/commands/rclone_backend/) command for more
  39808. info on how to pass options and arguments.
  39809. These can be run on a running backend using the rc command
  39810. [backend/command](https://rclone.org/rc/#backend-command).
  39811. ### encode
  39812. Encode the given filename(s)
  39813. rclone backend encode remote: [options] [<arguments>+]
  39814. This encodes the filenames given as arguments returning a list of
  39815. strings of the encoded results.
  39816. Usage Example:
  39817. rclone backend encode crypt: file1 [file2...]
  39818. rclone rc backend/command command=encode fs=crypt: file1 [file2...]
  39819. ### decode
  39820. Decode the given filename(s)
  39821. rclone backend decode remote: [options] [<arguments>+]
  39822. This decodes the filenames given as arguments returning a list of
  39823. strings of the decoded results. It will return an error if any of the
  39824. inputs are invalid.
  39825. Usage Example:
  39826. rclone backend decode crypt: encryptedfile1 [encryptedfile2...]
  39827. rclone rc backend/command command=decode fs=crypt: encryptedfile1 [encryptedfile2...]
  39828. ## Backing up an encrypted remote
  39829. If you wish to backup an encrypted remote, it is recommended that you use
  39830. \[ga]rclone sync\[ga] on the encrypted files, and make sure the passwords are
  39831. the same in the new encrypted remote.
  39832. This will have the following advantages
  39833. * \[ga]rclone sync\[ga] will check the checksums while copying
  39834. * you can use \[ga]rclone check\[ga] between the encrypted remotes
  39835. * you don\[aq]t decrypt and encrypt unnecessarily
  39836. For example, let\[aq]s say you have your original remote at \[ga]remote:\[ga] with
  39837. the encrypted version at \[ga]eremote:\[ga] with path \[ga]remote:crypt\[ga]. You
  39838. would then set up the new remote \[ga]remote2:\[ga] and then the encrypted
  39839. version \[ga]eremote2:\[ga] with path \[ga]remote2:crypt\[ga] using the same passwords
  39840. as \[ga]eremote:\[ga].
  39841. To sync the two remotes you would do
  39842. rclone sync --interactive remote:crypt remote2:crypt
  39843. And to check the integrity you would do
  39844. rclone check remote:crypt remote2:crypt
  39845. ## File formats
  39846. ### File encryption
  39847. Files are encrypted 1:1 source file to destination object. The file
  39848. has a header and is divided into chunks.
  39849. #### Header
  39850. * 8 bytes magic string \[ga]RCLONE\[rs]x00\[rs]x00\[ga]
  39851. * 24 bytes Nonce (IV)
  39852. The initial nonce is generated from the operating systems crypto
  39853. strong random number generator. The nonce is incremented for each
  39854. chunk read making sure each nonce is unique for each block written.
  39855. The chance of a nonce being reused is minuscule. If you wrote an
  39856. exabyte of data (10\[S1]\[u2078] bytes) you would have a probability of
  39857. approximately 2\[tmu]10\[u207B]\[S3]\[S2] of re-using a nonce.
  39858. #### Chunk
  39859. Each chunk will contain 64 KiB of data, except for the last one which
  39860. may have less data. The data chunk is in standard NaCl SecretBox
  39861. format. SecretBox uses XSalsa20 and Poly1305 to encrypt and
  39862. authenticate messages.
  39863. Each chunk contains:
  39864. * 16 Bytes of Poly1305 authenticator
  39865. * 1 - 65536 bytes XSalsa20 encrypted data
  39866. 64k chunk size was chosen as the best performing chunk size (the
  39867. authenticator takes too much time below this and the performance drops
  39868. off due to cache effects above this). Note that these chunks are
  39869. buffered in memory so they can\[aq]t be too big.
  39870. This uses a 32 byte (256 bit key) key derived from the user password.
  39871. #### Examples
  39872. 1 byte file will encrypt to
  39873. * 32 bytes header
  39874. * 17 bytes data chunk
  39875. 49 bytes total
  39876. 1 MiB (1048576 bytes) file will encrypt to
  39877. * 32 bytes header
  39878. * 16 chunks of 65568 bytes
  39879. 1049120 bytes total (a 0.05% overhead). This is the overhead for big
  39880. files.
  39881. ### Name encryption
  39882. File names are encrypted segment by segment - the path is broken up
  39883. into \[ga]/\[ga] separated strings and these are encrypted individually.
  39884. File segments are padded using PKCS#7 to a multiple of 16 bytes
  39885. before encryption.
  39886. They are then encrypted with EME using AES with 256 bit key. EME
  39887. (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003
  39888. paper \[dq]A Parallelizable Enciphering Mode\[dq] by Halevi and Rogaway.
  39889. This makes for deterministic encryption which is what we want - the
  39890. same filename must encrypt to the same thing otherwise we can\[aq]t find
  39891. it on the cloud storage system.
  39892. This means that
  39893. * filenames with the same name will encrypt the same
  39894. * filenames which start the same won\[aq]t have a common prefix
  39895. This uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both of
  39896. which are derived from the user password.
  39897. After encryption they are written out using a modified version of
  39898. standard \[ga]base32\[ga] encoding as described in RFC4648. The standard
  39899. encoding is modified in two ways:
  39900. * it becomes lower case (no-one likes upper case filenames!)
  39901. * we strip the padding character \[ga]=\[ga]
  39902. \[ga]base32\[ga] is used rather than the more efficient \[ga]base64\[ga] so rclone can be
  39903. used on case insensitive remotes (e.g. Windows, Box, Dropbox, Onedrive etc).
  39904. ### Key derivation
  39905. Rclone uses \[ga]scrypt\[ga] with parameters \[ga]N=16384, r=8, p=1\[ga] with an
  39906. optional user supplied salt (password2) to derive the 32+32+16 = 80
  39907. bytes of key material required. If the user doesn\[aq]t supply a salt
  39908. then rclone uses an internal one.
  39909. \[ga]scrypt\[ga] makes it impractical to mount a dictionary attack on rclone
  39910. encrypted data. For full protection against this you should always use
  39911. a salt.
  39912. ## SEE ALSO
  39913. * [rclone cryptdecode](https://rclone.org/commands/rclone_cryptdecode/) - Show forward/reverse mapping of encrypted filenames
  39914. # Compress
  39915. ## Warning
  39916. This remote is currently **experimental**. Things may break and data may be lost. Anything you do with this remote is
  39917. at your own risk. Please understand the risks associated with using experimental code and don\[aq]t use this remote in
  39918. critical applications.
  39919. The \[ga]Compress\[ga] remote adds compression to another remote. It is best used with remotes containing
  39920. many large compressible files.
  39921. ## Configuration
  39922. To use this remote, all you need to do is specify another remote and a compression mode to use:
  39923. \f[R]
  39924. .fi
  39925. .PP
  39926. Current remotes:
  39927. .PP
  39928. Name Type ==== ==== remote_to_press sometype
  39929. .IP "e)" 3
  39930. Edit existing remote $ rclone config
  39931. .IP "f)" 3
  39932. New remote
  39933. .IP "g)" 3
  39934. Delete remote
  39935. .IP "h)" 3
  39936. Rename remote
  39937. .IP "i)" 3
  39938. Copy remote
  39939. .IP "j)" 3
  39940. Set configuration password
  39941. .IP "k)" 3
  39942. Quit config e/n/d/r/c/s/q> n name> compress ...
  39943. 8 / Compress a remote \ \[dq]compress\[dq] ...
  39944. Storage> compress ** See help for compress backend at:
  39945. https://rclone.org/compress/ **
  39946. .PP
  39947. Remote to compress.
  39948. Enter a string value.
  39949. Press Enter for the default (\[dq]\[dq]).
  39950. remote> remote_to_press:subdir Compression mode.
  39951. Enter a string value.
  39952. Press Enter for the default (\[dq]gzip\[dq]).
  39953. Choose a number from below, or type in your own value 1 / Gzip
  39954. compression balanced for speed and compression strength.
  39955. \ \[dq]gzip\[dq] compression_mode> gzip Edit advanced config?
  39956. (y/n) y) Yes n) No (default) y/n> n Remote config --------------------
  39957. [compress] type = compress remote = remote_to_press:subdir
  39958. compression_mode = gzip -------------------- y) Yes this is OK (default)
  39959. e) Edit this remote d) Delete this remote y/e/d> y
  39960. .IP
  39961. .nf
  39962. \f[C]
  39963. ### Compression Modes
  39964. Currently only gzip compression is supported. It provides a decent balance between speed and size and is well
  39965. supported by other applications. Compression strength can further be configured via an advanced setting where 0 is no
  39966. compression and 9 is strongest compression.
  39967. ### File types
  39968. If you open a remote wrapped by compress, you will see that there are many files with an extension corresponding to
  39969. the compression algorithm you chose. These files are standard files that can be opened by various archive programs,
  39970. but they have some hidden metadata that allows them to be used by rclone.
  39971. While you may download and decompress these files at will, do **not** manually delete or rename files. Files without
  39972. correct metadata files will not be recognized by rclone.
  39973. ### File names
  39974. The compressed files will be named \[ga]*.###########.gz\[ga] where \[ga]*\[ga] is the base file and the \[ga]#\[ga] part is base64 encoded
  39975. size of the uncompressed file. The file names should not be changed by anything other than the rclone compression backend.
  39976. ### Standard options
  39977. Here are the Standard options specific to compress (Compress a remote).
  39978. #### --compress-remote
  39979. Remote to compress.
  39980. Properties:
  39981. - Config: remote
  39982. - Env Var: RCLONE_COMPRESS_REMOTE
  39983. - Type: string
  39984. - Required: true
  39985. #### --compress-mode
  39986. Compression mode.
  39987. Properties:
  39988. - Config: mode
  39989. - Env Var: RCLONE_COMPRESS_MODE
  39990. - Type: string
  39991. - Default: \[dq]gzip\[dq]
  39992. - Examples:
  39993. - \[dq]gzip\[dq]
  39994. - Standard gzip compression with fastest parameters.
  39995. ### Advanced options
  39996. Here are the Advanced options specific to compress (Compress a remote).
  39997. #### --compress-level
  39998. GZIP compression level (-2 to 9).
  39999. Generally -1 (default, equivalent to 5) is recommended.
  40000. Levels 1 to 9 increase compression at the cost of speed. Going past 6
  40001. generally offers very little return.
  40002. Level -2 uses Huffman encoding only. Only use if you know what you
  40003. are doing.
  40004. Level 0 turns off compression.
  40005. Properties:
  40006. - Config: level
  40007. - Env Var: RCLONE_COMPRESS_LEVEL
  40008. - Type: int
  40009. - Default: -1
  40010. #### --compress-ram-cache-limit
  40011. Some remotes don\[aq]t allow the upload of files with unknown size.
  40012. In this case the compressed file will need to be cached to determine
  40013. it\[aq]s size.
  40014. Files smaller than this limit will be cached in RAM, files larger than
  40015. this limit will be cached on disk.
  40016. Properties:
  40017. - Config: ram_cache_limit
  40018. - Env Var: RCLONE_COMPRESS_RAM_CACHE_LIMIT
  40019. - Type: SizeSuffix
  40020. - Default: 20Mi
  40021. #### --compress-description
  40022. Description of the remote
  40023. Properties:
  40024. - Config: description
  40025. - Env Var: RCLONE_COMPRESS_DESCRIPTION
  40026. - Type: string
  40027. - Required: false
  40028. ### Metadata
  40029. Any metadata supported by the underlying remote is read and written.
  40030. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  40031. # Combine
  40032. The \[ga]combine\[ga] backend joins remotes together into a single directory
  40033. tree.
  40034. For example you might have a remote for images on one provider:
  40035. \f[R]
  40036. .fi
  40037. .PP
  40038. $ rclone tree s3:imagesbucket / \[u251C]\[u2500]\[u2500] image1.jpg
  40039. \[u2514]\[u2500]\[u2500] image2.jpg
  40040. .IP
  40041. .nf
  40042. \f[C]
  40043. And a remote for files on another:
  40044. \f[R]
  40045. .fi
  40046. .PP
  40047. $ rclone tree drive:important/files / \[u251C]\[u2500]\[u2500] file1.txt
  40048. \[u2514]\[u2500]\[u2500] file2.txt
  40049. .IP
  40050. .nf
  40051. \f[C]
  40052. The \[ga]combine\[ga] backend can join these together into a synthetic
  40053. directory structure like this:
  40054. \f[R]
  40055. .fi
  40056. .PP
  40057. $ rclone tree combined: / \[u251C]\[u2500]\[u2500] files \[br]
  40058. \[u251C]\[u2500]\[u2500] file1.txt \[br] \[u2514]\[u2500]\[u2500]
  40059. file2.txt \[u2514]\[u2500]\[u2500] images \[u251C]\[u2500]\[u2500]
  40060. image1.jpg \[u2514]\[u2500]\[u2500] image2.jpg
  40061. .IP
  40062. .nf
  40063. \f[C]
  40064. You\[aq]d do this by specifying an \[ga]upstreams\[ga] parameter in the config
  40065. like this
  40066. upstreams = images=s3:imagesbucket files=drive:important/files
  40067. During the initial setup with \[ga]rclone config\[ga] you will specify the
  40068. upstreams remotes as a space separated list. The upstream remotes can
  40069. either be a local paths or other remotes.
  40070. ## Configuration
  40071. Here is an example of how to make a combine called \[ga]remote\[ga] for the
  40072. example above. First run:
  40073. rclone config
  40074. This will guide you through an interactive setup process:
  40075. \f[R]
  40076. .fi
  40077. .PP
  40078. No remotes found, make a new one?
  40079. n) New remote s) Set configuration password q) Quit config n/s/q> n
  40080. name> remote Option Storage.
  40081. Type of storage to configure.
  40082. Choose a number from below, or type in your own value.
  40083. \&...
  40084. XX / Combine several remotes into one \ (combine) ...
  40085. Storage> combine Option upstreams.
  40086. Upstreams for combining These should be in the form dir=remote:path
  40087. dir2=remote2:path Where before the = is specified the root directory and
  40088. after is the remote to put there.
  40089. Embedded spaces can be added using quotes \[dq]dir=remote:path with
  40090. space\[dq] \[dq]dir2=remote2:path with space\[dq] Enter a
  40091. fs.SpaceSepList value.
  40092. upstreams> images=s3:imagesbucket files=drive:important/files
  40093. -------------------- [remote] type = combine upstreams =
  40094. images=s3:imagesbucket files=drive:important/files --------------------
  40095. y) Yes this is OK (default) e) Edit this remote d) Delete this remote
  40096. y/e/d> y
  40097. .IP
  40098. .nf
  40099. \f[C]
  40100. ### Configuring for Google Drive Shared Drives
  40101. Rclone has a convenience feature for making a combine backend for all
  40102. the shared drives you have access to.
  40103. Assuming your main (non shared drive) Google drive remote is called
  40104. \[ga]drive:\[ga] you would run
  40105. rclone backend -o config drives drive:
  40106. This would produce something like this:
  40107. [My Drive]
  40108. type = alias
  40109. remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=:
  40110. [Test Drive]
  40111. type = alias
  40112. remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=:
  40113. [AllDrives]
  40114. type = combine
  40115. upstreams = \[dq]My Drive=My Drive:\[dq] \[dq]Test Drive=Test Drive:\[dq]
  40116. If you then add that config to your config file (find it with \[ga]rclone
  40117. config file\[ga]) then you can access all the shared drives in one place
  40118. with the \[ga]AllDrives:\[ga] remote.
  40119. See [the Google Drive docs](https://rclone.org/drive/#drives) for full info.
  40120. ### Standard options
  40121. Here are the Standard options specific to combine (Combine several remotes into one).
  40122. #### --combine-upstreams
  40123. Upstreams for combining
  40124. These should be in the form
  40125. dir=remote:path dir2=remote2:path
  40126. Where before the = is specified the root directory and after is the remote to
  40127. put there.
  40128. Embedded spaces can be added using quotes
  40129. \[dq]dir=remote:path with space\[dq] \[dq]dir2=remote2:path with space\[dq]
  40130. Properties:
  40131. - Config: upstreams
  40132. - Env Var: RCLONE_COMBINE_UPSTREAMS
  40133. - Type: SpaceSepList
  40134. - Default:
  40135. ### Advanced options
  40136. Here are the Advanced options specific to combine (Combine several remotes into one).
  40137. #### --combine-description
  40138. Description of the remote
  40139. Properties:
  40140. - Config: description
  40141. - Env Var: RCLONE_COMBINE_DESCRIPTION
  40142. - Type: string
  40143. - Required: false
  40144. ### Metadata
  40145. Any metadata supported by the underlying remote is read and written.
  40146. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  40147. # Dropbox
  40148. Paths are specified as \[ga]remote:path\[ga]
  40149. Dropbox paths may be as deep as required, e.g.
  40150. \[ga]remote:directory/subdirectory\[ga].
  40151. ## Configuration
  40152. The initial setup for dropbox involves getting a token from Dropbox
  40153. which you need to do in your browser. \[ga]rclone config\[ga] walks you
  40154. through it.
  40155. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  40156. rclone config
  40157. This will guide you through an interactive setup process:
  40158. \f[R]
  40159. .fi
  40160. .IP "n)" 3
  40161. New remote
  40162. .IP "o)" 3
  40163. Delete remote
  40164. .IP "p)" 3
  40165. Quit config e/n/d/q> n name> remote Type of storage to configure.
  40166. Choose a number from below, or type in your own value [snip] XX /
  40167. Dropbox \ \[dq]dropbox\[dq] [snip] Storage> dropbox Dropbox App Key -
  40168. leave blank normally.
  40169. app_key> Dropbox App Secret - leave blank normally.
  40170. app_secret> Remote config Please visit:
  40171. https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
  40172. Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX
  40173. -------------------- [remote] app_key = app_secret = token =
  40174. XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  40175. --------------------
  40176. .IP "q)" 3
  40177. Yes this is OK
  40178. .IP "r)" 3
  40179. Edit this remote
  40180. .IP "s)" 3
  40181. Delete this remote y/e/d> y
  40182. .IP
  40183. .nf
  40184. \f[C]
  40185. See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
  40186. machine with no Internet browser available.
  40187. Note that rclone runs a webserver on your local machine to collect the
  40188. token as returned from Dropbox. This only
  40189. runs from the moment it opens your browser to the moment you get back
  40190. the verification code. This is on \[ga]http://127.0.0.1:53682/\[ga] and it
  40191. may require you to unblock it temporarily if you are running a host
  40192. firewall, or use manual mode.
  40193. You can then use it like this,
  40194. List directories in top level of your dropbox
  40195. rclone lsd remote:
  40196. List all the files in your dropbox
  40197. rclone ls remote:
  40198. To copy a local directory to a dropbox directory called backup
  40199. rclone copy /home/source remote:backup
  40200. ### Dropbox for business
  40201. Rclone supports Dropbox for business and Team Folders.
  40202. When using Dropbox for business \[ga]remote:\[ga] and \[ga]remote:path/to/file\[ga]
  40203. will refer to your personal folder.
  40204. If you wish to see Team Folders you must use a leading \[ga]/\[ga] in the
  40205. path, so \[ga]rclone lsd remote:/\[ga] will refer to the root and show you all
  40206. Team Folders and your User Folder.
  40207. You can then use team folders like this \[ga]remote:/TeamFolder\[ga] and
  40208. \[ga]remote:/TeamFolder/path/to/file\[ga].
  40209. A leading \[ga]/\[ga] for a Dropbox personal account will do nothing, but it
  40210. will take an extra HTTP transaction so it should be avoided.
  40211. ### Modification times and hashes
  40212. Dropbox supports modified times, but the only way to set a
  40213. modification time is to re-upload the file.
  40214. This means that if you uploaded your data with an older version of
  40215. rclone which didn\[aq]t support the v2 API and modified times, rclone will
  40216. decide to upload all your old data to fix the modification times. If
  40217. you don\[aq]t want this to happen use \[ga]--size-only\[ga] or \[ga]--checksum\[ga] flag
  40218. to stop it.
  40219. Dropbox supports [its own hash
  40220. type](https://www.dropbox.com/developers/reference/content-hash) which
  40221. is checked for all transfers.
  40222. ### Restricted filename characters
  40223. | Character | Value | Replacement |
  40224. | --------- |:-----:|:-----------:|
  40225. | NUL | 0x00 | \[u2400] |
  40226. | / | 0x2F | \[uFF0F] |
  40227. | DEL | 0x7F | \[u2421] |
  40228. | \[rs] | 0x5C | \[uFF3C] |
  40229. File names can also not end with the following characters.
  40230. These only get replaced if they are the last character in the name:
  40231. | Character | Value | Replacement |
  40232. | --------- |:-----:|:-----------:|
  40233. | SP | 0x20 | \[u2420] |
  40234. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  40235. as they can\[aq]t be used in JSON strings.
  40236. ### Batch mode uploads {#batch-mode}
  40237. Using batch mode uploads is very important for performance when using
  40238. the Dropbox API. See [the dropbox performance guide](https://developers.dropbox.com/dbx-performance-guide)
  40239. for more info.
  40240. There are 3 modes rclone can use for uploads.
  40241. #### --dropbox-batch-mode off
  40242. In this mode rclone will not use upload batching. This was the default
  40243. before rclone v1.55. It has the disadvantage that it is very likely to
  40244. encounter \[ga]too_many_requests\[ga] errors like this
  40245. NOTICE: too_many_requests/.: Too many requests or write operations. Trying again in 15 seconds.
  40246. When rclone receives these it has to wait for 15s or sometimes 300s
  40247. before continuing which really slows down transfers.
  40248. This will happen especially if \[ga]--transfers\[ga] is large, so this mode
  40249. isn\[aq]t recommended except for compatibility or investigating problems.
  40250. #### --dropbox-batch-mode sync
  40251. In this mode rclone will batch up uploads to the size specified by
  40252. \[ga]--dropbox-batch-size\[ga] and commit them together.
  40253. Using this mode means you can use a much higher \[ga]--transfers\[ga]
  40254. parameter (32 or 64 works fine) without receiving \[ga]too_many_requests\[ga]
  40255. errors.
  40256. This mode ensures full data integrity.
  40257. Note that there may be a pause when quitting rclone while rclone
  40258. finishes up the last batch using this mode.
  40259. #### --dropbox-batch-mode async
  40260. In this mode rclone will batch up uploads to the size specified by
  40261. \[ga]--dropbox-batch-size\[ga] and commit them together.
  40262. However it will not wait for the status of the batch to be returned to
  40263. the caller. This means rclone can use a much bigger batch size (much
  40264. bigger than \[ga]--transfers\[ga]), at the cost of not being able to check the
  40265. status of the upload.
  40266. This provides the maximum possible upload speed especially with lots
  40267. of small files, however rclone can\[aq]t check the file got uploaded
  40268. properly using this mode.
  40269. If you are using this mode then using \[dq]rclone check\[dq] after the
  40270. transfer completes is recommended. Or you could do an initial transfer
  40271. with \[ga]--dropbox-batch-mode async\[ga] then do a final transfer with
  40272. \[ga]--dropbox-batch-mode sync\[ga] (the default).
  40273. Note that there may be a pause when quitting rclone while rclone
  40274. finishes up the last batch using this mode.
  40275. ### Standard options
  40276. Here are the Standard options specific to dropbox (Dropbox).
  40277. #### --dropbox-client-id
  40278. OAuth Client Id.
  40279. Leave blank normally.
  40280. Properties:
  40281. - Config: client_id
  40282. - Env Var: RCLONE_DROPBOX_CLIENT_ID
  40283. - Type: string
  40284. - Required: false
  40285. #### --dropbox-client-secret
  40286. OAuth Client Secret.
  40287. Leave blank normally.
  40288. Properties:
  40289. - Config: client_secret
  40290. - Env Var: RCLONE_DROPBOX_CLIENT_SECRET
  40291. - Type: string
  40292. - Required: false
  40293. ### Advanced options
  40294. Here are the Advanced options specific to dropbox (Dropbox).
  40295. #### --dropbox-token
  40296. OAuth Access Token as a JSON blob.
  40297. Properties:
  40298. - Config: token
  40299. - Env Var: RCLONE_DROPBOX_TOKEN
  40300. - Type: string
  40301. - Required: false
  40302. #### --dropbox-auth-url
  40303. Auth server URL.
  40304. Leave blank to use the provider defaults.
  40305. Properties:
  40306. - Config: auth_url
  40307. - Env Var: RCLONE_DROPBOX_AUTH_URL
  40308. - Type: string
  40309. - Required: false
  40310. #### --dropbox-token-url
  40311. Token server url.
  40312. Leave blank to use the provider defaults.
  40313. Properties:
  40314. - Config: token_url
  40315. - Env Var: RCLONE_DROPBOX_TOKEN_URL
  40316. - Type: string
  40317. - Required: false
  40318. #### --dropbox-chunk-size
  40319. Upload chunk size (< 150Mi).
  40320. Any files larger than this will be uploaded in chunks of this size.
  40321. Note that chunks are buffered in memory (one at a time) so rclone can
  40322. deal with retries. Setting this larger will increase the speed
  40323. slightly (at most 10% for 128 MiB in tests) at the cost of using more
  40324. memory. It can be set smaller if you are tight on memory.
  40325. Properties:
  40326. - Config: chunk_size
  40327. - Env Var: RCLONE_DROPBOX_CHUNK_SIZE
  40328. - Type: SizeSuffix
  40329. - Default: 48Mi
  40330. #### --dropbox-impersonate
  40331. Impersonate this user when using a business account.
  40332. Note that if you want to use impersonate, you should make sure this
  40333. flag is set when running \[dq]rclone config\[dq] as this will cause rclone to
  40334. request the \[dq]members.read\[dq] scope which it won\[aq]t normally. This is
  40335. needed to lookup a members email address into the internal ID that
  40336. dropbox uses in the API.
  40337. Using the \[dq]members.read\[dq] scope will require a Dropbox Team Admin
  40338. to approve during the OAuth flow.
  40339. You will have to use your own App (setting your own client_id and
  40340. client_secret) to use this option as currently rclone\[aq]s default set of
  40341. permissions doesn\[aq]t include \[dq]members.read\[dq]. This can be added once
  40342. v1.55 or later is in use everywhere.
  40343. Properties:
  40344. - Config: impersonate
  40345. - Env Var: RCLONE_DROPBOX_IMPERSONATE
  40346. - Type: string
  40347. - Required: false
  40348. #### --dropbox-shared-files
  40349. Instructs rclone to work on individual shared files.
  40350. In this mode rclone\[aq]s features are extremely limited - only list (ls, lsl, etc.)
  40351. operations and read operations (e.g. downloading) are supported in this mode.
  40352. All other operations will be disabled.
  40353. Properties:
  40354. - Config: shared_files
  40355. - Env Var: RCLONE_DROPBOX_SHARED_FILES
  40356. - Type: bool
  40357. - Default: false
  40358. #### --dropbox-shared-folders
  40359. Instructs rclone to work on shared folders.
  40360. When this flag is used with no path only the List operation is supported and
  40361. all available shared folders will be listed. If you specify a path the first part
  40362. will be interpreted as the name of shared folder. Rclone will then try to mount this
  40363. shared to the root namespace. On success shared folder rclone proceeds normally.
  40364. The shared folder is now pretty much a normal folder and all normal operations
  40365. are supported.
  40366. Note that we don\[aq]t unmount the shared folder afterwards so the
  40367. --dropbox-shared-folders can be omitted after the first use of a particular
  40368. shared folder.
  40369. Properties:
  40370. - Config: shared_folders
  40371. - Env Var: RCLONE_DROPBOX_SHARED_FOLDERS
  40372. - Type: bool
  40373. - Default: false
  40374. #### --dropbox-pacer-min-sleep
  40375. Minimum time to sleep between API calls.
  40376. Properties:
  40377. - Config: pacer_min_sleep
  40378. - Env Var: RCLONE_DROPBOX_PACER_MIN_SLEEP
  40379. - Type: Duration
  40380. - Default: 10ms
  40381. #### --dropbox-encoding
  40382. The encoding for the backend.
  40383. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  40384. Properties:
  40385. - Config: encoding
  40386. - Env Var: RCLONE_DROPBOX_ENCODING
  40387. - Type: Encoding
  40388. - Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot
  40389. #### --dropbox-batch-mode
  40390. Upload file batching sync|async|off.
  40391. This sets the batch mode used by rclone.
  40392. For full info see [the main docs](https://rclone.org/dropbox/#batch-mode)
  40393. This has 3 possible values
  40394. - off - no batching
  40395. - sync - batch uploads and check completion (default)
  40396. - async - batch upload and don\[aq]t check completion
  40397. Rclone will close any outstanding batches when it exits which may make
  40398. a delay on quit.
  40399. Properties:
  40400. - Config: batch_mode
  40401. - Env Var: RCLONE_DROPBOX_BATCH_MODE
  40402. - Type: string
  40403. - Default: \[dq]sync\[dq]
  40404. #### --dropbox-batch-size
  40405. Max number of files in upload batch.
  40406. This sets the batch size of files to upload. It has to be less than 1000.
  40407. By default this is 0 which means rclone which calculate the batch size
  40408. depending on the setting of batch_mode.
  40409. - batch_mode: async - default batch_size is 100
  40410. - batch_mode: sync - default batch_size is the same as --transfers
  40411. - batch_mode: off - not in use
  40412. Rclone will close any outstanding batches when it exits which may make
  40413. a delay on quit.
  40414. Setting this is a great idea if you are uploading lots of small files
  40415. as it will make them a lot quicker. You can use --transfers 32 to
  40416. maximise throughput.
  40417. Properties:
  40418. - Config: batch_size
  40419. - Env Var: RCLONE_DROPBOX_BATCH_SIZE
  40420. - Type: int
  40421. - Default: 0
  40422. #### --dropbox-batch-timeout
  40423. Max time to allow an idle upload batch before uploading.
  40424. If an upload batch is idle for more than this long then it will be
  40425. uploaded.
  40426. The default for this is 0 which means rclone will choose a sensible
  40427. default based on the batch_mode in use.
  40428. - batch_mode: async - default batch_timeout is 10s
  40429. - batch_mode: sync - default batch_timeout is 500ms
  40430. - batch_mode: off - not in use
  40431. Properties:
  40432. - Config: batch_timeout
  40433. - Env Var: RCLONE_DROPBOX_BATCH_TIMEOUT
  40434. - Type: Duration
  40435. - Default: 0s
  40436. #### --dropbox-batch-commit-timeout
  40437. Max time to wait for a batch to finish committing
  40438. Properties:
  40439. - Config: batch_commit_timeout
  40440. - Env Var: RCLONE_DROPBOX_BATCH_COMMIT_TIMEOUT
  40441. - Type: Duration
  40442. - Default: 10m0s
  40443. #### --dropbox-description
  40444. Description of the remote
  40445. Properties:
  40446. - Config: description
  40447. - Env Var: RCLONE_DROPBOX_DESCRIPTION
  40448. - Type: string
  40449. - Required: false
  40450. ## Limitations
  40451. Note that Dropbox is case insensitive so you can\[aq]t have a file called
  40452. \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  40453. There are some file names such as \[ga]thumbs.db\[ga] which Dropbox can\[aq]t
  40454. store. There is a full list of them in the [\[dq]Ignored Files\[dq] section
  40455. of this document](https://www.dropbox.com/en/help/145). Rclone will
  40456. issue an error message \[ga]File name disallowed - not uploading\[ga] if it
  40457. attempts to upload one of those file names, but the sync won\[aq]t fail.
  40458. Some errors may occur if you try to sync copyright-protected files
  40459. because Dropbox has its own [copyright detector](https://techcrunch.com/2014/03/30/how-dropbox-knows-when-youre-sharing-copyrighted-stuff-without-actually-looking-at-your-stuff/) that
  40460. prevents this sort of file being downloaded. This will return the error \[ga]ERROR :
  40461. /path/to/your/file: Failed to copy: failed to open source object:
  40462. path/restricted_content/.\[ga]
  40463. If you have more than 10,000 files in a directory then \[ga]rclone purge
  40464. dropbox:dir\[ga] will return the error \[ga]Failed to purge: There are too
  40465. many files involved in this operation\[ga]. As a work-around do an
  40466. \[ga]rclone delete dropbox:dir\[ga] followed by an \[ga]rclone rmdir dropbox:dir\[ga].
  40467. When using \[ga]rclone link\[ga] you\[aq]ll need to set \[ga]--expire\[ga] if using a
  40468. non-personal account otherwise the visibility may not be correct.
  40469. (Note that \[ga]--expire\[ga] isn\[aq]t supported on personal accounts). See the
  40470. [forum discussion](https://forum.rclone.org/t/rclone-link-dropbox-permissions/23211) and the
  40471. [dropbox SDK issue](https://github.com/dropbox/dropbox-sdk-go-unofficial/issues/75).
  40472. ## Get your own Dropbox App ID
  40473. When you use rclone with Dropbox in its default configuration you are using rclone\[aq]s App ID. This is shared between all the rclone users.
  40474. Here is how to create your own Dropbox App ID for rclone:
  40475. 1. Log into the [Dropbox App console](https://www.dropbox.com/developers/apps/create) with your Dropbox Account (It need not
  40476. to be the same account as the Dropbox you want to access)
  40477. 2. Choose an API => Usually this should be \[ga]Dropbox API\[ga]
  40478. 3. Choose the type of access you want to use => \[ga]Full Dropbox\[ga] or \[ga]App Folder\[ga]. If you want to use Team Folders, \[ga]Full Dropbox\[ga] is required ([see here](https://www.dropboxforum.com/t5/Dropbox-API-Support-Feedback/How-to-create-team-folder-inside-my-app-s-folder/m-p/601005/highlight/true#M27911)).
  40479. 4. Name your App. The app name is global, so you can\[aq]t use \[ga]rclone\[ga] for example
  40480. 5. Click the button \[ga]Create App\[ga]
  40481. 6. Switch to the \[ga]Permissions\[ga] tab. Enable at least the following permissions: \[ga]account_info.read\[ga], \[ga]files.metadata.write\[ga], \[ga]files.content.write\[ga], \[ga]files.content.read\[ga], \[ga]sharing.write\[ga]. The \[ga]files.metadata.read\[ga] and \[ga]sharing.read\[ga] checkboxes will be marked too. Click \[ga]Submit\[ga]
  40482. 7. Switch to the \[ga]Settings\[ga] tab. Fill \[ga]OAuth2 - Redirect URIs\[ga] as \[ga]http://localhost:53682/\[ga] and click on \[ga]Add\[ga]
  40483. 8. Find the \[ga]App key\[ga] and \[ga]App secret\[ga] values on the \[ga]Settings\[ga] tab. Use these values in rclone config to add a new remote or edit an existing remote. The \[ga]App key\[ga] setting corresponds to \[ga]client_id\[ga] in rclone config, the \[ga]App secret\[ga] corresponds to \[ga]client_secret\[ga]
  40484. # Enterprise File Fabric
  40485. This backend supports [Storage Made Easy\[aq]s Enterprise File
  40486. Fabric\[tm]](https://storagemadeeasy.com/about/) which provides a software
  40487. solution to integrate and unify File and Object Storage accessible
  40488. through a global file system.
  40489. ## Configuration
  40490. The initial setup for the Enterprise File Fabric backend involves
  40491. getting a token from the Enterprise File Fabric which you need to
  40492. do in your browser. \[ga]rclone config\[ga] walks you through it.
  40493. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  40494. rclone config
  40495. This will guide you through an interactive setup process:
  40496. \f[R]
  40497. .fi
  40498. .PP
  40499. No remotes found, make a new one?
  40500. n) New remote s) Set configuration password q) Quit config n/s/q> n
  40501. name> remote Type of storage to configure.
  40502. Enter a string value.
  40503. Press Enter for the default (\[dq]\[dq]).
  40504. Choose a number from below, or type in your own value [snip] XX /
  40505. Enterprise File Fabric \ \[dq]filefabric\[dq] [snip] Storage> filefabric
  40506. ** See help for filefabric backend at: https://rclone.org/filefabric/ **
  40507. .PP
  40508. URL of the Enterprise File Fabric to connect to Enter a string value.
  40509. Press Enter for the default (\[dq]\[dq]).
  40510. Choose a number from below, or type in your own value 1 / Storage Made
  40511. Easy US \ \[dq]https://storagemadeeasy.com\[dq] 2 / Storage Made Easy EU
  40512. \ \[dq]https://eu.storagemadeeasy.com\[dq] 3 / Connect to your
  40513. Enterprise File Fabric \ \[dq]https://yourfabric.smestorage.com\[dq]
  40514. url> https://yourfabric.smestorage.com/ ID of the root folder Leave
  40515. blank normally.
  40516. .PP
  40517. Fill in to make rclone start with directory of a given ID.
  40518. .PP
  40519. Enter a string value.
  40520. Press Enter for the default (\[dq]\[dq]).
  40521. root_folder_id> Permanent Authentication Token
  40522. .PP
  40523. A Permanent Authentication Token can be created in the Enterprise File
  40524. Fabric, on the users Dashboard under Security, there is an entry
  40525. you\[aq]ll see called \[dq]My Authentication Tokens\[dq].
  40526. Click the Manage button to create one.
  40527. .PP
  40528. These tokens are normally valid for several years.
  40529. .PP
  40530. For more info see:
  40531. https://docs.storagemadeeasy.com/organisationcloud/api-tokens
  40532. .PP
  40533. Enter a string value.
  40534. Press Enter for the default (\[dq]\[dq]).
  40535. permanent_token> xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx Edit advanced config?
  40536. (y/n) y) Yes n) No (default) y/n> n Remote config --------------------
  40537. [remote] type = filefabric url = https://yourfabric.smestorage.com/
  40538. permanent_token = xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx --------------------
  40539. y) Yes this is OK (default) e) Edit this remote d) Delete this remote
  40540. y/e/d> y
  40541. .IP
  40542. .nf
  40543. \f[C]
  40544. Once configured you can then use \[ga]rclone\[ga] like this,
  40545. List directories in top level of your Enterprise File Fabric
  40546. rclone lsd remote:
  40547. List all the files in your Enterprise File Fabric
  40548. rclone ls remote:
  40549. To copy a local directory to an Enterprise File Fabric directory called backup
  40550. rclone copy /home/source remote:backup
  40551. ### Modification times and hashes
  40552. The Enterprise File Fabric allows modification times to be set on
  40553. files accurate to 1 second. These will be used to detect whether
  40554. objects need syncing or not.
  40555. The Enterprise File Fabric does not support any data hashes at this time.
  40556. ### Restricted filename characters
  40557. The [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  40558. will be replaced.
  40559. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  40560. as they can\[aq]t be used in JSON strings.
  40561. ### Empty files
  40562. Empty files aren\[aq]t supported by the Enterprise File Fabric. Rclone will therefore
  40563. upload an empty file as a single space with a mime type of
  40564. \[ga]application/vnd.rclone.empty.file\[ga] and files with that mime type are
  40565. treated as empty.
  40566. ### Root folder ID ###
  40567. You can set the \[ga]root_folder_id\[ga] for rclone. This is the directory
  40568. (identified by its \[ga]Folder ID\[ga]) that rclone considers to be the root
  40569. of your Enterprise File Fabric.
  40570. Normally you will leave this blank and rclone will determine the
  40571. correct root to use itself.
  40572. However you can set this to restrict rclone to a specific folder
  40573. hierarchy.
  40574. In order to do this you will have to find the \[ga]Folder ID\[ga] of the
  40575. directory you wish rclone to display. These aren\[aq]t displayed in the
  40576. web interface, but you can use \[ga]rclone lsf\[ga] to find them, for example
  40577. \f[R]
  40578. .fi
  40579. .PP
  40580. $ rclone lsf --dirs-only -Fip --csv filefabric: 120673758,Burnt PDFs/
  40581. 120673759,My Quick Uploads/ 120673755,My Syncs/ 120673756,My backups/
  40582. 120673757,My contacts/ 120673761,S3 Storage/
  40583. .IP
  40584. .nf
  40585. \f[C]
  40586. The ID for \[dq]S3 Storage\[dq] would be \[ga]120673761\[ga].
  40587. ### Standard options
  40588. Here are the Standard options specific to filefabric (Enterprise File Fabric).
  40589. #### --filefabric-url
  40590. URL of the Enterprise File Fabric to connect to.
  40591. Properties:
  40592. - Config: url
  40593. - Env Var: RCLONE_FILEFABRIC_URL
  40594. - Type: string
  40595. - Required: true
  40596. - Examples:
  40597. - \[dq]https://storagemadeeasy.com\[dq]
  40598. - Storage Made Easy US
  40599. - \[dq]https://eu.storagemadeeasy.com\[dq]
  40600. - Storage Made Easy EU
  40601. - \[dq]https://yourfabric.smestorage.com\[dq]
  40602. - Connect to your Enterprise File Fabric
  40603. #### --filefabric-root-folder-id
  40604. ID of the root folder.
  40605. Leave blank normally.
  40606. Fill in to make rclone start with directory of a given ID.
  40607. Properties:
  40608. - Config: root_folder_id
  40609. - Env Var: RCLONE_FILEFABRIC_ROOT_FOLDER_ID
  40610. - Type: string
  40611. - Required: false
  40612. #### --filefabric-permanent-token
  40613. Permanent Authentication Token.
  40614. A Permanent Authentication Token can be created in the Enterprise File
  40615. Fabric, on the users Dashboard under Security, there is an entry
  40616. you\[aq]ll see called \[dq]My Authentication Tokens\[dq]. Click the Manage button
  40617. to create one.
  40618. These tokens are normally valid for several years.
  40619. For more info see: https://docs.storagemadeeasy.com/organisationcloud/api-tokens
  40620. Properties:
  40621. - Config: permanent_token
  40622. - Env Var: RCLONE_FILEFABRIC_PERMANENT_TOKEN
  40623. - Type: string
  40624. - Required: false
  40625. ### Advanced options
  40626. Here are the Advanced options specific to filefabric (Enterprise File Fabric).
  40627. #### --filefabric-token
  40628. Session Token.
  40629. This is a session token which rclone caches in the config file. It is
  40630. usually valid for 1 hour.
  40631. Don\[aq]t set this value - rclone will set it automatically.
  40632. Properties:
  40633. - Config: token
  40634. - Env Var: RCLONE_FILEFABRIC_TOKEN
  40635. - Type: string
  40636. - Required: false
  40637. #### --filefabric-token-expiry
  40638. Token expiry time.
  40639. Don\[aq]t set this value - rclone will set it automatically.
  40640. Properties:
  40641. - Config: token_expiry
  40642. - Env Var: RCLONE_FILEFABRIC_TOKEN_EXPIRY
  40643. - Type: string
  40644. - Required: false
  40645. #### --filefabric-version
  40646. Version read from the file fabric.
  40647. Don\[aq]t set this value - rclone will set it automatically.
  40648. Properties:
  40649. - Config: version
  40650. - Env Var: RCLONE_FILEFABRIC_VERSION
  40651. - Type: string
  40652. - Required: false
  40653. #### --filefabric-encoding
  40654. The encoding for the backend.
  40655. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  40656. Properties:
  40657. - Config: encoding
  40658. - Env Var: RCLONE_FILEFABRIC_ENCODING
  40659. - Type: Encoding
  40660. - Default: Slash,Del,Ctl,InvalidUtf8,Dot
  40661. #### --filefabric-description
  40662. Description of the remote
  40663. Properties:
  40664. - Config: description
  40665. - Env Var: RCLONE_FILEFABRIC_DESCRIPTION
  40666. - Type: string
  40667. - Required: false
  40668. # FTP
  40669. FTP is the File Transfer Protocol. Rclone FTP support is provided using the
  40670. [github.com/jlaffaye/ftp](https://godoc.org/github.com/jlaffaye/ftp)
  40671. package.
  40672. [Limitations of Rclone\[aq]s FTP backend](#limitations)
  40673. Paths are specified as \[ga]remote:path\[ga]. If the path does not begin with
  40674. a \[ga]/\[ga] it is relative to the home directory of the user. An empty path
  40675. \[ga]remote:\[ga] refers to the user\[aq]s home directory.
  40676. ## Configuration
  40677. To create an FTP configuration named \[ga]remote\[ga], run
  40678. rclone config
  40679. Rclone config guides you through an interactive setup process. A minimal
  40680. rclone FTP remote definition only requires host, username and password.
  40681. For an anonymous FTP server, see [below](#anonymous-ftp).
  40682. \f[R]
  40683. .fi
  40684. .PP
  40685. No remotes found, make a new one?
  40686. n) New remote r) Rename remote c) Copy remote s) Set configuration
  40687. password q) Quit config n/r/c/s/q> n name> remote Type of storage to
  40688. configure.
  40689. Enter a string value.
  40690. Press Enter for the default (\[dq]\[dq]).
  40691. Choose a number from below, or type in your own value [snip] XX / FTP
  40692. \ \[dq]ftp\[dq] [snip] Storage> ftp ** See help for ftp backend at:
  40693. https://rclone.org/ftp/ **
  40694. .PP
  40695. FTP host to connect to Enter a string value.
  40696. Press Enter for the default (\[dq]\[dq]).
  40697. Choose a number from below, or type in your own value 1 / Connect to
  40698. ftp.example.com \ \[dq]ftp.example.com\[dq] host> ftp.example.com FTP
  40699. username Enter a string value.
  40700. Press Enter for the default (\[dq]$USER\[dq]).
  40701. user> FTP port number Enter a signed integer.
  40702. Press Enter for the default (21).
  40703. port> FTP password y) Yes type in my own password g) Generate random
  40704. password y/g> y Enter the password: password: Confirm the password:
  40705. password: Use FTP over TLS (Implicit) Enter a boolean value (true or
  40706. false).
  40707. Press Enter for the default (\[dq]false\[dq]).
  40708. tls> Use FTP over TLS (Explicit) Enter a boolean value (true or false).
  40709. Press Enter for the default (\[dq]false\[dq]).
  40710. explicit_tls> Remote config -------------------- [remote] type = ftp
  40711. host = ftp.example.com pass = *** ENCRYPTED *** -------------------- y)
  40712. Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
  40713. .IP
  40714. .nf
  40715. \f[C]
  40716. To see all directories in the home directory of \[ga]remote\[ga]
  40717. rclone lsd remote:
  40718. Make a new directory
  40719. rclone mkdir remote:path/to/directory
  40720. List the contents of a directory
  40721. rclone ls remote:path/to/directory
  40722. Sync \[ga]/home/local/directory\[ga] to the remote directory, deleting any
  40723. excess files in the directory.
  40724. rclone sync --interactive /home/local/directory remote:directory
  40725. ### Anonymous FTP
  40726. When connecting to a FTP server that allows anonymous login, you can use the
  40727. special \[dq]anonymous\[dq] username. Traditionally, this user account accepts any
  40728. string as a password, although it is common to use either the password
  40729. \[dq]anonymous\[dq] or \[dq]guest\[dq]. Some servers require the use of a valid e-mail
  40730. address as password.
  40731. Using [on-the-fly](#backend-path-to-dir) or
  40732. [connection string](https://rclone.org/docs/#connection-strings) remotes makes it easy to access
  40733. such servers, without requiring any configuration in advance. The following
  40734. are examples of that:
  40735. rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=$(rclone obscure dummy)
  40736. rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=$(rclone obscure dummy):
  40737. The above examples work in Linux shells and in PowerShell, but not Windows
  40738. Command Prompt. They execute the [rclone obscure](https://rclone.org/commands/rclone_obscure/)
  40739. command to create a password string in the format required by the
  40740. [pass](#ftp-pass) option. The following examples are exactly the same, except use
  40741. an already obscured string representation of the same password \[dq]dummy\[dq], and
  40742. therefore works even in Windows Command Prompt:
  40743. rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM
  40744. rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM:
  40745. ### Implicit TLS
  40746. Rlone FTP supports implicit FTP over TLS servers (FTPS). This has to
  40747. be enabled in the FTP backend config for the remote, or with
  40748. [\[ga]--ftp-tls\[ga]](#ftp-tls). The default FTPS port is \[ga]990\[ga], not \[ga]21\[ga] and
  40749. can be set with [\[ga]--ftp-port\[ga]](#ftp-port).
  40750. ### Restricted filename characters
  40751. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  40752. the following characters are also replaced:
  40753. File names cannot end with the following characters. Replacement is
  40754. limited to the last character in a file name:
  40755. | Character | Value | Replacement |
  40756. | --------- |:-----:|:-----------:|
  40757. | SP | 0x20 | \[u2420] |
  40758. Not all FTP servers can have all characters in file names, for example:
  40759. | FTP Server| Forbidden characters |
  40760. | --------- |:--------------------:|
  40761. | proftpd | \[ga]*\[ga] |
  40762. | pureftpd | \[ga]\[rs] [ ]\[ga] |
  40763. This backend\[aq]s interactive configuration wizard provides a selection of
  40764. sensible encoding settings for major FTP servers: ProFTPd, PureFTPd, VsFTPd.
  40765. Just hit a selection number when prompted.
  40766. ### Standard options
  40767. Here are the Standard options specific to ftp (FTP).
  40768. #### --ftp-host
  40769. FTP host to connect to.
  40770. E.g. \[dq]ftp.example.com\[dq].
  40771. Properties:
  40772. - Config: host
  40773. - Env Var: RCLONE_FTP_HOST
  40774. - Type: string
  40775. - Required: true
  40776. #### --ftp-user
  40777. FTP username.
  40778. Properties:
  40779. - Config: user
  40780. - Env Var: RCLONE_FTP_USER
  40781. - Type: string
  40782. - Default: \[dq]$USER\[dq]
  40783. #### --ftp-port
  40784. FTP port number.
  40785. Properties:
  40786. - Config: port
  40787. - Env Var: RCLONE_FTP_PORT
  40788. - Type: int
  40789. - Default: 21
  40790. #### --ftp-pass
  40791. FTP password.
  40792. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  40793. Properties:
  40794. - Config: pass
  40795. - Env Var: RCLONE_FTP_PASS
  40796. - Type: string
  40797. - Required: false
  40798. #### --ftp-tls
  40799. Use Implicit FTPS (FTP over TLS).
  40800. When using implicit FTP over TLS the client connects using TLS
  40801. right from the start which breaks compatibility with
  40802. non-TLS-aware servers. This is usually served over port 990 rather
  40803. than port 21. Cannot be used in combination with explicit FTPS.
  40804. Properties:
  40805. - Config: tls
  40806. - Env Var: RCLONE_FTP_TLS
  40807. - Type: bool
  40808. - Default: false
  40809. #### --ftp-explicit-tls
  40810. Use Explicit FTPS (FTP over TLS).
  40811. When using explicit FTP over TLS the client explicitly requests
  40812. security from the server in order to upgrade a plain text connection
  40813. to an encrypted one. Cannot be used in combination with implicit FTPS.
  40814. Properties:
  40815. - Config: explicit_tls
  40816. - Env Var: RCLONE_FTP_EXPLICIT_TLS
  40817. - Type: bool
  40818. - Default: false
  40819. ### Advanced options
  40820. Here are the Advanced options specific to ftp (FTP).
  40821. #### --ftp-concurrency
  40822. Maximum number of FTP simultaneous connections, 0 for unlimited.
  40823. Note that setting this is very likely to cause deadlocks so it should
  40824. be used with care.
  40825. If you are doing a sync or copy then make sure concurrency is one more
  40826. than the sum of \[ga]--transfers\[ga] and \[ga]--checkers\[ga].
  40827. If you use \[ga]--check-first\[ga] then it just needs to be one more than the
  40828. maximum of \[ga]--checkers\[ga] and \[ga]--transfers\[ga].
  40829. So for \[ga]concurrency 3\[ga] you\[aq]d use \[ga]--checkers 2 --transfers 2
  40830. --check-first\[ga] or \[ga]--checkers 1 --transfers 1\[ga].
  40831. Properties:
  40832. - Config: concurrency
  40833. - Env Var: RCLONE_FTP_CONCURRENCY
  40834. - Type: int
  40835. - Default: 0
  40836. #### --ftp-no-check-certificate
  40837. Do not verify the TLS certificate of the server.
  40838. Properties:
  40839. - Config: no_check_certificate
  40840. - Env Var: RCLONE_FTP_NO_CHECK_CERTIFICATE
  40841. - Type: bool
  40842. - Default: false
  40843. #### --ftp-disable-epsv
  40844. Disable using EPSV even if server advertises support.
  40845. Properties:
  40846. - Config: disable_epsv
  40847. - Env Var: RCLONE_FTP_DISABLE_EPSV
  40848. - Type: bool
  40849. - Default: false
  40850. #### --ftp-disable-mlsd
  40851. Disable using MLSD even if server advertises support.
  40852. Properties:
  40853. - Config: disable_mlsd
  40854. - Env Var: RCLONE_FTP_DISABLE_MLSD
  40855. - Type: bool
  40856. - Default: false
  40857. #### --ftp-disable-utf8
  40858. Disable using UTF-8 even if server advertises support.
  40859. Properties:
  40860. - Config: disable_utf8
  40861. - Env Var: RCLONE_FTP_DISABLE_UTF8
  40862. - Type: bool
  40863. - Default: false
  40864. #### --ftp-writing-mdtm
  40865. Use MDTM to set modification time (VsFtpd quirk)
  40866. Properties:
  40867. - Config: writing_mdtm
  40868. - Env Var: RCLONE_FTP_WRITING_MDTM
  40869. - Type: bool
  40870. - Default: false
  40871. #### --ftp-force-list-hidden
  40872. Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD.
  40873. Properties:
  40874. - Config: force_list_hidden
  40875. - Env Var: RCLONE_FTP_FORCE_LIST_HIDDEN
  40876. - Type: bool
  40877. - Default: false
  40878. #### --ftp-idle-timeout
  40879. Max time before closing idle connections.
  40880. If no connections have been returned to the connection pool in the time
  40881. given, rclone will empty the connection pool.
  40882. Set to 0 to keep connections indefinitely.
  40883. Properties:
  40884. - Config: idle_timeout
  40885. - Env Var: RCLONE_FTP_IDLE_TIMEOUT
  40886. - Type: Duration
  40887. - Default: 1m0s
  40888. #### --ftp-close-timeout
  40889. Maximum time to wait for a response to close.
  40890. Properties:
  40891. - Config: close_timeout
  40892. - Env Var: RCLONE_FTP_CLOSE_TIMEOUT
  40893. - Type: Duration
  40894. - Default: 1m0s
  40895. #### --ftp-tls-cache-size
  40896. Size of TLS session cache for all control and data connections.
  40897. TLS cache allows to resume TLS sessions and reuse PSK between connections.
  40898. Increase if default size is not enough resulting in TLS resumption errors.
  40899. Enabled by default. Use 0 to disable.
  40900. Properties:
  40901. - Config: tls_cache_size
  40902. - Env Var: RCLONE_FTP_TLS_CACHE_SIZE
  40903. - Type: int
  40904. - Default: 32
  40905. #### --ftp-disable-tls13
  40906. Disable TLS 1.3 (workaround for FTP servers with buggy TLS)
  40907. Properties:
  40908. - Config: disable_tls13
  40909. - Env Var: RCLONE_FTP_DISABLE_TLS13
  40910. - Type: bool
  40911. - Default: false
  40912. #### --ftp-shut-timeout
  40913. Maximum time to wait for data connection closing status.
  40914. Properties:
  40915. - Config: shut_timeout
  40916. - Env Var: RCLONE_FTP_SHUT_TIMEOUT
  40917. - Type: Duration
  40918. - Default: 1m0s
  40919. #### --ftp-ask-password
  40920. Allow asking for FTP password when needed.
  40921. If this is set and no password is supplied then rclone will ask for a password
  40922. Properties:
  40923. - Config: ask_password
  40924. - Env Var: RCLONE_FTP_ASK_PASSWORD
  40925. - Type: bool
  40926. - Default: false
  40927. #### --ftp-socks-proxy
  40928. Socks 5 proxy host.
  40929. Supports the format user:pass\[at]host:port, user\[at]host:port, host:port.
  40930. Example:
  40931. myUser:myPass\[at]localhost:9005
  40932. Properties:
  40933. - Config: socks_proxy
  40934. - Env Var: RCLONE_FTP_SOCKS_PROXY
  40935. - Type: string
  40936. - Required: false
  40937. #### --ftp-encoding
  40938. The encoding for the backend.
  40939. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  40940. Properties:
  40941. - Config: encoding
  40942. - Env Var: RCLONE_FTP_ENCODING
  40943. - Type: Encoding
  40944. - Default: Slash,Del,Ctl,RightSpace,Dot
  40945. - Examples:
  40946. - \[dq]Asterisk,Ctl,Dot,Slash\[dq]
  40947. - ProFTPd can\[aq]t handle \[aq]*\[aq] in file names
  40948. - \[dq]BackSlash,Ctl,Del,Dot,RightSpace,Slash,SquareBracket\[dq]
  40949. - PureFTPd can\[aq]t handle \[aq][]\[aq] or \[aq]*\[aq] in file names
  40950. - \[dq]Ctl,LeftPeriod,Slash\[dq]
  40951. - VsFTPd can\[aq]t handle file names starting with dot
  40952. #### --ftp-description
  40953. Description of the remote
  40954. Properties:
  40955. - Config: description
  40956. - Env Var: RCLONE_FTP_DESCRIPTION
  40957. - Type: string
  40958. - Required: false
  40959. ## Limitations
  40960. FTP servers acting as rclone remotes must support \[ga]passive\[ga] mode.
  40961. The mode cannot be configured as \[ga]passive\[ga] is the only supported one.
  40962. Rclone\[aq]s FTP implementation is not compatible with \[ga]active\[ga] mode
  40963. as [the library it uses doesn\[aq]t support it](https://github.com/jlaffaye/ftp/issues/29).
  40964. This will likely never be supported due to security concerns.
  40965. Rclone\[aq]s FTP backend does not support any checksums but can compare
  40966. file sizes.
  40967. \[ga]rclone about\[ga] is not supported by the FTP backend. Backends without
  40968. this capability cannot determine free space for an rclone mount or
  40969. use policy \[ga]mfs\[ga] (most free space) as a member of an rclone union
  40970. remote.
  40971. See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
  40972. The implementation of : \[ga]--dump headers\[ga],
  40973. \[ga]--dump bodies\[ga], \[ga]--dump auth\[ga] for debugging isn\[aq]t the same as
  40974. for rclone HTTP based backends - it has less fine grained control.
  40975. \[ga]--timeout\[ga] isn\[aq]t supported (but \[ga]--contimeout\[ga] is).
  40976. \[ga]--bind\[ga] isn\[aq]t supported.
  40977. Rclone\[aq]s FTP backend could support server-side move but does not
  40978. at present.
  40979. The \[ga]ftp_proxy\[ga] environment variable is not currently supported.
  40980. ### Modification times
  40981. File modification time (timestamps) is supported to 1 second resolution
  40982. for major FTP servers: ProFTPd, PureFTPd, VsFTPd, and FileZilla FTP server.
  40983. The \[ga]VsFTPd\[ga] server has non-standard implementation of time related protocol
  40984. commands and needs a special configuration setting: \[ga]writing_mdtm = true\[ga].
  40985. Support for precise file time with other FTP servers varies depending on what
  40986. protocol extensions they advertise. If all the \[ga]MLSD\[ga], \[ga]MDTM\[ga] and \[ga]MFTM\[ga]
  40987. extensions are present, rclone will use them together to provide precise time.
  40988. Otherwise the times you see on the FTP server through rclone are those of the
  40989. last file upload.
  40990. You can use the following command to check whether rclone can use precise time
  40991. with your FTP server: \[ga]rclone backend features your_ftp_remote:\[ga] (the trailing
  40992. colon is important). Look for the number in the line tagged by \[ga]Precision\[ga]
  40993. designating the remote time precision expressed as nanoseconds. A value of
  40994. \[ga]1000000000\[ga] means that file time precision of 1 second is available.
  40995. A value of \[ga]3153600000000000000\[ga] (or another large number) means \[dq]unsupported\[dq].
  40996. # Google Cloud Storage
  40997. Paths are specified as \[ga]remote:bucket\[ga] (or \[ga]remote:\[ga] for the \[ga]lsd\[ga]
  40998. command.) You may put subdirectories in too, e.g. \[ga]remote:bucket/path/to/dir\[ga].
  40999. ## Configuration
  41000. The initial setup for google cloud storage involves getting a token from Google Cloud Storage
  41001. which you need to do in your browser. \[ga]rclone config\[ga] walks you
  41002. through it.
  41003. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  41004. rclone config
  41005. This will guide you through an interactive setup process:
  41006. \f[R]
  41007. .fi
  41008. .IP "n)" 3
  41009. New remote
  41010. .IP "o)" 3
  41011. Delete remote
  41012. .IP "p)" 3
  41013. Quit config e/n/d/q> n name> remote Type of storage to configure.
  41014. Choose a number from below, or type in your own value [snip] XX / Google
  41015. Cloud Storage (this is not Google Drive) \ \[dq]google cloud
  41016. storage\[dq] [snip] Storage> google cloud storage Google Application
  41017. Client Id - leave blank normally.
  41018. client_id> Google Application Client Secret - leave blank normally.
  41019. client_secret> Project number optional - needed only for
  41020. list/create/delete buckets - see your developer console.
  41021. project_number> 12345678 Service Account Credentials JSON file path -
  41022. needed only if you want use SA instead of interactive login.
  41023. service_account_file> Access Control List for new objects.
  41024. Choose a number from below, or type in your own value 1 / Object owner
  41025. gets OWNER access, and all Authenticated Users get READER access.
  41026. \ \[dq]authenticatedRead\[dq] 2 / Object owner gets OWNER access, and
  41027. project team owners get OWNER access.
  41028. \ \[dq]bucketOwnerFullControl\[dq] 3 / Object owner gets OWNER access,
  41029. and project team owners get READER access.
  41030. \ \[dq]bucketOwnerRead\[dq] 4 / Object owner gets OWNER access [default
  41031. if left blank].
  41032. \ \[dq]private\[dq] 5 / Object owner gets OWNER access, and project team
  41033. members get access according to their roles.
  41034. \ \[dq]projectPrivate\[dq] 6 / Object owner gets OWNER access, and all
  41035. Users get READER access.
  41036. \ \[dq]publicRead\[dq] object_acl> 4 Access Control List for new
  41037. buckets.
  41038. Choose a number from below, or type in your own value 1 / Project team
  41039. owners get OWNER access, and all Authenticated Users get READER access.
  41040. \ \[dq]authenticatedRead\[dq] 2 / Project team owners get OWNER access
  41041. [default if left blank].
  41042. \ \[dq]private\[dq] 3 / Project team members get access according to
  41043. their roles.
  41044. \ \[dq]projectPrivate\[dq] 4 / Project team owners get OWNER access, and
  41045. all Users get READER access.
  41046. \ \[dq]publicRead\[dq] 5 / Project team owners get OWNER access, and all
  41047. Users get WRITER access.
  41048. \ \[dq]publicReadWrite\[dq] bucket_acl> 2 Location for the newly created
  41049. buckets.
  41050. Choose a number from below, or type in your own value 1 / Empty for
  41051. default location (US).
  41052. \ \[dq]\[dq] 2 / Multi-regional location for Asia.
  41053. \ \[dq]asia\[dq] 3 / Multi-regional location for Europe.
  41054. \ \[dq]eu\[dq] 4 / Multi-regional location for United States.
  41055. \ \[dq]us\[dq] 5 / Taiwan.
  41056. \ \[dq]asia-east1\[dq] 6 / Tokyo.
  41057. \ \[dq]asia-northeast1\[dq] 7 / Singapore.
  41058. \ \[dq]asia-southeast1\[dq] 8 / Sydney.
  41059. \ \[dq]australia-southeast1\[dq] 9 / Belgium.
  41060. \ \[dq]europe-west1\[dq] 10 / London.
  41061. \ \[dq]europe-west2\[dq] 11 / Iowa.
  41062. \ \[dq]us-central1\[dq] 12 / South Carolina.
  41063. \ \[dq]us-east1\[dq] 13 / Northern Virginia.
  41064. \ \[dq]us-east4\[dq] 14 / Oregon.
  41065. \ \[dq]us-west1\[dq] location> 12 The storage class to use when storing
  41066. objects in Google Cloud Storage.
  41067. Choose a number from below, or type in your own value 1 / Default
  41068. \ \[dq]\[dq] 2 / Multi-regional storage class \ \[dq]MULTI_REGIONAL\[dq]
  41069. 3 / Regional storage class \ \[dq]REGIONAL\[dq] 4 / Nearline storage
  41070. class \ \[dq]NEARLINE\[dq] 5 / Coldline storage class
  41071. \ \[dq]COLDLINE\[dq] 6 / Durable reduced availability storage class
  41072. \ \[dq]DURABLE_REDUCED_AVAILABILITY\[dq] storage_class> 5 Remote config
  41073. Use web browser to automatically authenticate rclone with remote?
  41074. .IP \[bu] 2
  41075. Say Y if the machine running rclone has a web browser you can use
  41076. .IP \[bu] 2
  41077. Say N if running rclone on a (remote) machine without web browser access
  41078. If not sure try Y.
  41079. If Y failed, try N.
  41080. .IP "y)" 3
  41081. Yes
  41082. .IP "z)" 3
  41083. No y/n> y If your browser doesn\[aq]t open automatically go to the
  41084. following link: http://127.0.0.1:53682/auth Log in and authorize rclone
  41085. for access Waiting for code...
  41086. Got code -------------------- [remote] type = google cloud storage
  41087. client_id = client_secret = token =
  41088. {\[dq]AccessToken\[dq]:\[dq]xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]RefreshToken\[dq]:\[dq]x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx\[dq],\[dq]Expiry\[dq]:\[dq]2014-07-17T20:49:14.929208288+01:00\[dq],\[dq]Extra\[dq]:null}
  41089. project_number = 12345678 object_acl = private bucket_acl = private
  41090. --------------------
  41091. .IP "a)" 3
  41092. Yes this is OK
  41093. .IP "b)" 3
  41094. Edit this remote
  41095. .IP "c)" 3
  41096. Delete this remote y/e/d> y
  41097. .IP
  41098. .nf
  41099. \f[C]
  41100. See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
  41101. machine with no Internet browser available.
  41102. Note that rclone runs a webserver on your local machine to collect the
  41103. token as returned from Google if using web browser to automatically
  41104. authenticate. This only
  41105. runs from the moment it opens your browser to the moment you get back
  41106. the verification code. This is on \[ga]http://127.0.0.1:53682/\[ga] and this
  41107. it may require you to unblock it temporarily if you are running a host
  41108. firewall, or use manual mode.
  41109. This remote is called \[ga]remote\[ga] and can now be used like this
  41110. See all the buckets in your project
  41111. rclone lsd remote:
  41112. Make a new bucket
  41113. rclone mkdir remote:bucket
  41114. List the contents of a bucket
  41115. rclone ls remote:bucket
  41116. Sync \[ga]/home/local/directory\[ga] to the remote bucket, deleting any excess
  41117. files in the bucket.
  41118. rclone sync --interactive /home/local/directory remote:bucket
  41119. ### Service Account support
  41120. You can set up rclone with Google Cloud Storage in an unattended mode,
  41121. i.e. not tied to a specific end-user Google account. This is useful
  41122. when you want to synchronise files onto machines that don\[aq]t have
  41123. actively logged-in users, for example build machines.
  41124. To get credentials for Google Cloud Platform
  41125. [IAM Service Accounts](https://cloud.google.com/iam/docs/service-accounts),
  41126. please head to the
  41127. [Service Account](https://console.cloud.google.com/permissions/serviceaccounts)
  41128. section of the Google Developer Console. Service Accounts behave just
  41129. like normal \[ga]User\[ga] permissions in
  41130. [Google Cloud Storage ACLs](https://cloud.google.com/storage/docs/access-control),
  41131. so you can limit their access (e.g. make them read only). After
  41132. creating an account, a JSON file containing the Service Account\[aq]s
  41133. credentials will be downloaded onto your machines. These credentials
  41134. are what rclone will use for authentication.
  41135. To use a Service Account instead of OAuth2 token flow, enter the path
  41136. to your Service Account credentials at the \[ga]service_account_file\[ga]
  41137. prompt and rclone won\[aq]t use the browser based authentication
  41138. flow. If you\[aq]d rather stuff the contents of the credentials file into
  41139. the rclone config file, you can set \[ga]service_account_credentials\[ga] with
  41140. the actual contents of the file instead, or set the equivalent
  41141. environment variable.
  41142. ### Anonymous Access
  41143. For downloads of objects that permit public access you can configure rclone
  41144. to use anonymous access by setting \[ga]anonymous\[ga] to \[ga]true\[ga].
  41145. With unauthorized access you can\[aq]t write or create files but only read or list
  41146. those buckets and objects that have public read access.
  41147. ### Application Default Credentials
  41148. If no other source of credentials is provided, rclone will fall back
  41149. to
  41150. [Application Default Credentials](https://cloud.google.com/video-intelligence/docs/common/auth#authenticating_with_application_default_credentials)
  41151. this is useful both when you already have configured authentication
  41152. for your developer account, or in production when running on a google
  41153. compute host. Note that if running in docker, you may need to run
  41154. additional commands on your google compute machine -
  41155. [see this page](https://cloud.google.com/container-registry/docs/advanced-authentication#gcloud_as_a_docker_credential_helper).
  41156. Note that in the case application default credentials are used, there
  41157. is no need to explicitly configure a project number.
  41158. ### --fast-list
  41159. This remote supports \[ga]--fast-list\[ga] which allows you to use fewer
  41160. transactions in exchange for more memory. See the [rclone
  41161. docs](https://rclone.org/docs/#fast-list) for more details.
  41162. ### Custom upload headers
  41163. You can set custom upload headers with the \[ga]--header-upload\[ga]
  41164. flag. Google Cloud Storage supports the headers as described in the
  41165. [working with metadata documentation](https://cloud.google.com/storage/docs/gsutil/addlhelp/WorkingWithObjectMetadata)
  41166. - Cache-Control
  41167. - Content-Disposition
  41168. - Content-Encoding
  41169. - Content-Language
  41170. - Content-Type
  41171. - X-Goog-Storage-Class
  41172. - X-Goog-Meta-
  41173. Eg \[ga]--header-upload \[dq]Content-Type text/potato\[dq]\[ga]
  41174. Note that the last of these is for setting custom metadata in the form
  41175. \[ga]--header-upload \[dq]x-goog-meta-key: value\[dq]\[ga]
  41176. ### Modification times
  41177. Google Cloud Storage stores md5sum natively.
  41178. Google\[aq]s [gsutil](https://cloud.google.com/storage/docs/gsutil) tool stores modification time
  41179. with one-second precision as \[ga]goog-reserved-file-mtime\[ga] in file metadata.
  41180. To ensure compatibility with gsutil, rclone stores modification time in 2 separate metadata entries.
  41181. \[ga]mtime\[ga] uses RFC3339 format with one-nanosecond precision.
  41182. \[ga]goog-reserved-file-mtime\[ga] uses Unix timestamp format with one-second precision.
  41183. To get modification time from object metadata, rclone reads the metadata in the following order: \[ga]mtime\[ga], \[ga]goog-reserved-file-mtime\[ga], object updated time.
  41184. Note that rclone\[aq]s default modify window is 1ns.
  41185. Files uploaded by gsutil only contain timestamps with one-second precision.
  41186. If you use rclone to sync files previously uploaded by gsutil,
  41187. rclone will attempt to update modification time for all these files.
  41188. To avoid these possibly unnecessary updates, use \[ga]--modify-window 1s\[ga].
  41189. ### Restricted filename characters
  41190. | Character | Value | Replacement |
  41191. | --------- |:-----:|:-----------:|
  41192. | NUL | 0x00 | \[u2400] |
  41193. | LF | 0x0A | \[u240A] |
  41194. | CR | 0x0D | \[u240D] |
  41195. | / | 0x2F | \[uFF0F] |
  41196. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  41197. as they can\[aq]t be used in JSON strings.
  41198. ### Standard options
  41199. Here are the Standard options specific to google cloud storage (Google Cloud Storage (this is not Google Drive)).
  41200. #### --gcs-client-id
  41201. OAuth Client Id.
  41202. Leave blank normally.
  41203. Properties:
  41204. - Config: client_id
  41205. - Env Var: RCLONE_GCS_CLIENT_ID
  41206. - Type: string
  41207. - Required: false
  41208. #### --gcs-client-secret
  41209. OAuth Client Secret.
  41210. Leave blank normally.
  41211. Properties:
  41212. - Config: client_secret
  41213. - Env Var: RCLONE_GCS_CLIENT_SECRET
  41214. - Type: string
  41215. - Required: false
  41216. #### --gcs-project-number
  41217. Project number.
  41218. Optional - needed only for list/create/delete buckets - see your developer console.
  41219. Properties:
  41220. - Config: project_number
  41221. - Env Var: RCLONE_GCS_PROJECT_NUMBER
  41222. - Type: string
  41223. - Required: false
  41224. #### --gcs-user-project
  41225. User project.
  41226. Optional - needed only for requester pays.
  41227. Properties:
  41228. - Config: user_project
  41229. - Env Var: RCLONE_GCS_USER_PROJECT
  41230. - Type: string
  41231. - Required: false
  41232. #### --gcs-service-account-file
  41233. Service Account Credentials JSON file path.
  41234. Leave blank normally.
  41235. Needed only if you want use SA instead of interactive login.
  41236. Leading \[ga]\[ti]\[ga] will be expanded in the file name as will environment variables such as \[ga]${RCLONE_CONFIG_DIR}\[ga].
  41237. Properties:
  41238. - Config: service_account_file
  41239. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE
  41240. - Type: string
  41241. - Required: false
  41242. #### --gcs-service-account-credentials
  41243. Service Account Credentials JSON blob.
  41244. Leave blank normally.
  41245. Needed only if you want use SA instead of interactive login.
  41246. Properties:
  41247. - Config: service_account_credentials
  41248. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
  41249. - Type: string
  41250. - Required: false
  41251. #### --gcs-anonymous
  41252. Access public buckets and objects without credentials.
  41253. Set to \[aq]true\[aq] if you just want to download files and don\[aq]t configure credentials.
  41254. Properties:
  41255. - Config: anonymous
  41256. - Env Var: RCLONE_GCS_ANONYMOUS
  41257. - Type: bool
  41258. - Default: false
  41259. #### --gcs-object-acl
  41260. Access Control List for new objects.
  41261. Properties:
  41262. - Config: object_acl
  41263. - Env Var: RCLONE_GCS_OBJECT_ACL
  41264. - Type: string
  41265. - Required: false
  41266. - Examples:
  41267. - \[dq]authenticatedRead\[dq]
  41268. - Object owner gets OWNER access.
  41269. - All Authenticated Users get READER access.
  41270. - \[dq]bucketOwnerFullControl\[dq]
  41271. - Object owner gets OWNER access.
  41272. - Project team owners get OWNER access.
  41273. - \[dq]bucketOwnerRead\[dq]
  41274. - Object owner gets OWNER access.
  41275. - Project team owners get READER access.
  41276. - \[dq]private\[dq]
  41277. - Object owner gets OWNER access.
  41278. - Default if left blank.
  41279. - \[dq]projectPrivate\[dq]
  41280. - Object owner gets OWNER access.
  41281. - Project team members get access according to their roles.
  41282. - \[dq]publicRead\[dq]
  41283. - Object owner gets OWNER access.
  41284. - All Users get READER access.
  41285. #### --gcs-bucket-acl
  41286. Access Control List for new buckets.
  41287. Properties:
  41288. - Config: bucket_acl
  41289. - Env Var: RCLONE_GCS_BUCKET_ACL
  41290. - Type: string
  41291. - Required: false
  41292. - Examples:
  41293. - \[dq]authenticatedRead\[dq]
  41294. - Project team owners get OWNER access.
  41295. - All Authenticated Users get READER access.
  41296. - \[dq]private\[dq]
  41297. - Project team owners get OWNER access.
  41298. - Default if left blank.
  41299. - \[dq]projectPrivate\[dq]
  41300. - Project team members get access according to their roles.
  41301. - \[dq]publicRead\[dq]
  41302. - Project team owners get OWNER access.
  41303. - All Users get READER access.
  41304. - \[dq]publicReadWrite\[dq]
  41305. - Project team owners get OWNER access.
  41306. - All Users get WRITER access.
  41307. #### --gcs-bucket-policy-only
  41308. Access checks should use bucket-level IAM policies.
  41309. If you want to upload objects to a bucket with Bucket Policy Only set
  41310. then you will need to set this.
  41311. When it is set, rclone:
  41312. - ignores ACLs set on buckets
  41313. - ignores ACLs set on objects
  41314. - creates buckets with Bucket Policy Only set
  41315. Docs: https://cloud.google.com/storage/docs/bucket-policy-only
  41316. Properties:
  41317. - Config: bucket_policy_only
  41318. - Env Var: RCLONE_GCS_BUCKET_POLICY_ONLY
  41319. - Type: bool
  41320. - Default: false
  41321. #### --gcs-location
  41322. Location for the newly created buckets.
  41323. Properties:
  41324. - Config: location
  41325. - Env Var: RCLONE_GCS_LOCATION
  41326. - Type: string
  41327. - Required: false
  41328. - Examples:
  41329. - \[dq]\[dq]
  41330. - Empty for default location (US)
  41331. - \[dq]asia\[dq]
  41332. - Multi-regional location for Asia
  41333. - \[dq]eu\[dq]
  41334. - Multi-regional location for Europe
  41335. - \[dq]us\[dq]
  41336. - Multi-regional location for United States
  41337. - \[dq]asia-east1\[dq]
  41338. - Taiwan
  41339. - \[dq]asia-east2\[dq]
  41340. - Hong Kong
  41341. - \[dq]asia-northeast1\[dq]
  41342. - Tokyo
  41343. - \[dq]asia-northeast2\[dq]
  41344. - Osaka
  41345. - \[dq]asia-northeast3\[dq]
  41346. - Seoul
  41347. - \[dq]asia-south1\[dq]
  41348. - Mumbai
  41349. - \[dq]asia-south2\[dq]
  41350. - Delhi
  41351. - \[dq]asia-southeast1\[dq]
  41352. - Singapore
  41353. - \[dq]asia-southeast2\[dq]
  41354. - Jakarta
  41355. - \[dq]australia-southeast1\[dq]
  41356. - Sydney
  41357. - \[dq]australia-southeast2\[dq]
  41358. - Melbourne
  41359. - \[dq]europe-north1\[dq]
  41360. - Finland
  41361. - \[dq]europe-west1\[dq]
  41362. - Belgium
  41363. - \[dq]europe-west2\[dq]
  41364. - London
  41365. - \[dq]europe-west3\[dq]
  41366. - Frankfurt
  41367. - \[dq]europe-west4\[dq]
  41368. - Netherlands
  41369. - \[dq]europe-west6\[dq]
  41370. - Z\[:u]rich
  41371. - \[dq]europe-central2\[dq]
  41372. - Warsaw
  41373. - \[dq]us-central1\[dq]
  41374. - Iowa
  41375. - \[dq]us-east1\[dq]
  41376. - South Carolina
  41377. - \[dq]us-east4\[dq]
  41378. - Northern Virginia
  41379. - \[dq]us-west1\[dq]
  41380. - Oregon
  41381. - \[dq]us-west2\[dq]
  41382. - California
  41383. - \[dq]us-west3\[dq]
  41384. - Salt Lake City
  41385. - \[dq]us-west4\[dq]
  41386. - Las Vegas
  41387. - \[dq]northamerica-northeast1\[dq]
  41388. - Montr\['e]al
  41389. - \[dq]northamerica-northeast2\[dq]
  41390. - Toronto
  41391. - \[dq]southamerica-east1\[dq]
  41392. - S\[~a]o Paulo
  41393. - \[dq]southamerica-west1\[dq]
  41394. - Santiago
  41395. - \[dq]asia1\[dq]
  41396. - Dual region: asia-northeast1 and asia-northeast2.
  41397. - \[dq]eur4\[dq]
  41398. - Dual region: europe-north1 and europe-west4.
  41399. - \[dq]nam4\[dq]
  41400. - Dual region: us-central1 and us-east1.
  41401. #### --gcs-storage-class
  41402. The storage class to use when storing objects in Google Cloud Storage.
  41403. Properties:
  41404. - Config: storage_class
  41405. - Env Var: RCLONE_GCS_STORAGE_CLASS
  41406. - Type: string
  41407. - Required: false
  41408. - Examples:
  41409. - \[dq]\[dq]
  41410. - Default
  41411. - \[dq]MULTI_REGIONAL\[dq]
  41412. - Multi-regional storage class
  41413. - \[dq]REGIONAL\[dq]
  41414. - Regional storage class
  41415. - \[dq]NEARLINE\[dq]
  41416. - Nearline storage class
  41417. - \[dq]COLDLINE\[dq]
  41418. - Coldline storage class
  41419. - \[dq]ARCHIVE\[dq]
  41420. - Archive storage class
  41421. - \[dq]DURABLE_REDUCED_AVAILABILITY\[dq]
  41422. - Durable reduced availability storage class
  41423. #### --gcs-env-auth
  41424. Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars).
  41425. Only applies if service_account_file and service_account_credentials is blank.
  41426. Properties:
  41427. - Config: env_auth
  41428. - Env Var: RCLONE_GCS_ENV_AUTH
  41429. - Type: bool
  41430. - Default: false
  41431. - Examples:
  41432. - \[dq]false\[dq]
  41433. - Enter credentials in the next step.
  41434. - \[dq]true\[dq]
  41435. - Get GCP IAM credentials from the environment (env vars or IAM).
  41436. ### Advanced options
  41437. Here are the Advanced options specific to google cloud storage (Google Cloud Storage (this is not Google Drive)).
  41438. #### --gcs-token
  41439. OAuth Access Token as a JSON blob.
  41440. Properties:
  41441. - Config: token
  41442. - Env Var: RCLONE_GCS_TOKEN
  41443. - Type: string
  41444. - Required: false
  41445. #### --gcs-auth-url
  41446. Auth server URL.
  41447. Leave blank to use the provider defaults.
  41448. Properties:
  41449. - Config: auth_url
  41450. - Env Var: RCLONE_GCS_AUTH_URL
  41451. - Type: string
  41452. - Required: false
  41453. #### --gcs-token-url
  41454. Token server url.
  41455. Leave blank to use the provider defaults.
  41456. Properties:
  41457. - Config: token_url
  41458. - Env Var: RCLONE_GCS_TOKEN_URL
  41459. - Type: string
  41460. - Required: false
  41461. #### --gcs-directory-markers
  41462. Upload an empty object with a trailing slash when a new directory is created
  41463. Empty folders are unsupported for bucket based remotes, this option creates an empty
  41464. object ending with \[dq]/\[dq], to persist the folder.
  41465. Properties:
  41466. - Config: directory_markers
  41467. - Env Var: RCLONE_GCS_DIRECTORY_MARKERS
  41468. - Type: bool
  41469. - Default: false
  41470. #### --gcs-no-check-bucket
  41471. If set, don\[aq]t attempt to check the bucket exists or create it.
  41472. This can be useful when trying to minimise the number of transactions
  41473. rclone does if you know the bucket exists already.
  41474. Properties:
  41475. - Config: no_check_bucket
  41476. - Env Var: RCLONE_GCS_NO_CHECK_BUCKET
  41477. - Type: bool
  41478. - Default: false
  41479. #### --gcs-decompress
  41480. If set this will decompress gzip encoded objects.
  41481. It is possible to upload objects to GCS with \[dq]Content-Encoding: gzip\[dq]
  41482. set. Normally rclone will download these files as compressed objects.
  41483. If this flag is set then rclone will decompress these files with
  41484. \[dq]Content-Encoding: gzip\[dq] as they are received. This means that rclone
  41485. can\[aq]t check the size and hash but the file contents will be decompressed.
  41486. Properties:
  41487. - Config: decompress
  41488. - Env Var: RCLONE_GCS_DECOMPRESS
  41489. - Type: bool
  41490. - Default: false
  41491. #### --gcs-endpoint
  41492. Endpoint for the service.
  41493. Leave blank normally.
  41494. Properties:
  41495. - Config: endpoint
  41496. - Env Var: RCLONE_GCS_ENDPOINT
  41497. - Type: string
  41498. - Required: false
  41499. #### --gcs-encoding
  41500. The encoding for the backend.
  41501. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  41502. Properties:
  41503. - Config: encoding
  41504. - Env Var: RCLONE_GCS_ENCODING
  41505. - Type: Encoding
  41506. - Default: Slash,CrLf,InvalidUtf8,Dot
  41507. #### --gcs-description
  41508. Description of the remote
  41509. Properties:
  41510. - Config: description
  41511. - Env Var: RCLONE_GCS_DESCRIPTION
  41512. - Type: string
  41513. - Required: false
  41514. ## Limitations
  41515. \[ga]rclone about\[ga] is not supported by the Google Cloud Storage backend. Backends without
  41516. this capability cannot determine free space for an rclone mount or
  41517. use policy \[ga]mfs\[ga] (most free space) as a member of an rclone union
  41518. remote.
  41519. See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
  41520. # Google Drive
  41521. Paths are specified as \[ga]drive:path\[ga]
  41522. Drive paths may be as deep as required, e.g. \[ga]drive:directory/subdirectory\[ga].
  41523. ## Configuration
  41524. The initial setup for drive involves getting a token from Google drive
  41525. which you need to do in your browser. \[ga]rclone config\[ga] walks you
  41526. through it.
  41527. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  41528. rclone config
  41529. This will guide you through an interactive setup process:
  41530. \f[R]
  41531. .fi
  41532. .PP
  41533. No remotes found, make a new one?
  41534. n) New remote r) Rename remote c) Copy remote s) Set configuration
  41535. password q) Quit config n/r/c/s/q> n name> remote Type of storage to
  41536. configure.
  41537. Choose a number from below, or type in your own value [snip] XX / Google
  41538. Drive \ \[dq]drive\[dq] [snip] Storage> drive Google Application Client
  41539. Id - leave blank normally.
  41540. client_id> Google Application Client Secret - leave blank normally.
  41541. client_secret> Scope that rclone should use when requesting access from
  41542. drive.
  41543. Choose a number from below, or type in your own value 1 / Full access
  41544. all files, excluding Application Data Folder.
  41545. \ \[dq]drive\[dq] 2 / Read-only access to file metadata and file
  41546. contents.
  41547. \ \[dq]drive.readonly\[dq] / Access to files created by rclone only.
  41548. 3 | These are visible in the drive website.
  41549. | File authorization is revoked when the user deauthorizes the app.
  41550. \ \[dq]drive.file\[dq] / Allows read and write access to the Application
  41551. Data folder.
  41552. 4 | This is not visible in the drive website.
  41553. \ \[dq]drive.appfolder\[dq] / Allows read-only access to file metadata
  41554. but 5 | does not allow any access to read or download file content.
  41555. \ \[dq]drive.metadata.readonly\[dq] scope> 1 Service Account Credentials
  41556. JSON file path - needed only if you want use SA instead of interactive
  41557. login.
  41558. service_account_file> Remote config Use web browser to automatically
  41559. authenticate rclone with remote?
  41560. * Say Y if the machine running rclone has a web browser you can use *
  41561. Say N if running rclone on a (remote) machine without web browser access
  41562. If not sure try Y.
  41563. If Y failed, try N.
  41564. y) Yes n) No y/n> y If your browser doesn\[aq]t open automatically go to
  41565. the following link: http://127.0.0.1:53682/auth Log in and authorize
  41566. rclone for access Waiting for code...
  41567. Got code Configure this as a Shared Drive (Team Drive)?
  41568. y) Yes n) No y/n> n -------------------- [remote] client_id =
  41569. client_secret = scope = drive root_folder_id = service_account_file =
  41570. token =
  41571. {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2014-03-16T13:57:58.955387075Z\[dq]}
  41572. -------------------- y) Yes this is OK e) Edit this remote d) Delete
  41573. this remote y/e/d> y
  41574. .IP
  41575. .nf
  41576. \f[C]
  41577. See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
  41578. machine with no Internet browser available.
  41579. Note that rclone runs a webserver on your local machine to collect the
  41580. token as returned from Google if using web browser to automatically
  41581. authenticate. This only
  41582. runs from the moment it opens your browser to the moment you get back
  41583. the verification code. This is on \[ga]http://127.0.0.1:53682/\[ga] and it
  41584. may require you to unblock it temporarily if you are running a host
  41585. firewall, or use manual mode.
  41586. You can then use it like this,
  41587. List directories in top level of your drive
  41588. rclone lsd remote:
  41589. List all the files in your drive
  41590. rclone ls remote:
  41591. To copy a local directory to a drive directory called backup
  41592. rclone copy /home/source remote:backup
  41593. ### Scopes
  41594. Rclone allows you to select which scope you would like for rclone to
  41595. use. This changes what type of token is granted to rclone. [The
  41596. scopes are defined
  41597. here](https://developers.google.com/drive/v3/web/about-auth).
  41598. A comma-separated list is allowed e.g. \[ga]drive.readonly,drive.file\[ga].
  41599. The scope are
  41600. #### drive
  41601. This is the default scope and allows full access to all files, except
  41602. for the Application Data Folder (see below).
  41603. Choose this one if you aren\[aq]t sure.
  41604. #### drive.readonly
  41605. This allows read only access to all files. Files may be listed and
  41606. downloaded but not uploaded, renamed or deleted.
  41607. #### drive.file
  41608. With this scope rclone can read/view/modify only those files and
  41609. folders it creates.
  41610. So if you uploaded files to drive via the web interface (or any other
  41611. means) they will not be visible to rclone.
  41612. This can be useful if you are using rclone to backup data and you want
  41613. to be sure confidential data on your drive is not visible to rclone.
  41614. Files created with this scope are visible in the web interface.
  41615. #### drive.appfolder
  41616. This gives rclone its own private area to store files. Rclone will
  41617. not be able to see any other files on your drive and you won\[aq]t be able
  41618. to see rclone\[aq]s files from the web interface either.
  41619. #### drive.metadata.readonly
  41620. This allows read only access to file names only. It does not allow
  41621. rclone to download or upload data, or rename or delete files or
  41622. directories.
  41623. ### Root folder ID
  41624. This option has been moved to the advanced section. You can set the \[ga]root_folder_id\[ga] for rclone. This is the directory
  41625. (identified by its \[ga]Folder ID\[ga]) that rclone considers to be the root
  41626. of your drive.
  41627. Normally you will leave this blank and rclone will determine the
  41628. correct root to use itself.
  41629. However you can set this to restrict rclone to a specific folder
  41630. hierarchy or to access data within the \[dq]Computers\[dq] tab on the drive
  41631. web interface (where files from Google\[aq]s Backup and Sync desktop
  41632. program go).
  41633. In order to do this you will have to find the \[ga]Folder ID\[ga] of the
  41634. directory you wish rclone to display. This will be the last segment
  41635. of the URL when you open the relevant folder in the drive web
  41636. interface.
  41637. So if the folder you want rclone to use has a URL which looks like
  41638. \[ga]https://drive.google.com/drive/folders/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh\[ga]
  41639. in the browser, then you use \[ga]1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh\[ga] as
  41640. the \[ga]root_folder_id\[ga] in the config.
  41641. **NB** folders under the \[dq]Computers\[dq] tab seem to be read only (drive
  41642. gives a 500 error) when using rclone.
  41643. There doesn\[aq]t appear to be an API to discover the folder IDs of the
  41644. \[dq]Computers\[dq] tab - please contact us if you know otherwise!
  41645. Note also that rclone can\[aq]t access any data under the \[dq]Backups\[dq] tab on
  41646. the google drive web interface yet.
  41647. ### Service Account support
  41648. You can set up rclone with Google Drive in an unattended mode,
  41649. i.e. not tied to a specific end-user Google account. This is useful
  41650. when you want to synchronise files onto machines that don\[aq]t have
  41651. actively logged-in users, for example build machines.
  41652. To use a Service Account instead of OAuth2 token flow, enter the path
  41653. to your Service Account credentials at the \[ga]service_account_file\[ga]
  41654. prompt during \[ga]rclone config\[ga] and rclone won\[aq]t use the browser based
  41655. authentication flow. If you\[aq]d rather stuff the contents of the
  41656. credentials file into the rclone config file, you can set
  41657. \[ga]service_account_credentials\[ga] with the actual contents of the file
  41658. instead, or set the equivalent environment variable.
  41659. #### Use case - Google Apps/G-suite account and individual Drive
  41660. Let\[aq]s say that you are the administrator of a Google Apps (old) or
  41661. G-suite account.
  41662. The goal is to store data on an individual\[aq]s Drive account, who IS
  41663. a member of the domain.
  41664. We\[aq]ll call the domain **example.com**, and the user
  41665. **foo\[at]example.com**.
  41666. There\[aq]s a few steps we need to go through to accomplish this:
  41667. ##### 1. Create a service account for example.com
  41668. - To create a service account and obtain its credentials, go to the
  41669. [Google Developer Console](https://console.developers.google.com).
  41670. - You must have a project - create one if you don\[aq]t.
  41671. - Then go to \[dq]IAM & admin\[dq] -> \[dq]Service Accounts\[dq].
  41672. - Use the \[dq]Create Service Account\[dq] button. Fill in \[dq]Service account name\[dq]
  41673. and \[dq]Service account ID\[dq] with something that identifies your client.
  41674. - Select \[dq]Create And Continue\[dq]. Step 2 and 3 are optional.
  41675. - These credentials are what rclone will use for authentication.
  41676. If you ever need to remove access, press the \[dq]Delete service
  41677. account key\[dq] button.
  41678. ##### 2. Allowing API access to example.com Google Drive
  41679. - Go to example.com\[aq]s admin console
  41680. - Go into \[dq]Security\[dq] (or use the search bar)
  41681. - Select \[dq]Show more\[dq] and then \[dq]Advanced settings\[dq]
  41682. - Select \[dq]Manage API client access\[dq] in the \[dq]Authentication\[dq] section
  41683. - In the \[dq]Client Name\[dq] field enter the service account\[aq]s
  41684. \[dq]Client ID\[dq] - this can be found in the Developer Console under
  41685. \[dq]IAM & Admin\[dq] -> \[dq]Service Accounts\[dq], then \[dq]View Client ID\[dq] for
  41686. the newly created service account.
  41687. It is a \[ti]21 character numerical string.
  41688. - In the next field, \[dq]One or More API Scopes\[dq], enter
  41689. \[ga]https://www.googleapis.com/auth/drive\[ga]
  41690. to grant access to Google Drive specifically.
  41691. ##### 3. Configure rclone, assuming a new install
  41692. \f[R]
  41693. .fi
  41694. .PP
  41695. rclone config
  41696. .PP
  41697. n/s/q> n # New name>gdrive # Gdrive is an example name Storage> # Select
  41698. the number shown for Google Drive client_id> # Can be left blank
  41699. client_secret> # Can be left blank scope> # Select your scope, 1 for
  41700. example root_folder_id> # Can be left blank service_account_file>
  41701. /home/foo/myJSONfile.json # This is where the JSON file goes! y/n> #
  41702. Auto config, n
  41703. .IP
  41704. .nf
  41705. \f[C]
  41706. ##### 4. Verify that it\[aq]s working
  41707. - \[ga]rclone -v --drive-impersonate foo\[at]example.com lsf gdrive:backup\[ga]
  41708. - The arguments do:
  41709. - \[ga]-v\[ga] - verbose logging
  41710. - \[ga]--drive-impersonate foo\[at]example.com\[ga] - this is what does
  41711. the magic, pretending to be user foo.
  41712. - \[ga]lsf\[ga] - list files in a parsing friendly way
  41713. - \[ga]gdrive:backup\[ga] - use the remote called gdrive, work in
  41714. the folder named backup.
  41715. Note: in case you configured a specific root folder on gdrive and rclone is unable to access the contents of that folder when using \[ga]--drive-impersonate\[ga], do this instead:
  41716. - in the gdrive web interface, share your root folder with the user/email of the new Service Account you created/selected at step #1
  41717. - use rclone without specifying the \[ga]--drive-impersonate\[ga] option, like this:
  41718. \[ga]rclone -v lsf gdrive:backup\[ga]
  41719. ### Shared drives (team drives)
  41720. If you want to configure the remote to point to a Google Shared Drive
  41721. (previously known as Team Drives) then answer \[ga]y\[ga] to the question
  41722. \[ga]Configure this as a Shared Drive (Team Drive)?\[ga].
  41723. This will fetch the list of Shared Drives from google and allow you to
  41724. configure which one you want to use. You can also type in a Shared
  41725. Drive ID if you prefer.
  41726. For example:
  41727. \f[R]
  41728. .fi
  41729. .PP
  41730. Configure this as a Shared Drive (Team Drive)?
  41731. y) Yes n) No y/n> y Fetching Shared Drive list...
  41732. Choose a number from below, or type in your own value 1 / Rclone Test
  41733. \ \[dq]xxxxxxxxxxxxxxxxxxxx\[dq] 2 / Rclone Test 2
  41734. \ \[dq]yyyyyyyyyyyyyyyyyyyy\[dq] 3 / Rclone Test 3
  41735. \ \[dq]zzzzzzzzzzzzzzzzzzzz\[dq] Enter a Shared Drive ID> 1
  41736. -------------------- [remote] client_id = client_secret = token =
  41737. {\[dq]AccessToken\[dq]:\[dq]xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]RefreshToken\[dq]:\[dq]1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]Expiry\[dq]:\[dq]2014-03-16T13:57:58.955387075Z\[dq],\[dq]Extra\[dq]:null}
  41738. team_drive = xxxxxxxxxxxxxxxxxxxx -------------------- y) Yes this is OK
  41739. e) Edit this remote d) Delete this remote y/e/d> y
  41740. .IP
  41741. .nf
  41742. \f[C]
  41743. ### --fast-list
  41744. This remote supports \[ga]--fast-list\[ga] which allows you to use fewer
  41745. transactions in exchange for more memory. See the [rclone
  41746. docs](https://rclone.org/docs/#fast-list) for more details.
  41747. It does this by combining multiple \[ga]list\[ga] calls into a single API request.
  41748. This works by combining many \[ga]\[aq]%s\[aq] in parents\[ga] filters into one expression.
  41749. To list the contents of directories a, b and c, the following requests will be send by the regular \[ga]List\[ga] function:
  41750. \f[R]
  41751. .fi
  41752. .PP
  41753. trashed=false and \[aq]a\[aq] in parents trashed=false and \[aq]b\[aq]
  41754. in parents trashed=false and \[aq]c\[aq] in parents
  41755. .IP
  41756. .nf
  41757. \f[C]
  41758. These can now be combined into a single request:
  41759. \f[R]
  41760. .fi
  41761. .PP
  41762. trashed=false and (\[aq]a\[aq] in parents or \[aq]b\[aq] in parents or
  41763. \[aq]c\[aq] in parents)
  41764. .IP
  41765. .nf
  41766. \f[C]
  41767. The implementation of \[ga]ListR\[ga] will put up to 50 \[ga]parents\[ga] filters into one request.
  41768. It will use the \[ga]--checkers\[ga] value to specify the number of requests to run in parallel.
  41769. In tests, these batch requests were up to 20x faster than the regular method.
  41770. Running the following command against different sized folders gives:
  41771. \f[R]
  41772. .fi
  41773. .PP
  41774. rclone lsjson -vv -R --checkers=6 gdrive:folder
  41775. .IP
  41776. .nf
  41777. \f[C]
  41778. small folder (220 directories, 700 files):
  41779. - without \[ga]--fast-list\[ga]: 38s
  41780. - with \[ga]--fast-list\[ga]: 10s
  41781. large folder (10600 directories, 39000 files):
  41782. - without \[ga]--fast-list\[ga]: 22:05 min
  41783. - with \[ga]--fast-list\[ga]: 58s
  41784. ### Modification times and hashes
  41785. Google drive stores modification times accurate to 1 ms.
  41786. Hash algorithms MD5, SHA1 and SHA256 are supported. Note, however,
  41787. that a small fraction of files uploaded may not have SHA1 or SHA256
  41788. hashes especially if they were uploaded before 2018.
  41789. ### Restricted filename characters
  41790. Only Invalid UTF-8 bytes will be [replaced](https://rclone.org/overview/#invalid-utf8),
  41791. as they can\[aq]t be used in JSON strings.
  41792. In contrast to other backends, \[ga]/\[ga] can also be used in names and \[ga].\[ga]
  41793. or \[ga]..\[ga] are valid names.
  41794. ### Revisions
  41795. Google drive stores revisions of files. When you upload a change to
  41796. an existing file to google drive using rclone it will create a new
  41797. revision of that file.
  41798. Revisions follow the standard google policy which at time of writing
  41799. was
  41800. * They are deleted after 30 days or 100 revisions (whatever comes first).
  41801. * They do not count towards a user storage quota.
  41802. ### Deleting files
  41803. By default rclone will send all files to the trash when deleting
  41804. files. If deleting them permanently is required then use the
  41805. \[ga]--drive-use-trash=false\[ga] flag, or set the equivalent environment
  41806. variable.
  41807. ### Shortcuts
  41808. In March 2020 Google introduced a new feature in Google Drive called
  41809. [drive shortcuts](https://support.google.com/drive/answer/9700156)
  41810. ([API](https://developers.google.com/drive/api/v3/shortcuts)). These
  41811. will (by September 2020) [replace the ability for files or folders to
  41812. be in multiple folders at once](https://cloud.google.com/blog/products/g-suite/simplifying-google-drives-folder-structure-and-sharing-models).
  41813. Shortcuts are files that link to other files on Google Drive somewhat
  41814. like a symlink in unix, except they point to the underlying file data
  41815. (e.g. the inode in unix terms) so they don\[aq]t break if the source is
  41816. renamed or moved about.
  41817. By default rclone treats these as follows.
  41818. For shortcuts pointing to files:
  41819. - When listing a file shortcut appears as the destination file.
  41820. - When downloading the contents of the destination file is downloaded.
  41821. - When updating shortcut file with a non shortcut file, the shortcut is removed then a new file is uploaded in place of the shortcut.
  41822. - When server-side moving (renaming) the shortcut is renamed, not the destination file.
  41823. - When server-side copying the shortcut is copied, not the contents of the shortcut. (unless \[ga]--drive-copy-shortcut-content\[ga] is in use in which case the contents of the shortcut gets copied).
  41824. - When deleting the shortcut is deleted not the linked file.
  41825. - When setting the modification time, the modification time of the linked file will be set.
  41826. For shortcuts pointing to folders:
  41827. - When listing the shortcut appears as a folder and that folder will contain the contents of the linked folder appear (including any sub folders)
  41828. - When downloading the contents of the linked folder and sub contents are downloaded
  41829. - When uploading to a shortcut folder the file will be placed in the linked folder
  41830. - When server-side moving (renaming) the shortcut is renamed, not the destination folder
  41831. - When server-side copying the contents of the linked folder is copied, not the shortcut.
  41832. - When deleting with \[ga]rclone rmdir\[ga] or \[ga]rclone purge\[ga] the shortcut is deleted not the linked folder.
  41833. - **NB** When deleting with \[ga]rclone remove\[ga] or \[ga]rclone mount\[ga] the contents of the linked folder will be deleted.
  41834. The [rclone backend](https://rclone.org/commands/rclone_backend/) command can be used to create shortcuts.
  41835. Shortcuts can be completely ignored with the \[ga]--drive-skip-shortcuts\[ga] flag
  41836. or the corresponding \[ga]skip_shortcuts\[ga] configuration setting.
  41837. ### Emptying trash
  41838. If you wish to empty your trash you can use the \[ga]rclone cleanup remote:\[ga]
  41839. command which will permanently delete all your trashed files. This command
  41840. does not take any path arguments.
  41841. Note that Google Drive takes some time (minutes to days) to empty the
  41842. trash even though the command returns within a few seconds. No output
  41843. is echoed, so there will be no confirmation even using -v or -vv.
  41844. ### Quota information
  41845. To view your current quota you can use the \[ga]rclone about remote:\[ga]
  41846. command which will display your usage limit (quota), the usage in Google
  41847. Drive, the size of all files in the Trash and the space used by other
  41848. Google services such as Gmail. This command does not take any path
  41849. arguments.
  41850. #### Import/Export of google documents
  41851. Google documents can be exported from and uploaded to Google Drive.
  41852. When rclone downloads a Google doc it chooses a format to download
  41853. depending upon the \[ga]--drive-export-formats\[ga] setting.
  41854. By default the export formats are \[ga]docx,xlsx,pptx,svg\[ga] which are a
  41855. sensible default for an editable document.
  41856. When choosing a format, rclone runs down the list provided in order
  41857. and chooses the first file format the doc can be exported as from the
  41858. list. If the file can\[aq]t be exported to a format on the formats list,
  41859. then rclone will choose a format from the default list.
  41860. If you prefer an archive copy then you might use \[ga]--drive-export-formats
  41861. pdf\[ga], or if you prefer openoffice/libreoffice formats you might use
  41862. \[ga]--drive-export-formats ods,odt,odp\[ga].
  41863. Note that rclone adds the extension to the google doc, so if it is
  41864. called \[ga]My Spreadsheet\[ga] on google docs, it will be exported as \[ga]My
  41865. Spreadsheet.xlsx\[ga] or \[ga]My Spreadsheet.pdf\[ga] etc.
  41866. When importing files into Google Drive, rclone will convert all
  41867. files with an extension in \[ga]--drive-import-formats\[ga] to their
  41868. associated document type.
  41869. rclone will not convert any files by default, since the conversion
  41870. is lossy process.
  41871. The conversion must result in a file with the same extension when
  41872. the \[ga]--drive-export-formats\[ga] rules are applied to the uploaded document.
  41873. Here are some examples for allowed and prohibited conversions.
  41874. | export-formats | import-formats | Upload Ext | Document Ext | Allowed |
  41875. | -------------- | -------------- | ---------- | ------------ | ------- |
  41876. | odt | odt | odt | odt | Yes |
  41877. | odt | docx,odt | odt | odt | Yes |
  41878. | | docx | docx | docx | Yes |
  41879. | | odt | odt | docx | No |
  41880. | odt,docx | docx,odt | docx | odt | No |
  41881. | docx,odt | docx,odt | docx | docx | Yes |
  41882. | docx,odt | docx,odt | odt | docx | No |
  41883. This limitation can be disabled by specifying \[ga]--drive-allow-import-name-change\[ga].
  41884. When using this flag, rclone can convert multiple files types resulting
  41885. in the same document type at once, e.g. with \[ga]--drive-import-formats docx,odt,txt\[ga],
  41886. all files having these extension would result in a document represented as a docx file.
  41887. This brings the additional risk of overwriting a document, if multiple files
  41888. have the same stem. Many rclone operations will not handle this name change
  41889. in any way. They assume an equal name when copying files and might copy the
  41890. file again or delete them when the name changes.
  41891. Here are the possible export extensions with their corresponding mime types.
  41892. Most of these can also be used for importing, but there more that are not
  41893. listed here. Some of these additional ones might only be available when
  41894. the operating system provides the correct MIME type entries.
  41895. This list can be changed by Google Drive at any time and might not
  41896. represent the currently available conversions.
  41897. | Extension | Mime Type | Description |
  41898. | --------- |-----------| ------------|
  41899. | bmp | image/bmp | Windows Bitmap format |
  41900. | csv | text/csv | Standard CSV format for Spreadsheets |
  41901. | doc | application/msword | Classic Word file |
  41902. | docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Microsoft Office Document |
  41903. | epub | application/epub+zip | E-book format |
  41904. | html | text/html | An HTML Document |
  41905. | jpg | image/jpeg | A JPEG Image File |
  41906. | json | application/vnd.google-apps.script+json | JSON Text Format for Google Apps scripts |
  41907. | odp | application/vnd.oasis.opendocument.presentation | Openoffice Presentation |
  41908. | ods | application/vnd.oasis.opendocument.spreadsheet | Openoffice Spreadsheet |
  41909. | ods | application/x-vnd.oasis.opendocument.spreadsheet | Openoffice Spreadsheet |
  41910. | odt | application/vnd.oasis.opendocument.text | Openoffice Document |
  41911. | pdf | application/pdf | Adobe PDF Format |
  41912. | pjpeg | image/pjpeg | Progressive JPEG Image |
  41913. | png | image/png | PNG Image Format|
  41914. | pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation | Microsoft Office Powerpoint |
  41915. | rtf | application/rtf | Rich Text Format |
  41916. | svg | image/svg+xml | Scalable Vector Graphics Format |
  41917. | tsv | text/tab-separated-values | Standard TSV format for spreadsheets |
  41918. | txt | text/plain | Plain Text |
  41919. | wmf | application/x-msmetafile | Windows Meta File |
  41920. | xls | application/vnd.ms-excel | Classic Excel file |
  41921. | xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Microsoft Office Spreadsheet |
  41922. | zip | application/zip | A ZIP file of HTML, Images CSS |
  41923. Google documents can also be exported as link files. These files will
  41924. open a browser window for the Google Docs website of that document
  41925. when opened. The link file extension has to be specified as a
  41926. \[ga]--drive-export-formats\[ga] parameter. They will match all available
  41927. Google Documents.
  41928. | Extension | Description | OS Support |
  41929. | --------- | ----------- | ---------- |
  41930. | desktop | freedesktop.org specified desktop entry | Linux |
  41931. | link.html | An HTML Document with a redirect | All |
  41932. | url | INI style link file | macOS, Windows |
  41933. | webloc | macOS specific XML format | macOS |
  41934. ### Standard options
  41935. Here are the Standard options specific to drive (Google Drive).
  41936. #### --drive-client-id
  41937. Google Application Client Id
  41938. Setting your own is recommended.
  41939. See https://rclone.org/drive/#making-your-own-client-id for how to create your own.
  41940. If you leave this blank, it will use an internal key which is low performance.
  41941. Properties:
  41942. - Config: client_id
  41943. - Env Var: RCLONE_DRIVE_CLIENT_ID
  41944. - Type: string
  41945. - Required: false
  41946. #### --drive-client-secret
  41947. OAuth Client Secret.
  41948. Leave blank normally.
  41949. Properties:
  41950. - Config: client_secret
  41951. - Env Var: RCLONE_DRIVE_CLIENT_SECRET
  41952. - Type: string
  41953. - Required: false
  41954. #### --drive-scope
  41955. Comma separated list of scopes that rclone should use when requesting access from drive.
  41956. Properties:
  41957. - Config: scope
  41958. - Env Var: RCLONE_DRIVE_SCOPE
  41959. - Type: string
  41960. - Required: false
  41961. - Examples:
  41962. - \[dq]drive\[dq]
  41963. - Full access all files, excluding Application Data Folder.
  41964. - \[dq]drive.readonly\[dq]
  41965. - Read-only access to file metadata and file contents.
  41966. - \[dq]drive.file\[dq]
  41967. - Access to files created by rclone only.
  41968. - These are visible in the drive website.
  41969. - File authorization is revoked when the user deauthorizes the app.
  41970. - \[dq]drive.appfolder\[dq]
  41971. - Allows read and write access to the Application Data folder.
  41972. - This is not visible in the drive website.
  41973. - \[dq]drive.metadata.readonly\[dq]
  41974. - Allows read-only access to file metadata but
  41975. - does not allow any access to read or download file content.
  41976. #### --drive-service-account-file
  41977. Service Account Credentials JSON file path.
  41978. Leave blank normally.
  41979. Needed only if you want use SA instead of interactive login.
  41980. Leading \[ga]\[ti]\[ga] will be expanded in the file name as will environment variables such as \[ga]${RCLONE_CONFIG_DIR}\[ga].
  41981. Properties:
  41982. - Config: service_account_file
  41983. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
  41984. - Type: string
  41985. - Required: false
  41986. #### --drive-alternate-export
  41987. Deprecated: No longer needed.
  41988. Properties:
  41989. - Config: alternate_export
  41990. - Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT
  41991. - Type: bool
  41992. - Default: false
  41993. ### Advanced options
  41994. Here are the Advanced options specific to drive (Google Drive).
  41995. #### --drive-token
  41996. OAuth Access Token as a JSON blob.
  41997. Properties:
  41998. - Config: token
  41999. - Env Var: RCLONE_DRIVE_TOKEN
  42000. - Type: string
  42001. - Required: false
  42002. #### --drive-auth-url
  42003. Auth server URL.
  42004. Leave blank to use the provider defaults.
  42005. Properties:
  42006. - Config: auth_url
  42007. - Env Var: RCLONE_DRIVE_AUTH_URL
  42008. - Type: string
  42009. - Required: false
  42010. #### --drive-token-url
  42011. Token server url.
  42012. Leave blank to use the provider defaults.
  42013. Properties:
  42014. - Config: token_url
  42015. - Env Var: RCLONE_DRIVE_TOKEN_URL
  42016. - Type: string
  42017. - Required: false
  42018. #### --drive-root-folder-id
  42019. ID of the root folder.
  42020. Leave blank normally.
  42021. Fill in to access \[dq]Computers\[dq] folders (see docs), or for rclone to use
  42022. a non root folder as its starting point.
  42023. Properties:
  42024. - Config: root_folder_id
  42025. - Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID
  42026. - Type: string
  42027. - Required: false
  42028. #### --drive-service-account-credentials
  42029. Service Account Credentials JSON blob.
  42030. Leave blank normally.
  42031. Needed only if you want use SA instead of interactive login.
  42032. Properties:
  42033. - Config: service_account_credentials
  42034. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
  42035. - Type: string
  42036. - Required: false
  42037. #### --drive-team-drive
  42038. ID of the Shared Drive (Team Drive).
  42039. Properties:
  42040. - Config: team_drive
  42041. - Env Var: RCLONE_DRIVE_TEAM_DRIVE
  42042. - Type: string
  42043. - Required: false
  42044. #### --drive-auth-owner-only
  42045. Only consider files owned by the authenticated user.
  42046. Properties:
  42047. - Config: auth_owner_only
  42048. - Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY
  42049. - Type: bool
  42050. - Default: false
  42051. #### --drive-use-trash
  42052. Send files to the trash instead of deleting permanently.
  42053. Defaults to true, namely sending files to the trash.
  42054. Use \[ga]--drive-use-trash=false\[ga] to delete files permanently instead.
  42055. Properties:
  42056. - Config: use_trash
  42057. - Env Var: RCLONE_DRIVE_USE_TRASH
  42058. - Type: bool
  42059. - Default: true
  42060. #### --drive-copy-shortcut-content
  42061. Server side copy contents of shortcuts instead of the shortcut.
  42062. When doing server side copies, normally rclone will copy shortcuts as
  42063. shortcuts.
  42064. If this flag is used then rclone will copy the contents of shortcuts
  42065. rather than shortcuts themselves when doing server side copies.
  42066. Properties:
  42067. - Config: copy_shortcut_content
  42068. - Env Var: RCLONE_DRIVE_COPY_SHORTCUT_CONTENT
  42069. - Type: bool
  42070. - Default: false
  42071. #### --drive-skip-gdocs
  42072. Skip google documents in all listings.
  42073. If given, gdocs practically become invisible to rclone.
  42074. Properties:
  42075. - Config: skip_gdocs
  42076. - Env Var: RCLONE_DRIVE_SKIP_GDOCS
  42077. - Type: bool
  42078. - Default: false
  42079. #### --drive-show-all-gdocs
  42080. Show all Google Docs including non-exportable ones in listings.
  42081. If you try a server side copy on a Google Form without this flag, you
  42082. will get this error:
  42083. No export formats found for \[dq]application/vnd.google-apps.form\[dq]
  42084. However adding this flag will allow the form to be server side copied.
  42085. Note that rclone doesn\[aq]t add extensions to the Google Docs file names
  42086. in this mode.
  42087. Do **not** use this flag when trying to download Google Docs - rclone
  42088. will fail to download them.
  42089. Properties:
  42090. - Config: show_all_gdocs
  42091. - Env Var: RCLONE_DRIVE_SHOW_ALL_GDOCS
  42092. - Type: bool
  42093. - Default: false
  42094. #### --drive-skip-checksum-gphotos
  42095. Skip checksums on Google photos and videos only.
  42096. Use this if you get checksum errors when transferring Google photos or
  42097. videos.
  42098. Setting this flag will cause Google photos and videos to return a
  42099. blank checksums.
  42100. Google photos are identified by being in the \[dq]photos\[dq] space.
  42101. Corrupted checksums are caused by Google modifying the image/video but
  42102. not updating the checksum.
  42103. Properties:
  42104. - Config: skip_checksum_gphotos
  42105. - Env Var: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS
  42106. - Type: bool
  42107. - Default: false
  42108. #### --drive-shared-with-me
  42109. Only show files that are shared with me.
  42110. Instructs rclone to operate on your \[dq]Shared with me\[dq] folder (where
  42111. Google Drive lets you access the files and folders others have shared
  42112. with you).
  42113. This works both with the \[dq]list\[dq] (lsd, lsl, etc.) and the \[dq]copy\[dq]
  42114. commands (copy, sync, etc.), and with all other commands too.
  42115. Properties:
  42116. - Config: shared_with_me
  42117. - Env Var: RCLONE_DRIVE_SHARED_WITH_ME
  42118. - Type: bool
  42119. - Default: false
  42120. #### --drive-trashed-only
  42121. Only show files that are in the trash.
  42122. This will show trashed files in their original directory structure.
  42123. Properties:
  42124. - Config: trashed_only
  42125. - Env Var: RCLONE_DRIVE_TRASHED_ONLY
  42126. - Type: bool
  42127. - Default: false
  42128. #### --drive-starred-only
  42129. Only show files that are starred.
  42130. Properties:
  42131. - Config: starred_only
  42132. - Env Var: RCLONE_DRIVE_STARRED_ONLY
  42133. - Type: bool
  42134. - Default: false
  42135. #### --drive-formats
  42136. Deprecated: See export_formats.
  42137. Properties:
  42138. - Config: formats
  42139. - Env Var: RCLONE_DRIVE_FORMATS
  42140. - Type: string
  42141. - Required: false
  42142. #### --drive-export-formats
  42143. Comma separated list of preferred formats for downloading Google docs.
  42144. Properties:
  42145. - Config: export_formats
  42146. - Env Var: RCLONE_DRIVE_EXPORT_FORMATS
  42147. - Type: string
  42148. - Default: \[dq]docx,xlsx,pptx,svg\[dq]
  42149. #### --drive-import-formats
  42150. Comma separated list of preferred formats for uploading Google docs.
  42151. Properties:
  42152. - Config: import_formats
  42153. - Env Var: RCLONE_DRIVE_IMPORT_FORMATS
  42154. - Type: string
  42155. - Required: false
  42156. #### --drive-allow-import-name-change
  42157. Allow the filetype to change when uploading Google docs.
  42158. E.g. file.doc to file.docx. This will confuse sync and reupload every time.
  42159. Properties:
  42160. - Config: allow_import_name_change
  42161. - Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
  42162. - Type: bool
  42163. - Default: false
  42164. #### --drive-use-created-date
  42165. Use file created date instead of modified date.
  42166. Useful when downloading data and you want the creation date used in
  42167. place of the last modified date.
  42168. **WARNING**: This flag may have some unexpected consequences.
  42169. When uploading to your drive all files will be overwritten unless they
  42170. haven\[aq]t been modified since their creation. And the inverse will occur
  42171. while downloading. This side effect can be avoided by using the
  42172. \[dq]--checksum\[dq] flag.
  42173. This feature was implemented to retain photos capture date as recorded
  42174. by google photos. You will first need to check the \[dq]Create a Google
  42175. Photos folder\[dq] option in your google drive settings. You can then copy
  42176. or move the photos locally and use the date the image was taken
  42177. (created) set as the modification date.
  42178. Properties:
  42179. - Config: use_created_date
  42180. - Env Var: RCLONE_DRIVE_USE_CREATED_DATE
  42181. - Type: bool
  42182. - Default: false
  42183. #### --drive-use-shared-date
  42184. Use date file was shared instead of modified date.
  42185. Note that, as with \[dq]--drive-use-created-date\[dq], this flag may have
  42186. unexpected consequences when uploading/downloading files.
  42187. If both this flag and \[dq]--drive-use-created-date\[dq] are set, the created
  42188. date is used.
  42189. Properties:
  42190. - Config: use_shared_date
  42191. - Env Var: RCLONE_DRIVE_USE_SHARED_DATE
  42192. - Type: bool
  42193. - Default: false
  42194. #### --drive-list-chunk
  42195. Size of listing chunk 100-1000, 0 to disable.
  42196. Properties:
  42197. - Config: list_chunk
  42198. - Env Var: RCLONE_DRIVE_LIST_CHUNK
  42199. - Type: int
  42200. - Default: 1000
  42201. #### --drive-impersonate
  42202. Impersonate this user when using a service account.
  42203. Properties:
  42204. - Config: impersonate
  42205. - Env Var: RCLONE_DRIVE_IMPERSONATE
  42206. - Type: string
  42207. - Required: false
  42208. #### --drive-upload-cutoff
  42209. Cutoff for switching to chunked upload.
  42210. Properties:
  42211. - Config: upload_cutoff
  42212. - Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF
  42213. - Type: SizeSuffix
  42214. - Default: 8Mi
  42215. #### --drive-chunk-size
  42216. Upload chunk size.
  42217. Must a power of 2 >= 256k.
  42218. Making this larger will improve performance, but note that each chunk
  42219. is buffered in memory one per transfer.
  42220. Reducing this will reduce memory usage but decrease performance.
  42221. Properties:
  42222. - Config: chunk_size
  42223. - Env Var: RCLONE_DRIVE_CHUNK_SIZE
  42224. - Type: SizeSuffix
  42225. - Default: 8Mi
  42226. #### --drive-acknowledge-abuse
  42227. Set to allow files which return cannotDownloadAbusiveFile to be downloaded.
  42228. If downloading a file returns the error \[dq]This file has been identified
  42229. as malware or spam and cannot be downloaded\[dq] with the error code
  42230. \[dq]cannotDownloadAbusiveFile\[dq] then supply this flag to rclone to
  42231. indicate you acknowledge the risks of downloading the file and rclone
  42232. will download it anyway.
  42233. Note that if you are using service account it will need Manager
  42234. permission (not Content Manager) to for this flag to work. If the SA
  42235. does not have the right permission, Google will just ignore the flag.
  42236. Properties:
  42237. - Config: acknowledge_abuse
  42238. - Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
  42239. - Type: bool
  42240. - Default: false
  42241. #### --drive-keep-revision-forever
  42242. Keep new head revision of each file forever.
  42243. Properties:
  42244. - Config: keep_revision_forever
  42245. - Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER
  42246. - Type: bool
  42247. - Default: false
  42248. #### --drive-size-as-quota
  42249. Show sizes as storage quota usage, not actual size.
  42250. Show the size of a file as the storage quota used. This is the
  42251. current version plus any older versions that have been set to keep
  42252. forever.
  42253. **WARNING**: This flag may have some unexpected consequences.
  42254. It is not recommended to set this flag in your config - the
  42255. recommended usage is using the flag form --drive-size-as-quota when
  42256. doing rclone ls/lsl/lsf/lsjson/etc only.
  42257. If you do use this flag for syncing (not recommended) then you will
  42258. need to use --ignore size also.
  42259. Properties:
  42260. - Config: size_as_quota
  42261. - Env Var: RCLONE_DRIVE_SIZE_AS_QUOTA
  42262. - Type: bool
  42263. - Default: false
  42264. #### --drive-v2-download-min-size
  42265. If Object\[aq]s are greater, use drive v2 API to download.
  42266. Properties:
  42267. - Config: v2_download_min_size
  42268. - Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
  42269. - Type: SizeSuffix
  42270. - Default: off
  42271. #### --drive-pacer-min-sleep
  42272. Minimum time to sleep between API calls.
  42273. Properties:
  42274. - Config: pacer_min_sleep
  42275. - Env Var: RCLONE_DRIVE_PACER_MIN_SLEEP
  42276. - Type: Duration
  42277. - Default: 100ms
  42278. #### --drive-pacer-burst
  42279. Number of API calls to allow without sleeping.
  42280. Properties:
  42281. - Config: pacer_burst
  42282. - Env Var: RCLONE_DRIVE_PACER_BURST
  42283. - Type: int
  42284. - Default: 100
  42285. #### --drive-server-side-across-configs
  42286. Deprecated: use --server-side-across-configs instead.
  42287. Allow server-side operations (e.g. copy) to work across different drive configs.
  42288. This can be useful if you wish to do a server-side copy between two
  42289. different Google drives. Note that this isn\[aq]t enabled by default
  42290. because it isn\[aq]t easy to tell if it will work between any two
  42291. configurations.
  42292. Properties:
  42293. - Config: server_side_across_configs
  42294. - Env Var: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS
  42295. - Type: bool
  42296. - Default: false
  42297. #### --drive-disable-http2
  42298. Disable drive using http2.
  42299. There is currently an unsolved issue with the google drive backend and
  42300. HTTP/2. HTTP/2 is therefore disabled by default for the drive backend
  42301. but can be re-enabled here. When the issue is solved this flag will
  42302. be removed.
  42303. See: https://github.com/rclone/rclone/issues/3631
  42304. Properties:
  42305. - Config: disable_http2
  42306. - Env Var: RCLONE_DRIVE_DISABLE_HTTP2
  42307. - Type: bool
  42308. - Default: true
  42309. #### --drive-stop-on-upload-limit
  42310. Make upload limit errors be fatal.
  42311. At the time of writing it is only possible to upload 750 GiB of data to
  42312. Google Drive a day (this is an undocumented limit). When this limit is
  42313. reached Google Drive produces a slightly different error message. When
  42314. this flag is set it causes these errors to be fatal. These will stop
  42315. the in-progress sync.
  42316. Note that this detection is relying on error message strings which
  42317. Google don\[aq]t document so it may break in the future.
  42318. See: https://github.com/rclone/rclone/issues/3857
  42319. Properties:
  42320. - Config: stop_on_upload_limit
  42321. - Env Var: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT
  42322. - Type: bool
  42323. - Default: false
  42324. #### --drive-stop-on-download-limit
  42325. Make download limit errors be fatal.
  42326. At the time of writing it is only possible to download 10 TiB of data from
  42327. Google Drive a day (this is an undocumented limit). When this limit is
  42328. reached Google Drive produces a slightly different error message. When
  42329. this flag is set it causes these errors to be fatal. These will stop
  42330. the in-progress sync.
  42331. Note that this detection is relying on error message strings which
  42332. Google don\[aq]t document so it may break in the future.
  42333. Properties:
  42334. - Config: stop_on_download_limit
  42335. - Env Var: RCLONE_DRIVE_STOP_ON_DOWNLOAD_LIMIT
  42336. - Type: bool
  42337. - Default: false
  42338. #### --drive-skip-shortcuts
  42339. If set skip shortcut files.
  42340. Normally rclone dereferences shortcut files making them appear as if
  42341. they are the original file (see [the shortcuts section](#shortcuts)).
  42342. If this flag is set then rclone will ignore shortcut files completely.
  42343. Properties:
  42344. - Config: skip_shortcuts
  42345. - Env Var: RCLONE_DRIVE_SKIP_SHORTCUTS
  42346. - Type: bool
  42347. - Default: false
  42348. #### --drive-skip-dangling-shortcuts
  42349. If set skip dangling shortcut files.
  42350. If this is set then rclone will not show any dangling shortcuts in listings.
  42351. Properties:
  42352. - Config: skip_dangling_shortcuts
  42353. - Env Var: RCLONE_DRIVE_SKIP_DANGLING_SHORTCUTS
  42354. - Type: bool
  42355. - Default: false
  42356. #### --drive-resource-key
  42357. Resource key for accessing a link-shared file.
  42358. If you need to access files shared with a link like this
  42359. https://drive.google.com/drive/folders/XXX?resourcekey=YYY&usp=sharing
  42360. Then you will need to use the first part \[dq]XXX\[dq] as the \[dq]root_folder_id\[dq]
  42361. and the second part \[dq]YYY\[dq] as the \[dq]resource_key\[dq] otherwise you will get
  42362. 404 not found errors when trying to access the directory.
  42363. See: https://developers.google.com/drive/api/guides/resource-keys
  42364. This resource key requirement only applies to a subset of old files.
  42365. Note also that opening the folder once in the web interface (with the
  42366. user you\[aq]ve authenticated rclone with) seems to be enough so that the
  42367. resource key is not needed.
  42368. Properties:
  42369. - Config: resource_key
  42370. - Env Var: RCLONE_DRIVE_RESOURCE_KEY
  42371. - Type: string
  42372. - Required: false
  42373. #### --drive-fast-list-bug-fix
  42374. Work around a bug in Google Drive listing.
  42375. Normally rclone will work around a bug in Google Drive when using
  42376. --fast-list (ListR) where the search \[dq](A in parents) or (B in
  42377. parents)\[dq] returns nothing sometimes. See #3114, #4289 and
  42378. https://issuetracker.google.com/issues/149522397
  42379. Rclone detects this by finding no items in more than one directory
  42380. when listing and retries them as lists of individual directories.
  42381. This means that if you have a lot of empty directories rclone will end
  42382. up listing them all individually and this can take many more API
  42383. calls.
  42384. This flag allows the work-around to be disabled. This is **not**
  42385. recommended in normal use - only if you have a particular case you are
  42386. having trouble with like many empty directories.
  42387. Properties:
  42388. - Config: fast_list_bug_fix
  42389. - Env Var: RCLONE_DRIVE_FAST_LIST_BUG_FIX
  42390. - Type: bool
  42391. - Default: true
  42392. #### --drive-metadata-owner
  42393. Control whether owner should be read or written in metadata.
  42394. Owner is a standard part of the file metadata so is easy to read. But it
  42395. isn\[aq]t always desirable to set the owner from the metadata.
  42396. Note that you can\[aq]t set the owner on Shared Drives, and that setting
  42397. ownership will generate an email to the new owner (this can\[aq]t be
  42398. disabled), and you can\[aq]t transfer ownership to someone outside your
  42399. organization.
  42400. Properties:
  42401. - Config: metadata_owner
  42402. - Env Var: RCLONE_DRIVE_METADATA_OWNER
  42403. - Type: Bits
  42404. - Default: read
  42405. - Examples:
  42406. - \[dq]off\[dq]
  42407. - Do not read or write the value
  42408. - \[dq]read\[dq]
  42409. - Read the value only
  42410. - \[dq]write\[dq]
  42411. - Write the value only
  42412. - \[dq]read,write\[dq]
  42413. - Read and Write the value.
  42414. #### --drive-metadata-permissions
  42415. Control whether permissions should be read or written in metadata.
  42416. Reading permissions metadata from files can be done quickly, but it
  42417. isn\[aq]t always desirable to set the permissions from the metadata.
  42418. Note that rclone drops any inherited permissions on Shared Drives and
  42419. any owner permission on My Drives as these are duplicated in the owner
  42420. metadata.
  42421. Properties:
  42422. - Config: metadata_permissions
  42423. - Env Var: RCLONE_DRIVE_METADATA_PERMISSIONS
  42424. - Type: Bits
  42425. - Default: off
  42426. - Examples:
  42427. - \[dq]off\[dq]
  42428. - Do not read or write the value
  42429. - \[dq]read\[dq]
  42430. - Read the value only
  42431. - \[dq]write\[dq]
  42432. - Write the value only
  42433. - \[dq]read,write\[dq]
  42434. - Read and Write the value.
  42435. #### --drive-metadata-labels
  42436. Control whether labels should be read or written in metadata.
  42437. Reading labels metadata from files takes an extra API transaction and
  42438. will slow down listings. It isn\[aq]t always desirable to set the labels
  42439. from the metadata.
  42440. The format of labels is documented in the drive API documentation at
  42441. https://developers.google.com/drive/api/reference/rest/v3/Label -
  42442. rclone just provides a JSON dump of this format.
  42443. When setting labels, the label and fields must already exist - rclone
  42444. will not create them. This means that if you are transferring labels
  42445. from two different accounts you will have to create the labels in
  42446. advance and use the metadata mapper to translate the IDs between the
  42447. two accounts.
  42448. Properties:
  42449. - Config: metadata_labels
  42450. - Env Var: RCLONE_DRIVE_METADATA_LABELS
  42451. - Type: Bits
  42452. - Default: off
  42453. - Examples:
  42454. - \[dq]off\[dq]
  42455. - Do not read or write the value
  42456. - \[dq]read\[dq]
  42457. - Read the value only
  42458. - \[dq]write\[dq]
  42459. - Write the value only
  42460. - \[dq]read,write\[dq]
  42461. - Read and Write the value.
  42462. #### --drive-encoding
  42463. The encoding for the backend.
  42464. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  42465. Properties:
  42466. - Config: encoding
  42467. - Env Var: RCLONE_DRIVE_ENCODING
  42468. - Type: Encoding
  42469. - Default: InvalidUtf8
  42470. #### --drive-env-auth
  42471. Get IAM credentials from runtime (environment variables or instance meta data if no env vars).
  42472. Only applies if service_account_file and service_account_credentials is blank.
  42473. Properties:
  42474. - Config: env_auth
  42475. - Env Var: RCLONE_DRIVE_ENV_AUTH
  42476. - Type: bool
  42477. - Default: false
  42478. - Examples:
  42479. - \[dq]false\[dq]
  42480. - Enter credentials in the next step.
  42481. - \[dq]true\[dq]
  42482. - Get GCP IAM credentials from the environment (env vars or IAM).
  42483. #### --drive-description
  42484. Description of the remote
  42485. Properties:
  42486. - Config: description
  42487. - Env Var: RCLONE_DRIVE_DESCRIPTION
  42488. - Type: string
  42489. - Required: false
  42490. ### Metadata
  42491. User metadata is stored in the properties field of the drive object.
  42492. Metadata is supported on files and directories.
  42493. Here are the possible system metadata items for the drive backend.
  42494. | Name | Help | Type | Example | Read Only |
  42495. |------|------|------|---------|-----------|
  42496. | btime | Time of file birth (creation) with mS accuracy. Note that this is only writable on fresh uploads - it can\[aq]t be written for updates. | RFC 3339 | 2006-01-02T15:04:05.999Z07:00 | N |
  42497. | content-type | The MIME type of the file. | string | text/plain | N |
  42498. | copy-requires-writer-permission | Whether the options to copy, print, or download this file, should be disabled for readers and commenters. | boolean | true | N |
  42499. | description | A short description of the file. | string | Contract for signing | N |
  42500. | folder-color-rgb | The color for a folder or a shortcut to a folder as an RGB hex string. | string | 881133 | N |
  42501. | labels | Labels attached to this file in a JSON dump of Googled drive format. Enable with --drive-metadata-labels. | JSON | [] | N |
  42502. | mtime | Time of last modification with mS accuracy. | RFC 3339 | 2006-01-02T15:04:05.999Z07:00 | N |
  42503. | owner | The owner of the file. Usually an email address. Enable with --drive-metadata-owner. | string | user\[at]example.com | N |
  42504. | permissions | Permissions in a JSON dump of Google drive format. On shared drives these will only be present if they aren\[aq]t inherited. Enable with --drive-metadata-permissions. | JSON | {} | N |
  42505. | starred | Whether the user has starred the file. | boolean | false | N |
  42506. | viewed-by-me | Whether the file has been viewed by this user. | boolean | true | **Y** |
  42507. | writers-can-share | Whether users with only writer permission can modify the file\[aq]s permissions. Not populated for items in shared drives. | boolean | false | N |
  42508. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  42509. ## Backend commands
  42510. Here are the commands specific to the drive backend.
  42511. Run them with
  42512. rclone backend COMMAND remote:
  42513. The help below will explain what arguments each command takes.
  42514. See the [backend](https://rclone.org/commands/rclone_backend/) command for more
  42515. info on how to pass options and arguments.
  42516. These can be run on a running backend using the rc command
  42517. [backend/command](https://rclone.org/rc/#backend-command).
  42518. ### get
  42519. Get command for fetching the drive config parameters
  42520. rclone backend get remote: [options] [<arguments>+]
  42521. This is a get command which will be used to fetch the various drive config parameters
  42522. Usage Examples:
  42523. rclone backend get drive: [-o service_account_file] [-o chunk_size]
  42524. rclone rc backend/command command=get fs=drive: [-o service_account_file] [-o chunk_size]
  42525. Options:
  42526. - \[dq]chunk_size\[dq]: show the current upload chunk size
  42527. - \[dq]service_account_file\[dq]: show the current service account file
  42528. ### set
  42529. Set command for updating the drive config parameters
  42530. rclone backend set remote: [options] [<arguments>+]
  42531. This is a set command which will be used to update the various drive config parameters
  42532. Usage Examples:
  42533. rclone backend set drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
  42534. rclone rc backend/command command=set fs=drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
  42535. Options:
  42536. - \[dq]chunk_size\[dq]: update the current upload chunk size
  42537. - \[dq]service_account_file\[dq]: update the current service account file
  42538. ### shortcut
  42539. Create shortcuts from files or directories
  42540. rclone backend shortcut remote: [options] [<arguments>+]
  42541. This command creates shortcuts from files or directories.
  42542. Usage:
  42543. rclone backend shortcut drive: source_item destination_shortcut
  42544. rclone backend shortcut drive: source_item -o target=drive2: destination_shortcut
  42545. In the first example this creates a shortcut from the \[dq]source_item\[dq]
  42546. which can be a file or a directory to the \[dq]destination_shortcut\[dq]. The
  42547. \[dq]source_item\[dq] and the \[dq]destination_shortcut\[dq] should be relative paths
  42548. from \[dq]drive:\[dq]
  42549. In the second example this creates a shortcut from the \[dq]source_item\[dq]
  42550. relative to \[dq]drive:\[dq] to the \[dq]destination_shortcut\[dq] relative to
  42551. \[dq]drive2:\[dq]. This may fail with a permission error if the user
  42552. authenticated with \[dq]drive2:\[dq] can\[aq]t read files from \[dq]drive:\[dq].
  42553. Options:
  42554. - \[dq]target\[dq]: optional target remote for the shortcut destination
  42555. ### drives
  42556. List the Shared Drives available to this account
  42557. rclone backend drives remote: [options] [<arguments>+]
  42558. This command lists the Shared Drives (Team Drives) available to this
  42559. account.
  42560. Usage:
  42561. rclone backend [-o config] drives drive:
  42562. This will return a JSON list of objects like this
  42563. [
  42564. {
  42565. \[dq]id\[dq]: \[dq]0ABCDEF-01234567890\[dq],
  42566. \[dq]kind\[dq]: \[dq]drive#teamDrive\[dq],
  42567. \[dq]name\[dq]: \[dq]My Drive\[dq]
  42568. },
  42569. {
  42570. \[dq]id\[dq]: \[dq]0ABCDEFabcdefghijkl\[dq],
  42571. \[dq]kind\[dq]: \[dq]drive#teamDrive\[dq],
  42572. \[dq]name\[dq]: \[dq]Test Drive\[dq]
  42573. }
  42574. ]
  42575. With the -o config parameter it will output the list in a format
  42576. suitable for adding to a config file to make aliases for all the
  42577. drives found and a combined drive.
  42578. [My Drive]
  42579. type = alias
  42580. remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=:
  42581. [Test Drive]
  42582. type = alias
  42583. remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=:
  42584. [AllDrives]
  42585. type = combine
  42586. upstreams = \[dq]My Drive=My Drive:\[dq] \[dq]Test Drive=Test Drive:\[dq]
  42587. Adding this to the rclone config file will cause those team drives to
  42588. be accessible with the aliases shown. Any illegal characters will be
  42589. substituted with \[dq]_\[dq] and duplicate names will have numbers suffixed.
  42590. It will also add a remote called AllDrives which shows all the shared
  42591. drives combined into one directory tree.
  42592. ### untrash
  42593. Untrash files and directories
  42594. rclone backend untrash remote: [options] [<arguments>+]
  42595. This command untrashes all the files and directories in the directory
  42596. passed in recursively.
  42597. Usage:
  42598. This takes an optional directory to trash which make this easier to
  42599. use via the API.
  42600. rclone backend untrash drive:directory
  42601. rclone backend --interactive untrash drive:directory subdir
  42602. Use the --interactive/-i or --dry-run flag to see what would be restored before restoring it.
  42603. Result:
  42604. {
  42605. \[dq]Untrashed\[dq]: 17,
  42606. \[dq]Errors\[dq]: 0
  42607. }
  42608. ### copyid
  42609. Copy files by ID
  42610. rclone backend copyid remote: [options] [<arguments>+]
  42611. This command copies files by ID
  42612. Usage:
  42613. rclone backend copyid drive: ID path
  42614. rclone backend copyid drive: ID1 path1 ID2 path2
  42615. It copies the drive file with ID given to the path (an rclone path which
  42616. will be passed internally to rclone copyto). The ID and path pairs can be
  42617. repeated.
  42618. The path should end with a / to indicate copy the file as named to
  42619. this directory. If it doesn\[aq]t end with a / then the last path
  42620. component will be used as the file name.
  42621. If the destination is a drive backend then server-side copying will be
  42622. attempted if possible.
  42623. Use the --interactive/-i or --dry-run flag to see what would be copied before copying.
  42624. ### exportformats
  42625. Dump the export formats for debug purposes
  42626. rclone backend exportformats remote: [options] [<arguments>+]
  42627. ### importformats
  42628. Dump the import formats for debug purposes
  42629. rclone backend importformats remote: [options] [<arguments>+]
  42630. ## Limitations
  42631. Drive has quite a lot of rate limiting. This causes rclone to be
  42632. limited to transferring about 2 files per second only. Individual
  42633. files may be transferred much faster at 100s of MiB/s but lots of
  42634. small files can take a long time.
  42635. Server side copies are also subject to a separate rate limit. If you
  42636. see User rate limit exceeded errors, wait at least 24 hours and retry.
  42637. You can disable server-side copies with \[ga]--disable copy\[ga] to download
  42638. and upload the files if you prefer.
  42639. ### Limitations of Google Docs
  42640. Google docs will appear as size -1 in \[ga]rclone ls\[ga], \[ga]rclone ncdu\[ga] etc,
  42641. and as size 0 in anything which uses the VFS layer, e.g. \[ga]rclone mount\[ga]
  42642. and \[ga]rclone serve\[ga]. When calculating directory totals, e.g. in
  42643. \[ga]rclone size\[ga] and \[ga]rclone ncdu\[ga], they will be counted in as empty
  42644. files.
  42645. This is because rclone can\[aq]t find out the size of the Google docs
  42646. without downloading them.
  42647. Google docs will transfer correctly with \[ga]rclone sync\[ga], \[ga]rclone copy\[ga]
  42648. etc as rclone knows to ignore the size when doing the transfer.
  42649. However an unfortunate consequence of this is that you may not be able
  42650. to download Google docs using \[ga]rclone mount\[ga]. If it doesn\[aq]t work you
  42651. will get a 0 sized file. If you try again the doc may gain its
  42652. correct size and be downloadable. Whether it will work on not depends
  42653. on the application accessing the mount and the OS you are running -
  42654. experiment to find out if it does work for you!
  42655. ### Duplicated files
  42656. Sometimes, for no reason I\[aq]ve been able to track down, drive will
  42657. duplicate a file that rclone uploads. Drive unlike all the other
  42658. remotes can have duplicated files.
  42659. Duplicated files cause problems with the syncing and you will see
  42660. messages in the log about duplicates.
  42661. Use \[ga]rclone dedupe\[ga] to fix duplicated files.
  42662. Note that this isn\[aq]t just a problem with rclone, even Google Photos on
  42663. Android duplicates files on drive sometimes.
  42664. ### Rclone appears to be re-copying files it shouldn\[aq]t
  42665. The most likely cause of this is the duplicated file issue above - run
  42666. \[ga]rclone dedupe\[ga] and check your logs for duplicate object or directory
  42667. messages.
  42668. This can also be caused by a delay/caching on google drive\[aq]s end when
  42669. comparing directory listings. Specifically with team drives used in
  42670. combination with --fast-list. Files that were uploaded recently may
  42671. not appear on the directory list sent to rclone when using --fast-list.
  42672. Waiting a moderate period of time between attempts (estimated to be
  42673. approximately 1 hour) and/or not using --fast-list both seem to be
  42674. effective in preventing the problem.
  42675. ### SHA1 or SHA256 hashes may be missing
  42676. All files have MD5 hashes, but a small fraction of files uploaded may
  42677. not have SHA1 or SHA256 hashes especially if they were uploaded before 2018.
  42678. ## Making your own client_id
  42679. When you use rclone with Google drive in its default configuration you
  42680. are using rclone\[aq]s client_id. This is shared between all the rclone
  42681. users. There is a global rate limit on the number of queries per
  42682. second that each client_id can do set by Google. rclone already has a
  42683. high quota and I will continue to make sure it is high enough by
  42684. contacting Google.
  42685. It is strongly recommended to use your own client ID as the default rclone ID is heavily used. If you have multiple services running, it is recommended to use an API key for each service. The default Google quota is 10 transactions per second so it is recommended to stay under that number as if you use more than that, it will cause rclone to rate limit and make things slower.
  42686. Here is how to create your own Google Drive client ID for rclone:
  42687. 1. Log into the [Google API
  42688. Console](https://console.developers.google.com/) with your Google
  42689. account. It doesn\[aq]t matter what Google account you use. (It need not
  42690. be the same account as the Google Drive you want to access)
  42691. 2. Select a project or create a new project.
  42692. 3. Under \[dq]ENABLE APIS AND SERVICES\[dq] search for \[dq]Drive\[dq], and enable the
  42693. \[dq]Google Drive API\[dq].
  42694. 4. Click \[dq]Credentials\[dq] in the left-side panel (not \[dq]Create
  42695. credentials\[dq], which opens the wizard).
  42696. 5. If you already configured an \[dq]Oauth Consent Screen\[dq], then skip
  42697. to the next step; if not, click on \[dq]CONFIGURE CONSENT SCREEN\[dq] button
  42698. (near the top right corner of the right panel), then select \[dq]External\[dq]
  42699. and click on \[dq]CREATE\[dq]; on the next screen, enter an \[dq]Application name\[dq]
  42700. (\[dq]rclone\[dq] is OK); enter \[dq]User Support Email\[dq] (your own email is OK);
  42701. enter \[dq]Developer Contact Email\[dq] (your own email is OK); then click on
  42702. \[dq]Save\[dq] (all other data is optional). You will also have to add some scopes,
  42703. including \[ga].../auth/docs\[ga] and \[ga].../auth/drive\[ga] in order to be able to edit,
  42704. create and delete files with RClone. You may also want to include the
  42705. \[ga]../auth/drive.metadata.readonly\[ga] scope. After adding scopes, click
  42706. \[dq]Save and continue\[dq] to add test users. Be sure to add your own account to
  42707. the test users. Once you\[aq]ve added yourself as a test user and saved the
  42708. changes, click again on \[dq]Credentials\[dq] on the left panel to go back to
  42709. the \[dq]Credentials\[dq] screen.
  42710. (PS: if you are a GSuite user, you could also select \[dq]Internal\[dq] instead
  42711. of \[dq]External\[dq] above, but this will restrict API use to Google Workspace
  42712. users in your organisation).
  42713. 6. Click on the \[dq]+ CREATE CREDENTIALS\[dq] button at the top of the screen,
  42714. then select \[dq]OAuth client ID\[dq].
  42715. 7. Choose an application type of \[dq]Desktop app\[dq] and click \[dq]Create\[dq]. (the default name is fine)
  42716. 8. It will show you a client ID and client secret. Make a note of these.
  42717. (If you selected \[dq]External\[dq] at Step 5 continue to Step 9.
  42718. If you chose \[dq]Internal\[dq] you don\[aq]t need to publish and can skip straight to
  42719. Step 10 but your destination drive must be part of the same Google Workspace.)
  42720. 9. Go to \[dq]Oauth consent screen\[dq] and then click \[dq]PUBLISH APP\[dq] button and confirm.
  42721. You will also want to add yourself as a test user.
  42722. 10. Provide the noted client ID and client secret to rclone.
  42723. Be aware that, due to the \[dq]enhanced security\[dq] recently introduced by
  42724. Google, you are theoretically expected to \[dq]submit your app for verification\[dq]
  42725. and then wait a few weeks(!) for their response; in practice, you can go right
  42726. ahead and use the client ID and client secret with rclone, the only issue will
  42727. be a very scary confirmation screen shown when you connect via your browser
  42728. for rclone to be able to get its token-id (but as this only happens during
  42729. the remote configuration, it\[aq]s not such a big deal). Keeping the application in
  42730. \[dq]Testing\[dq] will work as well, but the limitation is that any grants will expire
  42731. after a week, which can be annoying to refresh constantly. If, for whatever
  42732. reason, a short grant time is not a problem, then keeping the application in
  42733. testing mode would also be sufficient.
  42734. (Thanks to \[at]balazer on github for these instructions.)
  42735. Sometimes, creation of an OAuth consent in Google API Console fails due to an error message
  42736. \[lq]The request failed because changes to one of the field of the resource is not supported\[rq].
  42737. As a convenient workaround, the necessary Google Drive API key can be created on the
  42738. [Python Quickstart](https://developers.google.com/drive/api/v3/quickstart/python) page.
  42739. Just push the Enable the Drive API button to receive the Client ID and Secret.
  42740. Note that it will automatically create a new project in the API Console.
  42741. # Google Photos
  42742. The rclone backend for [Google Photos](https://www.google.com/photos/about/) is
  42743. a specialized backend for transferring photos and videos to and from
  42744. Google Photos.
  42745. **NB** The Google Photos API which rclone uses has quite a few
  42746. limitations, so please read the [limitations section](#limitations)
  42747. carefully to make sure it is suitable for your use.
  42748. ## Configuration
  42749. The initial setup for google cloud storage involves getting a token from Google Photos
  42750. which you need to do in your browser. \[ga]rclone config\[ga] walks you
  42751. through it.
  42752. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  42753. rclone config
  42754. This will guide you through an interactive setup process:
  42755. \f[R]
  42756. .fi
  42757. .PP
  42758. No remotes found, make a new one?
  42759. n) New remote s) Set configuration password q) Quit config n/s/q> n
  42760. name> remote Type of storage to configure.
  42761. Enter a string value.
  42762. Press Enter for the default (\[dq]\[dq]).
  42763. Choose a number from below, or type in your own value [snip] XX / Google
  42764. Photos \ \[dq]google photos\[dq] [snip] Storage> google photos ** See
  42765. help for google photos backend at: https://rclone.org/googlephotos/ **
  42766. .PP
  42767. Google Application Client Id Leave blank normally.
  42768. Enter a string value.
  42769. Press Enter for the default (\[dq]\[dq]).
  42770. client_id> Google Application Client Secret Leave blank normally.
  42771. Enter a string value.
  42772. Press Enter for the default (\[dq]\[dq]).
  42773. client_secret> Set to make the Google Photos backend read only.
  42774. .PP
  42775. If you choose read only then rclone will only request read only access
  42776. to your photos, otherwise rclone will request full access.
  42777. Enter a boolean value (true or false).
  42778. Press Enter for the default (\[dq]false\[dq]).
  42779. read_only> Edit advanced config?
  42780. (y/n) y) Yes n) No y/n> n Remote config Use web browser to automatically
  42781. authenticate rclone with remote?
  42782. * Say Y if the machine running rclone has a web browser you can use *
  42783. Say N if running rclone on a (remote) machine without web browser access
  42784. If not sure try Y.
  42785. If Y failed, try N.
  42786. y) Yes n) No y/n> y If your browser doesn\[aq]t open automatically go to
  42787. the following link: http://127.0.0.1:53682/auth Log in and authorize
  42788. rclone for access Waiting for code...
  42789. Got code
  42790. .PP
  42791. *** IMPORTANT: All media items uploaded to Google Photos with rclone ***
  42792. are stored in full resolution at original quality.
  42793. These uploads *** will count towards storage in your Google Account.
  42794. .PP
  42795. .TS
  42796. tab(@);
  42797. lw(20.4n).
  42798. T{
  42799. [remote] type = google photos token =
  42800. {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2019-06-28T17:38:04.644930156+01:00\[dq]}
  42801. T}
  42802. _
  42803. T{
  42804. y) Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
  42805. \[ga]\[ga]\[ga]
  42806. T}
  42807. T{
  42808. See the remote setup docs (https://rclone.org/remote_setup/) for how to
  42809. set it up on a machine with no Internet browser available.
  42810. T}
  42811. T{
  42812. Note that rclone runs a webserver on your local machine to collect the
  42813. token as returned from Google if using web browser to automatically
  42814. authenticate.
  42815. This only runs from the moment it opens your browser to the moment you
  42816. get back the verification code.
  42817. This is on \f[C]http://127.0.0.1:53682/\f[R] and this may require you to
  42818. unblock it temporarily if you are running a host firewall, or use manual
  42819. mode.
  42820. T}
  42821. T{
  42822. This remote is called \f[C]remote\f[R] and can now be used like this
  42823. T}
  42824. T{
  42825. See all the albums in your photos
  42826. T}
  42827. T{
  42828. rclone lsd remote:album
  42829. T}
  42830. T{
  42831. Make a new album
  42832. T}
  42833. T{
  42834. rclone mkdir remote:album/newAlbum
  42835. T}
  42836. T{
  42837. List the contents of an album
  42838. T}
  42839. T{
  42840. rclone ls remote:album/newAlbum
  42841. T}
  42842. T{
  42843. Sync \f[C]/home/local/images\f[R] to the Google Photos, removing any
  42844. excess files in the album.
  42845. T}
  42846. T{
  42847. rclone sync --interactive /home/local/image remote:album/newAlbum
  42848. T}
  42849. T{
  42850. ### Layout
  42851. T}
  42852. T{
  42853. As Google Photos is not a general purpose cloud storage system, the
  42854. backend is laid out to help you navigate it.
  42855. T}
  42856. T{
  42857. The directories under \f[C]media\f[R] show different ways of
  42858. categorizing the media.
  42859. Each file will appear multiple times.
  42860. So if you want to make a backup of your google photos you might choose
  42861. to backup \f[C]remote:media/by-month\f[R].
  42862. (\f[B]NB\f[R] \f[C]remote:media/by-day\f[R] is rather slow at the moment
  42863. so avoid for syncing.)
  42864. T}
  42865. T{
  42866. Note that all your photos and videos will appear somewhere under
  42867. \f[C]media\f[R], but they may not appear under \f[C]album\f[R] unless
  42868. you\[aq]ve put them into albums.
  42869. T}
  42870. T{
  42871. \f[C]/ - upload - file1.jpg - file2.jpg - ... - media - all - file1.jpg - file2.jpg - ... - by-year - 2000 - file1.jpg - ... - 2001 - file2.jpg - ... - ... - by-month - 2000 - 2000-01 - file1.jpg - ... - 2000-02 - file2.jpg - ... - ... - by-day - 2000 - 2000-01-01 - file1.jpg - ... - 2000-01-02 - file2.jpg - ... - ... - album - album name - album name/sub - shared-album - album name - album name/sub - feature - favorites - file1.jpg - file2.jpg\f[R]
  42872. T}
  42873. T{
  42874. There are two writable parts of the tree, the \f[C]upload\f[R] directory
  42875. and sub directories of the \f[C]album\f[R] directory.
  42876. T}
  42877. T{
  42878. The \f[C]upload\f[R] directory is for uploading files you don\[aq]t want
  42879. to put into albums.
  42880. This will be empty to start with and will contain the files you\[aq]ve
  42881. uploaded for one rclone session only, becoming empty again when you
  42882. restart rclone.
  42883. The use case for this would be if you have a load of files you just want
  42884. to once off dump into Google Photos.
  42885. For repeated syncing, uploading to \f[C]album\f[R] will work better.
  42886. T}
  42887. T{
  42888. Directories within the \f[C]album\f[R] directory are also writeable and
  42889. you may create new directories (albums) under \f[C]album\f[R].
  42890. If you copy files with a directory hierarchy in there then rclone will
  42891. create albums with the \f[C]/\f[R] character in them.
  42892. For example if you do
  42893. T}
  42894. T{
  42895. rclone copy /path/to/images remote:album/images
  42896. T}
  42897. T{
  42898. and the images directory contains
  42899. T}
  42900. T{
  42901. \f[C]images - file1.jpg dir file2.jpg dir2 dir3 file3.jpg\f[R]
  42902. T}
  42903. T{
  42904. Then rclone will create the following albums with the following files in
  42905. T}
  42906. T{
  42907. - images - file1.jpg - images/dir - file2.jpg - images/dir2/dir3 -
  42908. file3.jpg
  42909. T}
  42910. T{
  42911. This means that you can use the \f[C]album\f[R] path pretty much like a
  42912. normal filesystem and it is a good target for repeated syncing.
  42913. T}
  42914. T{
  42915. The \f[C]shared-album\f[R] directory shows albums shared with you or by
  42916. you.
  42917. This is similar to the Sharing tab in the Google Photos web interface.
  42918. T}
  42919. T{
  42920. ### Standard options
  42921. T}
  42922. T{
  42923. Here are the Standard options specific to google photos (Google Photos).
  42924. T}
  42925. T{
  42926. #### --gphotos-client-id
  42927. T}
  42928. T{
  42929. OAuth Client Id.
  42930. T}
  42931. T{
  42932. Leave blank normally.
  42933. T}
  42934. T{
  42935. Properties:
  42936. T}
  42937. T{
  42938. - Config: client_id - Env Var: RCLONE_GPHOTOS_CLIENT_ID - Type: string -
  42939. Required: false
  42940. T}
  42941. T{
  42942. #### --gphotos-client-secret
  42943. T}
  42944. T{
  42945. OAuth Client Secret.
  42946. T}
  42947. T{
  42948. Leave blank normally.
  42949. T}
  42950. T{
  42951. Properties:
  42952. T}
  42953. T{
  42954. - Config: client_secret - Env Var: RCLONE_GPHOTOS_CLIENT_SECRET - Type:
  42955. string - Required: false
  42956. T}
  42957. T{
  42958. #### --gphotos-read-only
  42959. T}
  42960. T{
  42961. Set to make the Google Photos backend read only.
  42962. T}
  42963. T{
  42964. If you choose read only then rclone will only request read only access
  42965. to your photos, otherwise rclone will request full access.
  42966. T}
  42967. T{
  42968. Properties:
  42969. T}
  42970. T{
  42971. - Config: read_only - Env Var: RCLONE_GPHOTOS_READ_ONLY - Type: bool -
  42972. Default: false
  42973. T}
  42974. T{
  42975. ### Advanced options
  42976. T}
  42977. T{
  42978. Here are the Advanced options specific to google photos (Google Photos).
  42979. T}
  42980. T{
  42981. #### --gphotos-token
  42982. T}
  42983. T{
  42984. OAuth Access Token as a JSON blob.
  42985. T}
  42986. T{
  42987. Properties:
  42988. T}
  42989. T{
  42990. - Config: token - Env Var: RCLONE_GPHOTOS_TOKEN - Type: string -
  42991. Required: false
  42992. T}
  42993. T{
  42994. #### --gphotos-auth-url
  42995. T}
  42996. T{
  42997. Auth server URL.
  42998. T}
  42999. T{
  43000. Leave blank to use the provider defaults.
  43001. T}
  43002. T{
  43003. Properties:
  43004. T}
  43005. T{
  43006. - Config: auth_url - Env Var: RCLONE_GPHOTOS_AUTH_URL - Type: string -
  43007. Required: false
  43008. T}
  43009. T{
  43010. #### --gphotos-token-url
  43011. T}
  43012. T{
  43013. Token server url.
  43014. T}
  43015. T{
  43016. Leave blank to use the provider defaults.
  43017. T}
  43018. T{
  43019. Properties:
  43020. T}
  43021. T{
  43022. - Config: token_url - Env Var: RCLONE_GPHOTOS_TOKEN_URL - Type: string -
  43023. Required: false
  43024. T}
  43025. T{
  43026. #### --gphotos-read-size
  43027. T}
  43028. T{
  43029. Set to read the size of media items.
  43030. T}
  43031. T{
  43032. Normally rclone does not read the size of media items since this takes
  43033. another transaction.
  43034. This isn\[aq]t necessary for syncing.
  43035. However rclone mount needs to know the size of files in advance of
  43036. reading them, so setting this flag when using rclone mount is
  43037. recommended if you want to read the media.
  43038. T}
  43039. T{
  43040. Properties:
  43041. T}
  43042. T{
  43043. - Config: read_size - Env Var: RCLONE_GPHOTOS_READ_SIZE - Type: bool -
  43044. Default: false
  43045. T}
  43046. T{
  43047. #### --gphotos-start-year
  43048. T}
  43049. T{
  43050. Year limits the photos to be downloaded to those which are uploaded
  43051. after the given year.
  43052. T}
  43053. T{
  43054. Properties:
  43055. T}
  43056. T{
  43057. - Config: start_year - Env Var: RCLONE_GPHOTOS_START_YEAR - Type: int -
  43058. Default: 2000
  43059. T}
  43060. T{
  43061. #### --gphotos-include-archived
  43062. T}
  43063. T{
  43064. Also view and download archived media.
  43065. T}
  43066. T{
  43067. By default, rclone does not request archived media.
  43068. Thus, when syncing, archived media is not visible in directory listings
  43069. or transferred.
  43070. T}
  43071. T{
  43072. Note that media in albums is always visible and synced, no matter their
  43073. archive status.
  43074. T}
  43075. T{
  43076. With this flag, archived media are always visible in directory listings
  43077. and transferred.
  43078. T}
  43079. T{
  43080. Without this flag, archived media will not be visible in directory
  43081. listings and won\[aq]t be transferred.
  43082. T}
  43083. T{
  43084. Properties:
  43085. T}
  43086. T{
  43087. - Config: include_archived - Env Var: RCLONE_GPHOTOS_INCLUDE_ARCHIVED -
  43088. Type: bool - Default: false
  43089. T}
  43090. T{
  43091. #### --gphotos-encoding
  43092. T}
  43093. T{
  43094. The encoding for the backend.
  43095. T}
  43096. T{
  43097. See the encoding section in the
  43098. overview (https://rclone.org/overview/#encoding) for more info.
  43099. T}
  43100. T{
  43101. Properties:
  43102. T}
  43103. T{
  43104. - Config: encoding - Env Var: RCLONE_GPHOTOS_ENCODING - Type: Encoding -
  43105. Default: Slash,CrLf,InvalidUtf8,Dot
  43106. T}
  43107. T{
  43108. #### --gphotos-batch-mode
  43109. T}
  43110. T{
  43111. Upload file batching sync|async|off.
  43112. T}
  43113. T{
  43114. This sets the batch mode used by rclone.
  43115. T}
  43116. T{
  43117. This has 3 possible values
  43118. T}
  43119. T{
  43120. - off - no batching - sync - batch uploads and check completion
  43121. (default) - async - batch upload and don\[aq]t check completion
  43122. T}
  43123. T{
  43124. Rclone will close any outstanding batches when it exits which may make a
  43125. delay on quit.
  43126. T}
  43127. T{
  43128. Properties:
  43129. T}
  43130. T{
  43131. - Config: batch_mode - Env Var: RCLONE_GPHOTOS_BATCH_MODE - Type: string
  43132. - Default: \[dq]sync\[dq]
  43133. T}
  43134. T{
  43135. #### --gphotos-batch-size
  43136. T}
  43137. T{
  43138. Max number of files in upload batch.
  43139. T}
  43140. T{
  43141. This sets the batch size of files to upload.
  43142. It has to be less than 50.
  43143. T}
  43144. T{
  43145. By default this is 0 which means rclone which calculate the batch size
  43146. depending on the setting of batch_mode.
  43147. T}
  43148. T{
  43149. - batch_mode: async - default batch_size is 50 - batch_mode: sync -
  43150. default batch_size is the same as --transfers - batch_mode: off - not in
  43151. use
  43152. T}
  43153. T{
  43154. Rclone will close any outstanding batches when it exits which may make a
  43155. delay on quit.
  43156. T}
  43157. T{
  43158. Setting this is a great idea if you are uploading lots of small files as
  43159. it will make them a lot quicker.
  43160. You can use --transfers 32 to maximise throughput.
  43161. T}
  43162. T{
  43163. Properties:
  43164. T}
  43165. T{
  43166. - Config: batch_size - Env Var: RCLONE_GPHOTOS_BATCH_SIZE - Type: int -
  43167. Default: 0
  43168. T}
  43169. T{
  43170. #### --gphotos-batch-timeout
  43171. T}
  43172. T{
  43173. Max time to allow an idle upload batch before uploading.
  43174. T}
  43175. T{
  43176. If an upload batch is idle for more than this long then it will be
  43177. uploaded.
  43178. T}
  43179. T{
  43180. The default for this is 0 which means rclone will choose a sensible
  43181. default based on the batch_mode in use.
  43182. T}
  43183. T{
  43184. - batch_mode: async - default batch_timeout is 10s - batch_mode: sync -
  43185. default batch_timeout is 1s - batch_mode: off - not in use
  43186. T}
  43187. T{
  43188. Properties:
  43189. T}
  43190. T{
  43191. - Config: batch_timeout - Env Var: RCLONE_GPHOTOS_BATCH_TIMEOUT - Type:
  43192. Duration - Default: 0s
  43193. T}
  43194. T{
  43195. #### --gphotos-batch-commit-timeout
  43196. T}
  43197. T{
  43198. Max time to wait for a batch to finish committing
  43199. T}
  43200. T{
  43201. Properties:
  43202. T}
  43203. T{
  43204. - Config: batch_commit_timeout - Env Var:
  43205. RCLONE_GPHOTOS_BATCH_COMMIT_TIMEOUT - Type: Duration - Default: 10m0s
  43206. T}
  43207. T{
  43208. #### --gphotos-description
  43209. T}
  43210. T{
  43211. Description of the remote
  43212. T}
  43213. T{
  43214. Properties:
  43215. T}
  43216. T{
  43217. - Config: description - Env Var: RCLONE_GPHOTOS_DESCRIPTION - Type:
  43218. string - Required: false
  43219. T}
  43220. T{
  43221. ## Limitations
  43222. T}
  43223. T{
  43224. Only images and videos can be uploaded.
  43225. If you attempt to upload non videos or images or formats that Google
  43226. Photos doesn\[aq]t understand, rclone will upload the file, then Google
  43227. Photos will give an error when it is put turned into a media item.
  43228. T}
  43229. T{
  43230. Note that all media items uploaded to Google Photos through the API are
  43231. stored in full resolution at \[dq]original quality\[dq] and
  43232. \f[B]will\f[R] count towards your storage quota in your Google Account.
  43233. The API does \f[B]not\f[R] offer a way to upload in \[dq]high
  43234. quality\[dq] mode..
  43235. T}
  43236. T{
  43237. \f[C]rclone about\f[R] is not supported by the Google Photos backend.
  43238. Backends without this capability cannot determine free space for an
  43239. rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member
  43240. of an rclone union remote.
  43241. T}
  43242. T{
  43243. See List of backends that do not support rclone
  43244. about (https://rclone.org/overview/#optional-features) See rclone
  43245. about (https://rclone.org/commands/rclone_about/)
  43246. T}
  43247. T{
  43248. ### Downloading Images
  43249. T}
  43250. T{
  43251. When Images are downloaded this strips EXIF location (according to the
  43252. docs and my tests).
  43253. This is a limitation of the Google Photos API and is covered by bug
  43254. #112096115 (https://issuetracker.google.com/issues/112096115).
  43255. T}
  43256. T{
  43257. \f[B]The current google API does not allow photos to be downloaded at
  43258. original resolution. This is very important if you are, for example,
  43259. relying on \[dq]Google Photos\[dq] as a backup of your photos. You will
  43260. not be able to use rclone to redownload original images. You could use
  43261. \[aq]google takeout\[aq] to recover the original photos as a last
  43262. resort\f[R]
  43263. T}
  43264. T{
  43265. ### Downloading Videos
  43266. T}
  43267. T{
  43268. When videos are downloaded they are downloaded in a really compressed
  43269. version of the video compared to downloading it via the Google Photos
  43270. web interface.
  43271. This is covered by bug
  43272. #113672044 (https://issuetracker.google.com/issues/113672044).
  43273. T}
  43274. T{
  43275. ### Duplicates
  43276. T}
  43277. T{
  43278. If a file name is duplicated in a directory then rclone will add the
  43279. file ID into its name.
  43280. So two files called \f[C]file.jpg\f[R] would then appear as
  43281. \f[C]file {123456}.jpg\f[R] and \f[C]file {ABCDEF}.jpg\f[R] (the actual
  43282. IDs are a lot longer alas!).
  43283. T}
  43284. T{
  43285. If you upload the same image (with the same binary data) twice then
  43286. Google Photos will deduplicate it.
  43287. However it will retain the filename from the first upload which may
  43288. confuse rclone.
  43289. For example if you uploaded an image to \f[C]upload\f[R] then uploaded
  43290. the same image to \f[C]album/my_album\f[R] the filename of the image in
  43291. \f[C]album/my_album\f[R] will be what it was uploaded with initially,
  43292. not what you uploaded it with to \f[C]album\f[R].
  43293. In practise this shouldn\[aq]t cause too many problems.
  43294. T}
  43295. T{
  43296. ### Modification times
  43297. T}
  43298. T{
  43299. The date shown of media in Google Photos is the creation date as
  43300. determined by the EXIF information, or the upload date if that is not
  43301. known.
  43302. T}
  43303. T{
  43304. This is not changeable by rclone and is not the modification date of the
  43305. media on local disk.
  43306. This means that rclone cannot use the dates from Google Photos for
  43307. syncing purposes.
  43308. T}
  43309. T{
  43310. ### Size
  43311. T}
  43312. T{
  43313. The Google Photos API does not return the size of media.
  43314. This means that when syncing to Google Photos, rclone can only do a file
  43315. existence check.
  43316. T}
  43317. T{
  43318. It is possible to read the size of the media, but this needs an extra
  43319. HTTP HEAD request per media item so is \f[B]very slow\f[R] and uses up a
  43320. lot of transactions.
  43321. This can be enabled with the \f[C]--gphotos-read-size\f[R] option or the
  43322. \f[C]read_size = true\f[R] config parameter.
  43323. T}
  43324. T{
  43325. If you want to use the backend with \f[C]rclone mount\f[R] you may need
  43326. to enable this flag (depending on your OS and application using the
  43327. photos) otherwise you may not be able to read media off the mount.
  43328. You\[aq]ll need to experiment to see if it works for you without the
  43329. flag.
  43330. T}
  43331. T{
  43332. ### Albums
  43333. T}
  43334. T{
  43335. Rclone can only upload files to albums it created.
  43336. This is a limitation of the Google Photos
  43337. API (https://developers.google.com/photos/library/guides/manage-albums).
  43338. T}
  43339. T{
  43340. Rclone can remove files it uploaded from albums it created only.
  43341. T}
  43342. T{
  43343. ### Deleting files
  43344. T}
  43345. T{
  43346. Rclone can remove files from albums it created, but note that the Google
  43347. Photos API does not allow media to be deleted permanently so this media
  43348. will still remain.
  43349. See bug #109759781 (https://issuetracker.google.com/issues/109759781).
  43350. T}
  43351. T{
  43352. Rclone cannot delete files anywhere except under \f[C]album\f[R].
  43353. T}
  43354. T{
  43355. ### Deleting albums
  43356. T}
  43357. T{
  43358. The Google Photos API does not support deleting albums - see bug
  43359. #135714733 (https://issuetracker.google.com/issues/135714733).
  43360. T}
  43361. T{
  43362. # Hasher
  43363. T}
  43364. T{
  43365. Hasher is a special overlay backend to create remotes which handle
  43366. checksums for other remotes.
  43367. It\[aq]s main functions include: - Emulate hash types unimplemented by
  43368. backends - Cache checksums to help with slow hashing of large local or
  43369. (S)FTP files - Warm up checksum cache from external SUM files
  43370. T}
  43371. T{
  43372. ## Getting started
  43373. T}
  43374. T{
  43375. To use Hasher, first set up the underlying remote following the
  43376. configuration instructions for that remote.
  43377. You can also use a local pathname instead of a remote.
  43378. Check that your base remote is working.
  43379. T}
  43380. T{
  43381. Let\[aq]s call the base remote \f[C]myRemote:path\f[R] here.
  43382. Note that anything inside \f[C]myRemote:path\f[R] will be handled by
  43383. hasher and anything outside won\[aq]t.
  43384. This means that if you are using a bucket based remote (S3, B2, Swift)
  43385. then you should put the bucket in the remote \f[C]s3:bucket\f[R].
  43386. T}
  43387. T{
  43388. Now proceed to interactive or manual configuration.
  43389. T}
  43390. T{
  43391. ### Interactive configuration
  43392. T}
  43393. T{
  43394. Run \f[C]rclone config\f[R]: \[ga]\[ga]\[ga] No remotes found, make a
  43395. new one?
  43396. n) New remote s) Set configuration password q) Quit config n/s/q> n
  43397. name> Hasher1 Type of storage to configure.
  43398. Choose a number from below, or type in your own value [snip] XX / Handle
  43399. checksums for other remotes \ \[dq]hasher\[dq] [snip] Storage> hasher
  43400. Remote to cache checksums for, like myremote:mypath.
  43401. Enter a string value.
  43402. Press Enter for the default (\[dq]\[dq]).
  43403. remote> myRemote:path Comma separated list of supported checksum types.
  43404. Enter a string value.
  43405. Press Enter for the default (\[dq]md5,sha1\[dq]).
  43406. hashsums> md5 Maximum time to keep checksums in cache.
  43407. 0 = no cache, off = cache forever.
  43408. max_age> off Edit advanced config?
  43409. (y/n) y) Yes n) No y/n> n Remote config
  43410. T}
  43411. .TE
  43412. .PP
  43413. [Hasher1] type = hasher remote = myRemote:path hashsums = md5 max_age =
  43414. off -------------------- y) Yes this is OK e) Edit this remote d) Delete
  43415. this remote y/e/d> y
  43416. .IP
  43417. .nf
  43418. \f[C]
  43419. ### Manual configuration
  43420. Run \[ga]rclone config path\[ga] to see the path of current active config file,
  43421. usually \[ga]YOURHOME/.config/rclone/rclone.conf\[ga].
  43422. Open it in your favorite text editor, find section for the base remote
  43423. and create new section for hasher like in the following examples:
  43424. \f[R]
  43425. .fi
  43426. .PP
  43427. [Hasher1] type = hasher remote = myRemote:path hashes = md5 max_age =
  43428. off
  43429. .PP
  43430. [Hasher2] type = hasher remote = /local/path hashes = dropbox,sha1
  43431. max_age = 24h
  43432. .IP
  43433. .nf
  43434. \f[C]
  43435. Hasher takes basically the following parameters:
  43436. - \[ga]remote\[ga] is required,
  43437. - \[ga]hashes\[ga] is a comma separated list of supported checksums
  43438. (by default \[ga]md5,sha1\[ga]),
  43439. - \[ga]max_age\[ga] - maximum time to keep a checksum value in the cache,
  43440. \[ga]0\[ga] will disable caching completely,
  43441. \[ga]off\[ga] will cache \[dq]forever\[dq] (that is until the files get changed).
  43442. Make sure the \[ga]remote\[ga] has \[ga]:\[ga] (colon) in. If you specify the remote without
  43443. a colon then rclone will use a local directory of that name. So if you use
  43444. a remote of \[ga]/local/path\[ga] then rclone will handle hashes for that directory.
  43445. If you use \[ga]remote = name\[ga] literally then rclone will put files
  43446. **in a directory called \[ga]name\[ga] located under current directory**.
  43447. ## Usage
  43448. ### Basic operations
  43449. Now you can use it as \[ga]Hasher2:subdir/file\[ga] instead of base remote.
  43450. Hasher will transparently update cache with new checksums when a file
  43451. is fully read or overwritten, like:
  43452. \f[R]
  43453. .fi
  43454. .PP
  43455. rclone copy External:path/file Hasher:dest/path
  43456. .PP
  43457. rclone cat Hasher:path/to/file > /dev/null
  43458. .IP
  43459. .nf
  43460. \f[C]
  43461. The way to refresh **all** cached checksums (even unsupported by the base backend)
  43462. for a subtree is to **re-download** all files in the subtree. For example,
  43463. use \[ga]hashsum --download\[ga] using **any** supported hashsum on the command line
  43464. (we just care to re-read):
  43465. \f[R]
  43466. .fi
  43467. .PP
  43468. rclone hashsum MD5 --download Hasher:path/to/subtree > /dev/null
  43469. .PP
  43470. rclone backend dump Hasher:path/to/subtree
  43471. .IP
  43472. .nf
  43473. \f[C]
  43474. You can print or drop hashsum cache using custom backend commands:
  43475. \f[R]
  43476. .fi
  43477. .PP
  43478. rclone backend dump Hasher:dir/subdir
  43479. .PP
  43480. rclone backend drop Hasher:
  43481. .IP
  43482. .nf
  43483. \f[C]
  43484. ### Pre-Seed from a SUM File
  43485. Hasher supports two backend commands: generic SUM file \[ga]import\[ga] and faster
  43486. but less consistent \[ga]stickyimport\[ga].
  43487. \f[R]
  43488. .fi
  43489. .PP
  43490. rclone backend import Hasher:dir/subdir SHA1 /path/to/SHA1SUM
  43491. [--checkers 4]
  43492. .IP
  43493. .nf
  43494. \f[C]
  43495. Instead of SHA1 it can be any hash supported by the remote. The last argument
  43496. can point to either a local or an \[ga]other-remote:path\[ga] text file in SUM format.
  43497. The command will parse the SUM file, then walk down the path given by the
  43498. first argument, snapshot current fingerprints and fill in the cache entries
  43499. correspondingly.
  43500. - Paths in the SUM file are treated as relative to \[ga]hasher:dir/subdir\[ga].
  43501. - The command will **not** check that supplied values are correct.
  43502. You **must know** what you are doing.
  43503. - This is a one-time action. The SUM file will not get \[dq]attached\[dq] to the
  43504. remote. Cache entries can still be overwritten later, should the object\[aq]s
  43505. fingerprint change.
  43506. - The tree walk can take long depending on the tree size. You can increase
  43507. \[ga]--checkers\[ga] to make it faster. Or use \[ga]stickyimport\[ga] if you don\[aq]t care
  43508. about fingerprints and consistency.
  43509. \f[R]
  43510. .fi
  43511. .PP
  43512. rclone backend stickyimport hasher:path/to/data sha1
  43513. remote:/path/to/sum.sha1
  43514. .IP
  43515. .nf
  43516. \f[C]
  43517. \[ga]stickyimport\[ga] is similar to \[ga]import\[ga] but works much faster because it
  43518. does not need to stat existing files and skips initial tree walk.
  43519. Instead of binding cache entries to file fingerprints it creates _sticky_
  43520. entries bound to the file name alone ignoring size, modification time etc.
  43521. Such hash entries can be replaced only by \[ga]purge\[ga], \[ga]delete\[ga], \[ga]backend drop\[ga]
  43522. or by full re-read/re-write of the files.
  43523. ## Configuration reference
  43524. ### Standard options
  43525. Here are the Standard options specific to hasher (Better checksums for other remotes).
  43526. #### --hasher-remote
  43527. Remote to cache checksums for (e.g. myRemote:path).
  43528. Properties:
  43529. - Config: remote
  43530. - Env Var: RCLONE_HASHER_REMOTE
  43531. - Type: string
  43532. - Required: true
  43533. #### --hasher-hashes
  43534. Comma separated list of supported checksum types.
  43535. Properties:
  43536. - Config: hashes
  43537. - Env Var: RCLONE_HASHER_HASHES
  43538. - Type: CommaSepList
  43539. - Default: md5,sha1
  43540. #### --hasher-max-age
  43541. Maximum time to keep checksums in cache (0 = no cache, off = cache forever).
  43542. Properties:
  43543. - Config: max_age
  43544. - Env Var: RCLONE_HASHER_MAX_AGE
  43545. - Type: Duration
  43546. - Default: off
  43547. ### Advanced options
  43548. Here are the Advanced options specific to hasher (Better checksums for other remotes).
  43549. #### --hasher-auto-size
  43550. Auto-update checksum for files smaller than this size (disabled by default).
  43551. Properties:
  43552. - Config: auto_size
  43553. - Env Var: RCLONE_HASHER_AUTO_SIZE
  43554. - Type: SizeSuffix
  43555. - Default: 0
  43556. #### --hasher-description
  43557. Description of the remote
  43558. Properties:
  43559. - Config: description
  43560. - Env Var: RCLONE_HASHER_DESCRIPTION
  43561. - Type: string
  43562. - Required: false
  43563. ### Metadata
  43564. Any metadata supported by the underlying remote is read and written.
  43565. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  43566. ## Backend commands
  43567. Here are the commands specific to the hasher backend.
  43568. Run them with
  43569. rclone backend COMMAND remote:
  43570. The help below will explain what arguments each command takes.
  43571. See the [backend](https://rclone.org/commands/rclone_backend/) command for more
  43572. info on how to pass options and arguments.
  43573. These can be run on a running backend using the rc command
  43574. [backend/command](https://rclone.org/rc/#backend-command).
  43575. ### drop
  43576. Drop cache
  43577. rclone backend drop remote: [options] [<arguments>+]
  43578. Completely drop checksum cache.
  43579. Usage Example:
  43580. rclone backend drop hasher:
  43581. ### dump
  43582. Dump the database
  43583. rclone backend dump remote: [options] [<arguments>+]
  43584. Dump cache records covered by the current remote
  43585. ### fulldump
  43586. Full dump of the database
  43587. rclone backend fulldump remote: [options] [<arguments>+]
  43588. Dump all cache records in the database
  43589. ### import
  43590. Import a SUM file
  43591. rclone backend import remote: [options] [<arguments>+]
  43592. Amend hash cache from a SUM file and bind checksums to files by size/time.
  43593. Usage Example:
  43594. rclone backend import hasher:subdir md5 /path/to/sum.md5
  43595. ### stickyimport
  43596. Perform fast import of a SUM file
  43597. rclone backend stickyimport remote: [options] [<arguments>+]
  43598. Fill hash cache from a SUM file without verifying file fingerprints.
  43599. Usage Example:
  43600. rclone backend stickyimport hasher:subdir md5 remote:path/to/sum.md5
  43601. ## Implementation details (advanced)
  43602. This section explains how various rclone operations work on a hasher remote.
  43603. **Disclaimer. This section describes current implementation which can
  43604. change in future rclone versions!.**
  43605. ### Hashsum command
  43606. The \[ga]rclone hashsum\[ga] (or \[ga]md5sum\[ga] or \[ga]sha1sum\[ga]) command will:
  43607. 1. if requested hash is supported by lower level, just pass it.
  43608. 2. if object size is below \[ga]auto_size\[ga] then download object and calculate
  43609. _requested_ hashes on the fly.
  43610. 3. if unsupported and the size is big enough, build object \[ga]fingerprint\[ga]
  43611. (including size, modtime if supported, first-found _other_ hash if any).
  43612. 4. if the strict match is found in cache for the requested remote, return
  43613. the stored hash.
  43614. 5. if remote found but fingerprint mismatched, then purge the entry and
  43615. proceed to step 6.
  43616. 6. if remote not found or had no requested hash type or after step 5:
  43617. download object, calculate all _supported_ hashes on the fly and store
  43618. in cache; return requested hash.
  43619. ### Other operations
  43620. - whenever a file is uploaded or downloaded **in full**, capture the stream
  43621. to calculate all supported hashes on the fly and update database
  43622. - server-side \[ga]move\[ga] will update keys of existing cache entries
  43623. - \[ga]deletefile\[ga] will remove a single cache entry
  43624. - \[ga]purge\[ga] will remove all cache entries under the purged path
  43625. Note that setting \[ga]max_age = 0\[ga] will disable checksum caching completely.
  43626. If you set \[ga]max_age = off\[ga], checksums in cache will never age, unless you
  43627. fully rewrite or delete the file.
  43628. ### Cache storage
  43629. Cached checksums are stored as \[ga]bolt\[ga] database files under rclone cache
  43630. directory, usually \[ga]\[ti]/.cache/rclone/kv/\[ga]. Databases are maintained
  43631. one per _base_ backend, named like \[ga]BaseRemote\[ti]hasher.bolt\[ga].
  43632. Checksums for multiple \[ga]alias\[ga]-es into a single base backend
  43633. will be stored in the single database. All local paths are treated as
  43634. aliases into the \[ga]local\[ga] backend (unless encrypted or chunked) and stored
  43635. in \[ga]\[ti]/.cache/rclone/kv/local\[ti]hasher.bolt\[ga].
  43636. Databases can be shared between multiple rclone processes.
  43637. # HDFS
  43638. [HDFS](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) is a
  43639. distributed file-system, part of the [Apache Hadoop](https://hadoop.apache.org/) framework.
  43640. Paths are specified as \[ga]remote:\[ga] or \[ga]remote:path/to/dir\[ga].
  43641. ## Configuration
  43642. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  43643. rclone config
  43644. This will guide you through an interactive setup process:
  43645. \f[R]
  43646. .fi
  43647. .PP
  43648. No remotes found, make a new one?
  43649. n) New remote s) Set configuration password q) Quit config n/s/q> n
  43650. name> remote Type of storage to configure.
  43651. Enter a string value.
  43652. Press Enter for the default (\[dq]\[dq]).
  43653. Choose a number from below, or type in your own value [skip] XX / Hadoop
  43654. distributed file system \ \[dq]hdfs\[dq] [skip] Storage> hdfs ** See
  43655. help for hdfs backend at: https://rclone.org/hdfs/ **
  43656. .PP
  43657. hadoop name node and port Enter a string value.
  43658. Press Enter for the default (\[dq]\[dq]).
  43659. Choose a number from below, or type in your own value 1 / Connect to
  43660. host namenode at port 8020 \ \[dq]namenode:8020\[dq] namenode>
  43661. namenode.hadoop:8020 hadoop user name Enter a string value.
  43662. Press Enter for the default (\[dq]\[dq]).
  43663. Choose a number from below, or type in your own value 1 / Connect to
  43664. hdfs as root \ \[dq]root\[dq] username> root Edit advanced config?
  43665. (y/n) y) Yes n) No (default) y/n> n Remote config --------------------
  43666. [remote] type = hdfs namenode = namenode.hadoop:8020 username = root
  43667. -------------------- y) Yes this is OK (default) e) Edit this remote d)
  43668. Delete this remote y/e/d> y Current remotes:
  43669. .PP
  43670. Name Type ==== ==== hadoop hdfs
  43671. .IP "e)" 3
  43672. Edit existing remote
  43673. .IP "f)" 3
  43674. New remote
  43675. .IP "g)" 3
  43676. Delete remote
  43677. .IP "h)" 3
  43678. Rename remote
  43679. .IP "i)" 3
  43680. Copy remote
  43681. .IP "j)" 3
  43682. Set configuration password
  43683. .IP "k)" 3
  43684. Quit config e/n/d/r/c/s/q> q
  43685. .IP
  43686. .nf
  43687. \f[C]
  43688. This remote is called \[ga]remote\[ga] and can now be used like this
  43689. See all the top level directories
  43690. rclone lsd remote:
  43691. List the contents of a directory
  43692. rclone ls remote:directory
  43693. Sync the remote \[ga]directory\[ga] to \[ga]/home/local/directory\[ga], deleting any excess files.
  43694. rclone sync --interactive remote:directory /home/local/directory
  43695. ### Setting up your own HDFS instance for testing
  43696. You may start with a [manual setup](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html)
  43697. or use the docker image from the tests:
  43698. If you want to build the docker image
  43699. \f[R]
  43700. .fi
  43701. .PP
  43702. git clone https://github.com/rclone/rclone.git cd
  43703. rclone/fstest/testserver/images/test-hdfs docker build --rm -t
  43704. rclone/test-hdfs .
  43705. .IP
  43706. .nf
  43707. \f[C]
  43708. Or you can just use the latest one pushed
  43709. \f[R]
  43710. .fi
  43711. .PP
  43712. docker run --rm --name \[dq]rclone-hdfs\[dq] -p 127.0.0.1:9866:9866 -p
  43713. 127.0.0.1:8020:8020 --hostname \[dq]rclone-hdfs\[dq] rclone/test-hdfs
  43714. .IP
  43715. .nf
  43716. \f[C]
  43717. **NB** it need few seconds to startup.
  43718. For this docker image the remote needs to be configured like this:
  43719. \f[R]
  43720. .fi
  43721. .PP
  43722. [remote] type = hdfs namenode = 127.0.0.1:8020 username = root
  43723. .IP
  43724. .nf
  43725. \f[C]
  43726. You can stop this image with \[ga]docker kill rclone-hdfs\[ga] (**NB** it does not use volumes, so all data
  43727. uploaded will be lost.)
  43728. ### Modification times
  43729. Time accurate to 1 second is stored.
  43730. ### Checksum
  43731. No checksums are implemented.
  43732. ### Usage information
  43733. You can use the \[ga]rclone about remote:\[ga] command which will display filesystem size and current usage.
  43734. ### Restricted filename characters
  43735. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  43736. the following characters are also replaced:
  43737. | Character | Value | Replacement |
  43738. | --------- |:-----:|:-----------:|
  43739. | : | 0x3A | \[uFF1A] |
  43740. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8).
  43741. ### Standard options
  43742. Here are the Standard options specific to hdfs (Hadoop distributed file system).
  43743. #### --hdfs-namenode
  43744. Hadoop name nodes and ports.
  43745. E.g. \[dq]namenode-1:8020,namenode-2:8020,...\[dq] to connect to host namenodes at port 8020.
  43746. Properties:
  43747. - Config: namenode
  43748. - Env Var: RCLONE_HDFS_NAMENODE
  43749. - Type: CommaSepList
  43750. - Default:
  43751. #### --hdfs-username
  43752. Hadoop user name.
  43753. Properties:
  43754. - Config: username
  43755. - Env Var: RCLONE_HDFS_USERNAME
  43756. - Type: string
  43757. - Required: false
  43758. - Examples:
  43759. - \[dq]root\[dq]
  43760. - Connect to hdfs as root.
  43761. ### Advanced options
  43762. Here are the Advanced options specific to hdfs (Hadoop distributed file system).
  43763. #### --hdfs-service-principal-name
  43764. Kerberos service principal name for the namenode.
  43765. Enables KERBEROS authentication. Specifies the Service Principal Name
  43766. (SERVICE/FQDN) for the namenode. E.g. \[rs]\[dq]hdfs/namenode.hadoop.docker\[rs]\[dq]
  43767. for namenode running as service \[aq]hdfs\[aq] with FQDN \[aq]namenode.hadoop.docker\[aq].
  43768. Properties:
  43769. - Config: service_principal_name
  43770. - Env Var: RCLONE_HDFS_SERVICE_PRINCIPAL_NAME
  43771. - Type: string
  43772. - Required: false
  43773. #### --hdfs-data-transfer-protection
  43774. Kerberos data transfer protection: authentication|integrity|privacy.
  43775. Specifies whether or not authentication, data signature integrity
  43776. checks, and wire encryption are required when communicating with
  43777. the datanodes. Possible values are \[aq]authentication\[aq], \[aq]integrity\[aq]
  43778. and \[aq]privacy\[aq]. Used only with KERBEROS enabled.
  43779. Properties:
  43780. - Config: data_transfer_protection
  43781. - Env Var: RCLONE_HDFS_DATA_TRANSFER_PROTECTION
  43782. - Type: string
  43783. - Required: false
  43784. - Examples:
  43785. - \[dq]privacy\[dq]
  43786. - Ensure authentication, integrity and encryption enabled.
  43787. #### --hdfs-encoding
  43788. The encoding for the backend.
  43789. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  43790. Properties:
  43791. - Config: encoding
  43792. - Env Var: RCLONE_HDFS_ENCODING
  43793. - Type: Encoding
  43794. - Default: Slash,Colon,Del,Ctl,InvalidUtf8,Dot
  43795. #### --hdfs-description
  43796. Description of the remote
  43797. Properties:
  43798. - Config: description
  43799. - Env Var: RCLONE_HDFS_DESCRIPTION
  43800. - Type: string
  43801. - Required: false
  43802. ## Limitations
  43803. - No server-side \[ga]Move\[ga] or \[ga]DirMove\[ga].
  43804. - Checksums not implemented.
  43805. # HiDrive
  43806. Paths are specified as \[ga]remote:path\[ga]
  43807. Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga].
  43808. The initial setup for hidrive involves getting a token from HiDrive
  43809. which you need to do in your browser.
  43810. \[ga]rclone config\[ga] walks you through it.
  43811. ## Configuration
  43812. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  43813. rclone config
  43814. This will guide you through an interactive setup process:
  43815. \f[R]
  43816. .fi
  43817. .PP
  43818. No remotes found - make a new one n) New remote s) Set configuration
  43819. password q) Quit config n/s/q> n name> remote Type of storage to
  43820. configure.
  43821. Choose a number from below, or type in your own value [snip] XX /
  43822. HiDrive \ \[dq]hidrive\[dq] [snip] Storage> hidrive OAuth Client Id -
  43823. Leave blank normally.
  43824. client_id> OAuth Client Secret - Leave blank normally.
  43825. client_secret> Access permissions that rclone should use when requesting
  43826. access from HiDrive.
  43827. Leave blank normally.
  43828. scope_access> Edit advanced config?
  43829. y/n> n Use web browser to automatically authenticate rclone with remote?
  43830. * Say Y if the machine running rclone has a web browser you can use *
  43831. Say N if running rclone on a (remote) machine without web browser access
  43832. If not sure try Y.
  43833. If Y failed, try N.
  43834. y/n> y If your browser doesn\[aq]t open automatically go to the
  43835. following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
  43836. Log in and authorize rclone for access Waiting for code...
  43837. Got code -------------------- [remote] type = hidrive token =
  43838. {\[dq]access_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxx\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]expiry\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxx\[dq]}
  43839. -------------------- y) Yes this is OK (default) e) Edit this remote d)
  43840. Delete this remote y/e/d> y
  43841. .IP
  43842. .nf
  43843. \f[C]
  43844. **You should be aware that OAuth-tokens can be used to access your account
  43845. and hence should not be shared with other persons.**
  43846. See the [below section](#keeping-your-tokens-safe) for more information.
  43847. See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
  43848. machine with no Internet browser available.
  43849. Note that rclone runs a webserver on your local machine to collect the
  43850. token as returned from HiDrive. This only runs from the moment it opens
  43851. your browser to the moment you get back the verification code.
  43852. The webserver runs on \[ga]http://127.0.0.1:53682/\[ga].
  43853. If local port \[ga]53682\[ga] is protected by a firewall you may need to temporarily
  43854. unblock the firewall to complete authorization.
  43855. Once configured you can then use \[ga]rclone\[ga] like this,
  43856. List directories in top level of your HiDrive root folder
  43857. rclone lsd remote:
  43858. List all the files in your HiDrive filesystem
  43859. rclone ls remote:
  43860. To copy a local directory to a HiDrive directory called backup
  43861. rclone copy /home/source remote:backup
  43862. ### Keeping your tokens safe
  43863. Any OAuth-tokens will be stored by rclone in the remote\[aq]s configuration file as unencrypted text.
  43864. Anyone can use a valid refresh-token to access your HiDrive filesystem without knowing your password.
  43865. Therefore you should make sure no one else can access your configuration.
  43866. It is possible to encrypt rclone\[aq]s configuration file.
  43867. You can find information on securing your configuration file by viewing the [configuration encryption docs](https://rclone.org/docs/#configuration-encryption).
  43868. ### Invalid refresh token
  43869. As can be verified [here](https://developer.hidrive.com/basics-flows/),
  43870. each \[ga]refresh_token\[ga] (for Native Applications) is valid for 60 days.
  43871. If used to access HiDrivei, its validity will be automatically extended.
  43872. This means that if you
  43873. * Don\[aq]t use the HiDrive remote for 60 days
  43874. then rclone will return an error which includes a text
  43875. that implies the refresh token is *invalid* or *expired*.
  43876. To fix this you will need to authorize rclone to access your HiDrive account again.
  43877. Using
  43878. rclone config reconnect remote:
  43879. the process is very similar to the process of initial setup exemplified before.
  43880. ### Modification times and hashes
  43881. HiDrive allows modification times to be set on objects accurate to 1 second.
  43882. HiDrive supports [its own hash type](https://static.hidrive.com/dev/0001)
  43883. which is used to verify the integrity of file contents after successful transfers.
  43884. ### Restricted filename characters
  43885. HiDrive cannot store files or folders that include
  43886. \[ga]/\[ga] (0x2F) or null-bytes (0x00) in their name.
  43887. Any other characters can be used in the names of files or folders.
  43888. Additionally, files or folders cannot be named either of the following: \[ga].\[ga] or \[ga]..\[ga]
  43889. Therefore rclone will automatically replace these characters,
  43890. if files or folders are stored or accessed with such names.
  43891. You can read about how this filename encoding works in general
  43892. [here](overview/#restricted-filenames).
  43893. Keep in mind that HiDrive only supports file or folder names
  43894. with a length of 255 characters or less.
  43895. ### Transfers
  43896. HiDrive limits file sizes per single request to a maximum of 2 GiB.
  43897. To allow storage of larger files and allow for better upload performance,
  43898. the hidrive backend will use a chunked transfer for files larger than 96 MiB.
  43899. Rclone will upload multiple parts/chunks of the file at the same time.
  43900. Chunks in the process of being uploaded are buffered in memory,
  43901. so you may want to restrict this behaviour on systems with limited resources.
  43902. You can customize this behaviour using the following options:
  43903. * \[ga]chunk_size\[ga]: size of file parts
  43904. * \[ga]upload_cutoff\[ga]: files larger or equal to this in size will use a chunked transfer
  43905. * \[ga]upload_concurrency\[ga]: number of file-parts to upload at the same time
  43906. See the below section about configuration options for more details.
  43907. ### Root folder
  43908. You can set the root folder for rclone.
  43909. This is the directory that rclone considers to be the root of your HiDrive.
  43910. Usually, you will leave this blank, and rclone will use the root of the account.
  43911. However, you can set this to restrict rclone to a specific folder hierarchy.
  43912. This works by prepending the contents of the \[ga]root_prefix\[ga] option
  43913. to any paths accessed by rclone.
  43914. For example, the following two ways to access the home directory are equivalent:
  43915. rclone lsd --hidrive-root-prefix=\[dq]/users/test/\[dq] remote:path
  43916. rclone lsd remote:/users/test/path
  43917. See the below section about configuration options for more details.
  43918. ### Directory member count
  43919. By default, rclone will know the number of directory members contained in a directory.
  43920. For example, \[ga]rclone lsd\[ga] uses this information.
  43921. The acquisition of this information will result in additional time costs for HiDrive\[aq]s API.
  43922. When dealing with large directory structures, it may be desirable to circumvent this time cost,
  43923. especially when this information is not explicitly needed.
  43924. For this, the \[ga]disable_fetching_member_count\[ga] option can be used.
  43925. See the below section about configuration options for more details.
  43926. ### Standard options
  43927. Here are the Standard options specific to hidrive (HiDrive).
  43928. #### --hidrive-client-id
  43929. OAuth Client Id.
  43930. Leave blank normally.
  43931. Properties:
  43932. - Config: client_id
  43933. - Env Var: RCLONE_HIDRIVE_CLIENT_ID
  43934. - Type: string
  43935. - Required: false
  43936. #### --hidrive-client-secret
  43937. OAuth Client Secret.
  43938. Leave blank normally.
  43939. Properties:
  43940. - Config: client_secret
  43941. - Env Var: RCLONE_HIDRIVE_CLIENT_SECRET
  43942. - Type: string
  43943. - Required: false
  43944. #### --hidrive-scope-access
  43945. Access permissions that rclone should use when requesting access from HiDrive.
  43946. Properties:
  43947. - Config: scope_access
  43948. - Env Var: RCLONE_HIDRIVE_SCOPE_ACCESS
  43949. - Type: string
  43950. - Default: \[dq]rw\[dq]
  43951. - Examples:
  43952. - \[dq]rw\[dq]
  43953. - Read and write access to resources.
  43954. - \[dq]ro\[dq]
  43955. - Read-only access to resources.
  43956. ### Advanced options
  43957. Here are the Advanced options specific to hidrive (HiDrive).
  43958. #### --hidrive-token
  43959. OAuth Access Token as a JSON blob.
  43960. Properties:
  43961. - Config: token
  43962. - Env Var: RCLONE_HIDRIVE_TOKEN
  43963. - Type: string
  43964. - Required: false
  43965. #### --hidrive-auth-url
  43966. Auth server URL.
  43967. Leave blank to use the provider defaults.
  43968. Properties:
  43969. - Config: auth_url
  43970. - Env Var: RCLONE_HIDRIVE_AUTH_URL
  43971. - Type: string
  43972. - Required: false
  43973. #### --hidrive-token-url
  43974. Token server url.
  43975. Leave blank to use the provider defaults.
  43976. Properties:
  43977. - Config: token_url
  43978. - Env Var: RCLONE_HIDRIVE_TOKEN_URL
  43979. - Type: string
  43980. - Required: false
  43981. #### --hidrive-scope-role
  43982. User-level that rclone should use when requesting access from HiDrive.
  43983. Properties:
  43984. - Config: scope_role
  43985. - Env Var: RCLONE_HIDRIVE_SCOPE_ROLE
  43986. - Type: string
  43987. - Default: \[dq]user\[dq]
  43988. - Examples:
  43989. - \[dq]user\[dq]
  43990. - User-level access to management permissions.
  43991. - This will be sufficient in most cases.
  43992. - \[dq]admin\[dq]
  43993. - Extensive access to management permissions.
  43994. - \[dq]owner\[dq]
  43995. - Full access to management permissions.
  43996. #### --hidrive-root-prefix
  43997. The root/parent folder for all paths.
  43998. Fill in to use the specified folder as the parent for all paths given to the remote.
  43999. This way rclone can use any folder as its starting point.
  44000. Properties:
  44001. - Config: root_prefix
  44002. - Env Var: RCLONE_HIDRIVE_ROOT_PREFIX
  44003. - Type: string
  44004. - Default: \[dq]/\[dq]
  44005. - Examples:
  44006. - \[dq]/\[dq]
  44007. - The topmost directory accessible by rclone.
  44008. - This will be equivalent with \[dq]root\[dq] if rclone uses a regular HiDrive user account.
  44009. - \[dq]root\[dq]
  44010. - The topmost directory of the HiDrive user account
  44011. - \[dq]\[dq]
  44012. - This specifies that there is no root-prefix for your paths.
  44013. - When using this you will always need to specify paths to this remote with a valid parent e.g. \[dq]remote:/path/to/dir\[dq] or \[dq]remote:root/path/to/dir\[dq].
  44014. #### --hidrive-endpoint
  44015. Endpoint for the service.
  44016. This is the URL that API-calls will be made to.
  44017. Properties:
  44018. - Config: endpoint
  44019. - Env Var: RCLONE_HIDRIVE_ENDPOINT
  44020. - Type: string
  44021. - Default: \[dq]https://api.hidrive.strato.com/2.1\[dq]
  44022. #### --hidrive-disable-fetching-member-count
  44023. Do not fetch number of objects in directories unless it is absolutely necessary.
  44024. Requests may be faster if the number of objects in subdirectories is not fetched.
  44025. Properties:
  44026. - Config: disable_fetching_member_count
  44027. - Env Var: RCLONE_HIDRIVE_DISABLE_FETCHING_MEMBER_COUNT
  44028. - Type: bool
  44029. - Default: false
  44030. #### --hidrive-chunk-size
  44031. Chunksize for chunked uploads.
  44032. Any files larger than the configured cutoff (or files of unknown size) will be uploaded in chunks of this size.
  44033. The upper limit for this is 2147483647 bytes (about 2.000Gi).
  44034. That is the maximum amount of bytes a single upload-operation will support.
  44035. Setting this above the upper limit or to a negative value will cause uploads to fail.
  44036. Setting this to larger values may increase the upload speed at the cost of using more memory.
  44037. It can be set to smaller values smaller to save on memory.
  44038. Properties:
  44039. - Config: chunk_size
  44040. - Env Var: RCLONE_HIDRIVE_CHUNK_SIZE
  44041. - Type: SizeSuffix
  44042. - Default: 48Mi
  44043. #### --hidrive-upload-cutoff
  44044. Cutoff/Threshold for chunked uploads.
  44045. Any files larger than this will be uploaded in chunks of the configured chunksize.
  44046. The upper limit for this is 2147483647 bytes (about 2.000Gi).
  44047. That is the maximum amount of bytes a single upload-operation will support.
  44048. Setting this above the upper limit will cause uploads to fail.
  44049. Properties:
  44050. - Config: upload_cutoff
  44051. - Env Var: RCLONE_HIDRIVE_UPLOAD_CUTOFF
  44052. - Type: SizeSuffix
  44053. - Default: 96Mi
  44054. #### --hidrive-upload-concurrency
  44055. Concurrency for chunked uploads.
  44056. This is the upper limit for how many transfers for the same file are running concurrently.
  44057. Setting this above to a value smaller than 1 will cause uploads to deadlock.
  44058. If you are uploading small numbers of large files over high-speed links
  44059. and these uploads do not fully utilize your bandwidth, then increasing
  44060. this may help to speed up the transfers.
  44061. Properties:
  44062. - Config: upload_concurrency
  44063. - Env Var: RCLONE_HIDRIVE_UPLOAD_CONCURRENCY
  44064. - Type: int
  44065. - Default: 4
  44066. #### --hidrive-encoding
  44067. The encoding for the backend.
  44068. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  44069. Properties:
  44070. - Config: encoding
  44071. - Env Var: RCLONE_HIDRIVE_ENCODING
  44072. - Type: Encoding
  44073. - Default: Slash,Dot
  44074. #### --hidrive-description
  44075. Description of the remote
  44076. Properties:
  44077. - Config: description
  44078. - Env Var: RCLONE_HIDRIVE_DESCRIPTION
  44079. - Type: string
  44080. - Required: false
  44081. ## Limitations
  44082. ### Symbolic links
  44083. HiDrive is able to store symbolic links (*symlinks*) by design,
  44084. for example, when unpacked from a zip archive.
  44085. There exists no direct mechanism to manage native symlinks in remotes.
  44086. As such this implementation has chosen to ignore any native symlinks present in the remote.
  44087. rclone will not be able to access or show any symlinks stored in the hidrive-remote.
  44088. This means symlinks cannot be individually removed, copied, or moved,
  44089. except when removing, copying, or moving the parent folder.
  44090. *This does not affect the \[ga].rclonelink\[ga]-files
  44091. that rclone uses to encode and store symbolic links.*
  44092. ### Sparse files
  44093. It is possible to store sparse files in HiDrive.
  44094. Note that copying a sparse file will expand the holes
  44095. into null-byte (0x00) regions that will then consume disk space.
  44096. Likewise, when downloading a sparse file,
  44097. the resulting file will have null-byte regions in the place of file holes.
  44098. # HTTP
  44099. The HTTP remote is a read only remote for reading files of a
  44100. webserver. The webserver should provide file listings which rclone
  44101. will read and turn into a remote. This has been tested with common
  44102. webservers such as Apache/Nginx/Caddy and will likely work with file
  44103. listings from most web servers. (If it doesn\[aq]t then please file an
  44104. issue, or send a pull request!)
  44105. Paths are specified as \[ga]remote:\[ga] or \[ga]remote:path\[ga].
  44106. The \[ga]remote:\[ga] represents the configured [url](#http-url), and any path following
  44107. it will be resolved relative to this url, according to the URL standard. This
  44108. means with remote url \[ga]https://beta.rclone.org/branch\[ga] and path \[ga]fix\[ga], the
  44109. resolved URL will be \[ga]https://beta.rclone.org/branch/fix\[ga], while with path
  44110. \[ga]/fix\[ga] the resolved URL will be \[ga]https://beta.rclone.org/fix\[ga] as the absolute
  44111. path is resolved from the root of the domain.
  44112. If the path following the \[ga]remote:\[ga] ends with \[ga]/\[ga] it will be assumed to point
  44113. to a directory. If the path does not end with \[ga]/\[ga], then a HEAD request is sent
  44114. and the response used to decide if it it is treated as a file or a directory
  44115. (run with \[ga]-vv\[ga] to see details). When [--http-no-head](#http-no-head) is
  44116. specified, a path without ending \[ga]/\[ga] is always assumed to be a file. If rclone
  44117. incorrectly assumes the path is a file, the solution is to specify the path with
  44118. ending \[ga]/\[ga]. When you know the path is a directory, ending it with \[ga]/\[ga] is always
  44119. better as it avoids the initial HEAD request.
  44120. To just download a single file it is easier to use
  44121. [copyurl](https://rclone.org/commands/rclone_copyurl/).
  44122. ## Configuration
  44123. Here is an example of how to make a remote called \[ga]remote\[ga]. First
  44124. run:
  44125. rclone config
  44126. This will guide you through an interactive setup process:
  44127. \f[R]
  44128. .fi
  44129. .PP
  44130. No remotes found, make a new one?
  44131. n) New remote s) Set configuration password q) Quit config n/s/q> n
  44132. name> remote Type of storage to configure.
  44133. Choose a number from below, or type in your own value [snip] XX / HTTP
  44134. \ \[dq]http\[dq] [snip] Storage> http URL of http host to connect to
  44135. Choose a number from below, or type in your own value 1 / Connect to
  44136. example.com \ \[dq]https://example.com\[dq] url> https://beta.rclone.org
  44137. Remote config -------------------- [remote] url =
  44138. https://beta.rclone.org -------------------- y) Yes this is OK e) Edit
  44139. this remote d) Delete this remote y/e/d> y Current remotes:
  44140. .PP
  44141. Name Type ==== ==== remote http
  44142. .IP "e)" 3
  44143. Edit existing remote
  44144. .IP "f)" 3
  44145. New remote
  44146. .IP "g)" 3
  44147. Delete remote
  44148. .IP "h)" 3
  44149. Rename remote
  44150. .IP "i)" 3
  44151. Copy remote
  44152. .IP "j)" 3
  44153. Set configuration password
  44154. .IP "k)" 3
  44155. Quit config e/n/d/r/c/s/q> q
  44156. .IP
  44157. .nf
  44158. \f[C]
  44159. This remote is called \[ga]remote\[ga] and can now be used like this
  44160. See all the top level directories
  44161. rclone lsd remote:
  44162. List the contents of a directory
  44163. rclone ls remote:directory
  44164. Sync the remote \[ga]directory\[ga] to \[ga]/home/local/directory\[ga], deleting any excess files.
  44165. rclone sync --interactive remote:directory /home/local/directory
  44166. ### Read only
  44167. This remote is read only - you can\[aq]t upload files to an HTTP server.
  44168. ### Modification times
  44169. Most HTTP servers store time accurate to 1 second.
  44170. ### Checksum
  44171. No checksums are stored.
  44172. ### Usage without a config file
  44173. Since the http remote only has one config parameter it is easy to use
  44174. without a config file:
  44175. rclone lsd --http-url https://beta.rclone.org :http:
  44176. or:
  44177. rclone lsd :http,url=\[aq]https://beta.rclone.org\[aq]:
  44178. ### Standard options
  44179. Here are the Standard options specific to http (HTTP).
  44180. #### --http-url
  44181. URL of HTTP host to connect to.
  44182. E.g. \[dq]https://example.com\[dq], or \[dq]https://user:pass\[at]example.com\[dq] to use a username and password.
  44183. Properties:
  44184. - Config: url
  44185. - Env Var: RCLONE_HTTP_URL
  44186. - Type: string
  44187. - Required: true
  44188. ### Advanced options
  44189. Here are the Advanced options specific to http (HTTP).
  44190. #### --http-headers
  44191. Set HTTP headers for all transactions.
  44192. Use this to set additional HTTP headers for all transactions.
  44193. The input format is comma separated list of key,value pairs. Standard
  44194. [CSV encoding](https://godoc.org/encoding/csv) may be used.
  44195. For example, to set a Cookie use \[aq]Cookie,name=value\[aq], or \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq]\[aq].
  44196. You can set multiple headers, e.g. \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq],\[dq]Authorization\[dq],\[dq]xxx\[dq]\[aq].
  44197. Properties:
  44198. - Config: headers
  44199. - Env Var: RCLONE_HTTP_HEADERS
  44200. - Type: CommaSepList
  44201. - Default:
  44202. #### --http-no-slash
  44203. Set this if the site doesn\[aq]t end directories with /.
  44204. Use this if your target website does not use / on the end of
  44205. directories.
  44206. A / on the end of a path is how rclone normally tells the difference
  44207. between files and directories. If this flag is set, then rclone will
  44208. treat all files with Content-Type: text/html as directories and read
  44209. URLs from them rather than downloading them.
  44210. Note that this may cause rclone to confuse genuine HTML files with
  44211. directories.
  44212. Properties:
  44213. - Config: no_slash
  44214. - Env Var: RCLONE_HTTP_NO_SLASH
  44215. - Type: bool
  44216. - Default: false
  44217. #### --http-no-head
  44218. Don\[aq]t use HEAD requests.
  44219. HEAD requests are mainly used to find file sizes in dir listing.
  44220. If your site is being very slow to load then you can try this option.
  44221. Normally rclone does a HEAD request for each potential file in a
  44222. directory listing to:
  44223. - find its size
  44224. - check it really exists
  44225. - check to see if it is a directory
  44226. If you set this option, rclone will not do the HEAD request. This will mean
  44227. that directory listings are much quicker, but rclone won\[aq]t have the times or
  44228. sizes of any files, and some files that don\[aq]t exist may be in the listing.
  44229. Properties:
  44230. - Config: no_head
  44231. - Env Var: RCLONE_HTTP_NO_HEAD
  44232. - Type: bool
  44233. - Default: false
  44234. #### --http-description
  44235. Description of the remote
  44236. Properties:
  44237. - Config: description
  44238. - Env Var: RCLONE_HTTP_DESCRIPTION
  44239. - Type: string
  44240. - Required: false
  44241. ## Backend commands
  44242. Here are the commands specific to the http backend.
  44243. Run them with
  44244. rclone backend COMMAND remote:
  44245. The help below will explain what arguments each command takes.
  44246. See the [backend](https://rclone.org/commands/rclone_backend/) command for more
  44247. info on how to pass options and arguments.
  44248. These can be run on a running backend using the rc command
  44249. [backend/command](https://rclone.org/rc/#backend-command).
  44250. ### set
  44251. Set command for updating the config parameters.
  44252. rclone backend set remote: [options] [<arguments>+]
  44253. This set command can be used to update the config parameters
  44254. for a running http backend.
  44255. Usage Examples:
  44256. rclone backend set remote: [-o opt_name=opt_value] [-o opt_name2=opt_value2]
  44257. rclone rc backend/command command=set fs=remote: [-o opt_name=opt_value] [-o opt_name2=opt_value2]
  44258. rclone rc backend/command command=set fs=remote: -o url=https://example.com
  44259. The option keys are named as they are in the config file.
  44260. This rebuilds the connection to the http backend when it is called with
  44261. the new parameters. Only new parameters need be passed as the values
  44262. will default to those currently in use.
  44263. It doesn\[aq]t return anything.
  44264. ## Limitations
  44265. \[ga]rclone about\[ga] is not supported by the HTTP backend. Backends without
  44266. this capability cannot determine free space for an rclone mount or
  44267. use policy \[ga]mfs\[ga] (most free space) as a member of an rclone union
  44268. remote.
  44269. See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
  44270. # ImageKit
  44271. This is a backend for the [ImageKit.io](https://imagekit.io/) storage service.
  44272. #### About ImageKit
  44273. [ImageKit.io](https://imagekit.io/) provides real-time image and video optimizations, transformations, and CDN delivery. Over 1,000 businesses and 70,000 developers trust ImageKit with their images and videos on the web.
  44274. #### Accounts & Pricing
  44275. To use this backend, you need to [create an account](https://imagekit.io/registration/) on ImageKit. Start with a free plan with generous usage limits. Then, as your requirements grow, upgrade to a plan that best fits your needs. See [the pricing details](https://imagekit.io/plans).
  44276. ## Configuration
  44277. Here is an example of making an imagekit configuration.
  44278. Firstly create a [ImageKit.io](https://imagekit.io/) account and choose a plan.
  44279. You will need to log in and get the \[ga]publicKey\[ga] and \[ga]privateKey\[ga] for your account from the developer section.
  44280. Now run
  44281. \f[R]
  44282. .fi
  44283. .PP
  44284. rclone config
  44285. .IP
  44286. .nf
  44287. \f[C]
  44288. This will guide you through an interactive setup process:
  44289. \f[R]
  44290. .fi
  44291. .PP
  44292. No remotes found, make a new one?
  44293. n) New remote s) Set configuration password q) Quit config n/s/q> n
  44294. .PP
  44295. Enter the name for the new remote.
  44296. name> imagekit-media-library
  44297. .PP
  44298. Option Storage.
  44299. Type of storage to configure.
  44300. Choose a number from below, or type in your own value.
  44301. [snip] XX / ImageKit.io \ (imagekit) [snip] Storage> imagekit
  44302. .PP
  44303. Option endpoint.
  44304. You can find your ImageKit.io URL endpoint in your
  44305. dashboard (https://imagekit.io/dashboard/developer/api-keys) Enter a
  44306. value.
  44307. endpoint> https://ik.imagekit.io/imagekit_id
  44308. .PP
  44309. Option public_key.
  44310. You can find your ImageKit.io public key in your
  44311. dashboard (https://imagekit.io/dashboard/developer/api-keys) Enter a
  44312. value.
  44313. public_key> public_****************************
  44314. .PP
  44315. Option private_key.
  44316. You can find your ImageKit.io private key in your
  44317. dashboard (https://imagekit.io/dashboard/developer/api-keys) Enter a
  44318. value.
  44319. private_key> private_****************************
  44320. .PP
  44321. Edit advanced config?
  44322. y) Yes n) No (default) y/n> n
  44323. .PP
  44324. Configuration complete.
  44325. Options: - type: imagekit - endpoint: https://ik.imagekit.io/imagekit_id
  44326. - public_key: public_**************************** - private_key:
  44327. private_****************************
  44328. .PP
  44329. Keep this \[dq]imagekit-media-library\[dq] remote?
  44330. y) Yes this is OK (default) e) Edit this remote d) Delete this remote
  44331. y/e/d> y
  44332. .IP
  44333. .nf
  44334. \f[C]
  44335. List directories in the top level of your Media Library
  44336. \f[R]
  44337. .fi
  44338. .PP
  44339. rclone lsd imagekit-media-library:
  44340. .IP
  44341. .nf
  44342. \f[C]
  44343. Make a new directory.
  44344. \f[R]
  44345. .fi
  44346. .PP
  44347. rclone mkdir imagekit-media-library:directory
  44348. .IP
  44349. .nf
  44350. \f[C]
  44351. List the contents of a directory.
  44352. \f[R]
  44353. .fi
  44354. .PP
  44355. rclone ls imagekit-media-library:directory
  44356. .IP
  44357. .nf
  44358. \f[C]
  44359. ### Modified time and hashes
  44360. ImageKit does not support modification times or hashes yet.
  44361. ### Checksums
  44362. No checksums are supported.
  44363. ### Standard options
  44364. Here are the Standard options specific to imagekit (ImageKit.io).
  44365. #### --imagekit-endpoint
  44366. You can find your ImageKit.io URL endpoint in your [dashboard](https://imagekit.io/dashboard/developer/api-keys)
  44367. Properties:
  44368. - Config: endpoint
  44369. - Env Var: RCLONE_IMAGEKIT_ENDPOINT
  44370. - Type: string
  44371. - Required: true
  44372. #### --imagekit-public-key
  44373. You can find your ImageKit.io public key in your [dashboard](https://imagekit.io/dashboard/developer/api-keys)
  44374. Properties:
  44375. - Config: public_key
  44376. - Env Var: RCLONE_IMAGEKIT_PUBLIC_KEY
  44377. - Type: string
  44378. - Required: true
  44379. #### --imagekit-private-key
  44380. You can find your ImageKit.io private key in your [dashboard](https://imagekit.io/dashboard/developer/api-keys)
  44381. Properties:
  44382. - Config: private_key
  44383. - Env Var: RCLONE_IMAGEKIT_PRIVATE_KEY
  44384. - Type: string
  44385. - Required: true
  44386. ### Advanced options
  44387. Here are the Advanced options specific to imagekit (ImageKit.io).
  44388. #### --imagekit-only-signed
  44389. If you have configured \[ga]Restrict unsigned image URLs\[ga] in your dashboard settings, set this to true.
  44390. Properties:
  44391. - Config: only_signed
  44392. - Env Var: RCLONE_IMAGEKIT_ONLY_SIGNED
  44393. - Type: bool
  44394. - Default: false
  44395. #### --imagekit-versions
  44396. Include old versions in directory listings.
  44397. Properties:
  44398. - Config: versions
  44399. - Env Var: RCLONE_IMAGEKIT_VERSIONS
  44400. - Type: bool
  44401. - Default: false
  44402. #### --imagekit-upload-tags
  44403. Tags to add to the uploaded files, e.g. \[dq]tag1,tag2\[dq].
  44404. Properties:
  44405. - Config: upload_tags
  44406. - Env Var: RCLONE_IMAGEKIT_UPLOAD_TAGS
  44407. - Type: string
  44408. - Required: false
  44409. #### --imagekit-encoding
  44410. The encoding for the backend.
  44411. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  44412. Properties:
  44413. - Config: encoding
  44414. - Env Var: RCLONE_IMAGEKIT_ENCODING
  44415. - Type: Encoding
  44416. - Default: Slash,LtGt,DoubleQuote,Dollar,Question,Hash,Percent,BackSlash,Del,Ctl,InvalidUtf8,Dot,SquareBracket
  44417. #### --imagekit-description
  44418. Description of the remote
  44419. Properties:
  44420. - Config: description
  44421. - Env Var: RCLONE_IMAGEKIT_DESCRIPTION
  44422. - Type: string
  44423. - Required: false
  44424. ### Metadata
  44425. Any metadata supported by the underlying remote is read and written.
  44426. Here are the possible system metadata items for the imagekit backend.
  44427. | Name | Help | Type | Example | Read Only |
  44428. |------|------|------|---------|-----------|
  44429. | aws-tags | AI generated tags by AWS Rekognition associated with the image | string | tag1,tag2 | **Y** |
  44430. | btime | Time of file birth (creation) read from Last-Modified header | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | **Y** |
  44431. | custom-coordinates | Custom coordinates of the file | string | 0,0,100,100 | **Y** |
  44432. | file-type | Type of the file | string | image | **Y** |
  44433. | google-tags | AI generated tags by Google Cloud Vision associated with the image | string | tag1,tag2 | **Y** |
  44434. | has-alpha | Whether the image has alpha channel or not | bool | | **Y** |
  44435. | height | Height of the image or video in pixels | int | | **Y** |
  44436. | is-private-file | Whether the file is private or not | bool | | **Y** |
  44437. | size | Size of the object in bytes | int64 | | **Y** |
  44438. | tags | Tags associated with the file | string | tag1,tag2 | **Y** |
  44439. | width | Width of the image or video in pixels | int | | **Y** |
  44440. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  44441. # Internet Archive
  44442. The Internet Archive backend utilizes Items on [archive.org](https://archive.org/)
  44443. Refer to [IAS3 API documentation](https://archive.org/services/docs/api/ias3.html) for the API this backend uses.
  44444. Paths are specified as \[ga]remote:bucket\[ga] (or \[ga]remote:\[ga] for the \[ga]lsd\[ga]
  44445. command.) You may put subdirectories in too, e.g. \[ga]remote:item/path/to/dir\[ga].
  44446. Unlike S3, listing up all items uploaded by you isn\[aq]t supported.
  44447. Once you have made a remote, you can use it like this:
  44448. Make a new item
  44449. rclone mkdir remote:item
  44450. List the contents of a item
  44451. rclone ls remote:item
  44452. Sync \[ga]/home/local/directory\[ga] to the remote item, deleting any excess
  44453. files in the item.
  44454. rclone sync --interactive /home/local/directory remote:item
  44455. ## Notes
  44456. Because of Internet Archive\[aq]s architecture, it enqueues write operations (and extra post-processings) in a per-item queue. You can check item\[aq]s queue at https://catalogd.archive.org/history/item-name-here . Because of that, all uploads/deletes will not show up immediately and takes some time to be available.
  44457. The per-item queue is enqueued to an another queue, Item Deriver Queue. [You can check the status of Item Deriver Queue here.](https://catalogd.archive.org/catalog.php?whereami=1) This queue has a limit, and it may block you from uploading, or even deleting. You should avoid uploading a lot of small files for better behavior.
  44458. You can optionally wait for the server\[aq]s processing to finish, by setting non-zero value to \[ga]wait_archive\[ga] key.
  44459. By making it wait, rclone can do normal file comparison.
  44460. Make sure to set a large enough value (e.g. \[ga]30m0s\[ga] for smaller files) as it can take a long time depending on server\[aq]s queue.
  44461. ## About metadata
  44462. This backend supports setting, updating and reading metadata of each file.
  44463. The metadata will appear as file metadata on Internet Archive.
  44464. However, some fields are reserved by both Internet Archive and rclone.
  44465. The following are reserved by Internet Archive:
  44466. - \[ga]name\[ga]
  44467. - \[ga]source\[ga]
  44468. - \[ga]size\[ga]
  44469. - \[ga]md5\[ga]
  44470. - \[ga]crc32\[ga]
  44471. - \[ga]sha1\[ga]
  44472. - \[ga]format\[ga]
  44473. - \[ga]old_version\[ga]
  44474. - \[ga]viruscheck\[ga]
  44475. - \[ga]summation\[ga]
  44476. Trying to set values to these keys is ignored with a warning.
  44477. Only setting \[ga]mtime\[ga] is an exception. Doing so make it the identical behavior as setting ModTime.
  44478. rclone reserves all the keys starting with \[ga]rclone-\[ga]. Setting value for these keys will give you warnings, but values are set according to request.
  44479. If there are multiple values for a key, only the first one is returned.
  44480. This is a limitation of rclone, that supports one value per one key.
  44481. It can be triggered when you did a server-side copy.
  44482. Reading metadata will also provide custom (non-standard nor reserved) ones.
  44483. ## Filtering auto generated files
  44484. The Internet Archive automatically creates metadata files after
  44485. upload. These can cause problems when doing an \[ga]rclone sync\[ga] as rclone
  44486. will try, and fail, to delete them. These metadata files are not
  44487. changeable, as they are created by the Internet Archive automatically.
  44488. These auto-created files can be excluded from the sync using [metadata
  44489. filtering](https://rclone.org/filtering/#metadata).
  44490. rclone sync ... --metadata-exclude \[dq]source=metadata\[dq] --metadata-exclude \[dq]format=Metadata\[dq]
  44491. Which excludes from the sync any files which have the
  44492. \[ga]source=metadata\[ga] or \[ga]format=Metadata\[ga] flags which are added to
  44493. Internet Archive auto-created files.
  44494. ## Configuration
  44495. Here is an example of making an internetarchive configuration.
  44496. Most applies to the other providers as well, any differences are described [below](#providers).
  44497. First run
  44498. rclone config
  44499. This will guide you through an interactive setup process.
  44500. \f[R]
  44501. .fi
  44502. .PP
  44503. No remotes found, make a new one?
  44504. n) New remote s) Set configuration password q) Quit config n/s/q> n
  44505. name> remote Option Storage.
  44506. Type of storage to configure.
  44507. Choose a number from below, or type in your own value.
  44508. XX / InternetArchive Items \ (internetarchive) Storage> internetarchive
  44509. Option access_key_id.
  44510. IAS3 Access Key.
  44511. Leave blank for anonymous access.
  44512. You can find one here: https://archive.org/account/s3.php Enter a value.
  44513. Press Enter to leave empty.
  44514. access_key_id> XXXX Option secret_access_key.
  44515. IAS3 Secret Key (password).
  44516. Leave blank for anonymous access.
  44517. Enter a value.
  44518. Press Enter to leave empty.
  44519. secret_access_key> XXXX Edit advanced config?
  44520. y) Yes n) No (default) y/n> y Option endpoint.
  44521. IAS3 Endpoint.
  44522. Leave blank for default value.
  44523. Enter a string value.
  44524. Press Enter for the default (https://s3.us.archive.org).
  44525. endpoint> Option front_endpoint.
  44526. Host of InternetArchive Frontend.
  44527. Leave blank for default value.
  44528. Enter a string value.
  44529. Press Enter for the default (https://archive.org).
  44530. front_endpoint> Option disable_checksum.
  44531. Don\[aq]t store MD5 checksum with object metadata.
  44532. Normally rclone will calculate the MD5 checksum of the input before
  44533. uploading it so it can ask the server to check the object against
  44534. checksum.
  44535. This is great for data integrity checking but can cause long delays for
  44536. large files to start uploading.
  44537. Enter a boolean value (true or false).
  44538. Press Enter for the default (true).
  44539. disable_checksum> true Option encoding.
  44540. The encoding for the backend.
  44541. See the encoding section in the
  44542. overview (https://rclone.org/overview/#encoding) for more info.
  44543. Enter a encoder.MultiEncoder value.
  44544. Press Enter for the default
  44545. (Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot).
  44546. encoding> Edit advanced config?
  44547. y) Yes n) No (default) y/n> n -------------------- [remote] type =
  44548. internetarchive access_key_id = XXXX secret_access_key = XXXX
  44549. -------------------- y) Yes this is OK (default) e) Edit this remote d)
  44550. Delete this remote y/e/d> y
  44551. .IP
  44552. .nf
  44553. \f[C]
  44554. ### Standard options
  44555. Here are the Standard options specific to internetarchive (Internet Archive).
  44556. #### --internetarchive-access-key-id
  44557. IAS3 Access Key.
  44558. Leave blank for anonymous access.
  44559. You can find one here: https://archive.org/account/s3.php
  44560. Properties:
  44561. - Config: access_key_id
  44562. - Env Var: RCLONE_INTERNETARCHIVE_ACCESS_KEY_ID
  44563. - Type: string
  44564. - Required: false
  44565. #### --internetarchive-secret-access-key
  44566. IAS3 Secret Key (password).
  44567. Leave blank for anonymous access.
  44568. Properties:
  44569. - Config: secret_access_key
  44570. - Env Var: RCLONE_INTERNETARCHIVE_SECRET_ACCESS_KEY
  44571. - Type: string
  44572. - Required: false
  44573. ### Advanced options
  44574. Here are the Advanced options specific to internetarchive (Internet Archive).
  44575. #### --internetarchive-endpoint
  44576. IAS3 Endpoint.
  44577. Leave blank for default value.
  44578. Properties:
  44579. - Config: endpoint
  44580. - Env Var: RCLONE_INTERNETARCHIVE_ENDPOINT
  44581. - Type: string
  44582. - Default: \[dq]https://s3.us.archive.org\[dq]
  44583. #### --internetarchive-front-endpoint
  44584. Host of InternetArchive Frontend.
  44585. Leave blank for default value.
  44586. Properties:
  44587. - Config: front_endpoint
  44588. - Env Var: RCLONE_INTERNETARCHIVE_FRONT_ENDPOINT
  44589. - Type: string
  44590. - Default: \[dq]https://archive.org\[dq]
  44591. #### --internetarchive-disable-checksum
  44592. Don\[aq]t ask the server to test against MD5 checksum calculated by rclone.
  44593. Normally rclone will calculate the MD5 checksum of the input before
  44594. uploading it so it can ask the server to check the object against checksum.
  44595. This is great for data integrity checking but can cause long delays for
  44596. large files to start uploading.
  44597. Properties:
  44598. - Config: disable_checksum
  44599. - Env Var: RCLONE_INTERNETARCHIVE_DISABLE_CHECKSUM
  44600. - Type: bool
  44601. - Default: true
  44602. #### --internetarchive-wait-archive
  44603. Timeout for waiting the server\[aq]s processing tasks (specifically archive and book_op) to finish.
  44604. Only enable if you need to be guaranteed to be reflected after write operations.
  44605. 0 to disable waiting. No errors to be thrown in case of timeout.
  44606. Properties:
  44607. - Config: wait_archive
  44608. - Env Var: RCLONE_INTERNETARCHIVE_WAIT_ARCHIVE
  44609. - Type: Duration
  44610. - Default: 0s
  44611. #### --internetarchive-encoding
  44612. The encoding for the backend.
  44613. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  44614. Properties:
  44615. - Config: encoding
  44616. - Env Var: RCLONE_INTERNETARCHIVE_ENCODING
  44617. - Type: Encoding
  44618. - Default: Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot
  44619. #### --internetarchive-description
  44620. Description of the remote
  44621. Properties:
  44622. - Config: description
  44623. - Env Var: RCLONE_INTERNETARCHIVE_DESCRIPTION
  44624. - Type: string
  44625. - Required: false
  44626. ### Metadata
  44627. Metadata fields provided by Internet Archive.
  44628. If there are multiple values for a key, only the first one is returned.
  44629. This is a limitation of Rclone, that supports one value per one key.
  44630. Owner is able to add custom keys. Metadata feature grabs all the keys including them.
  44631. Here are the possible system metadata items for the internetarchive backend.
  44632. | Name | Help | Type | Example | Read Only |
  44633. |------|------|------|---------|-----------|
  44634. | crc32 | CRC32 calculated by Internet Archive | string | 01234567 | **Y** |
  44635. | format | Name of format identified by Internet Archive | string | Comma-Separated Values | **Y** |
  44636. | md5 | MD5 hash calculated by Internet Archive | string | 01234567012345670123456701234567 | **Y** |
  44637. | mtime | Time of last modification, managed by Rclone | RFC 3339 | 2006-01-02T15:04:05.999999999Z | **Y** |
  44638. | name | Full file path, without the bucket part | filename | backend/internetarchive/internetarchive.go | **Y** |
  44639. | old_version | Whether the file was replaced and moved by keep-old-version flag | boolean | true | **Y** |
  44640. | rclone-ia-mtime | Time of last modification, managed by Internet Archive | RFC 3339 | 2006-01-02T15:04:05.999999999Z | N |
  44641. | rclone-mtime | Time of last modification, managed by Rclone | RFC 3339 | 2006-01-02T15:04:05.999999999Z | N |
  44642. | rclone-update-track | Random value used by Rclone for tracking changes inside Internet Archive | string | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | N |
  44643. | sha1 | SHA1 hash calculated by Internet Archive | string | 0123456701234567012345670123456701234567 | **Y** |
  44644. | size | File size in bytes | decimal number | 123456 | **Y** |
  44645. | source | The source of the file | string | original | **Y** |
  44646. | summation | Check https://forum.rclone.org/t/31922 for how it is used | string | md5 | **Y** |
  44647. | viruscheck | The last time viruscheck process was run for the file (?) | unixtime | 1654191352 | **Y** |
  44648. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  44649. # Jottacloud
  44650. Jottacloud is a cloud storage service provider from a Norwegian company, using its own datacenters
  44651. in Norway. In addition to the official service at [jottacloud.com](https://www.jottacloud.com/),
  44652. it also provides white-label solutions to different companies, such as:
  44653. * Telia
  44654. * Telia Cloud (cloud.telia.se)
  44655. * Telia Sky (sky.telia.no)
  44656. * Tele2
  44657. * Tele2 Cloud (mittcloud.tele2.se)
  44658. * Onlime
  44659. * Onlime Cloud Storage (onlime.dk)
  44660. * Elkj\[/o]p (with subsidiaries):
  44661. * Elkj\[/o]p Cloud (cloud.elkjop.no)
  44662. * Elgiganten Sweden (cloud.elgiganten.se)
  44663. * Elgiganten Denmark (cloud.elgiganten.dk)
  44664. * Giganti Cloud (cloud.gigantti.fi)
  44665. * ELKO Cloud (cloud.elko.is)
  44666. Most of the white-label versions are supported by this backend, although may require different
  44667. authentication setup - described below.
  44668. Paths are specified as \[ga]remote:path\[ga]
  44669. Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga].
  44670. ## Authentication types
  44671. Some of the whitelabel versions uses a different authentication method than the official service,
  44672. and you have to choose the correct one when setting up the remote.
  44673. ### Standard authentication
  44674. The standard authentication method used by the official service (jottacloud.com), as well as
  44675. some of the whitelabel services, requires you to generate a single-use personal login token
  44676. from the account security settings in the service\[aq]s web interface. Log in to your account,
  44677. go to \[dq]Settings\[dq] and then \[dq]Security\[dq], or use the direct link presented to you by rclone when
  44678. configuring the remote: <https://www.jottacloud.com/web/secure>. Scroll down to the section
  44679. \[dq]Personal login token\[dq], and click the \[dq]Generate\[dq] button. Note that if you are using a
  44680. whitelabel service you probably can\[aq]t use the direct link, you need to find the same page in
  44681. their dedicated web interface, and also it may be in a different location than described above.
  44682. To access your account from multiple instances of rclone, you need to configure each of them
  44683. with a separate personal login token. E.g. you create a Jottacloud remote with rclone in one
  44684. location, and copy the configuration file to a second location where you also want to run
  44685. rclone and access the same remote. Then you need to replace the token for one of them, using
  44686. the [config reconnect](https://rclone.org/commands/rclone_config_reconnect/) command, which
  44687. requires you to generate a new personal login token and supply as input. If you do not
  44688. do this, the token may easily end up being invalidated, resulting in both instances failing
  44689. with an error message something along the lines of:
  44690. oauth2: cannot fetch token: 400 Bad Request
  44691. Response: {\[dq]error\[dq]:\[dq]invalid_grant\[dq],\[dq]error_description\[dq]:\[dq]Stale token\[dq]}
  44692. When this happens, you need to replace the token as described above to be able to use your
  44693. remote again.
  44694. All personal login tokens you have taken into use will be listed in the web interface under
  44695. \[dq]My logged in devices\[dq], and from the right side of that list you can click the \[dq]X\[dq] button to
  44696. revoke individual tokens.
  44697. ### Legacy authentication
  44698. If you are using one of the whitelabel versions (e.g. from Elkj\[/o]p) you may not have the option
  44699. to generate a CLI token. In this case you\[aq]ll have to use the legacy authentication. To do this select
  44700. yes when the setup asks for legacy authentication and enter your username and password.
  44701. The rest of the setup is identical to the default setup.
  44702. ### Telia Cloud authentication
  44703. Similar to other whitelabel versions Telia Cloud doesn\[aq]t offer the option of creating a CLI token, and
  44704. additionally uses a separate authentication flow where the username is generated internally. To setup
  44705. rclone to use Telia Cloud, choose Telia Cloud authentication in the setup. The rest of the setup is
  44706. identical to the default setup.
  44707. ### Tele2 Cloud authentication
  44708. As Tele2-Com Hem merger was completed this authentication can be used for former Com Hem Cloud and
  44709. Tele2 Cloud customers as no support for creating a CLI token exists, and additionally uses a separate
  44710. authentication flow where the username is generated internally. To setup rclone to use Tele2 Cloud,
  44711. choose Tele2 Cloud authentication in the setup. The rest of the setup is identical to the default setup.
  44712. ### Onlime Cloud Storage authentication
  44713. Onlime has sold access to Jottacloud proper, while providing localized support to Danish Customers, but
  44714. have recently set up their own hosting, transferring their customers from Jottacloud servers to their
  44715. own ones.
  44716. This, of course, necessitates using their servers for authentication, but otherwise functionality and
  44717. architecture seems equivalent to Jottacloud.
  44718. To setup rclone to use Onlime Cloud Storage, choose Onlime Cloud authentication in the setup. The rest
  44719. of the setup is identical to the default setup.
  44720. ## Configuration
  44721. Here is an example of how to make a remote called \[ga]remote\[ga] with the default setup. First run:
  44722. rclone config
  44723. This will guide you through an interactive setup process:
  44724. \f[R]
  44725. .fi
  44726. .PP
  44727. No remotes found, make a new one?
  44728. n) New remote s) Set configuration password q) Quit config n/s/q> n
  44729. name> remote Option Storage.
  44730. Type of storage to configure.
  44731. Choose a number from below, or type in your own value.
  44732. [snip] XX / Jottacloud \ (jottacloud) [snip] Storage> jottacloud Edit
  44733. advanced config?
  44734. y) Yes n) No (default) y/n> n Option config_type.
  44735. Select authentication type.
  44736. Choose a number from below, or type in an existing string value.
  44737. Press Enter for the default (standard).
  44738. / Standard authentication.
  44739. 1 | Use this if you\[aq]re a normal Jottacloud user.
  44740. \ (standard) / Legacy authentication.
  44741. 2 | This is only required for certain whitelabel versions of Jottacloud
  44742. and not recommended for normal users.
  44743. \ (legacy) / Telia Cloud authentication.
  44744. 3 | Use this if you are using Telia Cloud.
  44745. \ (telia) / Tele2 Cloud authentication.
  44746. 4 | Use this if you are using Tele2 Cloud.
  44747. \ (tele2) / Onlime Cloud authentication.
  44748. 5 | Use this if you are using Onlime Cloud.
  44749. \ (onlime) config_type> 1 Personal login token.
  44750. Generate here: https://www.jottacloud.com/web/secure Login Token> Use a
  44751. non-standard device/mountpoint?
  44752. Choosing no, the default, will let you access the storage used for the
  44753. archive section of the official Jottacloud client.
  44754. If you instead want to access the sync or the backup section, for
  44755. example, you must choose yes.
  44756. y) Yes n) No (default) y/n> y Option config_device.
  44757. The device to use.
  44758. In standard setup the built-in Jotta device is used, which contains
  44759. predefined mountpoints for archive, sync etc.
  44760. All other devices are treated as backup devices by the official
  44761. Jottacloud client.
  44762. You may create a new by entering a unique name.
  44763. Choose a number from below, or type in your own string value.
  44764. Press Enter for the default (DESKTOP-3H31129).
  44765. 1 > DESKTOP-3H31129 2 > Jotta config_device> 2 Option config_mountpoint.
  44766. The mountpoint to use for the built-in device Jotta.
  44767. The standard setup is to use the Archive mountpoint.
  44768. Most other mountpoints have very limited support in rclone and should
  44769. generally be avoided.
  44770. Choose a number from below, or type in an existing string value.
  44771. Press Enter for the default (Archive).
  44772. 1 > Archive 2 > Shared 3 > Sync config_mountpoint> 1
  44773. -------------------- [remote] type = jottacloud configVersion = 1
  44774. client_id = jottacli client_secret = tokenURL =
  44775. https://id.jottacloud.com/auth/realms/jottacloud/protocol/openid-connect/token
  44776. token = {........} username = 2940e57271a93d987d6f8a21 device = Jotta
  44777. mountpoint = Archive -------------------- y) Yes this is OK (default) e)
  44778. Edit this remote d) Delete this remote y/e/d> y
  44779. .IP
  44780. .nf
  44781. \f[C]
  44782. Once configured you can then use \[ga]rclone\[ga] like this,
  44783. List directories in top level of your Jottacloud
  44784. rclone lsd remote:
  44785. List all the files in your Jottacloud
  44786. rclone ls remote:
  44787. To copy a local directory to an Jottacloud directory called backup
  44788. rclone copy /home/source remote:backup
  44789. ### Devices and Mountpoints
  44790. The official Jottacloud client registers a device for each computer you install
  44791. it on, and shows them in the backup section of the user interface. For each
  44792. folder you select for backup it will create a mountpoint within this device.
  44793. A built-in device called Jotta is special, and contains mountpoints Archive,
  44794. Sync and some others, used for corresponding features in official clients.
  44795. With rclone you\[aq]ll want to use the standard Jotta/Archive device/mountpoint in
  44796. most cases. However, you may for example want to access files from the sync or
  44797. backup functionality provided by the official clients, and rclone therefore
  44798. provides the option to select other devices and mountpoints during config.
  44799. You are allowed to create new devices and mountpoints. All devices except the
  44800. built-in Jotta device are treated as backup devices by official Jottacloud
  44801. clients, and the mountpoints on them are individual backup sets.
  44802. With the built-in Jotta device, only existing, built-in, mountpoints can be
  44803. selected. In addition to the mentioned Archive and Sync, it may contain
  44804. several other mountpoints such as: Latest, Links, Shared and Trash. All of
  44805. these are special mountpoints with a different internal representation than
  44806. the \[dq]regular\[dq] mountpoints. Rclone will only to a very limited degree support
  44807. them. Generally you should avoid these, unless you know what you are doing.
  44808. ### --fast-list
  44809. This backend supports \[ga]--fast-list\[ga] which allows you to use fewer
  44810. transactions in exchange for more memory. See the [rclone
  44811. docs](https://rclone.org/docs/#fast-list) for more details.
  44812. Note that the implementation in Jottacloud always uses only a single
  44813. API request to get the entire list, so for large folders this could
  44814. lead to long wait time before the first results are shown.
  44815. Note also that with rclone version 1.58 and newer, information about
  44816. [MIME types](https://rclone.org/overview/#mime-type) and metadata item [utime](#metadata)
  44817. are not available when using \[ga]--fast-list\[ga].
  44818. ### Modification times and hashes
  44819. Jottacloud allows modification times to be set on objects accurate to 1
  44820. second. These will be used to detect whether objects need syncing or
  44821. not.
  44822. Jottacloud supports MD5 type hashes, so you can use the \[ga]--checksum\[ga]
  44823. flag.
  44824. Note that Jottacloud requires the MD5 hash before upload so if the
  44825. source does not have an MD5 checksum then the file will be cached
  44826. temporarily on disk (in location given by
  44827. [--temp-dir](https://rclone.org/docs/#temp-dir-dir)) before it is uploaded.
  44828. Small files will be cached in memory - see the
  44829. [--jottacloud-md5-memory-limit](#jottacloud-md5-memory-limit) flag.
  44830. When uploading from local disk the source checksum is always available,
  44831. so this does not apply. Starting with rclone version 1.52 the same is
  44832. true for encrypted remotes (in older versions the crypt backend would not
  44833. calculate hashes for uploads from local disk, so the Jottacloud
  44834. backend had to do it as described above).
  44835. ### Restricted filename characters
  44836. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  44837. the following characters are also replaced:
  44838. | Character | Value | Replacement |
  44839. | --------- |:-----:|:-----------:|
  44840. | \[dq] | 0x22 | \[uFF02] |
  44841. | * | 0x2A | \[uFF0A] |
  44842. | : | 0x3A | \[uFF1A] |
  44843. | < | 0x3C | \[uFF1C] |
  44844. | > | 0x3E | \[uFF1E] |
  44845. | ? | 0x3F | \[uFF1F] |
  44846. | \[rs]| | 0x7C | \[uFF5C] |
  44847. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  44848. as they can\[aq]t be used in XML strings.
  44849. ### Deleting files
  44850. By default, rclone will send all files to the trash when deleting files. They will be permanently
  44851. deleted automatically after 30 days. You may bypass the trash and permanently delete files immediately
  44852. by using the [--jottacloud-hard-delete](#jottacloud-hard-delete) flag, or set the equivalent environment variable.
  44853. Emptying the trash is supported by the [cleanup](https://rclone.org/commands/rclone_cleanup/) command.
  44854. ### Versions
  44855. Jottacloud supports file versioning. When rclone uploads a new version of a file it creates a new version of it.
  44856. Currently rclone only supports retrieving the current version but older versions can be accessed via the Jottacloud Website.
  44857. Versioning can be disabled by \[ga]--jottacloud-no-versions\[ga] option. This is achieved by deleting the remote file prior to uploading
  44858. a new version. If the upload the fails no version of the file will be available in the remote.
  44859. ### Quota information
  44860. To view your current quota you can use the \[ga]rclone about remote:\[ga]
  44861. command which will display your usage limit (unless it is unlimited)
  44862. and the current usage.
  44863. ### Standard options
  44864. Here are the Standard options specific to jottacloud (Jottacloud).
  44865. #### --jottacloud-client-id
  44866. OAuth Client Id.
  44867. Leave blank normally.
  44868. Properties:
  44869. - Config: client_id
  44870. - Env Var: RCLONE_JOTTACLOUD_CLIENT_ID
  44871. - Type: string
  44872. - Required: false
  44873. #### --jottacloud-client-secret
  44874. OAuth Client Secret.
  44875. Leave blank normally.
  44876. Properties:
  44877. - Config: client_secret
  44878. - Env Var: RCLONE_JOTTACLOUD_CLIENT_SECRET
  44879. - Type: string
  44880. - Required: false
  44881. ### Advanced options
  44882. Here are the Advanced options specific to jottacloud (Jottacloud).
  44883. #### --jottacloud-token
  44884. OAuth Access Token as a JSON blob.
  44885. Properties:
  44886. - Config: token
  44887. - Env Var: RCLONE_JOTTACLOUD_TOKEN
  44888. - Type: string
  44889. - Required: false
  44890. #### --jottacloud-auth-url
  44891. Auth server URL.
  44892. Leave blank to use the provider defaults.
  44893. Properties:
  44894. - Config: auth_url
  44895. - Env Var: RCLONE_JOTTACLOUD_AUTH_URL
  44896. - Type: string
  44897. - Required: false
  44898. #### --jottacloud-token-url
  44899. Token server url.
  44900. Leave blank to use the provider defaults.
  44901. Properties:
  44902. - Config: token_url
  44903. - Env Var: RCLONE_JOTTACLOUD_TOKEN_URL
  44904. - Type: string
  44905. - Required: false
  44906. #### --jottacloud-md5-memory-limit
  44907. Files bigger than this will be cached on disk to calculate the MD5 if required.
  44908. Properties:
  44909. - Config: md5_memory_limit
  44910. - Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
  44911. - Type: SizeSuffix
  44912. - Default: 10Mi
  44913. #### --jottacloud-trashed-only
  44914. Only show files that are in the trash.
  44915. This will show trashed files in their original directory structure.
  44916. Properties:
  44917. - Config: trashed_only
  44918. - Env Var: RCLONE_JOTTACLOUD_TRASHED_ONLY
  44919. - Type: bool
  44920. - Default: false
  44921. #### --jottacloud-hard-delete
  44922. Delete files permanently rather than putting them into the trash.
  44923. Properties:
  44924. - Config: hard_delete
  44925. - Env Var: RCLONE_JOTTACLOUD_HARD_DELETE
  44926. - Type: bool
  44927. - Default: false
  44928. #### --jottacloud-upload-resume-limit
  44929. Files bigger than this can be resumed if the upload fail\[aq]s.
  44930. Properties:
  44931. - Config: upload_resume_limit
  44932. - Env Var: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT
  44933. - Type: SizeSuffix
  44934. - Default: 10Mi
  44935. #### --jottacloud-no-versions
  44936. Avoid server side versioning by deleting files and recreating files instead of overwriting them.
  44937. Properties:
  44938. - Config: no_versions
  44939. - Env Var: RCLONE_JOTTACLOUD_NO_VERSIONS
  44940. - Type: bool
  44941. - Default: false
  44942. #### --jottacloud-encoding
  44943. The encoding for the backend.
  44944. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  44945. Properties:
  44946. - Config: encoding
  44947. - Env Var: RCLONE_JOTTACLOUD_ENCODING
  44948. - Type: Encoding
  44949. - Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot
  44950. #### --jottacloud-description
  44951. Description of the remote
  44952. Properties:
  44953. - Config: description
  44954. - Env Var: RCLONE_JOTTACLOUD_DESCRIPTION
  44955. - Type: string
  44956. - Required: false
  44957. ### Metadata
  44958. Jottacloud has limited support for metadata, currently an extended set of timestamps.
  44959. Here are the possible system metadata items for the jottacloud backend.
  44960. | Name | Help | Type | Example | Read Only |
  44961. |------|------|------|---------|-----------|
  44962. | btime | Time of file birth (creation), read from rclone metadata | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
  44963. | content-type | MIME type, also known as media type | string | text/plain | **Y** |
  44964. | mtime | Time of last modification, read from rclone metadata | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | N |
  44965. | utime | Time of last upload, when current revision was created, generated by backend | RFC 3339 | 2006-01-02T15:04:05.999999999Z07:00 | **Y** |
  44966. See the [metadata](https://rclone.org/docs/#metadata) docs for more info.
  44967. ## Limitations
  44968. Note that Jottacloud is case insensitive so you can\[aq]t have a file called
  44969. \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  44970. There are quite a few characters that can\[aq]t be in Jottacloud file names. Rclone will map these names to and from an identical
  44971. looking unicode equivalent. For example if a file has a ? in it will be mapped to \[uFF1F] instead.
  44972. Jottacloud only supports filenames up to 255 characters in length.
  44973. ## Troubleshooting
  44974. Jottacloud exhibits some inconsistent behaviours regarding deleted files and folders which may cause Copy, Move and DirMove
  44975. operations to previously deleted paths to fail. Emptying the trash should help in such cases.
  44976. # Koofr
  44977. Paths are specified as \[ga]remote:path\[ga]
  44978. Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga].
  44979. ## Configuration
  44980. The initial setup for Koofr involves creating an application password for
  44981. rclone. You can do that by opening the Koofr
  44982. [web application](https://app.koofr.net/app/admin/preferences/password),
  44983. giving the password a nice name like \[ga]rclone\[ga] and clicking on generate.
  44984. Here is an example of how to make a remote called \[ga]koofr\[ga]. First run:
  44985. rclone config
  44986. This will guide you through an interactive setup process:
  44987. \f[R]
  44988. .fi
  44989. .PP
  44990. No remotes found, make a new one?
  44991. n) New remote s) Set configuration password q) Quit config n/s/q> n
  44992. name> koofr Option Storage.
  44993. Type of storage to configure.
  44994. Choose a number from below, or type in your own value.
  44995. [snip] 22 / Koofr, Digi Storage and other Koofr-compatible storage
  44996. providers \ (koofr) [snip] Storage> koofr Option provider.
  44997. Choose your storage provider.
  44998. Choose a number from below, or type in your own value.
  44999. Press Enter to leave empty.
  45000. 1 / Koofr, https://app.koofr.net/ \ (koofr) 2 / Digi Storage,
  45001. https://storage.rcs-rds.ro/ \ (digistorage) 3 / Any other Koofr API
  45002. compatible storage service \ (other) provider> 1
  45003. .PD 0
  45004. .P
  45005. .PD
  45006. Option user.
  45007. Your user name.
  45008. Enter a value.
  45009. user> USERNAME Option password.
  45010. Your password for rclone (generate one at
  45011. https://app.koofr.net/app/admin/preferences/password).
  45012. Choose an alternative below.
  45013. y) Yes, type in my own password g) Generate random password y/g> y Enter
  45014. the password: password: Confirm the password: password: Edit advanced
  45015. config?
  45016. y) Yes n) No (default) y/n> n Remote config -------------------- [koofr]
  45017. type = koofr provider = koofr user = USERNAME password = *** ENCRYPTED
  45018. *** -------------------- y) Yes this is OK (default) e) Edit this remote
  45019. d) Delete this remote y/e/d> y
  45020. .IP
  45021. .nf
  45022. \f[C]
  45023. You can choose to edit advanced config in order to enter your own service URL
  45024. if you use an on-premise or white label Koofr instance, or choose an alternative
  45025. mount instead of your primary storage.
  45026. Once configured you can then use \[ga]rclone\[ga] like this,
  45027. List directories in top level of your Koofr
  45028. rclone lsd koofr:
  45029. List all the files in your Koofr
  45030. rclone ls koofr:
  45031. To copy a local directory to an Koofr directory called backup
  45032. rclone copy /home/source koofr:backup
  45033. ### Restricted filename characters
  45034. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  45035. the following characters are also replaced:
  45036. | Character | Value | Replacement |
  45037. | --------- |:-----:|:-----------:|
  45038. | \[rs] | 0x5C | \[uFF3C] |
  45039. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  45040. as they can\[aq]t be used in XML strings.
  45041. ### Standard options
  45042. Here are the Standard options specific to koofr (Koofr, Digi Storage and other Koofr-compatible storage providers).
  45043. #### --koofr-provider
  45044. Choose your storage provider.
  45045. Properties:
  45046. - Config: provider
  45047. - Env Var: RCLONE_KOOFR_PROVIDER
  45048. - Type: string
  45049. - Required: false
  45050. - Examples:
  45051. - \[dq]koofr\[dq]
  45052. - Koofr, https://app.koofr.net/
  45053. - \[dq]digistorage\[dq]
  45054. - Digi Storage, https://storage.rcs-rds.ro/
  45055. - \[dq]other\[dq]
  45056. - Any other Koofr API compatible storage service
  45057. #### --koofr-endpoint
  45058. The Koofr API endpoint to use.
  45059. Properties:
  45060. - Config: endpoint
  45061. - Env Var: RCLONE_KOOFR_ENDPOINT
  45062. - Provider: other
  45063. - Type: string
  45064. - Required: true
  45065. #### --koofr-user
  45066. Your user name.
  45067. Properties:
  45068. - Config: user
  45069. - Env Var: RCLONE_KOOFR_USER
  45070. - Type: string
  45071. - Required: true
  45072. #### --koofr-password
  45073. Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password).
  45074. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  45075. Properties:
  45076. - Config: password
  45077. - Env Var: RCLONE_KOOFR_PASSWORD
  45078. - Provider: koofr
  45079. - Type: string
  45080. - Required: true
  45081. ### Advanced options
  45082. Here are the Advanced options specific to koofr (Koofr, Digi Storage and other Koofr-compatible storage providers).
  45083. #### --koofr-mountid
  45084. Mount ID of the mount to use.
  45085. If omitted, the primary mount is used.
  45086. Properties:
  45087. - Config: mountid
  45088. - Env Var: RCLONE_KOOFR_MOUNTID
  45089. - Type: string
  45090. - Required: false
  45091. #### --koofr-setmtime
  45092. Does the backend support setting modification time.
  45093. Set this to false if you use a mount ID that points to a Dropbox or Amazon Drive backend.
  45094. Properties:
  45095. - Config: setmtime
  45096. - Env Var: RCLONE_KOOFR_SETMTIME
  45097. - Type: bool
  45098. - Default: true
  45099. #### --koofr-encoding
  45100. The encoding for the backend.
  45101. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  45102. Properties:
  45103. - Config: encoding
  45104. - Env Var: RCLONE_KOOFR_ENCODING
  45105. - Type: Encoding
  45106. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  45107. #### --koofr-description
  45108. Description of the remote
  45109. Properties:
  45110. - Config: description
  45111. - Env Var: RCLONE_KOOFR_DESCRIPTION
  45112. - Type: string
  45113. - Required: false
  45114. ## Limitations
  45115. Note that Koofr is case insensitive so you can\[aq]t have a file called
  45116. \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  45117. ## Providers
  45118. ### Koofr
  45119. This is the original [Koofr](https://koofr.eu) storage provider used as main example and described in the [configuration](#configuration) section above.
  45120. ### Digi Storage
  45121. [Digi Storage](https://www.digi.ro/servicii/online/digi-storage) is a cloud storage service run by [Digi.ro](https://www.digi.ro/) that
  45122. provides a Koofr API.
  45123. Here is an example of how to make a remote called \[ga]ds\[ga]. First run:
  45124. rclone config
  45125. This will guide you through an interactive setup process:
  45126. \f[R]
  45127. .fi
  45128. .PP
  45129. No remotes found, make a new one?
  45130. n) New remote s) Set configuration password q) Quit config n/s/q> n
  45131. name> ds Option Storage.
  45132. Type of storage to configure.
  45133. Choose a number from below, or type in your own value.
  45134. [snip] 22 / Koofr, Digi Storage and other Koofr-compatible storage
  45135. providers \ (koofr) [snip] Storage> koofr Option provider.
  45136. Choose your storage provider.
  45137. Choose a number from below, or type in your own value.
  45138. Press Enter to leave empty.
  45139. 1 / Koofr, https://app.koofr.net/ \ (koofr) 2 / Digi Storage,
  45140. https://storage.rcs-rds.ro/ \ (digistorage) 3 / Any other Koofr API
  45141. compatible storage service \ (other) provider> 2 Option user.
  45142. Your user name.
  45143. Enter a value.
  45144. user> USERNAME Option password.
  45145. Your password for rclone (generate one at
  45146. https://storage.rcs-rds.ro/app/admin/preferences/password).
  45147. Choose an alternative below.
  45148. y) Yes, type in my own password g) Generate random password y/g> y Enter
  45149. the password: password: Confirm the password: password: Edit advanced
  45150. config?
  45151. y) Yes n) No (default) y/n> n -------------------- [ds] type = koofr
  45152. provider = digistorage user = USERNAME password = *** ENCRYPTED ***
  45153. -------------------- y) Yes this is OK (default) e) Edit this remote d)
  45154. Delete this remote y/e/d> y
  45155. .IP
  45156. .nf
  45157. \f[C]
  45158. ### Other
  45159. You may also want to use another, public or private storage provider that runs a Koofr API compatible service, by simply providing the base URL to connect to.
  45160. Here is an example of how to make a remote called \[ga]other\[ga]. First run:
  45161. rclone config
  45162. This will guide you through an interactive setup process:
  45163. \f[R]
  45164. .fi
  45165. .PP
  45166. No remotes found, make a new one?
  45167. n) New remote s) Set configuration password q) Quit config n/s/q> n
  45168. name> other Option Storage.
  45169. Type of storage to configure.
  45170. Choose a number from below, or type in your own value.
  45171. [snip] 22 / Koofr, Digi Storage and other Koofr-compatible storage
  45172. providers \ (koofr) [snip] Storage> koofr Option provider.
  45173. Choose your storage provider.
  45174. Choose a number from below, or type in your own value.
  45175. Press Enter to leave empty.
  45176. 1 / Koofr, https://app.koofr.net/ \ (koofr) 2 / Digi Storage,
  45177. https://storage.rcs-rds.ro/ \ (digistorage) 3 / Any other Koofr API
  45178. compatible storage service \ (other) provider> 3 Option endpoint.
  45179. The Koofr API endpoint to use.
  45180. Enter a value.
  45181. endpoint> https://koofr.other.org Option user.
  45182. Your user name.
  45183. Enter a value.
  45184. user> USERNAME Option password.
  45185. Your password for rclone (generate one at your service\[aq]s settings
  45186. page).
  45187. Choose an alternative below.
  45188. y) Yes, type in my own password g) Generate random password y/g> y Enter
  45189. the password: password: Confirm the password: password: Edit advanced
  45190. config?
  45191. y) Yes n) No (default) y/n> n -------------------- [other] type = koofr
  45192. provider = other endpoint = https://koofr.other.org user = USERNAME
  45193. password = *** ENCRYPTED *** -------------------- y) Yes this is OK
  45194. (default) e) Edit this remote d) Delete this remote y/e/d> y
  45195. .IP
  45196. .nf
  45197. \f[C]
  45198. # Linkbox
  45199. Linkbox is [a private cloud drive](https://linkbox.to/).
  45200. ## Configuration
  45201. Here is an example of making a remote for Linkbox.
  45202. First run:
  45203. rclone config
  45204. This will guide you through an interactive setup process:
  45205. \f[R]
  45206. .fi
  45207. .PP
  45208. No remotes found, make a new one?
  45209. n) New remote s) Set configuration password q) Quit config n/s/q> n
  45210. .PP
  45211. Enter name for new remote.
  45212. name> remote
  45213. .PP
  45214. Option Storage.
  45215. Type of storage to configure.
  45216. Choose a number from below, or type in your own value.
  45217. XX / Linkbox \ (linkbox) Storage> XX
  45218. .PP
  45219. Option token.
  45220. Token from https://www.linkbox.to/admin/account Enter a value.
  45221. token> testFromCLToken
  45222. .PP
  45223. Configuration complete.
  45224. Options: - type: linkbox - token: XXXXXXXXXXX Keep this
  45225. \[dq]linkbox\[dq] remote?
  45226. y) Yes this is OK (default) e) Edit this remote d) Delete this remote
  45227. y/e/d> y
  45228. .IP
  45229. .nf
  45230. \f[C]
  45231. ### Standard options
  45232. Here are the Standard options specific to linkbox (Linkbox).
  45233. #### --linkbox-token
  45234. Token from https://www.linkbox.to/admin/account
  45235. Properties:
  45236. - Config: token
  45237. - Env Var: RCLONE_LINKBOX_TOKEN
  45238. - Type: string
  45239. - Required: true
  45240. ### Advanced options
  45241. Here are the Advanced options specific to linkbox (Linkbox).
  45242. #### --linkbox-description
  45243. Description of the remote
  45244. Properties:
  45245. - Config: description
  45246. - Env Var: RCLONE_LINKBOX_DESCRIPTION
  45247. - Type: string
  45248. - Required: false
  45249. ## Limitations
  45250. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  45251. as they can\[aq]t be used in JSON strings.
  45252. # Mail.ru Cloud
  45253. [Mail.ru Cloud](https://cloud.mail.ru/) is a cloud storage provided by a Russian internet company [Mail.Ru Group](https://mail.ru). The official desktop client is [Disk-O:](https://disk-o.cloud/en), available on Windows and Mac OS.
  45254. ## Features highlights
  45255. - Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga]
  45256. - Files have a \[ga]last modified time\[ga] property, directories don\[aq]t
  45257. - Deleted files are by default moved to the trash
  45258. - Files and directories can be shared via public links
  45259. - Partial uploads or streaming are not supported, file size must be known before upload
  45260. - Maximum file size is limited to 2G for a free account, unlimited for paid accounts
  45261. - Storage keeps hash for all files and performs transparent deduplication,
  45262. the hash algorithm is a modified SHA1
  45263. - If a particular file is already present in storage, one can quickly submit file hash
  45264. instead of long file upload (this optimization is supported by rclone)
  45265. ## Configuration
  45266. Here is an example of making a mailru configuration.
  45267. First create a Mail.ru Cloud account and choose a tariff.
  45268. You will need to log in and create an app password for rclone. Rclone
  45269. **will not work** with your normal username and password - it will
  45270. give an error like \[ga]oauth2: server response missing access_token\[ga].
  45271. - Click on your user icon in the top right
  45272. - Go to Security / \[dq]\[u041F]\[u0430]\[u0440]\[u043E]\[u043B]\[u044C] \[u0438] \[u0431]\[u0435]\[u0437]\[u043E]\[u043F]\[u0430]\[u0441]\[u043D]\[u043E]\[u0441]\[u0442]\[u044C]\[dq]
  45273. - Click password for apps / \[dq]\[u041F]\[u0430]\[u0440]\[u043E]\[u043B]\[u0438] \[u0434]\[u043B]\[u044F] \[u0432]\[u043D]\[u0435]\[u0448]\[u043D]\[u0438]\[u0445] \[u043F]\[u0440]\[u0438]\[u043B]\[u043E]\[u0436]\[u0435]\[u043D]\[u0438]\[u0439]\[dq]
  45274. - Add the password - give it a name - eg \[dq]rclone\[dq]
  45275. - Copy the password and use this password below - your normal login password won\[aq]t work.
  45276. Now run
  45277. rclone config
  45278. This will guide you through an interactive setup process:
  45279. \f[R]
  45280. .fi
  45281. .PP
  45282. No remotes found, make a new one?
  45283. n) New remote s) Set configuration password q) Quit config n/s/q> n
  45284. name> remote Type of storage to configure.
  45285. Type of storage to configure.
  45286. Enter a string value.
  45287. Press Enter for the default (\[dq]\[dq]).
  45288. Choose a number from below, or type in your own value [snip] XX /
  45289. Mail.ru Cloud \ \[dq]mailru\[dq] [snip] Storage> mailru User name
  45290. (usually email) Enter a string value.
  45291. Press Enter for the default (\[dq]\[dq]).
  45292. user> username\[at]mail.ru Password
  45293. .PP
  45294. This must be an app password - rclone will not work with your normal
  45295. password.
  45296. See the Configuration section in the docs for how to make an app
  45297. password.
  45298. y) Yes type in my own password g) Generate random password y/g> y Enter
  45299. the password: password: Confirm the password: password: Skip full upload
  45300. if there is another file with same data hash.
  45301. This feature is called \[dq]speedup\[dq] or \[dq]put by hash\[dq].
  45302. It is especially efficient in case of generally available files like
  45303. popular books, video or audio clips [snip] Enter a boolean value (true
  45304. or false).
  45305. Press Enter for the default (\[dq]true\[dq]).
  45306. Choose a number from below, or type in your own value 1 / Enable
  45307. \ \[dq]true\[dq] 2 / Disable \ \[dq]false\[dq] speedup_enable> 1 Edit
  45308. advanced config?
  45309. (y/n) y) Yes n) No y/n> n Remote config -------------------- [remote]
  45310. type = mailru user = username\[at]mail.ru pass = *** ENCRYPTED ***
  45311. speedup_enable = true -------------------- y) Yes this is OK e) Edit
  45312. this remote d) Delete this remote y/e/d> y
  45313. .IP
  45314. .nf
  45315. \f[C]
  45316. Configuration of this backend does not require a local web browser.
  45317. You can use the configured backend as shown below:
  45318. See top level directories
  45319. rclone lsd remote:
  45320. Make a new directory
  45321. rclone mkdir remote:directory
  45322. List the contents of a directory
  45323. rclone ls remote:directory
  45324. Sync \[ga]/home/local/directory\[ga] to the remote path, deleting any
  45325. excess files in the path.
  45326. rclone sync --interactive /home/local/directory remote:directory
  45327. ### Modification times and hashes
  45328. Files support a modification time attribute with up to 1 second precision.
  45329. Directories do not have a modification time, which is shown as \[dq]Jan 1 1970\[dq].
  45330. File hashes are supported, with a custom Mail.ru algorithm based on SHA1.
  45331. If file size is less than or equal to the SHA1 block size (20 bytes),
  45332. its hash is simply its data right-padded with zero bytes.
  45333. Hashes of a larger file is computed as a SHA1 of the file data
  45334. bytes concatenated with a decimal representation of the data length.
  45335. ### Emptying Trash
  45336. Removing a file or directory actually moves it to the trash, which is not
  45337. visible to rclone but can be seen in a web browser. The trashed file
  45338. still occupies part of total quota. If you wish to empty your trash
  45339. and free some quota, you can use the \[ga]rclone cleanup remote:\[ga] command,
  45340. which will permanently delete all your trashed files.
  45341. This command does not take any path arguments.
  45342. ### Quota information
  45343. To view your current quota you can use the \[ga]rclone about remote:\[ga]
  45344. command which will display your usage limit (quota) and the current usage.
  45345. ### Restricted filename characters
  45346. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  45347. the following characters are also replaced:
  45348. | Character | Value | Replacement |
  45349. | --------- |:-----:|:-----------:|
  45350. | \[dq] | 0x22 | \[uFF02] |
  45351. | * | 0x2A | \[uFF0A] |
  45352. | : | 0x3A | \[uFF1A] |
  45353. | < | 0x3C | \[uFF1C] |
  45354. | > | 0x3E | \[uFF1E] |
  45355. | ? | 0x3F | \[uFF1F] |
  45356. | \[rs] | 0x5C | \[uFF3C] |
  45357. | \[rs]| | 0x7C | \[uFF5C] |
  45358. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  45359. as they can\[aq]t be used in JSON strings.
  45360. ### Standard options
  45361. Here are the Standard options specific to mailru (Mail.ru Cloud).
  45362. #### --mailru-client-id
  45363. OAuth Client Id.
  45364. Leave blank normally.
  45365. Properties:
  45366. - Config: client_id
  45367. - Env Var: RCLONE_MAILRU_CLIENT_ID
  45368. - Type: string
  45369. - Required: false
  45370. #### --mailru-client-secret
  45371. OAuth Client Secret.
  45372. Leave blank normally.
  45373. Properties:
  45374. - Config: client_secret
  45375. - Env Var: RCLONE_MAILRU_CLIENT_SECRET
  45376. - Type: string
  45377. - Required: false
  45378. #### --mailru-user
  45379. User name (usually email).
  45380. Properties:
  45381. - Config: user
  45382. - Env Var: RCLONE_MAILRU_USER
  45383. - Type: string
  45384. - Required: true
  45385. #### --mailru-pass
  45386. Password.
  45387. This must be an app password - rclone will not work with your normal
  45388. password. See the Configuration section in the docs for how to make an
  45389. app password.
  45390. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  45391. Properties:
  45392. - Config: pass
  45393. - Env Var: RCLONE_MAILRU_PASS
  45394. - Type: string
  45395. - Required: true
  45396. #### --mailru-speedup-enable
  45397. Skip full upload if there is another file with same data hash.
  45398. This feature is called \[dq]speedup\[dq] or \[dq]put by hash\[dq]. It is especially efficient
  45399. in case of generally available files like popular books, video or audio clips,
  45400. because files are searched by hash in all accounts of all mailru users.
  45401. It is meaningless and ineffective if source file is unique or encrypted.
  45402. Please note that rclone may need local memory and disk space to calculate
  45403. content hash in advance and decide whether full upload is required.
  45404. Also, if rclone does not know file size in advance (e.g. in case of
  45405. streaming or partial uploads), it will not even try this optimization.
  45406. Properties:
  45407. - Config: speedup_enable
  45408. - Env Var: RCLONE_MAILRU_SPEEDUP_ENABLE
  45409. - Type: bool
  45410. - Default: true
  45411. - Examples:
  45412. - \[dq]true\[dq]
  45413. - Enable
  45414. - \[dq]false\[dq]
  45415. - Disable
  45416. ### Advanced options
  45417. Here are the Advanced options specific to mailru (Mail.ru Cloud).
  45418. #### --mailru-token
  45419. OAuth Access Token as a JSON blob.
  45420. Properties:
  45421. - Config: token
  45422. - Env Var: RCLONE_MAILRU_TOKEN
  45423. - Type: string
  45424. - Required: false
  45425. #### --mailru-auth-url
  45426. Auth server URL.
  45427. Leave blank to use the provider defaults.
  45428. Properties:
  45429. - Config: auth_url
  45430. - Env Var: RCLONE_MAILRU_AUTH_URL
  45431. - Type: string
  45432. - Required: false
  45433. #### --mailru-token-url
  45434. Token server url.
  45435. Leave blank to use the provider defaults.
  45436. Properties:
  45437. - Config: token_url
  45438. - Env Var: RCLONE_MAILRU_TOKEN_URL
  45439. - Type: string
  45440. - Required: false
  45441. #### --mailru-speedup-file-patterns
  45442. Comma separated list of file name patterns eligible for speedup (put by hash).
  45443. Patterns are case insensitive and can contain \[aq]*\[aq] or \[aq]?\[aq] meta characters.
  45444. Properties:
  45445. - Config: speedup_file_patterns
  45446. - Env Var: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS
  45447. - Type: string
  45448. - Default: \[dq]*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf\[dq]
  45449. - Examples:
  45450. - \[dq]\[dq]
  45451. - Empty list completely disables speedup (put by hash).
  45452. - \[dq]*\[dq]
  45453. - All files will be attempted for speedup.
  45454. - \[dq]*.mkv,*.avi,*.mp4,*.mp3\[dq]
  45455. - Only common audio/video files will be tried for put by hash.
  45456. - \[dq]*.zip,*.gz,*.rar,*.pdf\[dq]
  45457. - Only common archives or PDF books will be tried for speedup.
  45458. #### --mailru-speedup-max-disk
  45459. This option allows you to disable speedup (put by hash) for large files.
  45460. Reason is that preliminary hashing can exhaust your RAM or disk space.
  45461. Properties:
  45462. - Config: speedup_max_disk
  45463. - Env Var: RCLONE_MAILRU_SPEEDUP_MAX_DISK
  45464. - Type: SizeSuffix
  45465. - Default: 3Gi
  45466. - Examples:
  45467. - \[dq]0\[dq]
  45468. - Completely disable speedup (put by hash).
  45469. - \[dq]1G\[dq]
  45470. - Files larger than 1Gb will be uploaded directly.
  45471. - \[dq]3G\[dq]
  45472. - Choose this option if you have less than 3Gb free on local disk.
  45473. #### --mailru-speedup-max-memory
  45474. Files larger than the size given below will always be hashed on disk.
  45475. Properties:
  45476. - Config: speedup_max_memory
  45477. - Env Var: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY
  45478. - Type: SizeSuffix
  45479. - Default: 32Mi
  45480. - Examples:
  45481. - \[dq]0\[dq]
  45482. - Preliminary hashing will always be done in a temporary disk location.
  45483. - \[dq]32M\[dq]
  45484. - Do not dedicate more than 32Mb RAM for preliminary hashing.
  45485. - \[dq]256M\[dq]
  45486. - You have at most 256Mb RAM free for hash calculations.
  45487. #### --mailru-check-hash
  45488. What should copy do if file checksum is mismatched or invalid.
  45489. Properties:
  45490. - Config: check_hash
  45491. - Env Var: RCLONE_MAILRU_CHECK_HASH
  45492. - Type: bool
  45493. - Default: true
  45494. - Examples:
  45495. - \[dq]true\[dq]
  45496. - Fail with error.
  45497. - \[dq]false\[dq]
  45498. - Ignore and continue.
  45499. #### --mailru-user-agent
  45500. HTTP user agent used internally by client.
  45501. Defaults to \[dq]rclone/VERSION\[dq] or \[dq]--user-agent\[dq] provided on command line.
  45502. Properties:
  45503. - Config: user_agent
  45504. - Env Var: RCLONE_MAILRU_USER_AGENT
  45505. - Type: string
  45506. - Required: false
  45507. #### --mailru-quirks
  45508. Comma separated list of internal maintenance flags.
  45509. This option must not be used by an ordinary user. It is intended only to
  45510. facilitate remote troubleshooting of backend issues. Strict meaning of
  45511. flags is not documented and not guaranteed to persist between releases.
  45512. Quirks will be removed when the backend grows stable.
  45513. Supported quirks: atomicmkdir binlist unknowndirs
  45514. Properties:
  45515. - Config: quirks
  45516. - Env Var: RCLONE_MAILRU_QUIRKS
  45517. - Type: string
  45518. - Required: false
  45519. #### --mailru-encoding
  45520. The encoding for the backend.
  45521. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  45522. Properties:
  45523. - Config: encoding
  45524. - Env Var: RCLONE_MAILRU_ENCODING
  45525. - Type: Encoding
  45526. - Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot
  45527. #### --mailru-description
  45528. Description of the remote
  45529. Properties:
  45530. - Config: description
  45531. - Env Var: RCLONE_MAILRU_DESCRIPTION
  45532. - Type: string
  45533. - Required: false
  45534. ## Limitations
  45535. File size limits depend on your account. A single file size is limited by 2G
  45536. for a free account and unlimited for paid tariffs. Please refer to the Mail.ru
  45537. site for the total uploaded size limits.
  45538. Note that Mailru is case insensitive so you can\[aq]t have a file called
  45539. \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  45540. # Mega
  45541. [Mega](https://mega.nz/) is a cloud storage and file hosting service
  45542. known for its security feature where all files are encrypted locally
  45543. before they are uploaded. This prevents anyone (including employees of
  45544. Mega) from accessing the files without knowledge of the key used for
  45545. encryption.
  45546. This is an rclone backend for Mega which supports the file transfer
  45547. features of Mega using the same client side encryption.
  45548. Paths are specified as \[ga]remote:path\[ga]
  45549. Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga].
  45550. ## Configuration
  45551. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  45552. rclone config
  45553. This will guide you through an interactive setup process:
  45554. \f[R]
  45555. .fi
  45556. .PP
  45557. No remotes found, make a new one?
  45558. n) New remote s) Set configuration password q) Quit config n/s/q> n
  45559. name> remote Type of storage to configure.
  45560. Choose a number from below, or type in your own value [snip] XX / Mega
  45561. \ \[dq]mega\[dq] [snip] Storage> mega User name user>
  45562. you\[at]example.com Password.
  45563. y) Yes type in my own password g) Generate random password n) No leave
  45564. this optional password blank y/g/n> y Enter the password: password:
  45565. Confirm the password: password: Remote config --------------------
  45566. [remote] type = mega user = you\[at]example.com pass = *** ENCRYPTED ***
  45567. -------------------- y) Yes this is OK e) Edit this remote d) Delete
  45568. this remote y/e/d> y
  45569. .IP
  45570. .nf
  45571. \f[C]
  45572. **NOTE:** The encryption keys need to have been already generated after a regular login
  45573. via the browser, otherwise attempting to use the credentials in \[ga]rclone\[ga] will fail.
  45574. Once configured you can then use \[ga]rclone\[ga] like this,
  45575. List directories in top level of your Mega
  45576. rclone lsd remote:
  45577. List all the files in your Mega
  45578. rclone ls remote:
  45579. To copy a local directory to an Mega directory called backup
  45580. rclone copy /home/source remote:backup
  45581. ### Modification times and hashes
  45582. Mega does not support modification times or hashes yet.
  45583. ### Restricted filename characters
  45584. | Character | Value | Replacement |
  45585. | --------- |:-----:|:-----------:|
  45586. | NUL | 0x00 | \[u2400] |
  45587. | / | 0x2F | \[uFF0F] |
  45588. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  45589. as they can\[aq]t be used in JSON strings.
  45590. ### Duplicated files
  45591. Mega can have two files with exactly the same name and path (unlike a
  45592. normal file system).
  45593. Duplicated files cause problems with the syncing and you will see
  45594. messages in the log about duplicates.
  45595. Use \[ga]rclone dedupe\[ga] to fix duplicated files.
  45596. ### Failure to log-in
  45597. #### Object not found
  45598. If you are connecting to your Mega remote for the first time,
  45599. to test access and synchronization, you may receive an error such as
  45600. \f[R]
  45601. .fi
  45602. .PP
  45603. Failed to create file system for \[dq]my-mega-remote:\[dq]: couldn\[aq]t
  45604. login: Object (typically, node or user) not found
  45605. .IP
  45606. .nf
  45607. \f[C]
  45608. The diagnostic steps often recommended in the [rclone forum](https://forum.rclone.org/search?q=mega)
  45609. start with the **MEGAcmd** utility. Note that this refers to
  45610. the official C++ command from https://github.com/meganz/MEGAcmd
  45611. and not the go language built command from t3rm1n4l/megacmd
  45612. that is no longer maintained.
  45613. Follow the instructions for installing MEGAcmd and try accessing
  45614. your remote as they recommend. You can establish whether or not
  45615. you can log in using MEGAcmd, and obtain diagnostic information
  45616. to help you, and search or work with others in the forum.
  45617. \f[R]
  45618. .fi
  45619. .PP
  45620. MEGA CMD> login me\[at]example.com Password: Fetching nodes ...
  45621. Loading transfers from local cache Login complete as me\[at]example.com
  45622. me\[at]example.com:/$
  45623. .IP
  45624. .nf
  45625. \f[C]
  45626. Note that some have found issues with passwords containing special
  45627. characters. If you can not log on with rclone, but MEGAcmd logs on
  45628. just fine, then consider changing your password temporarily to
  45629. pure alphanumeric characters, in case that helps.
  45630. #### Repeated commands blocks access
  45631. Mega remotes seem to get blocked (reject logins) under \[dq]heavy use\[dq].
  45632. We haven\[aq]t worked out the exact blocking rules but it seems to be
  45633. related to fast paced, successive rclone commands.
  45634. For example, executing this command 90 times in a row \[ga]rclone link
  45635. remote:file\[ga] will cause the remote to become \[dq]blocked\[dq]. This is not an
  45636. abnormal situation, for example if you wish to get the public links of
  45637. a directory with hundred of files... After more or less a week, the
  45638. remote will remote accept rclone logins normally again.
  45639. You can mitigate this issue by mounting the remote it with \[ga]rclone
  45640. mount\[ga]. This will log-in when mounting and a log-out when unmounting
  45641. only. You can also run \[ga]rclone rcd\[ga] and then use \[ga]rclone rc\[ga] to run
  45642. the commands over the API to avoid logging in each time.
  45643. Rclone does not currently close mega sessions (you can see them in the
  45644. web interface), however closing the sessions does not solve the issue.
  45645. If you space rclone commands by 3 seconds it will avoid blocking the
  45646. remote. We haven\[aq]t identified the exact blocking rules, so perhaps one
  45647. could execute the command 80 times without waiting and avoid blocking
  45648. by waiting 3 seconds, then continuing...
  45649. Note that this has been observed by trial and error and might not be
  45650. set in stone.
  45651. Other tools seem not to produce this blocking effect, as they use a
  45652. different working approach (state-based, using sessionIDs instead of
  45653. log-in) which isn\[aq]t compatible with the current stateless rclone
  45654. approach.
  45655. Note that once blocked, the use of other tools (such as megacmd) is
  45656. not a sure workaround: following megacmd login times have been
  45657. observed in succession for blocked remote: 7 minutes, 20 min, 30min, 30
  45658. min, 30min. Web access looks unaffected though.
  45659. Investigation is continuing in relation to workarounds based on
  45660. timeouts, pacers, retrials and tpslimits - if you discover something
  45661. relevant, please post on the forum.
  45662. So, if rclone was working nicely and suddenly you are unable to log-in
  45663. and you are sure the user and the password are correct, likely you
  45664. have got the remote blocked for a while.
  45665. ### Standard options
  45666. Here are the Standard options specific to mega (Mega).
  45667. #### --mega-user
  45668. User name.
  45669. Properties:
  45670. - Config: user
  45671. - Env Var: RCLONE_MEGA_USER
  45672. - Type: string
  45673. - Required: true
  45674. #### --mega-pass
  45675. Password.
  45676. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  45677. Properties:
  45678. - Config: pass
  45679. - Env Var: RCLONE_MEGA_PASS
  45680. - Type: string
  45681. - Required: true
  45682. ### Advanced options
  45683. Here are the Advanced options specific to mega (Mega).
  45684. #### --mega-debug
  45685. Output more debug from Mega.
  45686. If this flag is set (along with -vv) it will print further debugging
  45687. information from the mega backend.
  45688. Properties:
  45689. - Config: debug
  45690. - Env Var: RCLONE_MEGA_DEBUG
  45691. - Type: bool
  45692. - Default: false
  45693. #### --mega-hard-delete
  45694. Delete files permanently rather than putting them into the trash.
  45695. Normally the mega backend will put all deletions into the trash rather
  45696. than permanently deleting them. If you specify this then rclone will
  45697. permanently delete objects instead.
  45698. Properties:
  45699. - Config: hard_delete
  45700. - Env Var: RCLONE_MEGA_HARD_DELETE
  45701. - Type: bool
  45702. - Default: false
  45703. #### --mega-use-https
  45704. Use HTTPS for transfers.
  45705. MEGA uses plain text HTTP connections by default.
  45706. Some ISPs throttle HTTP connections, this causes transfers to become very slow.
  45707. Enabling this will force MEGA to use HTTPS for all transfers.
  45708. HTTPS is normally not necessary since all data is already encrypted anyway.
  45709. Enabling it will increase CPU usage and add network overhead.
  45710. Properties:
  45711. - Config: use_https
  45712. - Env Var: RCLONE_MEGA_USE_HTTPS
  45713. - Type: bool
  45714. - Default: false
  45715. #### --mega-encoding
  45716. The encoding for the backend.
  45717. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  45718. Properties:
  45719. - Config: encoding
  45720. - Env Var: RCLONE_MEGA_ENCODING
  45721. - Type: Encoding
  45722. - Default: Slash,InvalidUtf8,Dot
  45723. #### --mega-description
  45724. Description of the remote
  45725. Properties:
  45726. - Config: description
  45727. - Env Var: RCLONE_MEGA_DESCRIPTION
  45728. - Type: string
  45729. - Required: false
  45730. ### Process \[ga]killed\[ga]
  45731. On accounts with large files or something else, memory usage can significantly increase when executing list/sync instructions. When running on cloud providers (like AWS with EC2), check if the instance type has sufficient memory/CPU to execute the commands. Use the resource monitoring tools to inspect after sending the commands. Look [at this issue](https://forum.rclone.org/t/rclone-with-mega-appears-to-work-only-in-some-accounts/40233/4).
  45732. ## Limitations
  45733. This backend uses the [go-mega go library](https://github.com/t3rm1n4l/go-mega) which is an opensource
  45734. go library implementing the Mega API. There doesn\[aq]t appear to be any
  45735. documentation for the mega protocol beyond the [mega C++ SDK](https://github.com/meganz/sdk) source code
  45736. so there are likely quite a few errors still remaining in this library.
  45737. Mega allows duplicate files which may confuse rclone.
  45738. # Memory
  45739. The memory backend is an in RAM backend. It does not persist its
  45740. data - use the local backend for that.
  45741. The memory backend behaves like a bucket-based remote (e.g. like
  45742. s3). Because it has no parameters you can just use it with the
  45743. \[ga]:memory:\[ga] remote name.
  45744. ## Configuration
  45745. You can configure it as a remote like this with \[ga]rclone config\[ga] too if
  45746. you want to:
  45747. \f[R]
  45748. .fi
  45749. .PP
  45750. No remotes found, make a new one?
  45751. n) New remote s) Set configuration password q) Quit config n/s/q> n
  45752. name> remote Type of storage to configure.
  45753. Enter a string value.
  45754. Press Enter for the default (\[dq]\[dq]).
  45755. Choose a number from below, or type in your own value [snip] XX / Memory
  45756. \ \[dq]memory\[dq] [snip] Storage> memory ** See help for memory backend
  45757. at: https://rclone.org/memory/ **
  45758. .PP
  45759. Remote config
  45760. .PP
  45761. .TS
  45762. tab(@);
  45763. l.
  45764. T{
  45765. [remote]
  45766. T}
  45767. T{
  45768. type = memory
  45769. T}
  45770. .TE
  45771. .IP "y)" 3
  45772. Yes this is OK (default)
  45773. .IP "z)" 3
  45774. Edit this remote
  45775. .IP "a)" 3
  45776. Delete this remote y/e/d> y
  45777. .IP
  45778. .nf
  45779. \f[C]
  45780. Because the memory backend isn\[aq]t persistent it is most useful for
  45781. testing or with an rclone server or rclone mount, e.g.
  45782. rclone mount :memory: /mnt/tmp
  45783. rclone serve webdav :memory:
  45784. rclone serve sftp :memory:
  45785. ### Modification times and hashes
  45786. The memory backend supports MD5 hashes and modification times accurate to 1 nS.
  45787. ### Restricted filename characters
  45788. The memory backend replaces the [default restricted characters
  45789. set](https://rclone.org/overview/#restricted-characters).
  45790. ### Advanced options
  45791. Here are the Advanced options specific to memory (In memory object storage system.).
  45792. #### --memory-description
  45793. Description of the remote
  45794. Properties:
  45795. - Config: description
  45796. - Env Var: RCLONE_MEMORY_DESCRIPTION
  45797. - Type: string
  45798. - Required: false
  45799. # Akamai NetStorage
  45800. Paths are specified as \[ga]remote:\[ga]
  45801. You may put subdirectories in too, e.g. \[ga]remote:/path/to/dir\[ga].
  45802. If you have a CP code you can use that as the folder after the domain such as \[rs]<domain>\[rs]/\[rs]<cpcode>\[rs]/\[rs]<internal directories within cpcode>.
  45803. For example, this is commonly configured with or without a CP code:
  45804. * **With a CP code**. \[ga][your-domain-prefix]-nsu.akamaihd.net/123456/subdirectory/\[ga]
  45805. * **Without a CP code**. \[ga][your-domain-prefix]-nsu.akamaihd.net\[ga]
  45806. See all buckets
  45807. rclone lsd remote:
  45808. The initial setup for Netstorage involves getting an account and secret. Use \[ga]rclone config\[ga] to walk you through the setup process.
  45809. ## Configuration
  45810. Here\[aq]s an example of how to make a remote called \[ga]ns1\[ga].
  45811. 1. To begin the interactive configuration process, enter this command:
  45812. \f[R]
  45813. .fi
  45814. .PP
  45815. rclone config
  45816. .IP
  45817. .nf
  45818. \f[C]
  45819. 2. Type \[ga]n\[ga] to create a new remote.
  45820. \f[R]
  45821. .fi
  45822. .IP "n)" 3
  45823. New remote
  45824. .IP "o)" 3
  45825. Delete remote
  45826. .IP "p)" 3
  45827. Quit config e/n/d/q> n
  45828. .IP
  45829. .nf
  45830. \f[C]
  45831. 3. For this example, enter \[ga]ns1\[ga] when you reach the name> prompt.
  45832. \f[R]
  45833. .fi
  45834. .PP
  45835. name> ns1
  45836. .IP
  45837. .nf
  45838. \f[C]
  45839. 4. Enter \[ga]netstorage\[ga] as the type of storage to configure.
  45840. \f[R]
  45841. .fi
  45842. .PP
  45843. Type of storage to configure.
  45844. Enter a string value.
  45845. Press Enter for the default (\[dq]\[dq]).
  45846. Choose a number from below, or type in your own value XX / NetStorage
  45847. \ \[dq]netstorage\[dq] Storage> netstorage
  45848. .IP
  45849. .nf
  45850. \f[C]
  45851. 5. Select between the HTTP or HTTPS protocol. Most users should choose HTTPS, which is the default. HTTP is provided primarily for debugging purposes.
  45852. \f[R]
  45853. .fi
  45854. .PP
  45855. Enter a string value.
  45856. Press Enter for the default (\[dq]\[dq]).
  45857. Choose a number from below, or type in your own value 1 / HTTP protocol
  45858. \ \[dq]http\[dq] 2 / HTTPS protocol \ \[dq]https\[dq] protocol> 1
  45859. .IP
  45860. .nf
  45861. \f[C]
  45862. 6. Specify your NetStorage host, CP code, and any necessary content paths using this format: \[ga]<domain>/<cpcode>/<content>/\[ga]
  45863. \f[R]
  45864. .fi
  45865. .PP
  45866. Enter a string value.
  45867. Press Enter for the default (\[dq]\[dq]).
  45868. host> baseball-nsu.akamaihd.net/123456/content/
  45869. .IP
  45870. .nf
  45871. \f[C]
  45872. 7. Set the netstorage account name
  45873. \f[R]
  45874. .fi
  45875. .PP
  45876. Enter a string value.
  45877. Press Enter for the default (\[dq]\[dq]).
  45878. account> username
  45879. .IP
  45880. .nf
  45881. \f[C]
  45882. 8. Set the Netstorage account secret/G2O key which will be used for authentication purposes. Select the \[ga]y\[ga] option to set your own password then enter your secret.
  45883. Note: The secret is stored in the \[ga]rclone.conf\[ga] file with hex-encoded encryption.
  45884. \f[R]
  45885. .fi
  45886. .IP "y)" 3
  45887. Yes type in my own password
  45888. .IP "z)" 3
  45889. Generate random password y/g> y Enter the password: password: Confirm
  45890. the password: password:
  45891. .IP
  45892. .nf
  45893. \f[C]
  45894. 9. View the summary and confirm your remote configuration.
  45895. \f[R]
  45896. .fi
  45897. .PP
  45898. [ns1] type = netstorage protocol = http host =
  45899. baseball-nsu.akamaihd.net/123456/content/ account = username secret =
  45900. *** ENCRYPTED *** -------------------- y) Yes this is OK (default) e)
  45901. Edit this remote d) Delete this remote y/e/d> y
  45902. .IP
  45903. .nf
  45904. \f[C]
  45905. This remote is called \[ga]ns1\[ga] and can now be used.
  45906. ## Example operations
  45907. Get started with rclone and NetStorage with these examples. For additional rclone commands, visit https://rclone.org/commands/.
  45908. ### See contents of a directory in your project
  45909. rclone lsd ns1:/974012/testing/
  45910. ### Sync the contents local with remote
  45911. rclone sync . ns1:/974012/testing/
  45912. ### Upload local content to remote
  45913. rclone copy notes.txt ns1:/974012/testing/
  45914. ### Delete content on remote
  45915. rclone delete ns1:/974012/testing/notes.txt
  45916. ### Move or copy content between CP codes.
  45917. Your credentials must have access to two CP codes on the same remote. You can\[aq]t perform operations between different remotes.
  45918. rclone move ns1:/974012/testing/notes.txt ns1:/974450/testing2/
  45919. ## Features
  45920. ### Symlink Support
  45921. The Netstorage backend changes the rclone \[ga]--links, -l\[ga] behavior. When uploading, instead of creating the .rclonelink file, use the \[dq]symlink\[dq] API in order to create the corresponding symlink on the remote. The .rclonelink file will not be created, the upload will be intercepted and only the symlink file that matches the source file name with no suffix will be created on the remote.
  45922. This will effectively allow commands like copy/copyto, move/moveto and sync to upload from local to remote and download from remote to local directories with symlinks. Due to internal rclone limitations, it is not possible to upload an individual symlink file to any remote backend. You can always use the \[dq]backend symlink\[dq] command to create a symlink on the NetStorage server, refer to \[dq]symlink\[dq] section below.
  45923. Individual symlink files on the remote can be used with the commands like \[dq]cat\[dq] to print the destination name, or \[dq]delete\[dq] to delete symlink, or copy, copy/to and move/moveto to download from the remote to local. Note: individual symlink files on the remote should be specified including the suffix .rclonelink.
  45924. **Note**: No file with the suffix .rclonelink should ever exist on the server since it is not possible to actually upload/create a file with .rclonelink suffix with rclone, it can only exist if it is manually created through a non-rclone method on the remote.
  45925. ### Implicit vs. Explicit Directories
  45926. With NetStorage, directories can exist in one of two forms:
  45927. 1. **Explicit Directory**. This is an actual, physical directory that you have created in a storage group.
  45928. 2. **Implicit Directory**. This refers to a directory within a path that has not been physically created. For example, during upload of a file, nonexistent subdirectories can be specified in the target path. NetStorage creates these as \[dq]implicit.\[dq] While the directories aren\[aq]t physically created, they exist implicitly and the noted path is connected with the uploaded file.
  45929. Rclone will intercept all file uploads and mkdir commands for the NetStorage remote and will explicitly issue the mkdir command for each directory in the uploading path. This will help with the interoperability with the other Akamai services such as SFTP and the Content Management Shell (CMShell). Rclone will not guarantee correctness of operations with implicit directories which might have been created as a result of using an upload API directly.
  45930. ### \[ga]--fast-list\[ga] / ListR support
  45931. NetStorage remote supports the ListR feature by using the \[dq]list\[dq] NetStorage API action to return a lexicographical list of all objects within the specified CP code, recursing into subdirectories as they\[aq]re encountered.
  45932. * **Rclone will use the ListR method for some commands by default**. Commands such as \[ga]lsf -R\[ga] will use ListR by default. To disable this, include the \[ga]--disable listR\[ga] option to use the non-recursive method of listing objects.
  45933. * **Rclone will not use the ListR method for some commands**. Commands such as \[ga]sync\[ga] don\[aq]t use ListR by default. To force using the ListR method, include the \[ga]--fast-list\[ga] option.
  45934. There are pros and cons of using the ListR method, refer to [rclone documentation](https://rclone.org/docs/#fast-list). In general, the sync command over an existing deep tree on the remote will run faster with the \[dq]--fast-list\[dq] flag but with extra memory usage as a side effect. It might also result in higher CPU utilization but the whole task can be completed faster.
  45935. **Note**: There is a known limitation that \[dq]lsf -R\[dq] will display number of files in the directory and directory size as -1 when ListR method is used. The workaround is to pass \[dq]--disable listR\[dq] flag if these numbers are important in the output.
  45936. ### Purge
  45937. NetStorage remote supports the purge feature by using the \[dq]quick-delete\[dq] NetStorage API action. The quick-delete action is disabled by default for security reasons and can be enabled for the account through the Akamai portal. Rclone will first try to use quick-delete action for the purge command and if this functionality is disabled then will fall back to a standard delete method.
  45938. **Note**: Read the [NetStorage Usage API](https://learn.akamai.com/en-us/webhelp/netstorage/netstorage-http-api-developer-guide/GUID-15836617-9F50-405A-833C-EA2556756A30.html) for considerations when using \[dq]quick-delete\[dq]. In general, using quick-delete method will not delete the tree immediately and objects targeted for quick-delete may still be accessible.
  45939. ### Standard options
  45940. Here are the Standard options specific to netstorage (Akamai NetStorage).
  45941. #### --netstorage-host
  45942. Domain+path of NetStorage host to connect to.
  45943. Format should be \[ga]<domain>/<internal folders>\[ga]
  45944. Properties:
  45945. - Config: host
  45946. - Env Var: RCLONE_NETSTORAGE_HOST
  45947. - Type: string
  45948. - Required: true
  45949. #### --netstorage-account
  45950. Set the NetStorage account name
  45951. Properties:
  45952. - Config: account
  45953. - Env Var: RCLONE_NETSTORAGE_ACCOUNT
  45954. - Type: string
  45955. - Required: true
  45956. #### --netstorage-secret
  45957. Set the NetStorage account secret/G2O key for authentication.
  45958. Please choose the \[aq]y\[aq] option to set your own password then enter your secret.
  45959. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  45960. Properties:
  45961. - Config: secret
  45962. - Env Var: RCLONE_NETSTORAGE_SECRET
  45963. - Type: string
  45964. - Required: true
  45965. ### Advanced options
  45966. Here are the Advanced options specific to netstorage (Akamai NetStorage).
  45967. #### --netstorage-protocol
  45968. Select between HTTP or HTTPS protocol.
  45969. Most users should choose HTTPS, which is the default.
  45970. HTTP is provided primarily for debugging purposes.
  45971. Properties:
  45972. - Config: protocol
  45973. - Env Var: RCLONE_NETSTORAGE_PROTOCOL
  45974. - Type: string
  45975. - Default: \[dq]https\[dq]
  45976. - Examples:
  45977. - \[dq]http\[dq]
  45978. - HTTP protocol
  45979. - \[dq]https\[dq]
  45980. - HTTPS protocol
  45981. #### --netstorage-description
  45982. Description of the remote
  45983. Properties:
  45984. - Config: description
  45985. - Env Var: RCLONE_NETSTORAGE_DESCRIPTION
  45986. - Type: string
  45987. - Required: false
  45988. ## Backend commands
  45989. Here are the commands specific to the netstorage backend.
  45990. Run them with
  45991. rclone backend COMMAND remote:
  45992. The help below will explain what arguments each command takes.
  45993. See the [backend](https://rclone.org/commands/rclone_backend/) command for more
  45994. info on how to pass options and arguments.
  45995. These can be run on a running backend using the rc command
  45996. [backend/command](https://rclone.org/rc/#backend-command).
  45997. ### du
  45998. Return disk usage information for a specified directory
  45999. rclone backend du remote: [options] [<arguments>+]
  46000. The usage information returned, includes the targeted directory as well as all
  46001. files stored in any sub-directories that may exist.
  46002. ### symlink
  46003. You can create a symbolic link in ObjectStore with the symlink action.
  46004. rclone backend symlink remote: [options] [<arguments>+]
  46005. The desired path location (including applicable sub-directories) ending in
  46006. the object that will be the target of the symlink (for example, /links/mylink).
  46007. Include the file extension for the object, if applicable.
  46008. \[ga]rclone backend symlink <src> <path>\[ga]
  46009. # Microsoft Azure Blob Storage
  46010. Paths are specified as \[ga]remote:container\[ga] (or \[ga]remote:\[ga] for the \[ga]lsd\[ga]
  46011. command.) You may put subdirectories in too, e.g.
  46012. \[ga]remote:container/path/to/dir\[ga].
  46013. ## Configuration
  46014. Here is an example of making a Microsoft Azure Blob Storage
  46015. configuration. For a remote called \[ga]remote\[ga]. First run:
  46016. rclone config
  46017. This will guide you through an interactive setup process:
  46018. \f[R]
  46019. .fi
  46020. .PP
  46021. No remotes found, make a new one?
  46022. n) New remote s) Set configuration password q) Quit config n/s/q> n
  46023. name> remote Type of storage to configure.
  46024. Choose a number from below, or type in your own value [snip] XX /
  46025. Microsoft Azure Blob Storage \ \[dq]azureblob\[dq] [snip] Storage>
  46026. azureblob Storage Account Name account> account_name Storage Account Key
  46027. key> base64encodedkey== Endpoint for the service - leave blank normally.
  46028. endpoint> Remote config -------------------- [remote] account =
  46029. account_name key = base64encodedkey== endpoint = -------------------- y)
  46030. Yes this is OK e) Edit this remote d) Delete this remote y/e/d> y
  46031. .IP
  46032. .nf
  46033. \f[C]
  46034. See all containers
  46035. rclone lsd remote:
  46036. Make a new container
  46037. rclone mkdir remote:container
  46038. List the contents of a container
  46039. rclone ls remote:container
  46040. Sync \[ga]/home/local/directory\[ga] to the remote container, deleting any excess
  46041. files in the container.
  46042. rclone sync --interactive /home/local/directory remote:container
  46043. ### --fast-list
  46044. This remote supports \[ga]--fast-list\[ga] which allows you to use fewer
  46045. transactions in exchange for more memory. See the [rclone
  46046. docs](https://rclone.org/docs/#fast-list) for more details.
  46047. ### Modification times and hashes
  46048. The modification time is stored as metadata on the object with the
  46049. \[ga]mtime\[ga] key. It is stored using RFC3339 Format time with nanosecond
  46050. precision. The metadata is supplied during directory listings so
  46051. there is no performance overhead to using it.
  46052. If you wish to use the Azure standard \[ga]LastModified\[ga] time stored on
  46053. the object as the modified time, then use the \[ga]--use-server-modtime\[ga]
  46054. flag. Note that rclone can\[aq]t set \[ga]LastModified\[ga], so using the
  46055. \[ga]--update\[ga] flag when syncing is recommended if using
  46056. \[ga]--use-server-modtime\[ga].
  46057. MD5 hashes are stored with blobs. However blobs that were uploaded in
  46058. chunks only have an MD5 if the source remote was capable of MD5
  46059. hashes, e.g. the local disk.
  46060. ### Performance
  46061. When uploading large files, increasing the value of
  46062. \[ga]--azureblob-upload-concurrency\[ga] will increase performance at the cost
  46063. of using more memory. The default of 16 is set quite conservatively to
  46064. use less memory. It maybe be necessary raise it to 64 or higher to
  46065. fully utilize a 1 GBit/s link with a single file transfer.
  46066. ### Restricted filename characters
  46067. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  46068. the following characters are also replaced:
  46069. | Character | Value | Replacement |
  46070. | --------- |:-----:|:-----------:|
  46071. | / | 0x2F | \[uFF0F] |
  46072. | \[rs] | 0x5C | \[uFF3C] |
  46073. File names can also not end with the following characters.
  46074. These only get replaced if they are the last character in the name:
  46075. | Character | Value | Replacement |
  46076. | --------- |:-----:|:-----------:|
  46077. | . | 0x2E | \[uFF0E] |
  46078. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  46079. as they can\[aq]t be used in JSON strings.
  46080. ### Authentication {#authentication}
  46081. There are a number of ways of supplying credentials for Azure Blob
  46082. Storage. Rclone tries them in the order of the sections below.
  46083. #### Env Auth
  46084. If the \[ga]env_auth\[ga] config parameter is \[ga]true\[ga] then rclone will pull
  46085. credentials from the environment or runtime.
  46086. It tries these authentication methods in this order:
  46087. 1. Environment Variables
  46088. 2. Managed Service Identity Credentials
  46089. 3. Azure CLI credentials (as used by the az tool)
  46090. These are described in the following sections
  46091. ##### Env Auth: 1. Environment Variables
  46092. If \[ga]env_auth\[ga] is set and environment variables are present rclone
  46093. authenticates a service principal with a secret or certificate, or a
  46094. user with a password, depending on which environment variable are set.
  46095. It reads configuration from these variables, in the following order:
  46096. 1. Service principal with client secret
  46097. - \[ga]AZURE_TENANT_ID\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46098. - \[ga]AZURE_CLIENT_ID\[ga]: the service principal\[aq]s client ID
  46099. - \[ga]AZURE_CLIENT_SECRET\[ga]: one of the service principal\[aq]s client secrets
  46100. 2. Service principal with certificate
  46101. - \[ga]AZURE_TENANT_ID\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46102. - \[ga]AZURE_CLIENT_ID\[ga]: the service principal\[aq]s client ID
  46103. - \[ga]AZURE_CLIENT_CERTIFICATE_PATH\[ga]: path to a PEM or PKCS12 certificate file including the private key.
  46104. - \[ga]AZURE_CLIENT_CERTIFICATE_PASSWORD\[ga]: (optional) password for the certificate file.
  46105. - \[ga]AZURE_CLIENT_SEND_CERTIFICATE_CHAIN\[ga]: (optional) Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to \[dq]true\[dq] or \[dq]1\[dq], authentication requests include the x5c header.
  46106. 3. User with username and password
  46107. - \[ga]AZURE_TENANT_ID\[ga]: (optional) tenant to authenticate in. Defaults to \[dq]organizations\[dq].
  46108. - \[ga]AZURE_CLIENT_ID\[ga]: client ID of the application the user will authenticate to
  46109. - \[ga]AZURE_USERNAME\[ga]: a username (usually an email address)
  46110. - \[ga]AZURE_PASSWORD\[ga]: the user\[aq]s password
  46111. 4. Workload Identity
  46112. - \[ga]AZURE_TENANT_ID\[ga]: Tenant to authenticate in.
  46113. - \[ga]AZURE_CLIENT_ID\[ga]: Client ID of the application the user will authenticate to.
  46114. - \[ga]AZURE_FEDERATED_TOKEN_FILE\[ga]: Path to projected service account token file.
  46115. - \[ga]AZURE_AUTHORITY_HOST\[ga]: Authority of an Azure Active Directory endpoint (default: login.microsoftonline.com).
  46116. ##### Env Auth: 2. Managed Service Identity Credentials
  46117. When using Managed Service Identity if the VM(SS) on which this
  46118. program is running has a system-assigned identity, it will be used by
  46119. default. If the resource has no system-assigned but exactly one
  46120. user-assigned identity, the user-assigned identity will be used by
  46121. default.
  46122. If the resource has multiple user-assigned identities you will need to
  46123. unset \[ga]env_auth\[ga] and set \[ga]use_msi\[ga] instead. See the [\[ga]use_msi\[ga]
  46124. section](#use_msi).
  46125. ##### Env Auth: 3. Azure CLI credentials (as used by the az tool)
  46126. Credentials created with the \[ga]az\[ga] tool can be picked up using \[ga]env_auth\[ga].
  46127. For example if you were to login with a service principal like this:
  46128. az login --service-principal -u XXX -p XXX --tenant XXX
  46129. Then you could access rclone resources like this:
  46130. rclone lsf :azureblob,env_auth,account=ACCOUNT:CONTAINER
  46131. Or
  46132. rclone lsf --azureblob-env-auth --azureblob-account=ACCOUNT :azureblob:CONTAINER
  46133. Which is analogous to using the \[ga]az\[ga] tool:
  46134. az storage blob list --container-name CONTAINER --account-name ACCOUNT --auth-mode login
  46135. #### Account and Shared Key
  46136. This is the most straight forward and least flexible way. Just fill
  46137. in the \[ga]account\[ga] and \[ga]key\[ga] lines and leave the rest blank.
  46138. #### SAS URL
  46139. This can be an account level SAS URL or container level SAS URL.
  46140. To use it leave \[ga]account\[ga] and \[ga]key\[ga] blank and fill in \[ga]sas_url\[ga].
  46141. An account level SAS URL or container level SAS URL can be obtained
  46142. from the Azure portal or the Azure Storage Explorer. To get a
  46143. container level SAS URL right click on a container in the Azure Blob
  46144. explorer in the Azure portal.
  46145. If you use a container level SAS URL, rclone operations are permitted
  46146. only on a particular container, e.g.
  46147. rclone ls azureblob:container
  46148. You can also list the single container from the root. This will only
  46149. show the container specified by the SAS URL.
  46150. $ rclone lsd azureblob:
  46151. container/
  46152. Note that you can\[aq]t see or access any other containers - this will
  46153. fail
  46154. rclone ls azureblob:othercontainer
  46155. Container level SAS URLs are useful for temporarily allowing third
  46156. parties access to a single container or putting credentials into an
  46157. untrusted environment such as a CI build server.
  46158. #### Service principal with client secret
  46159. If these variables are set, rclone will authenticate with a service principal with a client secret.
  46160. - \[ga]tenant\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46161. - \[ga]client_id\[ga]: the service principal\[aq]s client ID
  46162. - \[ga]client_secret\[ga]: one of the service principal\[aq]s client secrets
  46163. The credentials can also be placed in a file using the
  46164. \[ga]service_principal_file\[ga] configuration option.
  46165. #### Service principal with certificate
  46166. If these variables are set, rclone will authenticate with a service principal with certificate.
  46167. - \[ga]tenant\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46168. - \[ga]client_id\[ga]: the service principal\[aq]s client ID
  46169. - \[ga]client_certificate_path\[ga]: path to a PEM or PKCS12 certificate file including the private key.
  46170. - \[ga]client_certificate_password\[ga]: (optional) password for the certificate file.
  46171. - \[ga]client_send_certificate_chain\[ga]: (optional) Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to \[dq]true\[dq] or \[dq]1\[dq], authentication requests include the x5c header.
  46172. **NB** \[ga]client_certificate_password\[ga] must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46173. #### User with username and password
  46174. If these variables are set, rclone will authenticate with username and password.
  46175. - \[ga]tenant\[ga]: (optional) tenant to authenticate in. Defaults to \[dq]organizations\[dq].
  46176. - \[ga]client_id\[ga]: client ID of the application the user will authenticate to
  46177. - \[ga]username\[ga]: a username (usually an email address)
  46178. - \[ga]password\[ga]: the user\[aq]s password
  46179. Microsoft doesn\[aq]t recommend this kind of authentication, because it\[aq]s
  46180. less secure than other authentication flows. This method is not
  46181. interactive, so it isn\[aq]t compatible with any form of multi-factor
  46182. authentication, and the application must already have user or admin
  46183. consent. This credential can only authenticate work and school
  46184. accounts; it can\[aq]t authenticate Microsoft accounts.
  46185. **NB** \[ga]password\[ga] must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46186. #### Managed Service Identity Credentials {#use_msi}
  46187. If \[ga]use_msi\[ga] is set then managed service identity credentials are
  46188. used. This authentication only works when running in an Azure service.
  46189. \[ga]env_auth\[ga] needs to be unset to use this.
  46190. However if you have multiple user identities to choose from these must
  46191. be explicitly specified using exactly one of the \[ga]msi_object_id\[ga],
  46192. \[ga]msi_client_id\[ga], or \[ga]msi_mi_res_id\[ga] parameters.
  46193. If none of \[ga]msi_object_id\[ga], \[ga]msi_client_id\[ga], or \[ga]msi_mi_res_id\[ga] is
  46194. set, this is is equivalent to using \[ga]env_auth\[ga].
  46195. ### Standard options
  46196. Here are the Standard options specific to azureblob (Microsoft Azure Blob Storage).
  46197. #### --azureblob-account
  46198. Azure Storage Account Name.
  46199. Set this to the Azure Storage Account Name in use.
  46200. Leave blank to use SAS URL or Emulator, otherwise it needs to be set.
  46201. If this is blank and if env_auth is set it will be read from the
  46202. environment variable \[ga]AZURE_STORAGE_ACCOUNT_NAME\[ga] if possible.
  46203. Properties:
  46204. - Config: account
  46205. - Env Var: RCLONE_AZUREBLOB_ACCOUNT
  46206. - Type: string
  46207. - Required: false
  46208. #### --azureblob-env-auth
  46209. Read credentials from runtime (environment variables, CLI or MSI).
  46210. See the [authentication docs](/azureblob#authentication) for full info.
  46211. Properties:
  46212. - Config: env_auth
  46213. - Env Var: RCLONE_AZUREBLOB_ENV_AUTH
  46214. - Type: bool
  46215. - Default: false
  46216. #### --azureblob-key
  46217. Storage Account Shared Key.
  46218. Leave blank to use SAS URL or Emulator.
  46219. Properties:
  46220. - Config: key
  46221. - Env Var: RCLONE_AZUREBLOB_KEY
  46222. - Type: string
  46223. - Required: false
  46224. #### --azureblob-sas-url
  46225. SAS URL for container level access only.
  46226. Leave blank if using account/key or Emulator.
  46227. Properties:
  46228. - Config: sas_url
  46229. - Env Var: RCLONE_AZUREBLOB_SAS_URL
  46230. - Type: string
  46231. - Required: false
  46232. #### --azureblob-tenant
  46233. ID of the service principal\[aq]s tenant. Also called its directory ID.
  46234. Set this if using
  46235. - Service principal with client secret
  46236. - Service principal with certificate
  46237. - User with username and password
  46238. Properties:
  46239. - Config: tenant
  46240. - Env Var: RCLONE_AZUREBLOB_TENANT
  46241. - Type: string
  46242. - Required: false
  46243. #### --azureblob-client-id
  46244. The ID of the client in use.
  46245. Set this if using
  46246. - Service principal with client secret
  46247. - Service principal with certificate
  46248. - User with username and password
  46249. Properties:
  46250. - Config: client_id
  46251. - Env Var: RCLONE_AZUREBLOB_CLIENT_ID
  46252. - Type: string
  46253. - Required: false
  46254. #### --azureblob-client-secret
  46255. One of the service principal\[aq]s client secrets
  46256. Set this if using
  46257. - Service principal with client secret
  46258. Properties:
  46259. - Config: client_secret
  46260. - Env Var: RCLONE_AZUREBLOB_CLIENT_SECRET
  46261. - Type: string
  46262. - Required: false
  46263. #### --azureblob-client-certificate-path
  46264. Path to a PEM or PKCS12 certificate file including the private key.
  46265. Set this if using
  46266. - Service principal with certificate
  46267. Properties:
  46268. - Config: client_certificate_path
  46269. - Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PATH
  46270. - Type: string
  46271. - Required: false
  46272. #### --azureblob-client-certificate-password
  46273. Password for the certificate file (optional).
  46274. Optionally set this if using
  46275. - Service principal with certificate
  46276. And the certificate has a password.
  46277. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46278. Properties:
  46279. - Config: client_certificate_password
  46280. - Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PASSWORD
  46281. - Type: string
  46282. - Required: false
  46283. ### Advanced options
  46284. Here are the Advanced options specific to azureblob (Microsoft Azure Blob Storage).
  46285. #### --azureblob-client-send-certificate-chain
  46286. Send the certificate chain when using certificate auth.
  46287. Specifies whether an authentication request will include an x5c header
  46288. to support subject name / issuer based authentication. When set to
  46289. true, authentication requests include the x5c header.
  46290. Optionally set this if using
  46291. - Service principal with certificate
  46292. Properties:
  46293. - Config: client_send_certificate_chain
  46294. - Env Var: RCLONE_AZUREBLOB_CLIENT_SEND_CERTIFICATE_CHAIN
  46295. - Type: bool
  46296. - Default: false
  46297. #### --azureblob-username
  46298. User name (usually an email address)
  46299. Set this if using
  46300. - User with username and password
  46301. Properties:
  46302. - Config: username
  46303. - Env Var: RCLONE_AZUREBLOB_USERNAME
  46304. - Type: string
  46305. - Required: false
  46306. #### --azureblob-password
  46307. The user\[aq]s password
  46308. Set this if using
  46309. - User with username and password
  46310. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46311. Properties:
  46312. - Config: password
  46313. - Env Var: RCLONE_AZUREBLOB_PASSWORD
  46314. - Type: string
  46315. - Required: false
  46316. #### --azureblob-service-principal-file
  46317. Path to file containing credentials for use with a service principal.
  46318. Leave blank normally. Needed only if you want to use a service principal instead of interactive login.
  46319. $ az ad sp create-for-rbac --name \[dq]<name>\[dq] \[rs]
  46320. --role \[dq]Storage Blob Data Owner\[dq] \[rs]
  46321. --scopes \[dq]/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>\[dq] \[rs]
  46322. > azure-principal.json
  46323. See [\[dq]Create an Azure service principal\[dq]](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) and [\[dq]Assign an Azure role for access to blob data\[dq]](https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-cli) pages for more details.
  46324. It may be more convenient to put the credentials directly into the
  46325. rclone config file under the \[ga]client_id\[ga], \[ga]tenant\[ga] and \[ga]client_secret\[ga]
  46326. keys instead of setting \[ga]service_principal_file\[ga].
  46327. Properties:
  46328. - Config: service_principal_file
  46329. - Env Var: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE
  46330. - Type: string
  46331. - Required: false
  46332. #### --azureblob-use-msi
  46333. Use a managed service identity to authenticate (only works in Azure).
  46334. When true, use a [managed service identity](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/)
  46335. to authenticate to Azure Storage instead of a SAS token or account key.
  46336. If the VM(SS) on which this program is running has a system-assigned identity, it will
  46337. be used by default. If the resource has no system-assigned but exactly one user-assigned identity,
  46338. the user-assigned identity will be used by default. If the resource has multiple user-assigned
  46339. identities, the identity to use must be explicitly specified using exactly one of the msi_object_id,
  46340. msi_client_id, or msi_mi_res_id parameters.
  46341. Properties:
  46342. - Config: use_msi
  46343. - Env Var: RCLONE_AZUREBLOB_USE_MSI
  46344. - Type: bool
  46345. - Default: false
  46346. #### --azureblob-msi-object-id
  46347. Object ID of the user-assigned MSI to use, if any.
  46348. Leave blank if msi_client_id or msi_mi_res_id specified.
  46349. Properties:
  46350. - Config: msi_object_id
  46351. - Env Var: RCLONE_AZUREBLOB_MSI_OBJECT_ID
  46352. - Type: string
  46353. - Required: false
  46354. #### --azureblob-msi-client-id
  46355. Object ID of the user-assigned MSI to use, if any.
  46356. Leave blank if msi_object_id or msi_mi_res_id specified.
  46357. Properties:
  46358. - Config: msi_client_id
  46359. - Env Var: RCLONE_AZUREBLOB_MSI_CLIENT_ID
  46360. - Type: string
  46361. - Required: false
  46362. #### --azureblob-msi-mi-res-id
  46363. Azure resource ID of the user-assigned MSI to use, if any.
  46364. Leave blank if msi_client_id or msi_object_id specified.
  46365. Properties:
  46366. - Config: msi_mi_res_id
  46367. - Env Var: RCLONE_AZUREBLOB_MSI_MI_RES_ID
  46368. - Type: string
  46369. - Required: false
  46370. #### --azureblob-use-emulator
  46371. Uses local storage emulator if provided as \[aq]true\[aq].
  46372. Leave blank if using real azure storage endpoint.
  46373. Properties:
  46374. - Config: use_emulator
  46375. - Env Var: RCLONE_AZUREBLOB_USE_EMULATOR
  46376. - Type: bool
  46377. - Default: false
  46378. #### --azureblob-endpoint
  46379. Endpoint for the service.
  46380. Leave blank normally.
  46381. Properties:
  46382. - Config: endpoint
  46383. - Env Var: RCLONE_AZUREBLOB_ENDPOINT
  46384. - Type: string
  46385. - Required: false
  46386. #### --azureblob-upload-cutoff
  46387. Cutoff for switching to chunked upload (<= 256 MiB) (deprecated).
  46388. Properties:
  46389. - Config: upload_cutoff
  46390. - Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
  46391. - Type: string
  46392. - Required: false
  46393. #### --azureblob-chunk-size
  46394. Upload chunk size.
  46395. Note that this is stored in memory and there may be up to
  46396. \[dq]--transfers\[dq] * \[dq]--azureblob-upload-concurrency\[dq] chunks stored at once
  46397. in memory.
  46398. Properties:
  46399. - Config: chunk_size
  46400. - Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE
  46401. - Type: SizeSuffix
  46402. - Default: 4Mi
  46403. #### --azureblob-upload-concurrency
  46404. Concurrency for multipart uploads.
  46405. This is the number of chunks of the same file that are uploaded
  46406. concurrently.
  46407. If you are uploading small numbers of large files over high-speed
  46408. links and these uploads do not fully utilize your bandwidth, then
  46409. increasing this may help to speed up the transfers.
  46410. In tests, upload speed increases almost linearly with upload
  46411. concurrency. For example to fill a gigabit pipe it may be necessary to
  46412. raise this to 64. Note that this will use more memory.
  46413. Note that chunks are stored in memory and there may be up to
  46414. \[dq]--transfers\[dq] * \[dq]--azureblob-upload-concurrency\[dq] chunks stored at once
  46415. in memory.
  46416. Properties:
  46417. - Config: upload_concurrency
  46418. - Env Var: RCLONE_AZUREBLOB_UPLOAD_CONCURRENCY
  46419. - Type: int
  46420. - Default: 16
  46421. #### --azureblob-list-chunk
  46422. Size of blob list.
  46423. This sets the number of blobs requested in each listing chunk. Default
  46424. is the maximum, 5000. \[dq]List blobs\[dq] requests are permitted 2 minutes
  46425. per megabyte to complete. If an operation is taking longer than 2
  46426. minutes per megabyte on average, it will time out (
  46427. [source](https://docs.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-blob-service-operations#exceptions-to-default-timeout-interval)
  46428. ). This can be used to limit the number of blobs items to return, to
  46429. avoid the time out.
  46430. Properties:
  46431. - Config: list_chunk
  46432. - Env Var: RCLONE_AZUREBLOB_LIST_CHUNK
  46433. - Type: int
  46434. - Default: 5000
  46435. #### --azureblob-access-tier
  46436. Access tier of blob: hot, cool, cold or archive.
  46437. Archived blobs can be restored by setting access tier to hot, cool or
  46438. cold. Leave blank if you intend to use default access tier, which is
  46439. set at account level
  46440. If there is no \[dq]access tier\[dq] specified, rclone doesn\[aq]t apply any tier.
  46441. rclone performs \[dq]Set Tier\[dq] operation on blobs while uploading, if objects
  46442. are not modified, specifying \[dq]access tier\[dq] to new one will have no effect.
  46443. If blobs are in \[dq]archive tier\[dq] at remote, trying to perform data transfer
  46444. operations from remote will not be allowed. User should first restore by
  46445. tiering blob to \[dq]Hot\[dq], \[dq]Cool\[dq] or \[dq]Cold\[dq].
  46446. Properties:
  46447. - Config: access_tier
  46448. - Env Var: RCLONE_AZUREBLOB_ACCESS_TIER
  46449. - Type: string
  46450. - Required: false
  46451. #### --azureblob-archive-tier-delete
  46452. Delete archive tier blobs before overwriting.
  46453. Archive tier blobs cannot be updated. So without this flag, if you
  46454. attempt to update an archive tier blob, then rclone will produce the
  46455. error:
  46456. can\[aq]t update archive tier blob without --azureblob-archive-tier-delete
  46457. With this flag set then before rclone attempts to overwrite an archive
  46458. tier blob, it will delete the existing blob before uploading its
  46459. replacement. This has the potential for data loss if the upload fails
  46460. (unlike updating a normal blob) and also may cost more since deleting
  46461. archive tier blobs early may be chargable.
  46462. Properties:
  46463. - Config: archive_tier_delete
  46464. - Env Var: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE
  46465. - Type: bool
  46466. - Default: false
  46467. #### --azureblob-disable-checksum
  46468. Don\[aq]t store MD5 checksum with object metadata.
  46469. Normally rclone will calculate the MD5 checksum of the input before
  46470. uploading it so it can add it to metadata on the object. This is great
  46471. for data integrity checking but can cause long delays for large files
  46472. to start uploading.
  46473. Properties:
  46474. - Config: disable_checksum
  46475. - Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM
  46476. - Type: bool
  46477. - Default: false
  46478. #### --azureblob-memory-pool-flush-time
  46479. How often internal memory buffer pools will be flushed. (no longer used)
  46480. Properties:
  46481. - Config: memory_pool_flush_time
  46482. - Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME
  46483. - Type: Duration
  46484. - Default: 1m0s
  46485. #### --azureblob-memory-pool-use-mmap
  46486. Whether to use mmap buffers in internal memory pool. (no longer used)
  46487. Properties:
  46488. - Config: memory_pool_use_mmap
  46489. - Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP
  46490. - Type: bool
  46491. - Default: false
  46492. #### --azureblob-encoding
  46493. The encoding for the backend.
  46494. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  46495. Properties:
  46496. - Config: encoding
  46497. - Env Var: RCLONE_AZUREBLOB_ENCODING
  46498. - Type: Encoding
  46499. - Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8
  46500. #### --azureblob-public-access
  46501. Public access level of a container: blob or container.
  46502. Properties:
  46503. - Config: public_access
  46504. - Env Var: RCLONE_AZUREBLOB_PUBLIC_ACCESS
  46505. - Type: string
  46506. - Required: false
  46507. - Examples:
  46508. - \[dq]\[dq]
  46509. - The container and its blobs can be accessed only with an authorized request.
  46510. - It\[aq]s a default value.
  46511. - \[dq]blob\[dq]
  46512. - Blob data within this container can be read via anonymous request.
  46513. - \[dq]container\[dq]
  46514. - Allow full public read access for container and blob data.
  46515. #### --azureblob-directory-markers
  46516. Upload an empty object with a trailing slash when a new directory is created
  46517. Empty folders are unsupported for bucket based remotes, this option
  46518. creates an empty object ending with \[dq]/\[dq], to persist the folder.
  46519. This object also has the metadata \[dq]hdi_isfolder = true\[dq] to conform to
  46520. the Microsoft standard.
  46521. Properties:
  46522. - Config: directory_markers
  46523. - Env Var: RCLONE_AZUREBLOB_DIRECTORY_MARKERS
  46524. - Type: bool
  46525. - Default: false
  46526. #### --azureblob-no-check-container
  46527. If set, don\[aq]t attempt to check the container exists or create it.
  46528. This can be useful when trying to minimise the number of transactions
  46529. rclone does if you know the container exists already.
  46530. Properties:
  46531. - Config: no_check_container
  46532. - Env Var: RCLONE_AZUREBLOB_NO_CHECK_CONTAINER
  46533. - Type: bool
  46534. - Default: false
  46535. #### --azureblob-no-head-object
  46536. If set, do not do HEAD before GET when getting objects.
  46537. Properties:
  46538. - Config: no_head_object
  46539. - Env Var: RCLONE_AZUREBLOB_NO_HEAD_OBJECT
  46540. - Type: bool
  46541. - Default: false
  46542. #### --azureblob-delete-snapshots
  46543. Set to specify how to deal with snapshots on blob deletion.
  46544. Properties:
  46545. - Config: delete_snapshots
  46546. - Env Var: RCLONE_AZUREBLOB_DELETE_SNAPSHOTS
  46547. - Type: string
  46548. - Required: false
  46549. - Choices:
  46550. - \[dq]\[dq]
  46551. - By default, the delete operation fails if a blob has snapshots
  46552. - \[dq]include\[dq]
  46553. - Specify \[aq]include\[aq] to remove the root blob and all its snapshots
  46554. - \[dq]only\[dq]
  46555. - Specify \[aq]only\[aq] to remove only the snapshots but keep the root blob.
  46556. #### --azureblob-description
  46557. Description of the remote
  46558. Properties:
  46559. - Config: description
  46560. - Env Var: RCLONE_AZUREBLOB_DESCRIPTION
  46561. - Type: string
  46562. - Required: false
  46563. ### Custom upload headers
  46564. You can set custom upload headers with the \[ga]--header-upload\[ga] flag.
  46565. - Cache-Control
  46566. - Content-Disposition
  46567. - Content-Encoding
  46568. - Content-Language
  46569. - Content-Type
  46570. Eg \[ga]--header-upload \[dq]Content-Type: text/potato\[dq]\[ga]
  46571. ## Limitations
  46572. MD5 sums are only uploaded with chunked files if the source has an MD5
  46573. sum. This will always be the case for a local to azure copy.
  46574. \[ga]rclone about\[ga] is not supported by the Microsoft Azure Blob storage backend. Backends without
  46575. this capability cannot determine free space for an rclone mount or
  46576. use policy \[ga]mfs\[ga] (most free space) as a member of an rclone union
  46577. remote.
  46578. See [List of backends that do not support rclone about](https://rclone.org/overview/#optional-features) and [rclone about](https://rclone.org/commands/rclone_about/)
  46579. ## Azure Storage Emulator Support
  46580. You can run rclone with the storage emulator (usually _azurite_).
  46581. To do this, just set up a new remote with \[ga]rclone config\[ga] following
  46582. the instructions in the introduction and set \[ga]use_emulator\[ga] in the
  46583. advanced settings as \[ga]true\[ga]. You do not need to provide a default
  46584. account name nor an account key. But you can override them in the
  46585. \[ga]account\[ga] and \[ga]key\[ga] options. (Prior to v1.61 they were hard coded to
  46586. _azurite_\[aq]s \[ga]devstoreaccount1\[ga].)
  46587. Also, if you want to access a storage emulator instance running on a
  46588. different machine, you can override the \[ga]endpoint\[ga] parameter in the
  46589. advanced settings, setting it to
  46590. \[ga]http(s)://<host>:<port>/devstoreaccount1\[ga]
  46591. (e.g. \[ga]http://10.254.2.5:10000/devstoreaccount1\[ga]).
  46592. # Microsoft Azure Files Storage
  46593. Paths are specified as \[ga]remote:\[ga] You may put subdirectories in too,
  46594. e.g. \[ga]remote:path/to/dir\[ga].
  46595. ## Configuration
  46596. Here is an example of making a Microsoft Azure Files Storage
  46597. configuration. For a remote called \[ga]remote\[ga]. First run:
  46598. rclone config
  46599. This will guide you through an interactive setup process:
  46600. \f[R]
  46601. .fi
  46602. .PP
  46603. No remotes found, make a new one?
  46604. n) New remote s) Set configuration password q) Quit config n/s/q> n
  46605. name> remote Type of storage to configure.
  46606. Choose a number from below, or type in your own value [snip] XX /
  46607. Microsoft Azure Files Storage \ \[dq]azurefiles\[dq] [snip]
  46608. .PP
  46609. Option account.
  46610. Azure Storage Account Name.
  46611. Set this to the Azure Storage Account Name in use.
  46612. Leave blank to use SAS URL or connection string, otherwise it needs to
  46613. be set.
  46614. If this is blank and if env_auth is set it will be read from the
  46615. environment variable \f[C]AZURE_STORAGE_ACCOUNT_NAME\f[R] if possible.
  46616. Enter a value.
  46617. Press Enter to leave empty.
  46618. account> account_name
  46619. .PP
  46620. Option share_name.
  46621. Azure Files Share Name.
  46622. This is required and is the name of the share to access.
  46623. Enter a value.
  46624. Press Enter to leave empty.
  46625. share_name> share_name
  46626. .PP
  46627. Option env_auth.
  46628. Read credentials from runtime (environment variables, CLI or MSI).
  46629. See the authentication docs for full info.
  46630. Enter a boolean value (true or false).
  46631. Press Enter for the default (false).
  46632. env_auth>
  46633. .PP
  46634. Option key.
  46635. Storage Account Shared Key.
  46636. Leave blank to use SAS URL or connection string.
  46637. Enter a value.
  46638. Press Enter to leave empty.
  46639. key> base64encodedkey==
  46640. .PP
  46641. Option sas_url.
  46642. SAS URL.
  46643. Leave blank if using account/key or connection string.
  46644. Enter a value.
  46645. Press Enter to leave empty.
  46646. sas_url>
  46647. .PP
  46648. Option connection_string.
  46649. Azure Files Connection String.
  46650. Enter a value.
  46651. Press Enter to leave empty.
  46652. connection_string> [snip]
  46653. .PP
  46654. Configuration complete.
  46655. Options: - type: azurefiles - account: account_name - share_name:
  46656. share_name - key: base64encodedkey== Keep this \[dq]remote\[dq] remote?
  46657. y) Yes this is OK (default) e) Edit this remote d) Delete this remote
  46658. y/e/d>
  46659. .IP
  46660. .nf
  46661. \f[C]
  46662. Once configured you can use rclone.
  46663. See all files in the top level:
  46664. rclone lsf remote:
  46665. Make a new directory in the root:
  46666. rclone mkdir remote:dir
  46667. Recursively List the contents:
  46668. rclone ls remote:
  46669. Sync \[ga]/home/local/directory\[ga] to the remote directory, deleting any
  46670. excess files in the directory.
  46671. rclone sync --interactive /home/local/directory remote:dir
  46672. ### Modified time
  46673. The modified time is stored as Azure standard \[ga]LastModified\[ga] time on
  46674. files
  46675. ### Performance
  46676. When uploading large files, increasing the value of
  46677. \[ga]--azurefiles-upload-concurrency\[ga] will increase performance at the cost
  46678. of using more memory. The default of 16 is set quite conservatively to
  46679. use less memory. It maybe be necessary raise it to 64 or higher to
  46680. fully utilize a 1 GBit/s link with a single file transfer.
  46681. ### Restricted filename characters
  46682. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  46683. the following characters are also replaced:
  46684. | Character | Value | Replacement |
  46685. | --------- |:-----:|:-----------:|
  46686. | \[dq] | 0x22 | \[uFF02] |
  46687. | * | 0x2A | \[uFF0A] |
  46688. | : | 0x3A | \[uFF1A] |
  46689. | < | 0x3C | \[uFF1C] |
  46690. | > | 0x3E | \[uFF1E] |
  46691. | ? | 0x3F | \[uFF1F] |
  46692. | \[rs] | 0x5C | \[uFF3C] |
  46693. | \[rs]| | 0x7C | \[uFF5C] |
  46694. File names can also not end with the following characters.
  46695. These only get replaced if they are the last character in the name:
  46696. | Character | Value | Replacement |
  46697. | --------- |:-----:|:-----------:|
  46698. | . | 0x2E | \[uFF0E] |
  46699. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  46700. as they can\[aq]t be used in JSON strings.
  46701. ### Hashes
  46702. MD5 hashes are stored with files. Not all files will have MD5 hashes
  46703. as these have to be uploaded with the file.
  46704. ### Authentication {#authentication}
  46705. There are a number of ways of supplying credentials for Azure Files
  46706. Storage. Rclone tries them in the order of the sections below.
  46707. #### Env Auth
  46708. If the \[ga]env_auth\[ga] config parameter is \[ga]true\[ga] then rclone will pull
  46709. credentials from the environment or runtime.
  46710. It tries these authentication methods in this order:
  46711. 1. Environment Variables
  46712. 2. Managed Service Identity Credentials
  46713. 3. Azure CLI credentials (as used by the az tool)
  46714. These are described in the following sections
  46715. ##### Env Auth: 1. Environment Variables
  46716. If \[ga]env_auth\[ga] is set and environment variables are present rclone
  46717. authenticates a service principal with a secret or certificate, or a
  46718. user with a password, depending on which environment variable are set.
  46719. It reads configuration from these variables, in the following order:
  46720. 1. Service principal with client secret
  46721. - \[ga]AZURE_TENANT_ID\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46722. - \[ga]AZURE_CLIENT_ID\[ga]: the service principal\[aq]s client ID
  46723. - \[ga]AZURE_CLIENT_SECRET\[ga]: one of the service principal\[aq]s client secrets
  46724. 2. Service principal with certificate
  46725. - \[ga]AZURE_TENANT_ID\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46726. - \[ga]AZURE_CLIENT_ID\[ga]: the service principal\[aq]s client ID
  46727. - \[ga]AZURE_CLIENT_CERTIFICATE_PATH\[ga]: path to a PEM or PKCS12 certificate file including the private key.
  46728. - \[ga]AZURE_CLIENT_CERTIFICATE_PASSWORD\[ga]: (optional) password for the certificate file.
  46729. - \[ga]AZURE_CLIENT_SEND_CERTIFICATE_CHAIN\[ga]: (optional) Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to \[dq]true\[dq] or \[dq]1\[dq], authentication requests include the x5c header.
  46730. 3. User with username and password
  46731. - \[ga]AZURE_TENANT_ID\[ga]: (optional) tenant to authenticate in. Defaults to \[dq]organizations\[dq].
  46732. - \[ga]AZURE_CLIENT_ID\[ga]: client ID of the application the user will authenticate to
  46733. - \[ga]AZURE_USERNAME\[ga]: a username (usually an email address)
  46734. - \[ga]AZURE_PASSWORD\[ga]: the user\[aq]s password
  46735. 4. Workload Identity
  46736. - \[ga]AZURE_TENANT_ID\[ga]: Tenant to authenticate in.
  46737. - \[ga]AZURE_CLIENT_ID\[ga]: Client ID of the application the user will authenticate to.
  46738. - \[ga]AZURE_FEDERATED_TOKEN_FILE\[ga]: Path to projected service account token file.
  46739. - \[ga]AZURE_AUTHORITY_HOST\[ga]: Authority of an Azure Active Directory endpoint (default: login.microsoftonline.com).
  46740. ##### Env Auth: 2. Managed Service Identity Credentials
  46741. When using Managed Service Identity if the VM(SS) on which this
  46742. program is running has a system-assigned identity, it will be used by
  46743. default. If the resource has no system-assigned but exactly one
  46744. user-assigned identity, the user-assigned identity will be used by
  46745. default.
  46746. If the resource has multiple user-assigned identities you will need to
  46747. unset \[ga]env_auth\[ga] and set \[ga]use_msi\[ga] instead. See the [\[ga]use_msi\[ga]
  46748. section](#use_msi).
  46749. ##### Env Auth: 3. Azure CLI credentials (as used by the az tool)
  46750. Credentials created with the \[ga]az\[ga] tool can be picked up using \[ga]env_auth\[ga].
  46751. For example if you were to login with a service principal like this:
  46752. az login --service-principal -u XXX -p XXX --tenant XXX
  46753. Then you could access rclone resources like this:
  46754. rclone lsf :azurefiles,env_auth,account=ACCOUNT:
  46755. Or
  46756. rclone lsf --azurefiles-env-auth --azurefiles-account=ACCOUNT :azurefiles:
  46757. #### Account and Shared Key
  46758. This is the most straight forward and least flexible way. Just fill
  46759. in the \[ga]account\[ga] and \[ga]key\[ga] lines and leave the rest blank.
  46760. #### SAS URL
  46761. To use it leave \[ga]account\[ga], \[ga]key\[ga] and \[ga]connection_string\[ga] blank and fill in \[ga]sas_url\[ga].
  46762. #### Connection String
  46763. To use it leave \[ga]account\[ga], \[ga]key\[ga] and \[dq]sas_url\[dq] blank and fill in \[ga]connection_string\[ga].
  46764. #### Service principal with client secret
  46765. If these variables are set, rclone will authenticate with a service principal with a client secret.
  46766. - \[ga]tenant\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46767. - \[ga]client_id\[ga]: the service principal\[aq]s client ID
  46768. - \[ga]client_secret\[ga]: one of the service principal\[aq]s client secrets
  46769. The credentials can also be placed in a file using the
  46770. \[ga]service_principal_file\[ga] configuration option.
  46771. #### Service principal with certificate
  46772. If these variables are set, rclone will authenticate with a service principal with certificate.
  46773. - \[ga]tenant\[ga]: ID of the service principal\[aq]s tenant. Also called its \[dq]directory\[dq] ID.
  46774. - \[ga]client_id\[ga]: the service principal\[aq]s client ID
  46775. - \[ga]client_certificate_path\[ga]: path to a PEM or PKCS12 certificate file including the private key.
  46776. - \[ga]client_certificate_password\[ga]: (optional) password for the certificate file.
  46777. - \[ga]client_send_certificate_chain\[ga]: (optional) Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to \[dq]true\[dq] or \[dq]1\[dq], authentication requests include the x5c header.
  46778. **NB** \[ga]client_certificate_password\[ga] must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46779. #### User with username and password
  46780. If these variables are set, rclone will authenticate with username and password.
  46781. - \[ga]tenant\[ga]: (optional) tenant to authenticate in. Defaults to \[dq]organizations\[dq].
  46782. - \[ga]client_id\[ga]: client ID of the application the user will authenticate to
  46783. - \[ga]username\[ga]: a username (usually an email address)
  46784. - \[ga]password\[ga]: the user\[aq]s password
  46785. Microsoft doesn\[aq]t recommend this kind of authentication, because it\[aq]s
  46786. less secure than other authentication flows. This method is not
  46787. interactive, so it isn\[aq]t compatible with any form of multi-factor
  46788. authentication, and the application must already have user or admin
  46789. consent. This credential can only authenticate work and school
  46790. accounts; it can\[aq]t authenticate Microsoft accounts.
  46791. **NB** \[ga]password\[ga] must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46792. #### Managed Service Identity Credentials {#use_msi}
  46793. If \[ga]use_msi\[ga] is set then managed service identity credentials are
  46794. used. This authentication only works when running in an Azure service.
  46795. \[ga]env_auth\[ga] needs to be unset to use this.
  46796. However if you have multiple user identities to choose from these must
  46797. be explicitly specified using exactly one of the \[ga]msi_object_id\[ga],
  46798. \[ga]msi_client_id\[ga], or \[ga]msi_mi_res_id\[ga] parameters.
  46799. If none of \[ga]msi_object_id\[ga], \[ga]msi_client_id\[ga], or \[ga]msi_mi_res_id\[ga] is
  46800. set, this is is equivalent to using \[ga]env_auth\[ga].
  46801. ### Standard options
  46802. Here are the Standard options specific to azurefiles (Microsoft Azure Files).
  46803. #### --azurefiles-account
  46804. Azure Storage Account Name.
  46805. Set this to the Azure Storage Account Name in use.
  46806. Leave blank to use SAS URL or connection string, otherwise it needs to be set.
  46807. If this is blank and if env_auth is set it will be read from the
  46808. environment variable \[ga]AZURE_STORAGE_ACCOUNT_NAME\[ga] if possible.
  46809. Properties:
  46810. - Config: account
  46811. - Env Var: RCLONE_AZUREFILES_ACCOUNT
  46812. - Type: string
  46813. - Required: false
  46814. #### --azurefiles-share-name
  46815. Azure Files Share Name.
  46816. This is required and is the name of the share to access.
  46817. Properties:
  46818. - Config: share_name
  46819. - Env Var: RCLONE_AZUREFILES_SHARE_NAME
  46820. - Type: string
  46821. - Required: false
  46822. #### --azurefiles-env-auth
  46823. Read credentials from runtime (environment variables, CLI or MSI).
  46824. See the [authentication docs](/azurefiles#authentication) for full info.
  46825. Properties:
  46826. - Config: env_auth
  46827. - Env Var: RCLONE_AZUREFILES_ENV_AUTH
  46828. - Type: bool
  46829. - Default: false
  46830. #### --azurefiles-key
  46831. Storage Account Shared Key.
  46832. Leave blank to use SAS URL or connection string.
  46833. Properties:
  46834. - Config: key
  46835. - Env Var: RCLONE_AZUREFILES_KEY
  46836. - Type: string
  46837. - Required: false
  46838. #### --azurefiles-sas-url
  46839. SAS URL.
  46840. Leave blank if using account/key or connection string.
  46841. Properties:
  46842. - Config: sas_url
  46843. - Env Var: RCLONE_AZUREFILES_SAS_URL
  46844. - Type: string
  46845. - Required: false
  46846. #### --azurefiles-connection-string
  46847. Azure Files Connection String.
  46848. Properties:
  46849. - Config: connection_string
  46850. - Env Var: RCLONE_AZUREFILES_CONNECTION_STRING
  46851. - Type: string
  46852. - Required: false
  46853. #### --azurefiles-tenant
  46854. ID of the service principal\[aq]s tenant. Also called its directory ID.
  46855. Set this if using
  46856. - Service principal with client secret
  46857. - Service principal with certificate
  46858. - User with username and password
  46859. Properties:
  46860. - Config: tenant
  46861. - Env Var: RCLONE_AZUREFILES_TENANT
  46862. - Type: string
  46863. - Required: false
  46864. #### --azurefiles-client-id
  46865. The ID of the client in use.
  46866. Set this if using
  46867. - Service principal with client secret
  46868. - Service principal with certificate
  46869. - User with username and password
  46870. Properties:
  46871. - Config: client_id
  46872. - Env Var: RCLONE_AZUREFILES_CLIENT_ID
  46873. - Type: string
  46874. - Required: false
  46875. #### --azurefiles-client-secret
  46876. One of the service principal\[aq]s client secrets
  46877. Set this if using
  46878. - Service principal with client secret
  46879. Properties:
  46880. - Config: client_secret
  46881. - Env Var: RCLONE_AZUREFILES_CLIENT_SECRET
  46882. - Type: string
  46883. - Required: false
  46884. #### --azurefiles-client-certificate-path
  46885. Path to a PEM or PKCS12 certificate file including the private key.
  46886. Set this if using
  46887. - Service principal with certificate
  46888. Properties:
  46889. - Config: client_certificate_path
  46890. - Env Var: RCLONE_AZUREFILES_CLIENT_CERTIFICATE_PATH
  46891. - Type: string
  46892. - Required: false
  46893. #### --azurefiles-client-certificate-password
  46894. Password for the certificate file (optional).
  46895. Optionally set this if using
  46896. - Service principal with certificate
  46897. And the certificate has a password.
  46898. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46899. Properties:
  46900. - Config: client_certificate_password
  46901. - Env Var: RCLONE_AZUREFILES_CLIENT_CERTIFICATE_PASSWORD
  46902. - Type: string
  46903. - Required: false
  46904. ### Advanced options
  46905. Here are the Advanced options specific to azurefiles (Microsoft Azure Files).
  46906. #### --azurefiles-client-send-certificate-chain
  46907. Send the certificate chain when using certificate auth.
  46908. Specifies whether an authentication request will include an x5c header
  46909. to support subject name / issuer based authentication. When set to
  46910. true, authentication requests include the x5c header.
  46911. Optionally set this if using
  46912. - Service principal with certificate
  46913. Properties:
  46914. - Config: client_send_certificate_chain
  46915. - Env Var: RCLONE_AZUREFILES_CLIENT_SEND_CERTIFICATE_CHAIN
  46916. - Type: bool
  46917. - Default: false
  46918. #### --azurefiles-username
  46919. User name (usually an email address)
  46920. Set this if using
  46921. - User with username and password
  46922. Properties:
  46923. - Config: username
  46924. - Env Var: RCLONE_AZUREFILES_USERNAME
  46925. - Type: string
  46926. - Required: false
  46927. #### --azurefiles-password
  46928. The user\[aq]s password
  46929. Set this if using
  46930. - User with username and password
  46931. **NB** Input to this must be obscured - see [rclone obscure](https://rclone.org/commands/rclone_obscure/).
  46932. Properties:
  46933. - Config: password
  46934. - Env Var: RCLONE_AZUREFILES_PASSWORD
  46935. - Type: string
  46936. - Required: false
  46937. #### --azurefiles-service-principal-file
  46938. Path to file containing credentials for use with a service principal.
  46939. Leave blank normally. Needed only if you want to use a service principal instead of interactive login.
  46940. $ az ad sp create-for-rbac --name \[dq]<name>\[dq] \[rs]
  46941. --role \[dq]Storage Files Data Owner\[dq] \[rs]
  46942. --scopes \[dq]/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>\[dq] \[rs]
  46943. > azure-principal.json
  46944. See [\[dq]Create an Azure service principal\[dq]](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) and [\[dq]Assign an Azure role for access to files data\[dq]](https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-cli) pages for more details.
  46945. **NB** this section needs updating for Azure Files - pull requests appreciated!
  46946. It may be more convenient to put the credentials directly into the
  46947. rclone config file under the \[ga]client_id\[ga], \[ga]tenant\[ga] and \[ga]client_secret\[ga]
  46948. keys instead of setting \[ga]service_principal_file\[ga].
  46949. Properties:
  46950. - Config: service_principal_file
  46951. - Env Var: RCLONE_AZUREFILES_SERVICE_PRINCIPAL_FILE
  46952. - Type: string
  46953. - Required: false
  46954. #### --azurefiles-use-msi
  46955. Use a managed service identity to authenticate (only works in Azure).
  46956. When true, use a [managed service identity](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/)
  46957. to authenticate to Azure Storage instead of a SAS token or account key.
  46958. If the VM(SS) on which this program is running has a system-assigned identity, it will
  46959. be used by default. If the resource has no system-assigned but exactly one user-assigned identity,
  46960. the user-assigned identity will be used by default. If the resource has multiple user-assigned
  46961. identities, the identity to use must be explicitly specified using exactly one of the msi_object_id,
  46962. msi_client_id, or msi_mi_res_id parameters.
  46963. Properties:
  46964. - Config: use_msi
  46965. - Env Var: RCLONE_AZUREFILES_USE_MSI
  46966. - Type: bool
  46967. - Default: false
  46968. #### --azurefiles-msi-object-id
  46969. Object ID of the user-assigned MSI to use, if any.
  46970. Leave blank if msi_client_id or msi_mi_res_id specified.
  46971. Properties:
  46972. - Config: msi_object_id
  46973. - Env Var: RCLONE_AZUREFILES_MSI_OBJECT_ID
  46974. - Type: string
  46975. - Required: false
  46976. #### --azurefiles-msi-client-id
  46977. Object ID of the user-assigned MSI to use, if any.
  46978. Leave blank if msi_object_id or msi_mi_res_id specified.
  46979. Properties:
  46980. - Config: msi_client_id
  46981. - Env Var: RCLONE_AZUREFILES_MSI_CLIENT_ID
  46982. - Type: string
  46983. - Required: false
  46984. #### --azurefiles-msi-mi-res-id
  46985. Azure resource ID of the user-assigned MSI to use, if any.
  46986. Leave blank if msi_client_id or msi_object_id specified.
  46987. Properties:
  46988. - Config: msi_mi_res_id
  46989. - Env Var: RCLONE_AZUREFILES_MSI_MI_RES_ID
  46990. - Type: string
  46991. - Required: false
  46992. #### --azurefiles-endpoint
  46993. Endpoint for the service.
  46994. Leave blank normally.
  46995. Properties:
  46996. - Config: endpoint
  46997. - Env Var: RCLONE_AZUREFILES_ENDPOINT
  46998. - Type: string
  46999. - Required: false
  47000. #### --azurefiles-chunk-size
  47001. Upload chunk size.
  47002. Note that this is stored in memory and there may be up to
  47003. \[dq]--transfers\[dq] * \[dq]--azurefile-upload-concurrency\[dq] chunks stored at once
  47004. in memory.
  47005. Properties:
  47006. - Config: chunk_size
  47007. - Env Var: RCLONE_AZUREFILES_CHUNK_SIZE
  47008. - Type: SizeSuffix
  47009. - Default: 4Mi
  47010. #### --azurefiles-upload-concurrency
  47011. Concurrency for multipart uploads.
  47012. This is the number of chunks of the same file that are uploaded
  47013. concurrently.
  47014. If you are uploading small numbers of large files over high-speed
  47015. links and these uploads do not fully utilize your bandwidth, then
  47016. increasing this may help to speed up the transfers.
  47017. Note that chunks are stored in memory and there may be up to
  47018. \[dq]--transfers\[dq] * \[dq]--azurefile-upload-concurrency\[dq] chunks stored at once
  47019. in memory.
  47020. Properties:
  47021. - Config: upload_concurrency
  47022. - Env Var: RCLONE_AZUREFILES_UPLOAD_CONCURRENCY
  47023. - Type: int
  47024. - Default: 16
  47025. #### --azurefiles-max-stream-size
  47026. Max size for streamed files.
  47027. Azure files needs to know in advance how big the file will be. When
  47028. rclone doesn\[aq]t know it uses this value instead.
  47029. This will be used when rclone is streaming data, the most common uses are:
  47030. - Uploading files with \[ga]--vfs-cache-mode off\[ga] with \[ga]rclone mount\[ga]
  47031. - Using \[ga]rclone rcat\[ga]
  47032. - Copying files with unknown length
  47033. You will need this much free space in the share as the file will be this size temporarily.
  47034. Properties:
  47035. - Config: max_stream_size
  47036. - Env Var: RCLONE_AZUREFILES_MAX_STREAM_SIZE
  47037. - Type: SizeSuffix
  47038. - Default: 10Gi
  47039. #### --azurefiles-encoding
  47040. The encoding for the backend.
  47041. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  47042. Properties:
  47043. - Config: encoding
  47044. - Env Var: RCLONE_AZUREFILES_ENCODING
  47045. - Type: Encoding
  47046. - Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8,Dot
  47047. #### --azurefiles-description
  47048. Description of the remote
  47049. Properties:
  47050. - Config: description
  47051. - Env Var: RCLONE_AZUREFILES_DESCRIPTION
  47052. - Type: string
  47053. - Required: false
  47054. ### Custom upload headers
  47055. You can set custom upload headers with the \[ga]--header-upload\[ga] flag.
  47056. - Cache-Control
  47057. - Content-Disposition
  47058. - Content-Encoding
  47059. - Content-Language
  47060. - Content-Type
  47061. Eg \[ga]--header-upload \[dq]Content-Type: text/potato\[dq]\[ga]
  47062. ## Limitations
  47063. MD5 sums are only uploaded with chunked files if the source has an MD5
  47064. sum. This will always be the case for a local to azure copy.
  47065. # Microsoft OneDrive
  47066. Paths are specified as \[ga]remote:path\[ga]
  47067. Paths may be as deep as required, e.g. \[ga]remote:directory/subdirectory\[ga].
  47068. ## Configuration
  47069. The initial setup for OneDrive involves getting a token from
  47070. Microsoft which you need to do in your browser. \[ga]rclone config\[ga] walks
  47071. you through it.
  47072. Here is an example of how to make a remote called \[ga]remote\[ga]. First run:
  47073. rclone config
  47074. This will guide you through an interactive setup process:
  47075. \f[R]
  47076. .fi
  47077. .IP "e)" 3
  47078. Edit existing remote
  47079. .IP "f)" 3
  47080. New remote
  47081. .IP "g)" 3
  47082. Delete remote
  47083. .IP "h)" 3
  47084. Rename remote
  47085. .IP "i)" 3
  47086. Copy remote
  47087. .IP "j)" 3
  47088. Set configuration password
  47089. .IP "k)" 3
  47090. Quit config e/n/d/r/c/s/q> n name> remote Type of storage to configure.
  47091. Enter a string value.
  47092. Press Enter for the default (\[dq]\[dq]).
  47093. Choose a number from below, or type in your own value [snip] XX /
  47094. Microsoft OneDrive \ \[dq]onedrive\[dq] [snip] Storage> onedrive
  47095. Microsoft App Client Id Leave blank normally.
  47096. Enter a string value.
  47097. Press Enter for the default (\[dq]\[dq]).
  47098. client_id> Microsoft App Client Secret Leave blank normally.
  47099. Enter a string value.
  47100. Press Enter for the default (\[dq]\[dq]).
  47101. client_secret> Edit advanced config?
  47102. (y/n)
  47103. .IP "l)" 3
  47104. Yes
  47105. .IP "m)" 3
  47106. No y/n> n Remote config Use web browser to automatically authenticate
  47107. rclone with remote?
  47108. .IP \[bu] 2
  47109. Say Y if the machine running rclone has a web browser you can use
  47110. .IP \[bu] 2
  47111. Say N if running rclone on a (remote) machine without web browser access
  47112. If not sure try Y.
  47113. If Y failed, try N.
  47114. .IP "y)" 3
  47115. Yes
  47116. .IP "z)" 3
  47117. No y/n> y If your browser doesn\[aq]t open automatically go to the
  47118. following link: http://127.0.0.1:53682/auth Log in and authorize rclone
  47119. for access Waiting for code...
  47120. Got code Choose a number from below, or type in an existing value 1 /
  47121. OneDrive Personal or Business \ \[dq]onedrive\[dq] 2 / Sharepoint site
  47122. \ \[dq]sharepoint\[dq] 3 / Type in driveID \ \[dq]driveid\[dq] 4 / Type
  47123. in SiteID \ \[dq]siteid\[dq] 5 / Search a Sharepoint site
  47124. \ \[dq]search\[dq] Your choice> 1 Found 1 drives, please select the one
  47125. you want to use: 0: OneDrive (business)
  47126. id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk Chose
  47127. drive to use:> 0 Found drive \[aq]root\[aq] of type \[aq]business\[aq],
  47128. URL: https://org-my.sharepoint.com/personal/you/Documents Is that okay?
  47129. .IP "a)" 3
  47130. Yes
  47131. .IP "b)" 3
  47132. No y/n> y -------------------- [remote] type = onedrive token =
  47133. {\[dq]access_token\[dq]:\[dq]youraccesstoken\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]yourrefreshtoken\[dq],\[dq]expiry\[dq]:\[dq]2018-08-26T22:39:52.486512262+08:00\[dq]}
  47134. drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
  47135. drive_type = business --------------------
  47136. .IP "c)" 3
  47137. Yes this is OK
  47138. .IP "d)" 3
  47139. Edit this remote
  47140. .IP "e)" 3
  47141. Delete this remote y/e/d> y
  47142. .IP
  47143. .nf
  47144. \f[C]
  47145. See the [remote setup docs](https://rclone.org/remote_setup/) for how to set it up on a
  47146. machine with no Internet browser available.
  47147. Note that rclone runs a webserver on your local machine to collect the
  47148. token as returned from Microsoft. This only runs from the moment it
  47149. opens your browser to the moment you get back the verification
  47150. code. This is on \[ga]http://127.0.0.1:53682/\[ga] and this it may require
  47151. you to unblock it temporarily if you are running a host firewall.
  47152. Once configured you can then use \[ga]rclone\[ga] like this,
  47153. List directories in top level of your OneDrive
  47154. rclone lsd remote:
  47155. List all the files in your OneDrive
  47156. rclone ls remote:
  47157. To copy a local directory to an OneDrive directory called backup
  47158. rclone copy /home/source remote:backup
  47159. ### Getting your own Client ID and Key
  47160. rclone uses a default Client ID when talking to OneDrive, unless a custom \[ga]client_id\[ga] is specified in the config.
  47161. The default Client ID and Key are shared by all rclone users when performing requests.
  47162. You may choose to create and use your own Client ID, in case the default one does not work well for you.
  47163. For example, you might see throttling.
  47164. #### Creating Client ID for OneDrive Personal
  47165. To create your own Client ID, please follow these steps:
  47166. 1. Open https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade and then click \[ga]New registration\[ga].
  47167. 2. Enter a name for your app, choose account type \[ga]Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)\[ga], select \[ga]Web\[ga] in \[ga]Redirect URI\[ga], then type (do not copy and paste) \[ga]http://localhost:53682/\[ga] and click Register. Copy and keep the \[ga]Application (client) ID\[ga] under the app name for later use.
  47168. 3. Under \[ga]manage\[ga] select \[ga]Certificates & secrets\[ga], click \[ga]New client secret\[ga]. Enter a description (can be anything) and set \[ga]Expires\[ga] to 24 months. Copy and keep that secret _Value_ for later use (you _won\[aq]t_ be able to see this value afterwards).
  47169. 4. Under \[ga]manage\[ga] select \[ga]API permissions\[ga], click \[ga]Add a permission\[ga] and select \[ga]Microsoft Graph\[ga] then select \[ga]delegated permissions\[ga].
  47170. 5. Search and select the following permissions: \[ga]Files.Read\[ga], \[ga]Files.ReadWrite\[ga], \[ga]Files.Read.All\[ga], \[ga]Files.ReadWrite.All\[ga], \[ga]offline_access\[ga], \[ga]User.Read\[ga] and \[ga]Sites.Read.All\[ga] (if custom access scopes are configured, select the permissions accordingly). Once selected click \[ga]Add permissions\[ga] at the bottom.
  47171. Now the application is complete. Run \[ga]rclone config\[ga] to create or edit a OneDrive remote.
  47172. Supply the app ID and password as Client ID and Secret, respectively. rclone will walk you through the remaining steps.
  47173. The access_scopes option allows you to configure the permissions requested by rclone.
  47174. See [Microsoft Docs](https://docs.microsoft.com/en-us/graph/permissions-reference#files-permissions) for more information about the different scopes.
  47175. The \[ga]Sites.Read.All\[ga] permission is required if you need to [search SharePoint sites when configuring the remote](https://github.com/rclone/rclone/pull/5883). However, if that permission is not assigned, you need to exclude \[ga]Sites.Read.All\[ga] from your access scopes or set \[ga]disable_site_permission\[ga] option to true in the advanced options.
  47176. #### Creating Client ID for OneDrive Business
  47177. The steps for OneDrive Personal may or may not work for OneDrive Business, depending on the security settings of the organization.
  47178. A common error is that the publisher of the App is not verified.
  47179. You may try to [verify you account](https://docs.microsoft.com/en-us/azure/active-directory/develop/publisher-verification-overview), or try to limit the App to your organization only, as shown below.
  47180. 1. Make sure to create the App with your business account.
  47181. 2. Follow the steps above to create an App. However, we need a different account type here: \[ga]Accounts in this organizational directory only (*** - Single tenant)\[ga]. Note that you can also change the account type after creating the App.
  47182. 3. Find the [tenant ID](https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant) of your organization.
  47183. 4. In the rclone config, set \[ga]auth_url\[ga] to \[ga]https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/authorize\[ga].
  47184. 5. In the rclone config, set \[ga]token_url\[ga] to \[ga]https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token\[ga].
  47185. Note: If you have a special region, you may need a different host in step 4 and 5. Here are [some hints](https://github.com/rclone/rclone/blob/bc23bf11db1c78c6ebbf8ea538fbebf7058b4176/backend/onedrive/onedrive.go#L86).
  47186. ### Modification times and hashes
  47187. OneDrive allows modification times to be set on objects accurate to 1
  47188. second. These will be used to detect whether objects need syncing or
  47189. not.
  47190. OneDrive Personal, OneDrive for Business and Sharepoint Server support
  47191. [QuickXorHash](https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash).
  47192. Before rclone 1.62 the default hash for Onedrive Personal was \[ga]SHA1\[ga].
  47193. For rclone 1.62 and above the default for all Onedrive backends is
  47194. \[ga]QuickXorHash\[ga].
  47195. Starting from July 2023 \[ga]SHA1\[ga] support is being phased out in Onedrive
  47196. Personal in favour of \[ga]QuickXorHash\[ga]. If necessary the
  47197. \[ga]--onedrive-hash-type\[ga] flag (or \[ga]hash_type\[ga] config option) can be used
  47198. to select \[ga]SHA1\[ga] during the transition period if this is important
  47199. your workflow.
  47200. For all types of OneDrive you can use the \[ga]--checksum\[ga] flag.
  47201. ### --fast-list
  47202. This remote supports \[ga]--fast-list\[ga] which allows you to use fewer
  47203. transactions in exchange for more memory. See the [rclone
  47204. docs](https://rclone.org/docs/#fast-list) for more details.
  47205. This must be enabled with the \[ga]--onedrive-delta\[ga] flag (or \[ga]delta =
  47206. true\[ga] in the config file) as it can cause performance degradation.
  47207. It does this by using the delta listing facilities of OneDrive which
  47208. returns all the files in the remote very efficiently. This is much
  47209. more efficient than listing directories recursively and is Microsoft\[aq]s
  47210. recommended way of reading all the file information from a drive.
  47211. This can be useful with \[ga]rclone mount\[ga] and [rclone rc vfs/refresh
  47212. recursive=true](https://rclone.org/rc/#vfs-refresh)) to very quickly fill the mount with
  47213. information about all the files.
  47214. The API used for the recursive listing (\[ga]ListR\[ga]) only supports listing
  47215. from the root of the drive. This will become increasingly inefficient
  47216. the further away you get from the root as rclone will have to discard
  47217. files outside of the directory you are using.
  47218. Some commands (like \[ga]rclone lsf -R\[ga]) will use \[ga]ListR\[ga] by default - you
  47219. can turn this off with \[ga]--disable ListR\[ga] if you need to.
  47220. ### Restricted filename characters
  47221. In addition to the [default restricted characters set](https://rclone.org/overview/#restricted-characters)
  47222. the following characters are also replaced:
  47223. | Character | Value | Replacement |
  47224. | --------- |:-----:|:-----------:|
  47225. | \[dq] | 0x22 | \[uFF02] |
  47226. | * | 0x2A | \[uFF0A] |
  47227. | : | 0x3A | \[uFF1A] |
  47228. | < | 0x3C | \[uFF1C] |
  47229. | > | 0x3E | \[uFF1E] |
  47230. | ? | 0x3F | \[uFF1F] |
  47231. | \[rs] | 0x5C | \[uFF3C] |
  47232. | \[rs]| | 0x7C | \[uFF5C] |
  47233. File names can also not end with the following characters.
  47234. These only get replaced if they are the last character in the name:
  47235. | Character | Value | Replacement |
  47236. | --------- |:-----:|:-----------:|
  47237. | SP | 0x20 | \[u2420] |
  47238. | . | 0x2E | \[uFF0E] |
  47239. File names can also not begin with the following characters.
  47240. These only get replaced if they are the first character in the name:
  47241. | Character | Value | Replacement |
  47242. | --------- |:-----:|:-----------:|
  47243. | SP | 0x20 | \[u2420] |
  47244. | \[ti] | 0x7E | \[uFF5E] |
  47245. Invalid UTF-8 bytes will also be [replaced](https://rclone.org/overview/#invalid-utf8),
  47246. as they can\[aq]t be used in JSON strings.
  47247. ### Deleting files
  47248. Any files you delete with rclone will end up in the trash. Microsoft
  47249. doesn\[aq]t provide an API to permanently delete files, nor to empty the
  47250. trash, so you will have to do that with one of Microsoft\[aq]s apps or via
  47251. the OneDrive website.
  47252. ### Standard options
  47253. Here are the Standard options specific to onedrive (Microsoft OneDrive).
  47254. #### --onedrive-client-id
  47255. OAuth Client Id.
  47256. Leave blank normally.
  47257. Properties:
  47258. - Config: client_id
  47259. - Env Var: RCLONE_ONEDRIVE_CLIENT_ID
  47260. - Type: string
  47261. - Required: false
  47262. #### --onedrive-client-secret
  47263. OAuth Client Secret.
  47264. Leave blank normally.
  47265. Properties:
  47266. - Config: client_secret
  47267. - Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET
  47268. - Type: string
  47269. - Required: false
  47270. #### --onedrive-region
  47271. Choose national cloud region for OneDrive.
  47272. Properties:
  47273. - Config: region
  47274. - Env Var: RCLONE_ONEDRIVE_REGION
  47275. - Type: string
  47276. - Default: \[dq]global\[dq]
  47277. - Examples:
  47278. - \[dq]global\[dq]
  47279. - Microsoft Cloud Global
  47280. - \[dq]us\[dq]
  47281. - Microsoft Cloud for US Government
  47282. - \[dq]de\[dq]
  47283. - Microsoft Cloud Germany
  47284. - \[dq]cn\[dq]
  47285. - Azure and Office 365 operated by Vnet Group in China
  47286. ### Advanced options
  47287. Here are the Advanced options specific to onedrive (Microsoft OneDrive).
  47288. #### --onedrive-token
  47289. OAuth Access Token as a JSON blob.
  47290. Properties:
  47291. - Config: token
  47292. - Env Var: RCLONE_ONEDRIVE_TOKEN
  47293. - Type: string
  47294. - Required: false
  47295. #### --onedrive-auth-url
  47296. Auth server URL.
  47297. Leave blank to use the provider defaults.
  47298. Properties:
  47299. - Config: auth_url
  47300. - Env Var: RCLONE_ONEDRIVE_AUTH_URL
  47301. - Type: string
  47302. - Required: false
  47303. #### --onedrive-token-url
  47304. Token server url.
  47305. Leave blank to use the provider defaults.
  47306. Properties:
  47307. - Config: token_url
  47308. - Env Var: RCLONE_ONEDRIVE_TOKEN_URL
  47309. - Type: string
  47310. - Required: false
  47311. #### --onedrive-chunk-size
  47312. Chunk size to upload files with - must be multiple of 320k (327,680 bytes).
  47313. Above this size files will be chunked - must be multiple of 320k (327,680 bytes) and
  47314. should not exceed 250M (262,144,000 bytes) else you may encounter \[rs]\[dq]Microsoft.SharePoint.Client.InvalidClientQueryException: The request message is too big.\[rs]\[dq]
  47315. Note that the chunks will be buffered into memory.
  47316. Properties:
  47317. - Config: chunk_size
  47318. - Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE
  47319. - Type: SizeSuffix
  47320. - Default: 10Mi
  47321. #### --onedrive-drive-id
  47322. The ID of the drive to use.
  47323. Properties:
  47324. - Config: drive_id
  47325. - Env Var: RCLONE_ONEDRIVE_DRIVE_ID
  47326. - Type: string
  47327. - Required: false
  47328. #### --onedrive-drive-type
  47329. The type of the drive (personal | business | documentLibrary).
  47330. Properties:
  47331. - Config: drive_type
  47332. - Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE
  47333. - Type: string
  47334. - Required: false
  47335. #### --onedrive-root-folder-id
  47336. ID of the root folder.
  47337. This isn\[aq]t normally needed, but in special circumstances you might
  47338. know the folder ID that you wish to access but not be able to get
  47339. there through a path traversal.
  47340. Properties:
  47341. - Config: root_folder_id
  47342. - Env Var: RCLONE_ONEDRIVE_ROOT_FOLDER_ID
  47343. - Type: string
  47344. - Required: false
  47345. #### --onedrive-access-scopes
  47346. Set scopes to be requested by rclone.
  47347. Choose or manually enter a custom space separated list with all scopes, that rclone should request.
  47348. Properties:
  47349. - Config: access_scopes
  47350. - Env Var: RCLONE_ONEDRIVE_ACCESS_SCOPES
  47351. - Type: SpaceSepList
  47352. - Default: Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access
  47353. - Examples:
  47354. - \[dq]Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access\[dq]
  47355. - Read and write access to all resources
  47356. - \[dq]Files.Read Files.Read.All Sites.Read.All offline_access\[dq]
  47357. - Read only access to all resources
  47358. - \[dq]Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All offline_access\[dq]
  47359. - Read and write access to all resources, without the ability to browse SharePoint sites.
  47360. - Same as if disable_site_permission was set to true
  47361. #### --onedrive-disable-site-permission
  47362. Disable the request for Sites.Read.All permission.
  47363. If set to true, you will no longer be able to search for a SharePoint site when
  47364. configuring drive ID, because rclone will not request Sites.Read.All permission.
  47365. Set it to true if your organization didn\[aq]t assign Sites.Read.All permission to the
  47366. application, and your organization disallows users to consent app permission
  47367. request on their own.
  47368. Properties:
  47369. - Config: disable_site_permission
  47370. - Env Var: RCLONE_ONEDRIVE_DISABLE_SITE_PERMISSION
  47371. - Type: bool
  47372. - Default: false
  47373. #### --onedrive-expose-onenote-files
  47374. Set to make OneNote files show up in directory listings.
  47375. By default, rclone will hide OneNote files in directory listings because
  47376. operations like \[dq]Open\[dq] and \[dq]Update\[dq] won\[aq]t work on them. But this
  47377. behaviour may also prevent you from deleting them. If you want to
  47378. delete OneNote files or otherwise want them to show up in directory
  47379. listing, set this option.
  47380. Properties:
  47381. - Config: expose_onenote_files
  47382. - Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES
  47383. - Type: bool
  47384. - Default: false
  47385. #### --onedrive-server-side-across-configs
  47386. Deprecated: use --server-side-across-configs instead.
  47387. Allow server-side operations (e.g. copy) to work across different onedrive configs.
  47388. This will only work if you are copying between two OneDrive *Personal* drives AND
  47389. the files to copy are already shared between them. In other cases, rclone will
  47390. fall back to normal copy (which will be slightly slower).
  47391. Properties:
  47392. - Config: server_side_across_configs
  47393. - Env Var: RCLONE_ONEDRIVE_SERVER_SIDE_ACROSS_CONFIGS
  47394. - Type: bool
  47395. - Default: false
  47396. #### --onedrive-list-chunk
  47397. Size of listing chunk.
  47398. Properties:
  47399. - Config: list_chunk
  47400. - Env Var: RCLONE_ONEDRIVE_LIST_CHUNK
  47401. - Type: int
  47402. - Default: 1000
  47403. #### --onedrive-no-versions
  47404. Remove all versions on modifying operations.
  47405. Onedrive for business creates versions when rclone uploads new files
  47406. overwriting an existing one and when it sets the modification time.
  47407. These versions take up space out of the quota.
  47408. This flag checks for versions after file upload and setting
  47409. modification time and removes all but the last version.
  47410. **NB** Onedrive personal can\[aq]t currently delete versions so don\[aq]t use
  47411. this flag there.
  47412. Properties:
  47413. - Config: no_versions
  47414. - Env Var: RCLONE_ONEDRIVE_NO_VERSIONS
  47415. - Type: bool
  47416. - Default: false
  47417. #### --onedrive-link-scope
  47418. Set the scope of the links created by the link command.
  47419. Properties:
  47420. - Config: link_scope
  47421. - Env Var: RCLONE_ONEDRIVE_LINK_SCOPE
  47422. - Type: string
  47423. - Default: \[dq]anonymous\[dq]
  47424. - Examples:
  47425. - \[dq]anonymous\[dq]
  47426. - Anyone with the link has access, without needing to sign in.
  47427. - This may include people outside of your organization.
  47428. - Anonymous link support may be disabled by an administrator.
  47429. - \[dq]organization\[dq]
  47430. - Anyone signed into your organization (tenant) can use the link to get access.
  47431. - Only available in OneDrive for Business and SharePoint.
  47432. #### --onedrive-link-type
  47433. Set the type of the links created by the link command.
  47434. Properties:
  47435. - Config: link_type
  47436. - Env Var: RCLONE_ONEDRIVE_LINK_TYPE
  47437. - Type: string
  47438. - Default: \[dq]view\[dq]
  47439. - Examples:
  47440. - \[dq]view\[dq]
  47441. - Creates a read-only link to the item.
  47442. - \[dq]edit\[dq]
  47443. - Creates a read-write link to the item.
  47444. - \[dq]embed\[dq]
  47445. - Creates an embeddable link to the item.
  47446. #### --onedrive-link-password
  47447. Set the password for links created by the link command.
  47448. At the time of writing this only works with OneDrive personal paid accounts.
  47449. Properties:
  47450. - Config: link_password
  47451. - Env Var: RCLONE_ONEDRIVE_LINK_PASSWORD
  47452. - Type: string
  47453. - Required: false
  47454. #### --onedrive-hash-type
  47455. Specify the hash in use for the backend.
  47456. This specifies the hash type in use. If set to \[dq]auto\[dq] it will use the
  47457. default hash which is QuickXorHash.
  47458. Before rclone 1.62 an SHA1 hash was used by default for Onedrive
  47459. Personal. For 1.62 and later the default is to use a QuickXorHash for
  47460. all onedrive types. If an SHA1 hash is desired then set this option
  47461. accordingly.
  47462. From July 2023 QuickXorHash will be the only available hash for
  47463. both OneDrive for Business and OneDriver Personal.
  47464. This can be set to \[dq]none\[dq] to not use any hashes.
  47465. If the hash requested does not exist on the object, it will be
  47466. returned as an empty string which is treated as a missing hash by
  47467. rclone.
  47468. Properties:
  47469. - Config: hash_type
  47470. - Env Var: RCLONE_ONEDRIVE_HASH_TYPE
  47471. - Type: string
  47472. - Default: \[dq]auto\[dq]
  47473. - Examples:
  47474. - \[dq]auto\[dq]
  47475. - Rclone chooses the best hash
  47476. - \[dq]quickxor\[dq]
  47477. - QuickXor
  47478. - \[dq]sha1\[dq]
  47479. - SHA1
  47480. - \[dq]sha256\[dq]
  47481. - SHA256
  47482. - \[dq]crc32\[dq]
  47483. - CRC32
  47484. - \[dq]none\[dq]
  47485. - None - don\[aq]t use any hashes
  47486. #### --onedrive-av-override
  47487. Allows download of files the server thinks has a virus.
  47488. The onedrive/sharepoint server may check files uploaded with an Anti
  47489. Virus checker. If it detects any potential viruses or malware it will
  47490. block download of the file.
  47491. In this case you will see a message like this
  47492. server reports this file is infected with a virus - use --onedrive-av-override to download anyway: Infected (name of virus): 403 Forbidden:
  47493. If you are 100% sure you want to download this file anyway then use
  47494. the --onedrive-av-override flag, or av_override = true in the config
  47495. file.
  47496. Properties:
  47497. - Config: av_override
  47498. - Env Var: RCLONE_ONEDRIVE_AV_OVERRIDE
  47499. - Type: bool
  47500. - Default: false
  47501. #### --onedrive-delta
  47502. If set rclone will use delta listing to implement recursive listings.
  47503. If this flag is set the onedrive backend will advertise \[ga]ListR\[ga]
  47504. support for recursive listings.
  47505. Setting this flag speeds up these things greatly:
  47506. rclone lsf -R onedrive:
  47507. rclone size onedrive:
  47508. rclone rc vfs/refresh recursive=true
  47509. **However** the delta listing API **only** works at the root of the
  47510. drive. If you use it not at the root then it recurses from the root
  47511. and discards all the data that is not under the directory you asked
  47512. for. So it will be correct but may not be very efficient.
  47513. This is why this flag is not set as the default.
  47514. As a rule of thumb if nearly all of your data is under rclone\[aq]s root
  47515. directory (the \[ga]root/directory\[ga] in \[ga]onedrive:root/directory\[ga]) then
  47516. using this flag will be be a big performance win. If your data is
  47517. mostly not under the root then using this flag will be a big
  47518. performance loss.
  47519. It is recommended if you are mounting your onedrive at the root
  47520. (or near the root when using crypt) and using rclone \[ga]rc vfs/refresh\[ga].
  47521. Properties:
  47522. - Config: delta
  47523. - Env Var: RCLONE_ONEDRIVE_DELTA
  47524. - Type: bool
  47525. - Default: false
  47526. #### --onedrive-metadata-permissions
  47527. Control whether permissions should be read or written in metadata.
  47528. Reading permissions metadata from files can be done quickly, but it
  47529. isn\[aq]t always desirable to set the permissions from the metadata.
  47530. Properties:
  47531. - Config: metadata_permissions
  47532. - Env Var: RCLONE_ONEDRIVE_METADATA_PERMISSIONS
  47533. - Type: Bits
  47534. - Default: off
  47535. - Examples:
  47536. - \[dq]off\[dq]
  47537. - Do not read or write the value
  47538. - \[dq]read\[dq]
  47539. - Read the value only
  47540. - \[dq]write\[dq]
  47541. - Write the value only
  47542. - \[dq]read,write\[dq]
  47543. - Read and Write the value.
  47544. #### --onedrive-encoding
  47545. The encoding for the backend.
  47546. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  47547. Properties:
  47548. - Config: encoding
  47549. - Env Var: RCLONE_ONEDRIVE_ENCODING
  47550. - Type: Encoding
  47551. - Default: Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot
  47552. #### --onedrive-description
  47553. Description of the remote
  47554. Properties:
  47555. - Config: description
  47556. - Env Var: RCLONE_ONEDRIVE_DESCRIPTION
  47557. - Type: string
  47558. - Required: false
  47559. ### Metadata
  47560. OneDrive supports System Metadata (not User Metadata, as of this writing) for
  47561. both files and directories. Much of the metadata is read-only, and there are some
  47562. differences between OneDrive Personal and Business (see table below for
  47563. details).
  47564. Permissions are also supported, if \[ga]--onedrive-metadata-permissions\[ga] is set. The
  47565. accepted values for \[ga]--onedrive-metadata-permissions\[ga] are \[ga]read\[ga], \[ga]write\[ga],
  47566. \[ga]read,write\[ga], and \[ga]off\[ga] (the default). \[ga]write\[ga] supports adding new permissions,
  47567. updating the \[dq]role\[dq] of existing permissions, and removing permissions. Updating
  47568. and removing require the Permission ID to be known, so it is recommended to use
  47569. \[ga]read,write\[ga] instead of \[ga]write\[ga] if you wish to update/remove permissions.
  47570. Permissions are read/written in JSON format using the same schema as the
  47571. [OneDrive API](https://learn.microsoft.com/en-us/onedrive/developer/rest-api/resources/permission?view=odsp-graph-online),
  47572. which differs slightly between OneDrive Personal and Business.
  47573. Example for OneDrive Personal:
  47574. \[ga]\[ga]\[ga]json
  47575. [
  47576. {
  47577. \[dq]id\[dq]: \[dq]1234567890ABC!123\[dq],
  47578. \[dq]grantedTo\[dq]: {
  47579. \[dq]user\[dq]: {
  47580. \[dq]id\[dq]: \[dq]ryan\[at]contoso.com\[dq]
  47581. },
  47582. \[dq]application\[dq]: {},
  47583. \[dq]device\[dq]: {}
  47584. },
  47585. \[dq]invitation\[dq]: {
  47586. \[dq]email\[dq]: \[dq]ryan\[at]contoso.com\[dq]
  47587. },
  47588. \[dq]link\[dq]: {
  47589. \[dq]webUrl\[dq]: \[dq]https://1drv.ms/t/s!1234567890ABC\[dq]
  47590. },
  47591. \[dq]roles\[dq]: [
  47592. \[dq]read\[dq]
  47593. ],
  47594. \[dq]shareId\[dq]: \[dq]s!1234567890ABC\[dq]
  47595. }
  47596. ]
  47597. \f[R]
  47598. .fi
  47599. .PP
  47600. Example for OneDrive Business:
  47601. .IP
  47602. .nf
  47603. \f[C]
  47604. [
  47605. {
  47606. \[dq]id\[dq]: \[dq]48d31887-5fad-4d73-a9f5-3c356e68a038\[dq],
  47607. \[dq]grantedToIdentities\[dq]: [
  47608. {
  47609. \[dq]user\[dq]: {
  47610. \[dq]displayName\[dq]: \[dq]ryan\[at]contoso.com\[dq]
  47611. },
  47612. \[dq]application\[dq]: {},
  47613. \[dq]device\[dq]: {}
  47614. }
  47615. ],
  47616. \[dq]link\[dq]: {
  47617. \[dq]type\[dq]: \[dq]view\[dq],
  47618. \[dq]scope\[dq]: \[dq]users\[dq],
  47619. \[dq]webUrl\[dq]: \[dq]https://contoso.sharepoint.com/:w:/t/design/a577ghg9hgh737613bmbjf839026561fmzhsr85ng9f3hjck2t5s\[dq]
  47620. },
  47621. \[dq]roles\[dq]: [
  47622. \[dq]read\[dq]
  47623. ],
  47624. \[dq]shareId\[dq]: \[dq]u!LKj1lkdlals90j1nlkascl\[dq]
  47625. },
  47626. {
  47627. \[dq]id\[dq]: \[dq]5D33DD65C6932946\[dq],
  47628. \[dq]grantedTo\[dq]: {
  47629. \[dq]user\[dq]: {
  47630. \[dq]displayName\[dq]: \[dq]John Doe\[dq],
  47631. \[dq]id\[dq]: \[dq]efee1b77-fb3b-4f65-99d6-274c11914d12\[dq]
  47632. },
  47633. \[dq]application\[dq]: {},
  47634. \[dq]device\[dq]: {}
  47635. },
  47636. \[dq]roles\[dq]: [
  47637. \[dq]owner\[dq]
  47638. ],
  47639. \[dq]shareId\[dq]: \[dq]FWxc1lasfdbEAGM5fI7B67aB5ZMPDMmQ11U\[dq]
  47640. }
  47641. ]
  47642. \f[R]
  47643. .fi
  47644. .PP
  47645. To write permissions, pass in a \[dq]permissions\[dq] metadata key using
  47646. this same format.
  47647. The
  47648. \f[C]--metadata-mapper\f[R] (https://rclone.org/docs/#metadata-mapper)
  47649. tool can be very helpful for this.
  47650. .PP
  47651. When adding permissions, an email address can be provided in the
  47652. \f[C]User.ID\f[R] or \f[C]DisplayName\f[R] properties of
  47653. \f[C]grantedTo\f[R] or \f[C]grantedToIdentities\f[R].
  47654. Alternatively, an ObjectID can be provided in \f[C]User.ID\f[R].
  47655. At least one valid recipient must be provided in order to add a
  47656. permission for a user.
  47657. Creating a Public Link is also supported, if \f[C]Link.Scope\f[R] is set
  47658. to \f[C]\[dq]anonymous\[dq]\f[R].
  47659. .PP
  47660. Example request to add a \[dq]read\[dq] permission:
  47661. .IP
  47662. .nf
  47663. \f[C]
  47664. [
  47665. {
  47666. \[dq]id\[dq]: \[dq]\[dq],
  47667. \[dq]grantedTo\[dq]: {
  47668. \[dq]user\[dq]: {},
  47669. \[dq]application\[dq]: {},
  47670. \[dq]device\[dq]: {}
  47671. },
  47672. \[dq]grantedToIdentities\[dq]: [
  47673. {
  47674. \[dq]user\[dq]: {
  47675. \[dq]id\[dq]: \[dq]ryan\[at]contoso.com\[dq]
  47676. },
  47677. \[dq]application\[dq]: {},
  47678. \[dq]device\[dq]: {}
  47679. }
  47680. ],
  47681. \[dq]roles\[dq]: [
  47682. \[dq]read\[dq]
  47683. ]
  47684. }
  47685. ]
  47686. \f[R]
  47687. .fi
  47688. .PP
  47689. Note that adding a permission can fail if a conflicting permission
  47690. already exists for the file/folder.
  47691. .PP
  47692. To update an existing permission, include both the Permission ID and the
  47693. new \f[C]roles\f[R] to be assigned.
  47694. \f[C]roles\f[R] is the only property that can be changed.
  47695. .PP
  47696. To remove permissions, pass in a blob containing only the permissions
  47697. you wish to keep (which can be empty, to remove all.)
  47698. .PP
  47699. Note that both reading and writing permissions requires extra API calls,
  47700. so if you don\[aq]t need to read or write permissions it is recommended
  47701. to omit \f[C]--onedrive-metadata-permissions\f[R].
  47702. .PP
  47703. Metadata and permissions are supported for Folders (directories) as well
  47704. as Files.
  47705. Note that setting the \f[C]mtime\f[R] or \f[C]btime\f[R] on a Folder
  47706. requires one extra API call on OneDrive Business only.
  47707. .PP
  47708. OneDrive does not currently support User Metadata.
  47709. When writing metadata, only writeable system properties will be written
  47710. -- any read-only or unrecognized keys passed in will be ignored.
  47711. .PP
  47712. TIP: to see the metadata and permissions for any file or folder, run:
  47713. .IP
  47714. .nf
  47715. \f[C]
  47716. rclone lsjson remote:path --stat -M --onedrive-metadata-permissions read
  47717. \f[R]
  47718. .fi
  47719. .PP
  47720. Here are the possible system metadata items for the onedrive backend.
  47721. .PP
  47722. .TS
  47723. tab(@);
  47724. lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n).
  47725. T{
  47726. Name
  47727. T}@T{
  47728. Help
  47729. T}@T{
  47730. Type
  47731. T}@T{
  47732. Example
  47733. T}@T{
  47734. Read Only
  47735. T}
  47736. _
  47737. T{
  47738. btime
  47739. T}@T{
  47740. Time of file birth (creation) with S accuracy (mS for OneDrive
  47741. Personal).
  47742. T}@T{
  47743. RFC 3339
  47744. T}@T{
  47745. 2006-01-02T15:04:05Z
  47746. T}@T{
  47747. N
  47748. T}
  47749. T{
  47750. content-type
  47751. T}@T{
  47752. The MIME type of the file.
  47753. T}@T{
  47754. string
  47755. T}@T{
  47756. text/plain
  47757. T}@T{
  47758. \f[B]Y\f[R]
  47759. T}
  47760. T{
  47761. created-by-display-name
  47762. T}@T{
  47763. Display name of the user that created the item.
  47764. T}@T{
  47765. string
  47766. T}@T{
  47767. John Doe
  47768. T}@T{
  47769. \f[B]Y\f[R]
  47770. T}
  47771. T{
  47772. created-by-id
  47773. T}@T{
  47774. ID of the user that created the item.
  47775. T}@T{
  47776. string
  47777. T}@T{
  47778. 48d31887-5fad-4d73-a9f5-3c356e68a038
  47779. T}@T{
  47780. \f[B]Y\f[R]
  47781. T}
  47782. T{
  47783. description
  47784. T}@T{
  47785. A short description of the file.
  47786. Max 1024 characters.
  47787. Only supported for OneDrive Personal.
  47788. T}@T{
  47789. string
  47790. T}@T{
  47791. Contract for signing
  47792. T}@T{
  47793. N
  47794. T}
  47795. T{
  47796. id
  47797. T}@T{
  47798. The unique identifier of the item within OneDrive.
  47799. T}@T{
  47800. string
  47801. T}@T{
  47802. 01BYE5RZ6QN3ZWBTUFOFD3GSPGOHDJD36K
  47803. T}@T{
  47804. \f[B]Y\f[R]
  47805. T}
  47806. T{
  47807. last-modified-by-display-name
  47808. T}@T{
  47809. Display name of the user that last modified the item.
  47810. T}@T{
  47811. string
  47812. T}@T{
  47813. John Doe
  47814. T}@T{
  47815. \f[B]Y\f[R]
  47816. T}
  47817. T{
  47818. last-modified-by-id
  47819. T}@T{
  47820. ID of the user that last modified the item.
  47821. T}@T{
  47822. string
  47823. T}@T{
  47824. 48d31887-5fad-4d73-a9f5-3c356e68a038
  47825. T}@T{
  47826. \f[B]Y\f[R]
  47827. T}
  47828. T{
  47829. malware-detected
  47830. T}@T{
  47831. Whether OneDrive has detected that the item contains malware.
  47832. T}@T{
  47833. boolean
  47834. T}@T{
  47835. true
  47836. T}@T{
  47837. \f[B]Y\f[R]
  47838. T}
  47839. T{
  47840. mtime
  47841. T}@T{
  47842. Time of last modification with S accuracy (mS for OneDrive Personal).
  47843. T}@T{
  47844. RFC 3339
  47845. T}@T{
  47846. 2006-01-02T15:04:05Z
  47847. T}@T{
  47848. N
  47849. T}
  47850. T{
  47851. package-type
  47852. T}@T{
  47853. If present, indicates that this item is a package instead of a folder or
  47854. file.
  47855. Packages are treated like files in some contexts and folders in others.
  47856. T}@T{
  47857. string
  47858. T}@T{
  47859. oneNote
  47860. T}@T{
  47861. \f[B]Y\f[R]
  47862. T}
  47863. T{
  47864. permissions
  47865. T}@T{
  47866. Permissions in a JSON dump of OneDrive format.
  47867. Enable with --onedrive-metadata-permissions.
  47868. Properties: id, grantedTo, grantedToIdentities, invitation,
  47869. inheritedFrom, link, roles, shareId
  47870. T}@T{
  47871. JSON
  47872. T}@T{
  47873. {}
  47874. T}@T{
  47875. N
  47876. T}
  47877. T{
  47878. shared-by-id
  47879. T}@T{
  47880. ID of the user that shared the item (if shared).
  47881. T}@T{
  47882. string
  47883. T}@T{
  47884. 48d31887-5fad-4d73-a9f5-3c356e68a038
  47885. T}@T{
  47886. \f[B]Y\f[R]
  47887. T}
  47888. T{
  47889. shared-owner-id
  47890. T}@T{
  47891. ID of the owner of the shared item (if shared).
  47892. T}@T{
  47893. string
  47894. T}@T{
  47895. 48d31887-5fad-4d73-a9f5-3c356e68a038
  47896. T}@T{
  47897. \f[B]Y\f[R]
  47898. T}
  47899. T{
  47900. shared-scope
  47901. T}@T{
  47902. If shared, indicates the scope of how the item is shared: anonymous,
  47903. organization, or users.
  47904. T}@T{
  47905. string
  47906. T}@T{
  47907. users
  47908. T}@T{
  47909. \f[B]Y\f[R]
  47910. T}
  47911. T{
  47912. shared-time
  47913. T}@T{
  47914. Time when the item was shared, with S accuracy (mS for OneDrive
  47915. Personal).
  47916. T}@T{
  47917. RFC 3339
  47918. T}@T{
  47919. 2006-01-02T15:04:05Z
  47920. T}@T{
  47921. \f[B]Y\f[R]
  47922. T}
  47923. T{
  47924. utime
  47925. T}@T{
  47926. Time of upload with S accuracy (mS for OneDrive Personal).
  47927. T}@T{
  47928. RFC 3339
  47929. T}@T{
  47930. 2006-01-02T15:04:05Z
  47931. T}@T{
  47932. \f[B]Y\f[R]
  47933. T}
  47934. .TE
  47935. .PP
  47936. See the metadata (https://rclone.org/docs/#metadata) docs for more info.
  47937. .SS Limitations
  47938. .PP
  47939. If you don\[aq]t use rclone for 90 days the refresh token will expire.
  47940. This will result in authorization problems.
  47941. This is easy to fix by running the
  47942. \f[C]rclone config reconnect remote:\f[R] command to get a new token and
  47943. refresh token.
  47944. .SS Naming
  47945. .PP
  47946. Note that OneDrive is case insensitive so you can\[aq]t have a file
  47947. called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  47948. .PP
  47949. There are quite a few characters that can\[aq]t be in OneDrive file
  47950. names.
  47951. These can\[aq]t occur on Windows platforms, but on non-Windows platforms
  47952. they are common.
  47953. Rclone will map these names to and from an identical looking unicode
  47954. equivalent.
  47955. For example if a file has a \f[C]?\f[R] in it will be mapped to
  47956. \f[C]\[uFF1F]\f[R] instead.
  47957. .SS File sizes
  47958. .PP
  47959. The largest allowed file size is 250 GiB for both OneDrive Personal and
  47960. OneDrive for Business (Updated 13 Jan
  47961. 2021) (https://support.microsoft.com/en-us/office/invalid-file-names-and-file-types-in-onedrive-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa?ui=en-us&rs=en-us&ad=us#individualfilesize).
  47962. .SS Path length
  47963. .PP
  47964. The entire path, including the file name, must contain fewer than 400
  47965. characters for OneDrive, OneDrive for Business and SharePoint Online.
  47966. If you are encrypting file and folder names with rclone, you may want to
  47967. pay attention to this limitation because the encrypted names are
  47968. typically longer than the original ones.
  47969. .SS Number of files
  47970. .PP
  47971. OneDrive seems to be OK with at least 50,000 files in a folder, but at
  47972. 100,000 rclone will get errors listing the directory like
  47973. \f[C]couldn\[cq]t list files: UnknownError:\f[R].
  47974. See #2707 (https://github.com/rclone/rclone/issues/2707) for more info.
  47975. .PP
  47976. An official document about the limitations for different types of
  47977. OneDrive can be found
  47978. here (https://support.office.com/en-us/article/invalid-file-names-and-file-types-in-onedrive-onedrive-for-business-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa).
  47979. .SS Versions
  47980. .PP
  47981. Every change in a file OneDrive causes the service to create a new
  47982. version of the file.
  47983. This counts against a users quota.
  47984. For example changing the modification time of a file creates a second
  47985. version, so the file apparently uses twice the space.
  47986. .PP
  47987. For example the \f[C]copy\f[R] command is affected by this as rclone
  47988. copies the file and then afterwards sets the modification time to match
  47989. the source file which uses another version.
  47990. .PP
  47991. You can use the \f[C]rclone cleanup\f[R] command (see below) to remove
  47992. all old versions.
  47993. .PP
  47994. Or you can set the \f[C]no_versions\f[R] parameter to \f[C]true\f[R] and
  47995. rclone will remove versions after operations which create new versions.
  47996. This takes extra transactions so only enable it if you need it.
  47997. .PP
  47998. \f[B]Note\f[R] At the time of writing Onedrive Personal creates versions
  47999. (but not for setting the modification time) but the API for removing
  48000. them returns \[dq]API not found\[dq] so cleanup and
  48001. \f[C]no_versions\f[R] should not be used on Onedrive Personal.
  48002. .SS Disabling versioning
  48003. .PP
  48004. Starting October 2018, users will no longer be able to disable
  48005. versioning by default.
  48006. This is because Microsoft has brought an
  48007. update (https://techcommunity.microsoft.com/t5/Microsoft-OneDrive-Blog/New-Updates-to-OneDrive-and-SharePoint-Team-Site-Versioning/ba-p/204390)
  48008. to the mechanism.
  48009. To change this new default setting, a PowerShell command is required to
  48010. be run by a SharePoint admin.
  48011. If you are an admin, you can run these commands in PowerShell to change
  48012. that setting:
  48013. .IP "1." 3
  48014. \f[C]Install-Module -Name Microsoft.Online.SharePoint.PowerShell\f[R]
  48015. (in case you haven\[aq]t installed this already)
  48016. .IP "2." 3
  48017. \f[C]Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking\f[R]
  48018. .IP "3." 3
  48019. \f[C]Connect-SPOService -Url https://YOURSITE-admin.sharepoint.com -Credential YOU\[at]YOURSITE.COM\f[R]
  48020. (replacing \f[C]YOURSITE\f[R], \f[C]YOU\f[R], \f[C]YOURSITE.COM\f[R]
  48021. with the actual values; this will prompt for your credentials)
  48022. .IP "4." 3
  48023. \f[C]Set-SPOTenant -EnableMinimumVersionRequirement $False\f[R]
  48024. .IP "5." 3
  48025. \f[C]Disconnect-SPOService\f[R] (to disconnect from the server)
  48026. .PP
  48027. \f[I]Below are the steps for normal users to disable versioning. If you
  48028. don\[aq]t see the \[dq]No Versioning\[dq] option, make sure the above
  48029. requirements are met.\f[R]
  48030. .PP
  48031. User Weropol (https://github.com/Weropol) has found a method to disable
  48032. versioning on OneDrive
  48033. .IP "1." 3
  48034. Open the settings menu by clicking on the gear symbol at the top of the
  48035. OneDrive Business page.
  48036. .IP "2." 3
  48037. Click Site settings.
  48038. .IP "3." 3
  48039. Once on the Site settings page, navigate to Site Administration > Site
  48040. libraries and lists.
  48041. .IP "4." 3
  48042. Click Customize \[dq]Documents\[dq].
  48043. .IP "5." 3
  48044. Click General Settings > Versioning Settings.
  48045. .IP "6." 3
  48046. Under Document Version History select the option No versioning.
  48047. Note: This will disable the creation of new file versions, but will not
  48048. remove any previous versions.
  48049. Your documents are safe.
  48050. .IP "7." 3
  48051. Apply the changes by clicking OK.
  48052. .IP "8." 3
  48053. Use rclone to upload or modify files.
  48054. (I also use the --no-update-modtime flag)
  48055. .IP "9." 3
  48056. Restore the versioning settings after using rclone.
  48057. (Optional)
  48058. .SS Cleanup
  48059. .PP
  48060. OneDrive supports \f[C]rclone cleanup\f[R] which causes rclone to look
  48061. through every file under the path supplied and delete all version but
  48062. the current version.
  48063. Because this involves traversing all the files, then querying each file
  48064. for versions it can be quite slow.
  48065. Rclone does \f[C]--checkers\f[R] tests in parallel.
  48066. The command also supports \f[C]--interactive\f[R]/\f[C]i\f[R] or
  48067. \f[C]--dry-run\f[R] which is a great way to see what it would do.
  48068. .IP
  48069. .nf
  48070. \f[C]
  48071. rclone cleanup --interactive remote:path/subdir # interactively remove all old version for path/subdir
  48072. rclone cleanup remote:path/subdir # unconditionally remove all old version for path/subdir
  48073. \f[R]
  48074. .fi
  48075. .PP
  48076. \f[B]NB\f[R] Onedrive personal can\[aq]t currently delete versions
  48077. .SS Troubleshooting
  48078. .SS Excessive throttling or blocked on SharePoint
  48079. .PP
  48080. If you experience excessive throttling or is being blocked on SharePoint
  48081. then it may help to set the user agent explicitly with a flag like this:
  48082. \f[C]--user-agent \[dq]ISV|rclone.org|rclone/v1.55.1\[dq]\f[R]
  48083. .PP
  48084. The specific details can be found in the Microsoft document: Avoid
  48085. getting throttled or blocked in SharePoint
  48086. Online (https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online#how-to-decorate-your-http-traffic-to-avoid-throttling)
  48087. .SS Unexpected file size/hash differences on Sharepoint
  48088. .PP
  48089. It is a
  48090. known (https://github.com/OneDrive/onedrive-api-docs/issues/935#issuecomment-441741631)
  48091. issue that Sharepoint (not OneDrive or OneDrive for Business) silently
  48092. modifies uploaded files, mainly Office files (.docx, .xlsx, etc.),
  48093. causing file size and hash checks to fail.
  48094. There are also other situations that will cause OneDrive to report
  48095. inconsistent file sizes.
  48096. To use rclone with such affected files on Sharepoint, you may disable
  48097. these checks with the following command line arguments:
  48098. .IP
  48099. .nf
  48100. \f[C]
  48101. --ignore-checksum --ignore-size
  48102. \f[R]
  48103. .fi
  48104. .PP
  48105. Alternatively, if you have write access to the OneDrive files, it may be
  48106. possible to fix this problem for certain files, by attempting the steps
  48107. below.
  48108. Open the web interface for OneDrive (https://onedrive.live.com) and find
  48109. the affected files (which will be in the error messages/log for rclone).
  48110. Simply click on each of these files, causing OneDrive to open them on
  48111. the web.
  48112. This will cause each file to be converted in place to a format that is
  48113. functionally equivalent but which will no longer trigger the size
  48114. discrepancy.
  48115. Once all problematic files are converted you will no longer need the
  48116. ignore options above.
  48117. .SS Replacing/deleting existing files on Sharepoint gets \[dq]item not found\[dq]
  48118. .PP
  48119. It is a
  48120. known (https://github.com/OneDrive/onedrive-api-docs/issues/1068) issue
  48121. that Sharepoint (not OneDrive or OneDrive for Business) may return
  48122. \[dq]item not found\[dq] errors when users try to replace or delete
  48123. uploaded files; this seems to mainly affect Office files (.docx, .xlsx,
  48124. etc.) and web files (.html, .aspx, etc.).
  48125. As a workaround, you may use the \f[C]--backup-dir <BACKUP_DIR>\f[R]
  48126. command line argument so rclone moves the files to be replaced/deleted
  48127. into a given backup directory (instead of directly replacing/deleting
  48128. them).
  48129. For example, to instruct rclone to move the files into the directory
  48130. \f[C]rclone-backup-dir\f[R] on backend \f[C]mysharepoint\f[R], you may
  48131. use:
  48132. .IP
  48133. .nf
  48134. \f[C]
  48135. --backup-dir mysharepoint:rclone-backup-dir
  48136. \f[R]
  48137. .fi
  48138. .SS access_denied (AADSTS65005)
  48139. .IP
  48140. .nf
  48141. \f[C]
  48142. Error: access_denied
  48143. Code: AADSTS65005
  48144. Description: Using application \[aq]rclone\[aq] is currently not supported for your organization [YOUR_ORGANIZATION] because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of [YOUR_ORGANIZATION] before the application rclone can be provisioned.
  48145. \f[R]
  48146. .fi
  48147. .PP
  48148. This means that rclone can\[aq]t use the OneDrive for Business API with
  48149. your account.
  48150. You can\[aq]t do much about it, maybe write an email to your admins.
  48151. .PP
  48152. However, there are other ways to interact with your OneDrive account.
  48153. Have a look at the WebDAV backend: https://rclone.org/webdav/#sharepoint
  48154. .SS invalid_grant (AADSTS50076)
  48155. .IP
  48156. .nf
  48157. \f[C]
  48158. Error: invalid_grant
  48159. Code: AADSTS50076
  48160. Description: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access \[aq]...\[aq].
  48161. \f[R]
  48162. .fi
  48163. .PP
  48164. If you see the error above after enabling multi-factor authentication
  48165. for your account, you can fix it by refreshing your OAuth refresh token.
  48166. To do that, run \f[C]rclone config\f[R], and choose to edit your
  48167. OneDrive backend.
  48168. Then, you don\[aq]t need to actually make any changes until you reach
  48169. this question: \f[C]Already have a token - refresh?\f[R].
  48170. For this question, answer \f[C]y\f[R] and go through the process to
  48171. refresh your token, just like the first time the backend is configured.
  48172. After this, rclone should work again for this backend.
  48173. .SS Invalid request when making public links
  48174. .PP
  48175. On Sharepoint and OneDrive for Business, \f[C]rclone link\f[R] may
  48176. return an \[dq]Invalid request\[dq] error.
  48177. A possible cause is that the organisation admin didn\[aq]t allow public
  48178. links to be made for the organisation/sharepoint library.
  48179. To fix the permissions as an admin, take a look at the docs:
  48180. 1 (https://docs.microsoft.com/en-us/sharepoint/turn-external-sharing-on-or-off),
  48181. 2 (https://support.microsoft.com/en-us/office/set-up-and-manage-access-requests-94b26e0b-2822-49d4-929a-8455698654b3).
  48182. .SS Can not access \f[C]Shared\f[R] with me files
  48183. .PP
  48184. Shared with me files is not supported by rclone
  48185. currently (https://github.com/rclone/rclone/issues/4062), but there is a
  48186. workaround:
  48187. .IP "1." 3
  48188. Visit https://onedrive.live.com (https://onedrive.live.com/)
  48189. .IP "2." 3
  48190. Right click a item in \f[C]Shared\f[R], then click
  48191. \f[C]Add shortcut to My files\f[R] in the context
  48192. [IMAGE: make_shortcut (https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png)]
  48193. .IP "3." 3
  48194. The shortcut will appear in \f[C]My files\f[R], you can access it with
  48195. rclone, it behaves like a normal folder/file.
  48196. [IMAGE: in_my_files (https://i.imgur.com/0S8H3li.png)]
  48197. [IMAGE: rclone_mount (https://i.imgur.com/2Iq66sW.png)]
  48198. .SS Live Photos uploaded from iOS (small video clips in .heic files)
  48199. .PP
  48200. The iOS OneDrive app introduced upload and
  48201. storage (https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/live-photos-come-to-onedrive/ba-p/1953452)
  48202. of Live Photos (https://support.apple.com/en-gb/HT207310) in 2020.
  48203. The usage and download of these uploaded Live Photos is unfortunately
  48204. still work-in-progress and this introduces several issues when copying,
  48205. synchronising and mounting \[en] both in rclone and in the native
  48206. OneDrive client on Windows.
  48207. .PP
  48208. The root cause can easily be seen if you locate one of your Live Photos
  48209. in the OneDrive web interface.
  48210. Then download the photo from the web interface.
  48211. You will then see that the size of downloaded .heic file is smaller than
  48212. the size displayed in the web interface.
  48213. The downloaded file is smaller because it only contains a single frame
  48214. (still photo) extracted from the Live Photo (movie) stored in OneDrive.
  48215. .PP
  48216. The different sizes will cause \f[C]rclone copy/sync\f[R] to repeatedly
  48217. recopy unmodified photos something like this:
  48218. .IP
  48219. .nf
  48220. \f[C]
  48221. DEBUG : 20230203_123826234_iOS.heic: Sizes differ (src 4470314 vs dst 1298667)
  48222. DEBUG : 20230203_123826234_iOS.heic: sha1 = fc2edde7863b7a7c93ca6771498ac797f8460750 OK
  48223. INFO : 20230203_123826234_iOS.heic: Copied (replaced existing)
  48224. \f[R]
  48225. .fi
  48226. .PP
  48227. These recopies can be worked around by adding \f[C]--ignore-size\f[R].
  48228. Please note that this workaround only syncs the still-picture not the
  48229. movie clip, and relies on modification dates being correctly updated on
  48230. all files in all situations.
  48231. .PP
  48232. The different sizes will also cause \f[C]rclone check\f[R] to report
  48233. size errors something like this:
  48234. .IP
  48235. .nf
  48236. \f[C]
  48237. ERROR : 20230203_123826234_iOS.heic: sizes differ
  48238. \f[R]
  48239. .fi
  48240. .PP
  48241. These check errors can be suppressed by adding \f[C]--ignore-size\f[R].
  48242. .PP
  48243. The different sizes will also cause \f[C]rclone mount\f[R] to fail
  48244. downloading with an error something like this:
  48245. .IP
  48246. .nf
  48247. \f[C]
  48248. ERROR : 20230203_123826234_iOS.heic: ReadFileHandle.Read error: low level retry 1/10: unexpected EOF
  48249. \f[R]
  48250. .fi
  48251. .PP
  48252. or like this when using \f[C]--cache-mode=full\f[R]:
  48253. .IP
  48254. .nf
  48255. \f[C]
  48256. INFO : 20230203_123826234_iOS.heic: vfs cache: downloader: error count now 1: vfs reader: failed to write to cache file: 416 Requested Range Not Satisfiable:
  48257. ERROR : 20230203_123826234_iOS.heic: vfs cache: failed to download: vfs reader: failed to write to cache file: 416 Requested Range Not Satisfiable:
  48258. \f[R]
  48259. .fi
  48260. .SH OpenDrive
  48261. .PP
  48262. Paths are specified as \f[C]remote:path\f[R]
  48263. .PP
  48264. Paths may be as deep as required, e.g.
  48265. \f[C]remote:directory/subdirectory\f[R].
  48266. .SS Configuration
  48267. .PP
  48268. Here is an example of how to make a remote called \f[C]remote\f[R].
  48269. First run:
  48270. .IP
  48271. .nf
  48272. \f[C]
  48273. rclone config
  48274. \f[R]
  48275. .fi
  48276. .PP
  48277. This will guide you through an interactive setup process:
  48278. .IP
  48279. .nf
  48280. \f[C]
  48281. n) New remote
  48282. d) Delete remote
  48283. q) Quit config
  48284. e/n/d/q> n
  48285. name> remote
  48286. Type of storage to configure.
  48287. Choose a number from below, or type in your own value
  48288. [snip]
  48289. XX / OpenDrive
  48290. \[rs] \[dq]opendrive\[dq]
  48291. [snip]
  48292. Storage> opendrive
  48293. Username
  48294. username>
  48295. Password
  48296. y) Yes type in my own password
  48297. g) Generate random password
  48298. y/g> y
  48299. Enter the password:
  48300. password:
  48301. Confirm the password:
  48302. password:
  48303. --------------------
  48304. [remote]
  48305. username =
  48306. password = *** ENCRYPTED ***
  48307. --------------------
  48308. y) Yes this is OK
  48309. e) Edit this remote
  48310. d) Delete this remote
  48311. y/e/d> y
  48312. \f[R]
  48313. .fi
  48314. .PP
  48315. List directories in top level of your OpenDrive
  48316. .IP
  48317. .nf
  48318. \f[C]
  48319. rclone lsd remote:
  48320. \f[R]
  48321. .fi
  48322. .PP
  48323. List all the files in your OpenDrive
  48324. .IP
  48325. .nf
  48326. \f[C]
  48327. rclone ls remote:
  48328. \f[R]
  48329. .fi
  48330. .PP
  48331. To copy a local directory to an OpenDrive directory called backup
  48332. .IP
  48333. .nf
  48334. \f[C]
  48335. rclone copy /home/source remote:backup
  48336. \f[R]
  48337. .fi
  48338. .SS Modification times and hashes
  48339. .PP
  48340. OpenDrive allows modification times to be set on objects accurate to 1
  48341. second.
  48342. These will be used to detect whether objects need syncing or not.
  48343. .PP
  48344. The MD5 hash algorithm is supported.
  48345. .SS Restricted filename characters
  48346. .PP
  48347. .TS
  48348. tab(@);
  48349. l c c.
  48350. T{
  48351. Character
  48352. T}@T{
  48353. Value
  48354. T}@T{
  48355. Replacement
  48356. T}
  48357. _
  48358. T{
  48359. NUL
  48360. T}@T{
  48361. 0x00
  48362. T}@T{
  48363. \[u2400]
  48364. T}
  48365. T{
  48366. /
  48367. T}@T{
  48368. 0x2F
  48369. T}@T{
  48370. \[uFF0F]
  48371. T}
  48372. T{
  48373. \[dq]
  48374. T}@T{
  48375. 0x22
  48376. T}@T{
  48377. \[uFF02]
  48378. T}
  48379. T{
  48380. *
  48381. T}@T{
  48382. 0x2A
  48383. T}@T{
  48384. \[uFF0A]
  48385. T}
  48386. T{
  48387. :
  48388. T}@T{
  48389. 0x3A
  48390. T}@T{
  48391. \[uFF1A]
  48392. T}
  48393. T{
  48394. <
  48395. T}@T{
  48396. 0x3C
  48397. T}@T{
  48398. \[uFF1C]
  48399. T}
  48400. T{
  48401. >
  48402. T}@T{
  48403. 0x3E
  48404. T}@T{
  48405. \[uFF1E]
  48406. T}
  48407. T{
  48408. ?
  48409. T}@T{
  48410. 0x3F
  48411. T}@T{
  48412. \[uFF1F]
  48413. T}
  48414. T{
  48415. \[rs]
  48416. T}@T{
  48417. 0x5C
  48418. T}@T{
  48419. \[uFF3C]
  48420. T}
  48421. T{
  48422. |
  48423. T}@T{
  48424. 0x7C
  48425. T}@T{
  48426. \[uFF5C]
  48427. T}
  48428. .TE
  48429. .PP
  48430. File names can also not begin or end with the following characters.
  48431. These only get replaced if they are the first or last character in the
  48432. name:
  48433. .PP
  48434. .TS
  48435. tab(@);
  48436. l c c.
  48437. T{
  48438. Character
  48439. T}@T{
  48440. Value
  48441. T}@T{
  48442. Replacement
  48443. T}
  48444. _
  48445. T{
  48446. SP
  48447. T}@T{
  48448. 0x20
  48449. T}@T{
  48450. \[u2420]
  48451. T}
  48452. T{
  48453. HT
  48454. T}@T{
  48455. 0x09
  48456. T}@T{
  48457. \[u2409]
  48458. T}
  48459. T{
  48460. LF
  48461. T}@T{
  48462. 0x0A
  48463. T}@T{
  48464. \[u240A]
  48465. T}
  48466. T{
  48467. VT
  48468. T}@T{
  48469. 0x0B
  48470. T}@T{
  48471. \[u240B]
  48472. T}
  48473. T{
  48474. CR
  48475. T}@T{
  48476. 0x0D
  48477. T}@T{
  48478. \[u240D]
  48479. T}
  48480. .TE
  48481. .PP
  48482. Invalid UTF-8 bytes will also be
  48483. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  48484. be used in JSON strings.
  48485. .SS Standard options
  48486. .PP
  48487. Here are the Standard options specific to opendrive (OpenDrive).
  48488. .SS --opendrive-username
  48489. .PP
  48490. Username.
  48491. .PP
  48492. Properties:
  48493. .IP \[bu] 2
  48494. Config: username
  48495. .IP \[bu] 2
  48496. Env Var: RCLONE_OPENDRIVE_USERNAME
  48497. .IP \[bu] 2
  48498. Type: string
  48499. .IP \[bu] 2
  48500. Required: true
  48501. .SS --opendrive-password
  48502. .PP
  48503. Password.
  48504. .PP
  48505. \f[B]NB\f[R] Input to this must be obscured - see rclone
  48506. obscure (https://rclone.org/commands/rclone_obscure/).
  48507. .PP
  48508. Properties:
  48509. .IP \[bu] 2
  48510. Config: password
  48511. .IP \[bu] 2
  48512. Env Var: RCLONE_OPENDRIVE_PASSWORD
  48513. .IP \[bu] 2
  48514. Type: string
  48515. .IP \[bu] 2
  48516. Required: true
  48517. .SS Advanced options
  48518. .PP
  48519. Here are the Advanced options specific to opendrive (OpenDrive).
  48520. .SS --opendrive-encoding
  48521. .PP
  48522. The encoding for the backend.
  48523. .PP
  48524. See the encoding section in the
  48525. overview (https://rclone.org/overview/#encoding) for more info.
  48526. .PP
  48527. Properties:
  48528. .IP \[bu] 2
  48529. Config: encoding
  48530. .IP \[bu] 2
  48531. Env Var: RCLONE_OPENDRIVE_ENCODING
  48532. .IP \[bu] 2
  48533. Type: Encoding
  48534. .IP \[bu] 2
  48535. Default:
  48536. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot
  48537. .SS --opendrive-chunk-size
  48538. .PP
  48539. Files will be uploaded in chunks this size.
  48540. .PP
  48541. Note that these chunks are buffered in memory so increasing them will
  48542. increase memory use.
  48543. .PP
  48544. Properties:
  48545. .IP \[bu] 2
  48546. Config: chunk_size
  48547. .IP \[bu] 2
  48548. Env Var: RCLONE_OPENDRIVE_CHUNK_SIZE
  48549. .IP \[bu] 2
  48550. Type: SizeSuffix
  48551. .IP \[bu] 2
  48552. Default: 10Mi
  48553. .SS --opendrive-description
  48554. .PP
  48555. Description of the remote
  48556. .PP
  48557. Properties:
  48558. .IP \[bu] 2
  48559. Config: description
  48560. .IP \[bu] 2
  48561. Env Var: RCLONE_OPENDRIVE_DESCRIPTION
  48562. .IP \[bu] 2
  48563. Type: string
  48564. .IP \[bu] 2
  48565. Required: false
  48566. .SS Limitations
  48567. .PP
  48568. Note that OpenDrive is case insensitive so you can\[aq]t have a file
  48569. called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  48570. .PP
  48571. There are quite a few characters that can\[aq]t be in OpenDrive file
  48572. names.
  48573. These can\[aq]t occur on Windows platforms, but on non-Windows platforms
  48574. they are common.
  48575. Rclone will map these names to and from an identical looking unicode
  48576. equivalent.
  48577. For example if a file has a \f[C]?\f[R] in it will be mapped to
  48578. \f[C]\[uFF1F]\f[R] instead.
  48579. .PP
  48580. \f[C]rclone about\f[R] is not supported by the OpenDrive backend.
  48581. Backends without this capability cannot determine free space for an
  48582. rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member
  48583. of an rclone union remote.
  48584. .PP
  48585. See List of backends that do not support rclone
  48586. about (https://rclone.org/overview/#optional-features) and rclone
  48587. about (https://rclone.org/commands/rclone_about/)
  48588. .SH Oracle Object Storage
  48589. .IP \[bu] 2
  48590. Oracle Object Storage
  48591. Overview (https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/objectstorageoverview.htm)
  48592. .IP \[bu] 2
  48593. Oracle Object Storage
  48594. FAQ (https://www.oracle.com/cloud/storage/object-storage/faq/)
  48595. .IP \[bu] 2
  48596. Oracle Object Storage
  48597. Limits (https://docs.oracle.com/en-us/iaas/Content/Resources/Assets/whitepapers/oci-object-storage-best-practices.pdf)
  48598. .PP
  48599. Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for
  48600. the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g.
  48601. \f[C]remote:bucket/path/to/dir\f[R].
  48602. .PP
  48603. Sample command to transfer local artifacts to remote:bucket in oracle
  48604. object storage:
  48605. .PP
  48606. \f[C]rclone -vvv --progress --stats-one-line --max-stats-groups 10 --log-format date,time,UTC,longfile --fast-list --buffer-size 256Mi --oos-no-check-bucket --oos-upload-cutoff 10Mi --multi-thread-cutoff 16Mi --multi-thread-streams 3000 --transfers 3000 --checkers 64 --retries 2 --oos-chunk-size 10Mi --oos-upload-concurrency 10000 --oos-attempt-resume-upload --oos-leave-parts-on-error sync ./artifacts remote:bucket -vv\f[R]
  48607. .SS Configuration
  48608. .PP
  48609. Here is an example of making an oracle object storage configuration.
  48610. \f[C]rclone config\f[R] walks you through it.
  48611. .PP
  48612. Here is an example of how to make a remote called \f[C]remote\f[R].
  48613. First run:
  48614. .IP
  48615. .nf
  48616. \f[C]
  48617. rclone config
  48618. \f[R]
  48619. .fi
  48620. .PP
  48621. This will guide you through an interactive setup process:
  48622. .IP
  48623. .nf
  48624. \f[C]
  48625. n) New remote
  48626. d) Delete remote
  48627. r) Rename remote
  48628. c) Copy remote
  48629. s) Set configuration password
  48630. q) Quit config
  48631. e/n/d/r/c/s/q> n
  48632. Enter name for new remote.
  48633. name> remote
  48634. Option Storage.
  48635. Type of storage to configure.
  48636. Choose a number from below, or type in your own value.
  48637. [snip]
  48638. XX / Oracle Cloud Infrastructure Object Storage
  48639. \[rs] (oracleobjectstorage)
  48640. Storage> oracleobjectstorage
  48641. Option provider.
  48642. Choose your Auth Provider
  48643. Choose a number from below, or type in your own string value.
  48644. Press Enter for the default (env_auth).
  48645. 1 / automatically pickup the credentials from runtime(env), first one to provide auth wins
  48646. \[rs] (env_auth)
  48647. / use an OCI user and an API key for authentication.
  48648. 2 | you\[cq]ll need to put in a config file your tenancy OCID, user OCID, region, the path, fingerprint to an API key.
  48649. | https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm
  48650. \[rs] (user_principal_auth)
  48651. / use instance principals to authorize an instance to make API calls.
  48652. 3 | each instance has its own identity, and authenticates using the certificates that are read from instance metadata.
  48653. | https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm
  48654. \[rs] (instance_principal_auth)
  48655. / use workload identity to grant Kubernetes pods policy-driven access to Oracle Cloud
  48656. 4 | Infrastructure (OCI) resources using OCI Identity and Access Management (IAM).
  48657. | https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm
  48658. \[rs] (workload_identity_auth)
  48659. 5 / use resource principals to make API calls
  48660. \[rs] (resource_principal_auth)
  48661. 6 / no credentials needed, this is typically for reading public buckets
  48662. \[rs] (no_auth)
  48663. provider> 2
  48664. Option namespace.
  48665. Object storage namespace
  48666. Enter a value.
  48667. namespace> idbamagbg734
  48668. Option compartment.
  48669. Object storage compartment OCID
  48670. Enter a value.
  48671. compartment> ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba
  48672. Option region.
  48673. Object storage Region
  48674. Enter a value.
  48675. region> us-ashburn-1
  48676. Option endpoint.
  48677. Endpoint for Object storage API.
  48678. Leave blank to use the default endpoint for the region.
  48679. Enter a value. Press Enter to leave empty.
  48680. endpoint>
  48681. Option config_file.
  48682. Full Path to OCI config file
  48683. Choose a number from below, or type in your own string value.
  48684. Press Enter for the default (\[ti]/.oci/config).
  48685. 1 / oci configuration file location
  48686. \[rs] (\[ti]/.oci/config)
  48687. config_file> /etc/oci/dev.conf
  48688. Option config_profile.
  48689. Profile name inside OCI config file
  48690. Choose a number from below, or type in your own string value.
  48691. Press Enter for the default (Default).
  48692. 1 / Use the default profile
  48693. \[rs] (Default)
  48694. config_profile> Test
  48695. Edit advanced config?
  48696. y) Yes
  48697. n) No (default)
  48698. y/n> n
  48699. Configuration complete.
  48700. Options:
  48701. - type: oracleobjectstorage
  48702. - namespace: idbamagbg734
  48703. - compartment: ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba
  48704. - region: us-ashburn-1
  48705. - provider: user_principal_auth
  48706. - config_file: /etc/oci/dev.conf
  48707. - config_profile: Test
  48708. Keep this \[dq]remote\[dq] remote?
  48709. y) Yes this is OK (default)
  48710. e) Edit this remote
  48711. d) Delete this remote
  48712. y/e/d> y
  48713. \f[R]
  48714. .fi
  48715. .PP
  48716. See all buckets
  48717. .IP
  48718. .nf
  48719. \f[C]
  48720. rclone lsd remote:
  48721. \f[R]
  48722. .fi
  48723. .PP
  48724. Create a new bucket
  48725. .IP
  48726. .nf
  48727. \f[C]
  48728. rclone mkdir remote:bucket
  48729. \f[R]
  48730. .fi
  48731. .PP
  48732. List the contents of a bucket
  48733. .IP
  48734. .nf
  48735. \f[C]
  48736. rclone ls remote:bucket
  48737. rclone ls remote:bucket --max-depth 1
  48738. \f[R]
  48739. .fi
  48740. .SS Authentication Providers
  48741. .PP
  48742. OCI has various authentication methods.
  48743. To learn more about authentication methods please refer oci
  48744. authentication
  48745. methods (https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdk_authentication_methods.htm)
  48746. These choices can be specified in the rclone config file.
  48747. .PP
  48748. Rclone supports the following OCI authentication provider.
  48749. .IP
  48750. .nf
  48751. \f[C]
  48752. User Principal
  48753. Instance Principal
  48754. Resource Principal
  48755. Workload Identity
  48756. No authentication
  48757. \f[R]
  48758. .fi
  48759. .SS User Principal
  48760. .PP
  48761. Sample rclone config file for Authentication Provider User Principal:
  48762. .IP
  48763. .nf
  48764. \f[C]
  48765. [oos]
  48766. type = oracleobjectstorage
  48767. namespace = id<redacted>34
  48768. compartment = ocid1.compartment.oc1..aa<redacted>ba
  48769. region = us-ashburn-1
  48770. provider = user_principal_auth
  48771. config_file = /home/opc/.oci/config
  48772. config_profile = Default
  48773. \f[R]
  48774. .fi
  48775. .PP
  48776. Advantages: - One can use this method from any server within OCI or
  48777. on-premises or from other cloud provider.
  48778. .PP
  48779. Considerations: - you need to configure user\[cq]s privileges / policy
  48780. to allow access to object storage - Overhead of managing users and keys.
  48781. - If the user is deleted, the config file will no longer work and may
  48782. cause automation regressions that use the user\[aq]s credentials.
  48783. .SS Instance Principal
  48784. .PP
  48785. An OCI compute instance can be authorized to use rclone by using
  48786. it\[aq]s identity and certificates as an instance principal.
  48787. With this approach no credentials have to be stored and managed.
  48788. .PP
  48789. Sample rclone configuration file for Authentication Provider Instance
  48790. Principal:
  48791. .IP
  48792. .nf
  48793. \f[C]
  48794. [opc\[at]rclone \[ti]]$ cat \[ti]/.config/rclone/rclone.conf
  48795. [oos]
  48796. type = oracleobjectstorage
  48797. namespace = id<redacted>fn
  48798. compartment = ocid1.compartment.oc1..aa<redacted>k7a
  48799. region = us-ashburn-1
  48800. provider = instance_principal_auth
  48801. \f[R]
  48802. .fi
  48803. .PP
  48804. Advantages:
  48805. .IP \[bu] 2
  48806. With instance principals, you don\[aq]t need to configure user
  48807. credentials and transfer/ save it to disk in your compute instances or
  48808. rotate the credentials.
  48809. .IP \[bu] 2
  48810. You don\[cq]t need to deal with users and keys.
  48811. .IP \[bu] 2
  48812. Greatly helps in automation as you don\[aq]t have to manage access keys,
  48813. user private keys, storing them in vault, using kms etc.
  48814. .PP
  48815. Considerations:
  48816. .IP \[bu] 2
  48817. You need to configure a dynamic group having this instance as member and
  48818. add policy to read object storage to that dynamic group.
  48819. .IP \[bu] 2
  48820. Everyone who has access to this machine can execute the CLI commands.
  48821. .IP \[bu] 2
  48822. It is applicable for oci compute instances only.
  48823. It cannot be used on external instance or resources.
  48824. .SS Resource Principal
  48825. .PP
  48826. Resource principal auth is very similar to instance principal auth but
  48827. used for resources that are not compute instances such as serverless
  48828. functions (https://docs.oracle.com/en-us/iaas/Content/Functions/Concepts/functionsoverview.htm).
  48829. To use resource principal ensure Rclone process is started with these
  48830. environment variables set in its process.
  48831. .IP
  48832. .nf
  48833. \f[C]
  48834. export OCI_RESOURCE_PRINCIPAL_VERSION=2.2
  48835. export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1
  48836. export OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM=/usr/share/model-server/key.pem
  48837. export OCI_RESOURCE_PRINCIPAL_RPST=/usr/share/model-server/security_token
  48838. \f[R]
  48839. .fi
  48840. .PP
  48841. Sample rclone configuration file for Authentication Provider Resource
  48842. Principal:
  48843. .IP
  48844. .nf
  48845. \f[C]
  48846. [oos]
  48847. type = oracleobjectstorage
  48848. namespace = id<redacted>34
  48849. compartment = ocid1.compartment.oc1..aa<redacted>ba
  48850. region = us-ashburn-1
  48851. provider = resource_principal_auth
  48852. \f[R]
  48853. .fi
  48854. .SS Workload Identity
  48855. .PP
  48856. Workload Identity auth may be used when running Rclone from Kubernetes
  48857. pod on a Container Engine for Kubernetes (OKE) cluster.
  48858. For more details on configuring Workload Identity, see Granting
  48859. Workloads Access to OCI
  48860. Resources (https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm).
  48861. To use workload identity, ensure Rclone is started with these
  48862. environment variables set in its process.
  48863. .IP
  48864. .nf
  48865. \f[C]
  48866. export OCI_RESOURCE_PRINCIPAL_VERSION=2.2
  48867. export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1
  48868. \f[R]
  48869. .fi
  48870. .SS No authentication
  48871. .PP
  48872. Public buckets do not require any authentication mechanism to read
  48873. objects.
  48874. Sample rclone configuration file for No authentication:
  48875. .IP
  48876. .nf
  48877. \f[C]
  48878. [oos]
  48879. type = oracleobjectstorage
  48880. namespace = id<redacted>34
  48881. compartment = ocid1.compartment.oc1..aa<redacted>ba
  48882. region = us-ashburn-1
  48883. provider = no_auth
  48884. \f[R]
  48885. .fi
  48886. .SS Modification times and hashes
  48887. .PP
  48888. The modification time is stored as metadata on the object as
  48889. \f[C]opc-meta-mtime\f[R] as floating point since the epoch, accurate to
  48890. 1 ns.
  48891. .PP
  48892. If the modification time needs to be updated rclone will attempt to
  48893. perform a server side copy to update the modification if the object can
  48894. be copied in a single part.
  48895. In the case the object is larger than 5Gb, the object will be uploaded
  48896. rather than copied.
  48897. .PP
  48898. Note that reading this from the object takes an additional
  48899. \f[C]HEAD\f[R] request as the metadata isn\[aq]t returned in object
  48900. listings.
  48901. .PP
  48902. The MD5 hash algorithm is supported.
  48903. .SS Multipart uploads
  48904. .PP
  48905. rclone supports multipart uploads with OOS which means that it can
  48906. upload files bigger than 5 GiB.
  48907. .PP
  48908. Note that files uploaded \f[I]both\f[R] with multipart upload
  48909. \f[I]and\f[R] through crypt remotes do not have MD5 sums.
  48910. .PP
  48911. rclone switches from single part uploads to multipart uploads at the
  48912. point specified by \f[C]--oos-upload-cutoff\f[R].
  48913. This can be a maximum of 5 GiB and a minimum of 0 (ie always upload
  48914. multipart files).
  48915. .PP
  48916. The chunk sizes used in the multipart upload are specified by
  48917. \f[C]--oos-chunk-size\f[R] and the number of chunks uploaded
  48918. concurrently is specified by \f[C]--oos-upload-concurrency\f[R].
  48919. .PP
  48920. Multipart uploads will use \f[C]--transfers\f[R] *
  48921. \f[C]--oos-upload-concurrency\f[R] * \f[C]--oos-chunk-size\f[R] extra
  48922. memory.
  48923. Single part uploads to not use extra memory.
  48924. .PP
  48925. Single part transfers can be faster than multipart transfers or slower
  48926. depending on your latency from oos - the more latency, the more likely
  48927. single part transfers will be faster.
  48928. .PP
  48929. Increasing \f[C]--oos-upload-concurrency\f[R] will increase throughput
  48930. (8 would be a sensible value) and increasing \f[C]--oos-chunk-size\f[R]
  48931. also increases throughput (16M would be sensible).
  48932. Increasing either of these will use more memory.
  48933. The default values are high enough to gain most of the possible
  48934. performance without using too much memory.
  48935. .SS Standard options
  48936. .PP
  48937. Here are the Standard options specific to oracleobjectstorage (Oracle
  48938. Cloud Infrastructure Object Storage).
  48939. .SS --oos-provider
  48940. .PP
  48941. Choose your Auth Provider
  48942. .PP
  48943. Properties:
  48944. .IP \[bu] 2
  48945. Config: provider
  48946. .IP \[bu] 2
  48947. Env Var: RCLONE_OOS_PROVIDER
  48948. .IP \[bu] 2
  48949. Type: string
  48950. .IP \[bu] 2
  48951. Default: \[dq]env_auth\[dq]
  48952. .IP \[bu] 2
  48953. Examples:
  48954. .RS 2
  48955. .IP \[bu] 2
  48956. \[dq]env_auth\[dq]
  48957. .RS 2
  48958. .IP \[bu] 2
  48959. automatically pickup the credentials from runtime(env), first one to
  48960. provide auth wins
  48961. .RE
  48962. .IP \[bu] 2
  48963. \[dq]user_principal_auth\[dq]
  48964. .RS 2
  48965. .IP \[bu] 2
  48966. use an OCI user and an API key for authentication.
  48967. .IP \[bu] 2
  48968. you\[cq]ll need to put in a config file your tenancy OCID, user OCID,
  48969. region, the path, fingerprint to an API key.
  48970. .IP \[bu] 2
  48971. https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm
  48972. .RE
  48973. .IP \[bu] 2
  48974. \[dq]instance_principal_auth\[dq]
  48975. .RS 2
  48976. .IP \[bu] 2
  48977. use instance principals to authorize an instance to make API calls.
  48978. .IP \[bu] 2
  48979. each instance has its own identity, and authenticates using the
  48980. certificates that are read from instance metadata.
  48981. .IP \[bu] 2
  48982. https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm
  48983. .RE
  48984. .IP \[bu] 2
  48985. \[dq]workload_identity_auth\[dq]
  48986. .RS 2
  48987. .IP \[bu] 2
  48988. use workload identity to grant OCI Container Engine for Kubernetes
  48989. workloads policy-driven access to OCI resources using OCI Identity and
  48990. Access Management (IAM).
  48991. .IP \[bu] 2
  48992. https://docs.oracle.com/en-us/iaas/Content/ContEng/Tasks/contenggrantingworkloadaccesstoresources.htm
  48993. .RE
  48994. .IP \[bu] 2
  48995. \[dq]resource_principal_auth\[dq]
  48996. .RS 2
  48997. .IP \[bu] 2
  48998. use resource principals to make API calls
  48999. .RE
  49000. .IP \[bu] 2
  49001. \[dq]no_auth\[dq]
  49002. .RS 2
  49003. .IP \[bu] 2
  49004. no credentials needed, this is typically for reading public buckets
  49005. .RE
  49006. .RE
  49007. .SS --oos-namespace
  49008. .PP
  49009. Object storage namespace
  49010. .PP
  49011. Properties:
  49012. .IP \[bu] 2
  49013. Config: namespace
  49014. .IP \[bu] 2
  49015. Env Var: RCLONE_OOS_NAMESPACE
  49016. .IP \[bu] 2
  49017. Type: string
  49018. .IP \[bu] 2
  49019. Required: true
  49020. .SS --oos-compartment
  49021. .PP
  49022. Object storage compartment OCID
  49023. .PP
  49024. Properties:
  49025. .IP \[bu] 2
  49026. Config: compartment
  49027. .IP \[bu] 2
  49028. Env Var: RCLONE_OOS_COMPARTMENT
  49029. .IP \[bu] 2
  49030. Provider: !no_auth
  49031. .IP \[bu] 2
  49032. Type: string
  49033. .IP \[bu] 2
  49034. Required: true
  49035. .SS --oos-region
  49036. .PP
  49037. Object storage Region
  49038. .PP
  49039. Properties:
  49040. .IP \[bu] 2
  49041. Config: region
  49042. .IP \[bu] 2
  49043. Env Var: RCLONE_OOS_REGION
  49044. .IP \[bu] 2
  49045. Type: string
  49046. .IP \[bu] 2
  49047. Required: true
  49048. .SS --oos-endpoint
  49049. .PP
  49050. Endpoint for Object storage API.
  49051. .PP
  49052. Leave blank to use the default endpoint for the region.
  49053. .PP
  49054. Properties:
  49055. .IP \[bu] 2
  49056. Config: endpoint
  49057. .IP \[bu] 2
  49058. Env Var: RCLONE_OOS_ENDPOINT
  49059. .IP \[bu] 2
  49060. Type: string
  49061. .IP \[bu] 2
  49062. Required: false
  49063. .SS --oos-config-file
  49064. .PP
  49065. Path to OCI config file
  49066. .PP
  49067. Properties:
  49068. .IP \[bu] 2
  49069. Config: config_file
  49070. .IP \[bu] 2
  49071. Env Var: RCLONE_OOS_CONFIG_FILE
  49072. .IP \[bu] 2
  49073. Provider: user_principal_auth
  49074. .IP \[bu] 2
  49075. Type: string
  49076. .IP \[bu] 2
  49077. Default: \[dq]\[ti]/.oci/config\[dq]
  49078. .IP \[bu] 2
  49079. Examples:
  49080. .RS 2
  49081. .IP \[bu] 2
  49082. \[dq]\[ti]/.oci/config\[dq]
  49083. .RS 2
  49084. .IP \[bu] 2
  49085. oci configuration file location
  49086. .RE
  49087. .RE
  49088. .SS --oos-config-profile
  49089. .PP
  49090. Profile name inside the oci config file
  49091. .PP
  49092. Properties:
  49093. .IP \[bu] 2
  49094. Config: config_profile
  49095. .IP \[bu] 2
  49096. Env Var: RCLONE_OOS_CONFIG_PROFILE
  49097. .IP \[bu] 2
  49098. Provider: user_principal_auth
  49099. .IP \[bu] 2
  49100. Type: string
  49101. .IP \[bu] 2
  49102. Default: \[dq]Default\[dq]
  49103. .IP \[bu] 2
  49104. Examples:
  49105. .RS 2
  49106. .IP \[bu] 2
  49107. \[dq]Default\[dq]
  49108. .RS 2
  49109. .IP \[bu] 2
  49110. Use the default profile
  49111. .RE
  49112. .RE
  49113. .SS Advanced options
  49114. .PP
  49115. Here are the Advanced options specific to oracleobjectstorage (Oracle
  49116. Cloud Infrastructure Object Storage).
  49117. .SS --oos-storage-tier
  49118. .PP
  49119. The storage class to use when storing new objects in storage.
  49120. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm
  49121. .PP
  49122. Properties:
  49123. .IP \[bu] 2
  49124. Config: storage_tier
  49125. .IP \[bu] 2
  49126. Env Var: RCLONE_OOS_STORAGE_TIER
  49127. .IP \[bu] 2
  49128. Type: string
  49129. .IP \[bu] 2
  49130. Default: \[dq]Standard\[dq]
  49131. .IP \[bu] 2
  49132. Examples:
  49133. .RS 2
  49134. .IP \[bu] 2
  49135. \[dq]Standard\[dq]
  49136. .RS 2
  49137. .IP \[bu] 2
  49138. Standard storage tier, this is the default tier
  49139. .RE
  49140. .IP \[bu] 2
  49141. \[dq]InfrequentAccess\[dq]
  49142. .RS 2
  49143. .IP \[bu] 2
  49144. InfrequentAccess storage tier
  49145. .RE
  49146. .IP \[bu] 2
  49147. \[dq]Archive\[dq]
  49148. .RS 2
  49149. .IP \[bu] 2
  49150. Archive storage tier
  49151. .RE
  49152. .RE
  49153. .SS --oos-upload-cutoff
  49154. .PP
  49155. Cutoff for switching to chunked upload.
  49156. .PP
  49157. Any files larger than this will be uploaded in chunks of chunk_size.
  49158. The minimum is 0 and the maximum is 5 GiB.
  49159. .PP
  49160. Properties:
  49161. .IP \[bu] 2
  49162. Config: upload_cutoff
  49163. .IP \[bu] 2
  49164. Env Var: RCLONE_OOS_UPLOAD_CUTOFF
  49165. .IP \[bu] 2
  49166. Type: SizeSuffix
  49167. .IP \[bu] 2
  49168. Default: 200Mi
  49169. .SS --oos-chunk-size
  49170. .PP
  49171. Chunk size to use for uploading.
  49172. .PP
  49173. When uploading files larger than upload_cutoff or files with unknown
  49174. size (e.g.
  49175. from \[dq]rclone rcat\[dq] or uploaded with \[dq]rclone mount\[dq] they
  49176. will be uploaded as multipart uploads using this chunk size.
  49177. .PP
  49178. Note that \[dq]upload_concurrency\[dq] chunks of this size are buffered
  49179. in memory per transfer.
  49180. .PP
  49181. If you are transferring large files over high-speed links and you have
  49182. enough memory, then increasing this will speed up the transfers.
  49183. .PP
  49184. Rclone will automatically increase the chunk size when uploading a large
  49185. file of known size to stay below the 10,000 chunks limit.
  49186. .PP
  49187. Files of unknown size are uploaded with the configured chunk_size.
  49188. Since the default chunk size is 5 MiB and there can be at most 10,000
  49189. chunks, this means that by default the maximum size of a file you can
  49190. stream upload is 48 GiB.
  49191. If you wish to stream upload larger files then you will need to increase
  49192. chunk_size.
  49193. .PP
  49194. Increasing the chunk size decreases the accuracy of the progress
  49195. statistics displayed with \[dq]-P\[dq] flag.
  49196. .PP
  49197. Properties:
  49198. .IP \[bu] 2
  49199. Config: chunk_size
  49200. .IP \[bu] 2
  49201. Env Var: RCLONE_OOS_CHUNK_SIZE
  49202. .IP \[bu] 2
  49203. Type: SizeSuffix
  49204. .IP \[bu] 2
  49205. Default: 5Mi
  49206. .SS --oos-max-upload-parts
  49207. .PP
  49208. Maximum number of parts in a multipart upload.
  49209. .PP
  49210. This option defines the maximum number of multipart chunks to use when
  49211. doing a multipart upload.
  49212. .PP
  49213. OCI has max parts limit of 10,000 chunks.
  49214. .PP
  49215. Rclone will automatically increase the chunk size when uploading a large
  49216. file of a known size to stay below this number of chunks limit.
  49217. .PP
  49218. Properties:
  49219. .IP \[bu] 2
  49220. Config: max_upload_parts
  49221. .IP \[bu] 2
  49222. Env Var: RCLONE_OOS_MAX_UPLOAD_PARTS
  49223. .IP \[bu] 2
  49224. Type: int
  49225. .IP \[bu] 2
  49226. Default: 10000
  49227. .SS --oos-upload-concurrency
  49228. .PP
  49229. Concurrency for multipart uploads.
  49230. .PP
  49231. This is the number of chunks of the same file that are uploaded
  49232. concurrently.
  49233. .PP
  49234. If you are uploading small numbers of large files over high-speed links
  49235. and these uploads do not fully utilize your bandwidth, then increasing
  49236. this may help to speed up the transfers.
  49237. .PP
  49238. Properties:
  49239. .IP \[bu] 2
  49240. Config: upload_concurrency
  49241. .IP \[bu] 2
  49242. Env Var: RCLONE_OOS_UPLOAD_CONCURRENCY
  49243. .IP \[bu] 2
  49244. Type: int
  49245. .IP \[bu] 2
  49246. Default: 10
  49247. .SS --oos-copy-cutoff
  49248. .PP
  49249. Cutoff for switching to multipart copy.
  49250. .PP
  49251. Any files larger than this that need to be server-side copied will be
  49252. copied in chunks of this size.
  49253. .PP
  49254. The minimum is 0 and the maximum is 5 GiB.
  49255. .PP
  49256. Properties:
  49257. .IP \[bu] 2
  49258. Config: copy_cutoff
  49259. .IP \[bu] 2
  49260. Env Var: RCLONE_OOS_COPY_CUTOFF
  49261. .IP \[bu] 2
  49262. Type: SizeSuffix
  49263. .IP \[bu] 2
  49264. Default: 4.656Gi
  49265. .SS --oos-copy-timeout
  49266. .PP
  49267. Timeout for copy.
  49268. .PP
  49269. Copy is an asynchronous operation, specify timeout to wait for copy to
  49270. succeed
  49271. .PP
  49272. Properties:
  49273. .IP \[bu] 2
  49274. Config: copy_timeout
  49275. .IP \[bu] 2
  49276. Env Var: RCLONE_OOS_COPY_TIMEOUT
  49277. .IP \[bu] 2
  49278. Type: Duration
  49279. .IP \[bu] 2
  49280. Default: 1m0s
  49281. .SS --oos-disable-checksum
  49282. .PP
  49283. Don\[aq]t store MD5 checksum with object metadata.
  49284. .PP
  49285. Normally rclone will calculate the MD5 checksum of the input before
  49286. uploading it so it can add it to metadata on the object.
  49287. This is great for data integrity checking but can cause long delays for
  49288. large files to start uploading.
  49289. .PP
  49290. Properties:
  49291. .IP \[bu] 2
  49292. Config: disable_checksum
  49293. .IP \[bu] 2
  49294. Env Var: RCLONE_OOS_DISABLE_CHECKSUM
  49295. .IP \[bu] 2
  49296. Type: bool
  49297. .IP \[bu] 2
  49298. Default: false
  49299. .SS --oos-encoding
  49300. .PP
  49301. The encoding for the backend.
  49302. .PP
  49303. See the encoding section in the
  49304. overview (https://rclone.org/overview/#encoding) for more info.
  49305. .PP
  49306. Properties:
  49307. .IP \[bu] 2
  49308. Config: encoding
  49309. .IP \[bu] 2
  49310. Env Var: RCLONE_OOS_ENCODING
  49311. .IP \[bu] 2
  49312. Type: Encoding
  49313. .IP \[bu] 2
  49314. Default: Slash,InvalidUtf8,Dot
  49315. .SS --oos-leave-parts-on-error
  49316. .PP
  49317. If true avoid calling abort upload on a failure, leaving all
  49318. successfully uploaded parts for manual recovery.
  49319. .PP
  49320. It should be set to true for resuming uploads across different sessions.
  49321. .PP
  49322. WARNING: Storing parts of an incomplete multipart upload counts towards
  49323. space usage on object storage and will add additional costs if not
  49324. cleaned up.
  49325. .PP
  49326. Properties:
  49327. .IP \[bu] 2
  49328. Config: leave_parts_on_error
  49329. .IP \[bu] 2
  49330. Env Var: RCLONE_OOS_LEAVE_PARTS_ON_ERROR
  49331. .IP \[bu] 2
  49332. Type: bool
  49333. .IP \[bu] 2
  49334. Default: false
  49335. .SS --oos-attempt-resume-upload
  49336. .PP
  49337. If true attempt to resume previously started multipart upload for the
  49338. object.
  49339. This will be helpful to speed up multipart transfers by resuming uploads
  49340. from past session.
  49341. .PP
  49342. WARNING: If chunk size differs in resumed session from past incomplete
  49343. session, then the resumed multipart upload is aborted and a new
  49344. multipart upload is started with the new chunk size.
  49345. .PP
  49346. The flag leave_parts_on_error must be true to resume and optimize to
  49347. skip parts that were already uploaded successfully.
  49348. .PP
  49349. Properties:
  49350. .IP \[bu] 2
  49351. Config: attempt_resume_upload
  49352. .IP \[bu] 2
  49353. Env Var: RCLONE_OOS_ATTEMPT_RESUME_UPLOAD
  49354. .IP \[bu] 2
  49355. Type: bool
  49356. .IP \[bu] 2
  49357. Default: false
  49358. .SS --oos-no-check-bucket
  49359. .PP
  49360. If set, don\[aq]t attempt to check the bucket exists or create it.
  49361. .PP
  49362. This can be useful when trying to minimise the number of transactions
  49363. rclone does if you know the bucket exists already.
  49364. .PP
  49365. It can also be needed if the user you are using does not have bucket
  49366. creation permissions.
  49367. .PP
  49368. Properties:
  49369. .IP \[bu] 2
  49370. Config: no_check_bucket
  49371. .IP \[bu] 2
  49372. Env Var: RCLONE_OOS_NO_CHECK_BUCKET
  49373. .IP \[bu] 2
  49374. Type: bool
  49375. .IP \[bu] 2
  49376. Default: false
  49377. .SS --oos-sse-customer-key-file
  49378. .PP
  49379. To use SSE-C, a file containing the base64-encoded string of the AES-256
  49380. encryption key associated with the object.
  49381. Please note only one of
  49382. sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.\[aq]
  49383. .PP
  49384. Properties:
  49385. .IP \[bu] 2
  49386. Config: sse_customer_key_file
  49387. .IP \[bu] 2
  49388. Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY_FILE
  49389. .IP \[bu] 2
  49390. Type: string
  49391. .IP \[bu] 2
  49392. Required: false
  49393. .IP \[bu] 2
  49394. Examples:
  49395. .RS 2
  49396. .IP \[bu] 2
  49397. \[dq]\[dq]
  49398. .RS 2
  49399. .IP \[bu] 2
  49400. None
  49401. .RE
  49402. .RE
  49403. .SS --oos-sse-customer-key
  49404. .PP
  49405. To use SSE-C, the optional header that specifies the base64-encoded
  49406. 256-bit encryption key to use to encrypt or decrypt the data.
  49407. Please note only one of
  49408. sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.
  49409. For more information, see Using Your Own Keys for Server-Side Encryption
  49410. (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm)
  49411. .PP
  49412. Properties:
  49413. .IP \[bu] 2
  49414. Config: sse_customer_key
  49415. .IP \[bu] 2
  49416. Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY
  49417. .IP \[bu] 2
  49418. Type: string
  49419. .IP \[bu] 2
  49420. Required: false
  49421. .IP \[bu] 2
  49422. Examples:
  49423. .RS 2
  49424. .IP \[bu] 2
  49425. \[dq]\[dq]
  49426. .RS 2
  49427. .IP \[bu] 2
  49428. None
  49429. .RE
  49430. .RE
  49431. .SS --oos-sse-customer-key-sha256
  49432. .PP
  49433. If using SSE-C, The optional header that specifies the base64-encoded
  49434. SHA256 hash of the encryption key.
  49435. This value is used to check the integrity of the encryption key.
  49436. see Using Your Own Keys for Server-Side Encryption
  49437. (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm).
  49438. .PP
  49439. Properties:
  49440. .IP \[bu] 2
  49441. Config: sse_customer_key_sha256
  49442. .IP \[bu] 2
  49443. Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY_SHA256
  49444. .IP \[bu] 2
  49445. Type: string
  49446. .IP \[bu] 2
  49447. Required: false
  49448. .IP \[bu] 2
  49449. Examples:
  49450. .RS 2
  49451. .IP \[bu] 2
  49452. \[dq]\[dq]
  49453. .RS 2
  49454. .IP \[bu] 2
  49455. None
  49456. .RE
  49457. .RE
  49458. .SS --oos-sse-kms-key-id
  49459. .PP
  49460. if using your own master key in vault, this header specifies the OCID
  49461. (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
  49462. of a master encryption key used to call the Key Management service to
  49463. generate a data encryption key or to encrypt or decrypt a data
  49464. encryption key.
  49465. Please note only one of
  49466. sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.
  49467. .PP
  49468. Properties:
  49469. .IP \[bu] 2
  49470. Config: sse_kms_key_id
  49471. .IP \[bu] 2
  49472. Env Var: RCLONE_OOS_SSE_KMS_KEY_ID
  49473. .IP \[bu] 2
  49474. Type: string
  49475. .IP \[bu] 2
  49476. Required: false
  49477. .IP \[bu] 2
  49478. Examples:
  49479. .RS 2
  49480. .IP \[bu] 2
  49481. \[dq]\[dq]
  49482. .RS 2
  49483. .IP \[bu] 2
  49484. None
  49485. .RE
  49486. .RE
  49487. .SS --oos-sse-customer-algorithm
  49488. .PP
  49489. If using SSE-C, the optional header that specifies \[dq]AES256\[dq] as
  49490. the encryption algorithm.
  49491. Object Storage supports \[dq]AES256\[dq] as the encryption algorithm.
  49492. For more information, see Using Your Own Keys for Server-Side Encryption
  49493. (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm).
  49494. .PP
  49495. Properties:
  49496. .IP \[bu] 2
  49497. Config: sse_customer_algorithm
  49498. .IP \[bu] 2
  49499. Env Var: RCLONE_OOS_SSE_CUSTOMER_ALGORITHM
  49500. .IP \[bu] 2
  49501. Type: string
  49502. .IP \[bu] 2
  49503. Required: false
  49504. .IP \[bu] 2
  49505. Examples:
  49506. .RS 2
  49507. .IP \[bu] 2
  49508. \[dq]\[dq]
  49509. .RS 2
  49510. .IP \[bu] 2
  49511. None
  49512. .RE
  49513. .IP \[bu] 2
  49514. \[dq]AES256\[dq]
  49515. .RS 2
  49516. .IP \[bu] 2
  49517. AES256
  49518. .RE
  49519. .RE
  49520. .SS --oos-description
  49521. .PP
  49522. Description of the remote
  49523. .PP
  49524. Properties:
  49525. .IP \[bu] 2
  49526. Config: description
  49527. .IP \[bu] 2
  49528. Env Var: RCLONE_OOS_DESCRIPTION
  49529. .IP \[bu] 2
  49530. Type: string
  49531. .IP \[bu] 2
  49532. Required: false
  49533. .SS Backend commands
  49534. .PP
  49535. Here are the commands specific to the oracleobjectstorage backend.
  49536. .PP
  49537. Run them with
  49538. .IP
  49539. .nf
  49540. \f[C]
  49541. rclone backend COMMAND remote:
  49542. \f[R]
  49543. .fi
  49544. .PP
  49545. The help below will explain what arguments each command takes.
  49546. .PP
  49547. See the backend (https://rclone.org/commands/rclone_backend/) command
  49548. for more info on how to pass options and arguments.
  49549. .PP
  49550. These can be run on a running backend using the rc command
  49551. backend/command (https://rclone.org/rc/#backend-command).
  49552. .SS rename
  49553. .PP
  49554. change the name of an object
  49555. .IP
  49556. .nf
  49557. \f[C]
  49558. rclone backend rename remote: [options] [<arguments>+]
  49559. \f[R]
  49560. .fi
  49561. .PP
  49562. This command can be used to rename a object.
  49563. .PP
  49564. Usage Examples:
  49565. .IP
  49566. .nf
  49567. \f[C]
  49568. rclone backend rename oos:bucket relative-object-path-under-bucket object-new-name
  49569. \f[R]
  49570. .fi
  49571. .SS list-multipart-uploads
  49572. .PP
  49573. List the unfinished multipart uploads
  49574. .IP
  49575. .nf
  49576. \f[C]
  49577. rclone backend list-multipart-uploads remote: [options] [<arguments>+]
  49578. \f[R]
  49579. .fi
  49580. .PP
  49581. This command lists the unfinished multipart uploads in JSON format.
  49582. .IP
  49583. .nf
  49584. \f[C]
  49585. rclone backend list-multipart-uploads oos:bucket/path/to/object
  49586. \f[R]
  49587. .fi
  49588. .PP
  49589. It returns a dictionary of buckets with values as lists of unfinished
  49590. multipart uploads.
  49591. .PP
  49592. You can call it with no bucket in which case it lists all bucket, with a
  49593. bucket or with a bucket and path.
  49594. .IP
  49595. .nf
  49596. \f[C]
  49597. {
  49598. \[dq]test-bucket\[dq]: [
  49599. {
  49600. \[dq]namespace\[dq]: \[dq]test-namespace\[dq],
  49601. \[dq]bucket\[dq]: \[dq]test-bucket\[dq],
  49602. \[dq]object\[dq]: \[dq]600m.bin\[dq],
  49603. \[dq]uploadId\[dq]: \[dq]51dd8114-52a4-b2f2-c42f-5291f05eb3c8\[dq],
  49604. \[dq]timeCreated\[dq]: \[dq]2022-07-29T06:21:16.595Z\[dq],
  49605. \[dq]storageTier\[dq]: \[dq]Standard\[dq]
  49606. }
  49607. ]
  49608. \f[R]
  49609. .fi
  49610. .SS cleanup
  49611. .PP
  49612. Remove unfinished multipart uploads.
  49613. .IP
  49614. .nf
  49615. \f[C]
  49616. rclone backend cleanup remote: [options] [<arguments>+]
  49617. \f[R]
  49618. .fi
  49619. .PP
  49620. This command removes unfinished multipart uploads of age greater than
  49621. max-age which defaults to 24 hours.
  49622. .PP
  49623. Note that you can use --interactive/-i or --dry-run with this command to
  49624. see what it would do.
  49625. .IP
  49626. .nf
  49627. \f[C]
  49628. rclone backend cleanup oos:bucket/path/to/object
  49629. rclone backend cleanup -o max-age=7w oos:bucket/path/to/object
  49630. \f[R]
  49631. .fi
  49632. .PP
  49633. Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
  49634. .PP
  49635. Options:
  49636. .IP \[bu] 2
  49637. \[dq]max-age\[dq]: Max age of upload to delete
  49638. .SS restore
  49639. .PP
  49640. Restore objects from Archive to Standard storage
  49641. .IP
  49642. .nf
  49643. \f[C]
  49644. rclone backend restore remote: [options] [<arguments>+]
  49645. \f[R]
  49646. .fi
  49647. .PP
  49648. This command can be used to restore one or more objects from Archive to
  49649. Standard storage.
  49650. .IP
  49651. .nf
  49652. \f[C]
  49653. Usage Examples:
  49654. rclone backend restore oos:bucket/path/to/directory -o hours=HOURS
  49655. rclone backend restore oos:bucket -o hours=HOURS
  49656. \f[R]
  49657. .fi
  49658. .PP
  49659. This flag also obeys the filters.
  49660. Test first with --interactive/-i or --dry-run flags
  49661. .IP
  49662. .nf
  49663. \f[C]
  49664. rclone --interactive backend restore --include \[dq]*.txt\[dq] oos:bucket/path -o hours=72
  49665. \f[R]
  49666. .fi
  49667. .PP
  49668. All the objects shown will be marked for restore, then
  49669. .IP
  49670. .nf
  49671. \f[C]
  49672. rclone backend restore --include \[dq]*.txt\[dq] oos:bucket/path -o hours=72
  49673. It returns a list of status dictionaries with Object Name and Status
  49674. keys. The Status will be \[dq]RESTORED\[dq]\[dq] if it was successful or an error message
  49675. if not.
  49676. [
  49677. {
  49678. \[dq]Object\[dq]: \[dq]test.txt\[dq]
  49679. \[dq]Status\[dq]: \[dq]RESTORED\[dq],
  49680. },
  49681. {
  49682. \[dq]Object\[dq]: \[dq]test/file4.txt\[dq]
  49683. \[dq]Status\[dq]: \[dq]RESTORED\[dq],
  49684. }
  49685. ]
  49686. \f[R]
  49687. .fi
  49688. .PP
  49689. Options:
  49690. .IP \[bu] 2
  49691. \[dq]hours\[dq]: The number of hours for which this object will be
  49692. restored.
  49693. Default is 24 hrs.
  49694. .SS Tutorials
  49695. .SS Mounting Buckets (https://rclone.org/oracleobjectstorage/tutorial_mount/)
  49696. .SH QingStor
  49697. .PP
  49698. Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for
  49699. the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g.
  49700. \f[C]remote:bucket/path/to/dir\f[R].
  49701. .SS Configuration
  49702. .PP
  49703. Here is an example of making an QingStor configuration.
  49704. First run
  49705. .IP
  49706. .nf
  49707. \f[C]
  49708. rclone config
  49709. \f[R]
  49710. .fi
  49711. .PP
  49712. This will guide you through an interactive setup process.
  49713. .IP
  49714. .nf
  49715. \f[C]
  49716. No remotes found, make a new one?
  49717. n) New remote
  49718. r) Rename remote
  49719. c) Copy remote
  49720. s) Set configuration password
  49721. q) Quit config
  49722. n/r/c/s/q> n
  49723. name> remote
  49724. Type of storage to configure.
  49725. Choose a number from below, or type in your own value
  49726. [snip]
  49727. XX / QingStor Object Storage
  49728. \[rs] \[dq]qingstor\[dq]
  49729. [snip]
  49730. Storage> qingstor
  49731. Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
  49732. Choose a number from below, or type in your own value
  49733. 1 / Enter QingStor credentials in the next step
  49734. \[rs] \[dq]false\[dq]
  49735. 2 / Get QingStor credentials from the environment (env vars or IAM)
  49736. \[rs] \[dq]true\[dq]
  49737. env_auth> 1
  49738. QingStor Access Key ID - leave blank for anonymous access or runtime credentials.
  49739. access_key_id> access_key
  49740. QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  49741. secret_access_key> secret_key
  49742. Enter an endpoint URL to connection QingStor API.
  49743. Leave blank will use the default value \[dq]https://qingstor.com:443\[dq]
  49744. endpoint>
  49745. Zone connect to. Default is \[dq]pek3a\[dq].
  49746. Choose a number from below, or type in your own value
  49747. / The Beijing (China) Three Zone
  49748. 1 | Needs location constraint pek3a.
  49749. \[rs] \[dq]pek3a\[dq]
  49750. / The Shanghai (China) First Zone
  49751. 2 | Needs location constraint sh1a.
  49752. \[rs] \[dq]sh1a\[dq]
  49753. zone> 1
  49754. Number of connection retry.
  49755. Leave blank will use the default value \[dq]3\[dq].
  49756. connection_retries>
  49757. Remote config
  49758. --------------------
  49759. [remote]
  49760. env_auth = false
  49761. access_key_id = access_key
  49762. secret_access_key = secret_key
  49763. endpoint =
  49764. zone = pek3a
  49765. connection_retries =
  49766. --------------------
  49767. y) Yes this is OK
  49768. e) Edit this remote
  49769. d) Delete this remote
  49770. y/e/d> y
  49771. \f[R]
  49772. .fi
  49773. .PP
  49774. This remote is called \f[C]remote\f[R] and can now be used like this
  49775. .PP
  49776. See all buckets
  49777. .IP
  49778. .nf
  49779. \f[C]
  49780. rclone lsd remote:
  49781. \f[R]
  49782. .fi
  49783. .PP
  49784. Make a new bucket
  49785. .IP
  49786. .nf
  49787. \f[C]
  49788. rclone mkdir remote:bucket
  49789. \f[R]
  49790. .fi
  49791. .PP
  49792. List the contents of a bucket
  49793. .IP
  49794. .nf
  49795. \f[C]
  49796. rclone ls remote:bucket
  49797. \f[R]
  49798. .fi
  49799. .PP
  49800. Sync \f[C]/home/local/directory\f[R] to the remote bucket, deleting any
  49801. excess files in the bucket.
  49802. .IP
  49803. .nf
  49804. \f[C]
  49805. rclone sync --interactive /home/local/directory remote:bucket
  49806. \f[R]
  49807. .fi
  49808. .SS --fast-list
  49809. .PP
  49810. This remote supports \f[C]--fast-list\f[R] which allows you to use fewer
  49811. transactions in exchange for more memory.
  49812. See the rclone docs (https://rclone.org/docs/#fast-list) for more
  49813. details.
  49814. .SS Multipart uploads
  49815. .PP
  49816. rclone supports multipart uploads with QingStor which means that it can
  49817. upload files bigger than 5 GiB.
  49818. Note that files uploaded with multipart upload don\[aq]t have an MD5SUM.
  49819. .PP
  49820. Note that incomplete multipart uploads older than 24 hours can be
  49821. removed with \f[C]rclone cleanup remote:bucket\f[R] just for one bucket
  49822. \f[C]rclone cleanup remote:\f[R] for all buckets.
  49823. QingStor does not ever remove incomplete multipart uploads so it may be
  49824. necessary to run this from time to time.
  49825. .SS Buckets and Zone
  49826. .PP
  49827. With QingStor you can list buckets (\f[C]rclone lsd\f[R]) using any
  49828. zone, but you can only access the content of a bucket from the zone it
  49829. was created in.
  49830. If you attempt to access a bucket from the wrong zone, you will get an
  49831. error,
  49832. \f[C]incorrect zone, the bucket is not in \[aq]XXX\[aq] zone\f[R].
  49833. .SS Authentication
  49834. .PP
  49835. There are two ways to supply \f[C]rclone\f[R] with a set of QingStor
  49836. credentials.
  49837. In order of precedence:
  49838. .IP \[bu] 2
  49839. Directly in the rclone configuration file (as configured by
  49840. \f[C]rclone config\f[R])
  49841. .RS 2
  49842. .IP \[bu] 2
  49843. set \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R]
  49844. .RE
  49845. .IP \[bu] 2
  49846. Runtime configuration:
  49847. .RS 2
  49848. .IP \[bu] 2
  49849. set \f[C]env_auth\f[R] to \f[C]true\f[R] in the config file
  49850. .IP \[bu] 2
  49851. Exporting the following environment variables before running
  49852. \f[C]rclone\f[R]
  49853. .RS 2
  49854. .IP \[bu] 2
  49855. Access Key ID: \f[C]QS_ACCESS_KEY_ID\f[R] or \f[C]QS_ACCESS_KEY\f[R]
  49856. .IP \[bu] 2
  49857. Secret Access Key: \f[C]QS_SECRET_ACCESS_KEY\f[R] or
  49858. \f[C]QS_SECRET_KEY\f[R]
  49859. .RE
  49860. .RE
  49861. .SS Restricted filename characters
  49862. .PP
  49863. The control characters 0x00-0x1F and / are replaced as in the default
  49864. restricted characters
  49865. set (https://rclone.org/overview/#restricted-characters).
  49866. Note that 0x7F is not replaced.
  49867. .PP
  49868. Invalid UTF-8 bytes will also be
  49869. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  49870. be used in JSON strings.
  49871. .SS Standard options
  49872. .PP
  49873. Here are the Standard options specific to qingstor (QingCloud Object
  49874. Storage).
  49875. .SS --qingstor-env-auth
  49876. .PP
  49877. Get QingStor credentials from runtime.
  49878. .PP
  49879. Only applies if access_key_id and secret_access_key is blank.
  49880. .PP
  49881. Properties:
  49882. .IP \[bu] 2
  49883. Config: env_auth
  49884. .IP \[bu] 2
  49885. Env Var: RCLONE_QINGSTOR_ENV_AUTH
  49886. .IP \[bu] 2
  49887. Type: bool
  49888. .IP \[bu] 2
  49889. Default: false
  49890. .IP \[bu] 2
  49891. Examples:
  49892. .RS 2
  49893. .IP \[bu] 2
  49894. \[dq]false\[dq]
  49895. .RS 2
  49896. .IP \[bu] 2
  49897. Enter QingStor credentials in the next step.
  49898. .RE
  49899. .IP \[bu] 2
  49900. \[dq]true\[dq]
  49901. .RS 2
  49902. .IP \[bu] 2
  49903. Get QingStor credentials from the environment (env vars or IAM).
  49904. .RE
  49905. .RE
  49906. .SS --qingstor-access-key-id
  49907. .PP
  49908. QingStor Access Key ID.
  49909. .PP
  49910. Leave blank for anonymous access or runtime credentials.
  49911. .PP
  49912. Properties:
  49913. .IP \[bu] 2
  49914. Config: access_key_id
  49915. .IP \[bu] 2
  49916. Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID
  49917. .IP \[bu] 2
  49918. Type: string
  49919. .IP \[bu] 2
  49920. Required: false
  49921. .SS --qingstor-secret-access-key
  49922. .PP
  49923. QingStor Secret Access Key (password).
  49924. .PP
  49925. Leave blank for anonymous access or runtime credentials.
  49926. .PP
  49927. Properties:
  49928. .IP \[bu] 2
  49929. Config: secret_access_key
  49930. .IP \[bu] 2
  49931. Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
  49932. .IP \[bu] 2
  49933. Type: string
  49934. .IP \[bu] 2
  49935. Required: false
  49936. .SS --qingstor-endpoint
  49937. .PP
  49938. Enter an endpoint URL to connection QingStor API.
  49939. .PP
  49940. Leave blank will use the default value
  49941. \[dq]https://qingstor.com:443\[dq].
  49942. .PP
  49943. Properties:
  49944. .IP \[bu] 2
  49945. Config: endpoint
  49946. .IP \[bu] 2
  49947. Env Var: RCLONE_QINGSTOR_ENDPOINT
  49948. .IP \[bu] 2
  49949. Type: string
  49950. .IP \[bu] 2
  49951. Required: false
  49952. .SS --qingstor-zone
  49953. .PP
  49954. Zone to connect to.
  49955. .PP
  49956. Default is \[dq]pek3a\[dq].
  49957. .PP
  49958. Properties:
  49959. .IP \[bu] 2
  49960. Config: zone
  49961. .IP \[bu] 2
  49962. Env Var: RCLONE_QINGSTOR_ZONE
  49963. .IP \[bu] 2
  49964. Type: string
  49965. .IP \[bu] 2
  49966. Required: false
  49967. .IP \[bu] 2
  49968. Examples:
  49969. .RS 2
  49970. .IP \[bu] 2
  49971. \[dq]pek3a\[dq]
  49972. .RS 2
  49973. .IP \[bu] 2
  49974. The Beijing (China) Three Zone.
  49975. .IP \[bu] 2
  49976. Needs location constraint pek3a.
  49977. .RE
  49978. .IP \[bu] 2
  49979. \[dq]sh1a\[dq]
  49980. .RS 2
  49981. .IP \[bu] 2
  49982. The Shanghai (China) First Zone.
  49983. .IP \[bu] 2
  49984. Needs location constraint sh1a.
  49985. .RE
  49986. .IP \[bu] 2
  49987. \[dq]gd2a\[dq]
  49988. .RS 2
  49989. .IP \[bu] 2
  49990. The Guangdong (China) Second Zone.
  49991. .IP \[bu] 2
  49992. Needs location constraint gd2a.
  49993. .RE
  49994. .RE
  49995. .SS Advanced options
  49996. .PP
  49997. Here are the Advanced options specific to qingstor (QingCloud Object
  49998. Storage).
  49999. .SS --qingstor-connection-retries
  50000. .PP
  50001. Number of connection retries.
  50002. .PP
  50003. Properties:
  50004. .IP \[bu] 2
  50005. Config: connection_retries
  50006. .IP \[bu] 2
  50007. Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES
  50008. .IP \[bu] 2
  50009. Type: int
  50010. .IP \[bu] 2
  50011. Default: 3
  50012. .SS --qingstor-upload-cutoff
  50013. .PP
  50014. Cutoff for switching to chunked upload.
  50015. .PP
  50016. Any files larger than this will be uploaded in chunks of chunk_size.
  50017. The minimum is 0 and the maximum is 5 GiB.
  50018. .PP
  50019. Properties:
  50020. .IP \[bu] 2
  50021. Config: upload_cutoff
  50022. .IP \[bu] 2
  50023. Env Var: RCLONE_QINGSTOR_UPLOAD_CUTOFF
  50024. .IP \[bu] 2
  50025. Type: SizeSuffix
  50026. .IP \[bu] 2
  50027. Default: 200Mi
  50028. .SS --qingstor-chunk-size
  50029. .PP
  50030. Chunk size to use for uploading.
  50031. .PP
  50032. When uploading files larger than upload_cutoff they will be uploaded as
  50033. multipart uploads using this chunk size.
  50034. .PP
  50035. Note that \[dq]--qingstor-upload-concurrency\[dq] chunks of this size
  50036. are buffered in memory per transfer.
  50037. .PP
  50038. If you are transferring large files over high-speed links and you have
  50039. enough memory, then increasing this will speed up the transfers.
  50040. .PP
  50041. Properties:
  50042. .IP \[bu] 2
  50043. Config: chunk_size
  50044. .IP \[bu] 2
  50045. Env Var: RCLONE_QINGSTOR_CHUNK_SIZE
  50046. .IP \[bu] 2
  50047. Type: SizeSuffix
  50048. .IP \[bu] 2
  50049. Default: 4Mi
  50050. .SS --qingstor-upload-concurrency
  50051. .PP
  50052. Concurrency for multipart uploads.
  50053. .PP
  50054. This is the number of chunks of the same file that are uploaded
  50055. concurrently.
  50056. .PP
  50057. NB if you set this to > 1 then the checksums of multipart uploads become
  50058. corrupted (the uploads themselves are not corrupted though).
  50059. .PP
  50060. If you are uploading small numbers of large files over high-speed links
  50061. and these uploads do not fully utilize your bandwidth, then increasing
  50062. this may help to speed up the transfers.
  50063. .PP
  50064. Properties:
  50065. .IP \[bu] 2
  50066. Config: upload_concurrency
  50067. .IP \[bu] 2
  50068. Env Var: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY
  50069. .IP \[bu] 2
  50070. Type: int
  50071. .IP \[bu] 2
  50072. Default: 1
  50073. .SS --qingstor-encoding
  50074. .PP
  50075. The encoding for the backend.
  50076. .PP
  50077. See the encoding section in the
  50078. overview (https://rclone.org/overview/#encoding) for more info.
  50079. .PP
  50080. Properties:
  50081. .IP \[bu] 2
  50082. Config: encoding
  50083. .IP \[bu] 2
  50084. Env Var: RCLONE_QINGSTOR_ENCODING
  50085. .IP \[bu] 2
  50086. Type: Encoding
  50087. .IP \[bu] 2
  50088. Default: Slash,Ctl,InvalidUtf8
  50089. .SS --qingstor-description
  50090. .PP
  50091. Description of the remote
  50092. .PP
  50093. Properties:
  50094. .IP \[bu] 2
  50095. Config: description
  50096. .IP \[bu] 2
  50097. Env Var: RCLONE_QINGSTOR_DESCRIPTION
  50098. .IP \[bu] 2
  50099. Type: string
  50100. .IP \[bu] 2
  50101. Required: false
  50102. .SS Limitations
  50103. .PP
  50104. \f[C]rclone about\f[R] is not supported by the qingstor backend.
  50105. Backends without this capability cannot determine free space for an
  50106. rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member
  50107. of an rclone union remote.
  50108. .PP
  50109. See List of backends that do not support rclone
  50110. about (https://rclone.org/overview/#optional-features) and rclone
  50111. about (https://rclone.org/commands/rclone_about/)
  50112. .SH Quatrix
  50113. .PP
  50114. Quatrix by Maytech is Quatrix Secure Compliant File Sharing |
  50115. Maytech (https://www.maytech.net/products/quatrix-business).
  50116. .PP
  50117. Paths are specified as \f[C]remote:path\f[R]
  50118. .PP
  50119. Paths may be as deep as required, e.g.,
  50120. \f[C]remote:directory/subdirectory\f[R].
  50121. .PP
  50122. The initial setup for Quatrix involves getting an API Key from Quatrix.
  50123. You can get the API key in the user\[aq]s profile at
  50124. \f[C]https://<account>/profile/api-keys\f[R] or with the help of the API
  50125. -
  50126. https://docs.maytech.net/quatrix/quatrix-api/api-explorer#/API-Key/post_api_key_create.
  50127. .PP
  50128. See complete Swagger documentation for Quatrix -
  50129. https://docs.maytech.net/quatrix/quatrix-api/api-explorer
  50130. .SS Configuration
  50131. .PP
  50132. Here is an example of how to make a remote called \f[C]remote\f[R].
  50133. First run:
  50134. .IP
  50135. .nf
  50136. \f[C]
  50137. rclone config
  50138. \f[R]
  50139. .fi
  50140. .PP
  50141. This will guide you through an interactive setup process:
  50142. .IP
  50143. .nf
  50144. \f[C]
  50145. No remotes found, make a new one?
  50146. n) New remote
  50147. s) Set configuration password
  50148. q) Quit config
  50149. n/s/q> n
  50150. name> remote
  50151. Type of storage to configure.
  50152. Choose a number from below, or type in your own value
  50153. [snip]
  50154. XX / Quatrix by Maytech
  50155. \[rs] \[dq]quatrix\[dq]
  50156. [snip]
  50157. Storage> quatrix
  50158. API key for accessing Quatrix account.
  50159. api_key> your_api_key
  50160. Host name of Quatrix account.
  50161. host> example.quatrix.it
  50162. --------------------
  50163. [remote]
  50164. api_key = your_api_key
  50165. host = example.quatrix.it
  50166. --------------------
  50167. y) Yes this is OK
  50168. e) Edit this remote
  50169. d) Delete this remote
  50170. y/e/d> y
  50171. \f[R]
  50172. .fi
  50173. .PP
  50174. Once configured you can then use \f[C]rclone\f[R] like this,
  50175. .PP
  50176. List directories in top level of your Quatrix
  50177. .IP
  50178. .nf
  50179. \f[C]
  50180. rclone lsd remote:
  50181. \f[R]
  50182. .fi
  50183. .PP
  50184. List all the files in your Quatrix
  50185. .IP
  50186. .nf
  50187. \f[C]
  50188. rclone ls remote:
  50189. \f[R]
  50190. .fi
  50191. .PP
  50192. To copy a local directory to an Quatrix directory called backup
  50193. .IP
  50194. .nf
  50195. \f[C]
  50196. rclone copy /home/source remote:backup
  50197. \f[R]
  50198. .fi
  50199. .SS API key validity
  50200. .PP
  50201. API Key is created with no expiration date.
  50202. It will be valid until you delete or deactivate it in your account.
  50203. After disabling, the API Key can be enabled back.
  50204. If the API Key was deleted and a new key was created, you can update it
  50205. in rclone config.
  50206. The same happens if the hostname was changed.
  50207. .IP
  50208. .nf
  50209. \f[C]
  50210. $ rclone config
  50211. Current remotes:
  50212. Name Type
  50213. ==== ====
  50214. remote quatrix
  50215. e) Edit existing remote
  50216. n) New remote
  50217. d) Delete remote
  50218. r) Rename remote
  50219. c) Copy remote
  50220. s) Set configuration password
  50221. q) Quit config
  50222. e/n/d/r/c/s/q> e
  50223. Choose a number from below, or type in an existing value
  50224. 1 > remote
  50225. remote> remote
  50226. --------------------
  50227. [remote]
  50228. type = quatrix
  50229. host = some_host.quatrix.it
  50230. api_key = your_api_key
  50231. --------------------
  50232. Edit remote
  50233. Option api_key.
  50234. API key for accessing Quatrix account
  50235. Enter a string value. Press Enter for the default (your_api_key)
  50236. api_key>
  50237. Option host.
  50238. Host name of Quatrix account
  50239. Enter a string value. Press Enter for the default (some_host.quatrix.it).
  50240. --------------------
  50241. [remote]
  50242. type = quatrix
  50243. host = some_host.quatrix.it
  50244. api_key = your_api_key
  50245. --------------------
  50246. y) Yes this is OK
  50247. e) Edit this remote
  50248. d) Delete this remote
  50249. y/e/d> y
  50250. \f[R]
  50251. .fi
  50252. .SS Modification times and hashes
  50253. .PP
  50254. Quatrix allows modification times to be set on objects accurate to 1
  50255. microsecond.
  50256. These will be used to detect whether objects need syncing or not.
  50257. .PP
  50258. Quatrix does not support hashes, so you cannot use the
  50259. \f[C]--checksum\f[R] flag.
  50260. .SS Restricted filename characters
  50261. .PP
  50262. File names in Quatrix are case sensitive and have limitations like the
  50263. maximum length of a filename is 255, and the minimum length is 1.
  50264. A file name cannot be equal to \f[C].\f[R] or \f[C]..\f[R] nor contain
  50265. \f[C]/\f[R] , \f[C]\[rs]\f[R] or non-printable ascii.
  50266. .SS Transfers
  50267. .PP
  50268. For files above 50 MiB rclone will use a chunked transfer.
  50269. Rclone will upload up to \f[C]--transfers\f[R] chunks at the same time
  50270. (shared among all multipart uploads).
  50271. Chunks are buffered in memory, and the minimal chunk size is 10_000_000
  50272. bytes by default, and it can be changed in the advanced configuration,
  50273. so increasing \f[C]--transfers\f[R] will increase the memory use.
  50274. The chunk size has a maximum size limit, which is set to 100_000_000
  50275. bytes by default and can be changed in the advanced configuration.
  50276. The size of the uploaded chunk will dynamically change depending on the
  50277. upload speed.
  50278. The total memory use equals the number of transfers multiplied by the
  50279. minimal chunk size.
  50280. In case there\[aq]s free memory allocated for the upload (which equals
  50281. the difference of \f[C]maximal_summary_chunk_size\f[R] and
  50282. \f[C]minimal_chunk_size\f[R] * \f[C]transfers\f[R]), the chunk size may
  50283. increase in case of high upload speed.
  50284. As well as it can decrease in case of upload speed problems.
  50285. If no free memory is available, all chunks will equal
  50286. \f[C]minimal_chunk_size\f[R].
  50287. .SS Deleting files
  50288. .PP
  50289. Files you delete with rclone will end up in Trash and be stored there
  50290. for 30 days.
  50291. Quatrix also provides an API to permanently delete files and an API to
  50292. empty the Trash so that you can remove files permanently from your
  50293. account.
  50294. .SS Standard options
  50295. .PP
  50296. Here are the Standard options specific to quatrix (Quatrix by Maytech).
  50297. .SS --quatrix-api-key
  50298. .PP
  50299. API key for accessing Quatrix account
  50300. .PP
  50301. Properties:
  50302. .IP \[bu] 2
  50303. Config: api_key
  50304. .IP \[bu] 2
  50305. Env Var: RCLONE_QUATRIX_API_KEY
  50306. .IP \[bu] 2
  50307. Type: string
  50308. .IP \[bu] 2
  50309. Required: true
  50310. .SS --quatrix-host
  50311. .PP
  50312. Host name of Quatrix account
  50313. .PP
  50314. Properties:
  50315. .IP \[bu] 2
  50316. Config: host
  50317. .IP \[bu] 2
  50318. Env Var: RCLONE_QUATRIX_HOST
  50319. .IP \[bu] 2
  50320. Type: string
  50321. .IP \[bu] 2
  50322. Required: true
  50323. .SS Advanced options
  50324. .PP
  50325. Here are the Advanced options specific to quatrix (Quatrix by Maytech).
  50326. .SS --quatrix-encoding
  50327. .PP
  50328. The encoding for the backend.
  50329. .PP
  50330. See the encoding section in the
  50331. overview (https://rclone.org/overview/#encoding) for more info.
  50332. .PP
  50333. Properties:
  50334. .IP \[bu] 2
  50335. Config: encoding
  50336. .IP \[bu] 2
  50337. Env Var: RCLONE_QUATRIX_ENCODING
  50338. .IP \[bu] 2
  50339. Type: Encoding
  50340. .IP \[bu] 2
  50341. Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  50342. .SS --quatrix-effective-upload-time
  50343. .PP
  50344. Wanted upload time for one chunk
  50345. .PP
  50346. Properties:
  50347. .IP \[bu] 2
  50348. Config: effective_upload_time
  50349. .IP \[bu] 2
  50350. Env Var: RCLONE_QUATRIX_EFFECTIVE_UPLOAD_TIME
  50351. .IP \[bu] 2
  50352. Type: string
  50353. .IP \[bu] 2
  50354. Default: \[dq]4s\[dq]
  50355. .SS --quatrix-minimal-chunk-size
  50356. .PP
  50357. The minimal size for one chunk
  50358. .PP
  50359. Properties:
  50360. .IP \[bu] 2
  50361. Config: minimal_chunk_size
  50362. .IP \[bu] 2
  50363. Env Var: RCLONE_QUATRIX_MINIMAL_CHUNK_SIZE
  50364. .IP \[bu] 2
  50365. Type: SizeSuffix
  50366. .IP \[bu] 2
  50367. Default: 9.537Mi
  50368. .SS --quatrix-maximal-summary-chunk-size
  50369. .PP
  50370. The maximal summary for all chunks.
  50371. It should not be less than
  50372. \[aq]transfers\[aq]*\[aq]minimal_chunk_size\[aq]
  50373. .PP
  50374. Properties:
  50375. .IP \[bu] 2
  50376. Config: maximal_summary_chunk_size
  50377. .IP \[bu] 2
  50378. Env Var: RCLONE_QUATRIX_MAXIMAL_SUMMARY_CHUNK_SIZE
  50379. .IP \[bu] 2
  50380. Type: SizeSuffix
  50381. .IP \[bu] 2
  50382. Default: 95.367Mi
  50383. .SS --quatrix-hard-delete
  50384. .PP
  50385. Delete files permanently rather than putting them into the trash
  50386. .PP
  50387. Properties:
  50388. .IP \[bu] 2
  50389. Config: hard_delete
  50390. .IP \[bu] 2
  50391. Env Var: RCLONE_QUATRIX_HARD_DELETE
  50392. .IP \[bu] 2
  50393. Type: bool
  50394. .IP \[bu] 2
  50395. Default: false
  50396. .SS --quatrix-skip-project-folders
  50397. .PP
  50398. Skip project folders in operations
  50399. .PP
  50400. Properties:
  50401. .IP \[bu] 2
  50402. Config: skip_project_folders
  50403. .IP \[bu] 2
  50404. Env Var: RCLONE_QUATRIX_SKIP_PROJECT_FOLDERS
  50405. .IP \[bu] 2
  50406. Type: bool
  50407. .IP \[bu] 2
  50408. Default: false
  50409. .SS --quatrix-description
  50410. .PP
  50411. Description of the remote
  50412. .PP
  50413. Properties:
  50414. .IP \[bu] 2
  50415. Config: description
  50416. .IP \[bu] 2
  50417. Env Var: RCLONE_QUATRIX_DESCRIPTION
  50418. .IP \[bu] 2
  50419. Type: string
  50420. .IP \[bu] 2
  50421. Required: false
  50422. .SS Storage usage
  50423. .PP
  50424. The storage usage in Quatrix is restricted to the account during the
  50425. purchase.
  50426. You can restrict any user with a smaller storage limit.
  50427. The account limit is applied if the user has no custom storage limit.
  50428. Once you\[aq]ve reached the limit, the upload of files will fail.
  50429. This can be fixed by freeing up the space or increasing the quota.
  50430. .SS Server-side operations
  50431. .PP
  50432. Quatrix supports server-side operations (copy and move).
  50433. In case of conflict, files are overwritten during server-side operation.
  50434. .SH Sia
  50435. .PP
  50436. Sia (sia.tech (https://sia.tech/)) is a decentralized cloud storage
  50437. platform based on the blockchain (https://wikipedia.org/wiki/Blockchain)
  50438. technology.
  50439. With rclone you can use it like any other remote filesystem or mount Sia
  50440. folders locally.
  50441. The technology behind it involves a number of new concepts such as
  50442. Siacoins and Wallet, Blockchain and Consensus, Renting and Hosting, and
  50443. so on.
  50444. If you are new to it, you\[aq]d better first familiarize yourself using
  50445. their excellent support documentation (https://support.sia.tech/).
  50446. .SS Introduction
  50447. .PP
  50448. Before you can use rclone with Sia, you will need to have a running copy
  50449. of \f[C]Sia-UI\f[R] or \f[C]siad\f[R] (the Sia daemon) locally on your
  50450. computer or on local network (e.g.
  50451. a NAS).
  50452. Please follow the Get started (https://sia.tech/get-started) guide and
  50453. install one.
  50454. .PP
  50455. rclone interacts with Sia network by talking to the Sia daemon via HTTP
  50456. API (https://sia.tech/docs/) which is usually available on port
  50457. \f[I]9980\f[R].
  50458. By default you will run the daemon locally on the same computer so
  50459. it\[aq]s safe to leave the API password blank (the API URL will be
  50460. \f[C]http://127.0.0.1:9980\f[R] making external access impossible).
  50461. .PP
  50462. However, if you want to access Sia daemon running on another node, for
  50463. example due to memory constraints or because you want to share single
  50464. daemon between several rclone and Sia-UI instances, you\[aq]ll need to
  50465. make a few more provisions: - Ensure you have \f[I]Sia daemon\f[R]
  50466. installed directly or in a docker
  50467. container (https://github.com/SiaFoundation/siad/pkgs/container/siad)
  50468. because Sia-UI does not support this mode natively.
  50469. - Run it on externally accessible port, for example provide
  50470. \f[C]--api-addr :9980\f[R] and \f[C]--disable-api-security\f[R]
  50471. arguments on the daemon command line.
  50472. - Enforce API password for the \f[C]siad\f[R] daemon via environment
  50473. variable \f[C]SIA_API_PASSWORD\f[R] or text file named
  50474. \f[C]apipassword\f[R] in the daemon directory.
  50475. - Set rclone backend option \f[C]api_password\f[R] taking it from above
  50476. locations.
  50477. .PP
  50478. Notes: 1.
  50479. If your wallet is locked, rclone cannot unlock it automatically.
  50480. You should either unlock it in advance by using Sia-UI or via command
  50481. line \f[C]siac wallet unlock\f[R].
  50482. Alternatively you can make \f[C]siad\f[R] unlock your wallet
  50483. automatically upon startup by running it with environment variable
  50484. \f[C]SIA_WALLET_PASSWORD\f[R].
  50485. 2.
  50486. If \f[C]siad\f[R] cannot find the \f[C]SIA_API_PASSWORD\f[R] variable or
  50487. the \f[C]apipassword\f[R] file in the \f[C]SIA_DIR\f[R] directory, it
  50488. will generate a random password and store in the text file named
  50489. \f[C]apipassword\f[R] under \f[C]YOUR_HOME/.sia/\f[R] directory on Unix
  50490. or
  50491. \f[C]C:\[rs]Users\[rs]YOUR_HOME\[rs]AppData\[rs]Local\[rs]Sia\[rs]apipassword\f[R]
  50492. on Windows.
  50493. Remember this when you configure password in rclone.
  50494. 3.
  50495. The only way to use \f[C]siad\f[R] without API password is to run it
  50496. \f[B]on localhost\f[R] with command line argument
  50497. \f[C]--authorize-api=false\f[R], but this is insecure and \f[B]strongly
  50498. discouraged\f[R].
  50499. .SS Configuration
  50500. .PP
  50501. Here is an example of how to make a \f[C]sia\f[R] remote called
  50502. \f[C]mySia\f[R].
  50503. First, run:
  50504. .IP
  50505. .nf
  50506. \f[C]
  50507. rclone config
  50508. \f[R]
  50509. .fi
  50510. .PP
  50511. This will guide you through an interactive setup process:
  50512. .IP
  50513. .nf
  50514. \f[C]
  50515. No remotes found, make a new one?
  50516. n) New remote
  50517. s) Set configuration password
  50518. q) Quit config
  50519. n/s/q> n
  50520. name> mySia
  50521. Type of storage to configure.
  50522. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  50523. Choose a number from below, or type in your own value
  50524. \&...
  50525. 29 / Sia Decentralized Cloud
  50526. \[rs] \[dq]sia\[dq]
  50527. \&...
  50528. Storage> sia
  50529. Sia daemon API URL, like http://sia.daemon.host:9980.
  50530. Note that siad must run with --disable-api-security to open API port for other hosts (not recommended).
  50531. Keep default if Sia daemon runs on localhost.
  50532. Enter a string value. Press Enter for the default (\[dq]http://127.0.0.1:9980\[dq]).
  50533. api_url> http://127.0.0.1:9980
  50534. Sia Daemon API Password.
  50535. Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory.
  50536. y) Yes type in my own password
  50537. g) Generate random password
  50538. n) No leave this optional password blank (default)
  50539. y/g/n> y
  50540. Enter the password:
  50541. password:
  50542. Confirm the password:
  50543. password:
  50544. Edit advanced config?
  50545. y) Yes
  50546. n) No (default)
  50547. y/n> n
  50548. --------------------
  50549. [mySia]
  50550. type = sia
  50551. api_url = http://127.0.0.1:9980
  50552. api_password = *** ENCRYPTED ***
  50553. --------------------
  50554. y) Yes this is OK (default)
  50555. e) Edit this remote
  50556. d) Delete this remote
  50557. y/e/d> y
  50558. \f[R]
  50559. .fi
  50560. .PP
  50561. Once configured, you can then use \f[C]rclone\f[R] like this:
  50562. .IP \[bu] 2
  50563. List directories in top level of your Sia storage
  50564. .IP
  50565. .nf
  50566. \f[C]
  50567. rclone lsd mySia:
  50568. \f[R]
  50569. .fi
  50570. .IP \[bu] 2
  50571. List all the files in your Sia storage
  50572. .IP
  50573. .nf
  50574. \f[C]
  50575. rclone ls mySia:
  50576. \f[R]
  50577. .fi
  50578. .IP \[bu] 2
  50579. Upload a local directory to the Sia directory called \f[I]backup\f[R]
  50580. .IP
  50581. .nf
  50582. \f[C]
  50583. rclone copy /home/source mySia:backup
  50584. \f[R]
  50585. .fi
  50586. .SS Standard options
  50587. .PP
  50588. Here are the Standard options specific to sia (Sia Decentralized Cloud).
  50589. .SS --sia-api-url
  50590. .PP
  50591. Sia daemon API URL, like http://sia.daemon.host:9980.
  50592. .PP
  50593. Note that siad must run with --disable-api-security to open API port for
  50594. other hosts (not recommended).
  50595. Keep default if Sia daemon runs on localhost.
  50596. .PP
  50597. Properties:
  50598. .IP \[bu] 2
  50599. Config: api_url
  50600. .IP \[bu] 2
  50601. Env Var: RCLONE_SIA_API_URL
  50602. .IP \[bu] 2
  50603. Type: string
  50604. .IP \[bu] 2
  50605. Default: \[dq]http://127.0.0.1:9980\[dq]
  50606. .SS --sia-api-password
  50607. .PP
  50608. Sia Daemon API Password.
  50609. .PP
  50610. Can be found in the apipassword file located in HOME/.sia/ or in the
  50611. daemon directory.
  50612. .PP
  50613. \f[B]NB\f[R] Input to this must be obscured - see rclone
  50614. obscure (https://rclone.org/commands/rclone_obscure/).
  50615. .PP
  50616. Properties:
  50617. .IP \[bu] 2
  50618. Config: api_password
  50619. .IP \[bu] 2
  50620. Env Var: RCLONE_SIA_API_PASSWORD
  50621. .IP \[bu] 2
  50622. Type: string
  50623. .IP \[bu] 2
  50624. Required: false
  50625. .SS Advanced options
  50626. .PP
  50627. Here are the Advanced options specific to sia (Sia Decentralized Cloud).
  50628. .SS --sia-user-agent
  50629. .PP
  50630. Siad User Agent
  50631. .PP
  50632. Sia daemon requires the \[aq]Sia-Agent\[aq] user agent by default for
  50633. security
  50634. .PP
  50635. Properties:
  50636. .IP \[bu] 2
  50637. Config: user_agent
  50638. .IP \[bu] 2
  50639. Env Var: RCLONE_SIA_USER_AGENT
  50640. .IP \[bu] 2
  50641. Type: string
  50642. .IP \[bu] 2
  50643. Default: \[dq]Sia-Agent\[dq]
  50644. .SS --sia-encoding
  50645. .PP
  50646. The encoding for the backend.
  50647. .PP
  50648. See the encoding section in the
  50649. overview (https://rclone.org/overview/#encoding) for more info.
  50650. .PP
  50651. Properties:
  50652. .IP \[bu] 2
  50653. Config: encoding
  50654. .IP \[bu] 2
  50655. Env Var: RCLONE_SIA_ENCODING
  50656. .IP \[bu] 2
  50657. Type: Encoding
  50658. .IP \[bu] 2
  50659. Default: Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot
  50660. .SS --sia-description
  50661. .PP
  50662. Description of the remote
  50663. .PP
  50664. Properties:
  50665. .IP \[bu] 2
  50666. Config: description
  50667. .IP \[bu] 2
  50668. Env Var: RCLONE_SIA_DESCRIPTION
  50669. .IP \[bu] 2
  50670. Type: string
  50671. .IP \[bu] 2
  50672. Required: false
  50673. .SS Limitations
  50674. .IP \[bu] 2
  50675. Modification times not supported
  50676. .IP \[bu] 2
  50677. Checksums not supported
  50678. .IP \[bu] 2
  50679. \f[C]rclone about\f[R] not supported
  50680. .IP \[bu] 2
  50681. rclone can work only with \f[I]Siad\f[R] or \f[I]Sia-UI\f[R] at the
  50682. moment, the \f[B]SkyNet daemon is not supported yet.\f[R]
  50683. .IP \[bu] 2
  50684. Sia does not allow control characters or symbols like question and pound
  50685. signs in file names.
  50686. rclone will transparently encode (https://rclone.org/overview/#encoding)
  50687. them for you, but you\[aq]d better be aware
  50688. .SH Swift
  50689. .PP
  50690. Swift refers to OpenStack Object
  50691. Storage (https://docs.openstack.org/swift/latest/).
  50692. Commercial implementations of that being:
  50693. .IP \[bu] 2
  50694. Rackspace Cloud Files (https://www.rackspace.com/cloud/files/)
  50695. .IP \[bu] 2
  50696. Memset Memstore (https://www.memset.com/cloud/storage/)
  50697. .IP \[bu] 2
  50698. OVH Object
  50699. Storage (https://www.ovh.co.uk/public-cloud/storage/object-storage/)
  50700. .IP \[bu] 2
  50701. Oracle Cloud
  50702. Storage (https://docs.oracle.com/en-us/iaas/integration/doc/configure-object-storage.html)
  50703. .IP \[bu] 2
  50704. Blomp Cloud Storage (https://www.blomp.com/cloud-storage/)
  50705. .IP \[bu] 2
  50706. IBM Bluemix Cloud ObjectStorage
  50707. Swift (https://console.bluemix.net/docs/infrastructure/objectstorage-swift/index.html)
  50708. .PP
  50709. Paths are specified as \f[C]remote:container\f[R] (or \f[C]remote:\f[R]
  50710. for the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g.
  50711. \f[C]remote:container/path/to/dir\f[R].
  50712. .SS Configuration
  50713. .PP
  50714. Here is an example of making a swift configuration.
  50715. First run
  50716. .IP
  50717. .nf
  50718. \f[C]
  50719. rclone config
  50720. \f[R]
  50721. .fi
  50722. .PP
  50723. This will guide you through an interactive setup process.
  50724. .IP
  50725. .nf
  50726. \f[C]
  50727. No remotes found, make a new one?
  50728. n) New remote
  50729. s) Set configuration password
  50730. q) Quit config
  50731. n/s/q> n
  50732. name> remote
  50733. Type of storage to configure.
  50734. Choose a number from below, or type in your own value
  50735. [snip]
  50736. XX / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
  50737. \[rs] \[dq]swift\[dq]
  50738. [snip]
  50739. Storage> swift
  50740. Get swift credentials from environment variables in standard OpenStack form.
  50741. Choose a number from below, or type in your own value
  50742. 1 / Enter swift credentials in the next step
  50743. \[rs] \[dq]false\[dq]
  50744. 2 / Get swift credentials from environment vars. Leave other fields blank if using this.
  50745. \[rs] \[dq]true\[dq]
  50746. env_auth> true
  50747. User name to log in (OS_USERNAME).
  50748. user>
  50749. API key or password (OS_PASSWORD).
  50750. key>
  50751. Authentication URL for server (OS_AUTH_URL).
  50752. Choose a number from below, or type in your own value
  50753. 1 / Rackspace US
  50754. \[rs] \[dq]https://auth.api.rackspacecloud.com/v1.0\[dq]
  50755. 2 / Rackspace UK
  50756. \[rs] \[dq]https://lon.auth.api.rackspacecloud.com/v1.0\[dq]
  50757. 3 / Rackspace v2
  50758. \[rs] \[dq]https://identity.api.rackspacecloud.com/v2.0\[dq]
  50759. 4 / Memset Memstore UK
  50760. \[rs] \[dq]https://auth.storage.memset.com/v1.0\[dq]
  50761. 5 / Memset Memstore UK v2
  50762. \[rs] \[dq]https://auth.storage.memset.com/v2.0\[dq]
  50763. 6 / OVH
  50764. \[rs] \[dq]https://auth.cloud.ovh.net/v3\[dq]
  50765. 7 / Blomp Cloud Storage
  50766. \[rs] \[dq]https://authenticate.ain.net\[dq]
  50767. auth>
  50768. User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
  50769. user_id>
  50770. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  50771. domain>
  50772. Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
  50773. tenant>
  50774. Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
  50775. tenant_id>
  50776. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  50777. tenant_domain>
  50778. Region name - optional (OS_REGION_NAME)
  50779. region>
  50780. Storage URL - optional (OS_STORAGE_URL)
  50781. storage_url>
  50782. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  50783. auth_token>
  50784. AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
  50785. auth_version>
  50786. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
  50787. Choose a number from below, or type in your own value
  50788. 1 / Public (default, choose this if not sure)
  50789. \[rs] \[dq]public\[dq]
  50790. 2 / Internal (use internal service net)
  50791. \[rs] \[dq]internal\[dq]
  50792. 3 / Admin
  50793. \[rs] \[dq]admin\[dq]
  50794. endpoint_type>
  50795. Remote config
  50796. --------------------
  50797. [test]
  50798. env_auth = true
  50799. user =
  50800. key =
  50801. auth =
  50802. user_id =
  50803. domain =
  50804. tenant =
  50805. tenant_id =
  50806. tenant_domain =
  50807. region =
  50808. storage_url =
  50809. auth_token =
  50810. auth_version =
  50811. endpoint_type =
  50812. --------------------
  50813. y) Yes this is OK
  50814. e) Edit this remote
  50815. d) Delete this remote
  50816. y/e/d> y
  50817. \f[R]
  50818. .fi
  50819. .PP
  50820. This remote is called \f[C]remote\f[R] and can now be used like this
  50821. .PP
  50822. See all containers
  50823. .IP
  50824. .nf
  50825. \f[C]
  50826. rclone lsd remote:
  50827. \f[R]
  50828. .fi
  50829. .PP
  50830. Make a new container
  50831. .IP
  50832. .nf
  50833. \f[C]
  50834. rclone mkdir remote:container
  50835. \f[R]
  50836. .fi
  50837. .PP
  50838. List the contents of a container
  50839. .IP
  50840. .nf
  50841. \f[C]
  50842. rclone ls remote:container
  50843. \f[R]
  50844. .fi
  50845. .PP
  50846. Sync \f[C]/home/local/directory\f[R] to the remote container, deleting
  50847. any excess files in the container.
  50848. .IP
  50849. .nf
  50850. \f[C]
  50851. rclone sync --interactive /home/local/directory remote:container
  50852. \f[R]
  50853. .fi
  50854. .SS Configuration from an OpenStack credentials file
  50855. .PP
  50856. An OpenStack credentials file typically looks something something like
  50857. this (without the comments)
  50858. .IP
  50859. .nf
  50860. \f[C]
  50861. export OS_AUTH_URL=https://a.provider.net/v2.0
  50862. export OS_TENANT_ID=ffffffffffffffffffffffffffffffff
  50863. export OS_TENANT_NAME=\[dq]1234567890123456\[dq]
  50864. export OS_USERNAME=\[dq]123abc567xy\[dq]
  50865. echo \[dq]Please enter your OpenStack Password: \[dq]
  50866. read -sr OS_PASSWORD_INPUT
  50867. export OS_PASSWORD=$OS_PASSWORD_INPUT
  50868. export OS_REGION_NAME=\[dq]SBG1\[dq]
  50869. if [ -z \[dq]$OS_REGION_NAME\[dq] ]; then unset OS_REGION_NAME; fi
  50870. \f[R]
  50871. .fi
  50872. .PP
  50873. The config file needs to look something like this where
  50874. \f[C]$OS_USERNAME\f[R] represents the value of the \f[C]OS_USERNAME\f[R]
  50875. variable - \f[C]123abc567xy\f[R] in the example above.
  50876. .IP
  50877. .nf
  50878. \f[C]
  50879. [remote]
  50880. type = swift
  50881. user = $OS_USERNAME
  50882. key = $OS_PASSWORD
  50883. auth = $OS_AUTH_URL
  50884. tenant = $OS_TENANT_NAME
  50885. \f[R]
  50886. .fi
  50887. .PP
  50888. Note that you may (or may not) need to set \f[C]region\f[R] too - try
  50889. without first.
  50890. .SS Configuration from the environment
  50891. .PP
  50892. If you prefer you can configure rclone to use swift using a standard set
  50893. of OpenStack environment variables.
  50894. .PP
  50895. When you run through the config, make sure you choose \f[C]true\f[R] for
  50896. \f[C]env_auth\f[R] and leave everything else blank.
  50897. .PP
  50898. rclone will then set any empty config parameters from the environment
  50899. using standard OpenStack environment variables.
  50900. There is a list of the
  50901. variables (https://godoc.org/github.com/ncw/swift#Connection.ApplyEnvironment)
  50902. in the docs for the swift library.
  50903. .SS Using an alternate authentication method
  50904. .PP
  50905. If your OpenStack installation uses a non-standard authentication method
  50906. that might not be yet supported by rclone or the underlying swift
  50907. library, you can authenticate externally (e.g.
  50908. calling manually the \f[C]openstack\f[R] commands to get a token).
  50909. Then, you just need to pass the two configuration variables
  50910. \f[C]auth_token\f[R] and \f[C]storage_url\f[R].
  50911. If they are both provided, the other variables are ignored.
  50912. rclone will not try to authenticate but instead assume it is already
  50913. authenticated and use these two variables to access the OpenStack
  50914. installation.
  50915. .SS Using rclone without a config file
  50916. .PP
  50917. You can use rclone with swift without a config file, if desired, like
  50918. this:
  50919. .IP
  50920. .nf
  50921. \f[C]
  50922. source openstack-credentials-file
  50923. export RCLONE_CONFIG_MYREMOTE_TYPE=swift
  50924. export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true
  50925. rclone lsd myremote:
  50926. \f[R]
  50927. .fi
  50928. .SS --fast-list
  50929. .PP
  50930. This remote supports \f[C]--fast-list\f[R] which allows you to use fewer
  50931. transactions in exchange for more memory.
  50932. See the rclone docs (https://rclone.org/docs/#fast-list) for more
  50933. details.
  50934. .SS --update and --use-server-modtime
  50935. .PP
  50936. As noted below, the modified time is stored on metadata on the object.
  50937. It is used by default for all operations that require checking the time
  50938. a file was last updated.
  50939. It allows rclone to treat the remote more like a true filesystem, but it
  50940. is inefficient because it requires an extra API call to retrieve the
  50941. metadata.
  50942. .PP
  50943. For many operations, the time the object was last uploaded to the remote
  50944. is sufficient to determine if it is \[dq]dirty\[dq].
  50945. By using \f[C]--update\f[R] along with \f[C]--use-server-modtime\f[R],
  50946. you can avoid the extra API call and simply upload files whose local
  50947. modtime is newer than the time it was last uploaded.
  50948. .SS Modification times and hashes
  50949. .PP
  50950. The modified time is stored as metadata on the object as
  50951. \f[C]X-Object-Meta-Mtime\f[R] as floating point since the epoch accurate
  50952. to 1 ns.
  50953. .PP
  50954. This is a de facto standard (used in the official python-swiftclient
  50955. amongst others) for storing the modification time for an object.
  50956. .PP
  50957. The MD5 hash algorithm is supported.
  50958. .SS Restricted filename characters
  50959. .PP
  50960. .TS
  50961. tab(@);
  50962. l c c.
  50963. T{
  50964. Character
  50965. T}@T{
  50966. Value
  50967. T}@T{
  50968. Replacement
  50969. T}
  50970. _
  50971. T{
  50972. NUL
  50973. T}@T{
  50974. 0x00
  50975. T}@T{
  50976. \[u2400]
  50977. T}
  50978. T{
  50979. /
  50980. T}@T{
  50981. 0x2F
  50982. T}@T{
  50983. \[uFF0F]
  50984. T}
  50985. .TE
  50986. .PP
  50987. Invalid UTF-8 bytes will also be
  50988. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  50989. be used in JSON strings.
  50990. .SS Standard options
  50991. .PP
  50992. Here are the Standard options specific to swift (OpenStack Swift
  50993. (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)).
  50994. .SS --swift-env-auth
  50995. .PP
  50996. Get swift credentials from environment variables in standard OpenStack
  50997. form.
  50998. .PP
  50999. Properties:
  51000. .IP \[bu] 2
  51001. Config: env_auth
  51002. .IP \[bu] 2
  51003. Env Var: RCLONE_SWIFT_ENV_AUTH
  51004. .IP \[bu] 2
  51005. Type: bool
  51006. .IP \[bu] 2
  51007. Default: false
  51008. .IP \[bu] 2
  51009. Examples:
  51010. .RS 2
  51011. .IP \[bu] 2
  51012. \[dq]false\[dq]
  51013. .RS 2
  51014. .IP \[bu] 2
  51015. Enter swift credentials in the next step.
  51016. .RE
  51017. .IP \[bu] 2
  51018. \[dq]true\[dq]
  51019. .RS 2
  51020. .IP \[bu] 2
  51021. Get swift credentials from environment vars.
  51022. .IP \[bu] 2
  51023. Leave other fields blank if using this.
  51024. .RE
  51025. .RE
  51026. .SS --swift-user
  51027. .PP
  51028. User name to log in (OS_USERNAME).
  51029. .PP
  51030. Properties:
  51031. .IP \[bu] 2
  51032. Config: user
  51033. .IP \[bu] 2
  51034. Env Var: RCLONE_SWIFT_USER
  51035. .IP \[bu] 2
  51036. Type: string
  51037. .IP \[bu] 2
  51038. Required: false
  51039. .SS --swift-key
  51040. .PP
  51041. API key or password (OS_PASSWORD).
  51042. .PP
  51043. Properties:
  51044. .IP \[bu] 2
  51045. Config: key
  51046. .IP \[bu] 2
  51047. Env Var: RCLONE_SWIFT_KEY
  51048. .IP \[bu] 2
  51049. Type: string
  51050. .IP \[bu] 2
  51051. Required: false
  51052. .SS --swift-auth
  51053. .PP
  51054. Authentication URL for server (OS_AUTH_URL).
  51055. .PP
  51056. Properties:
  51057. .IP \[bu] 2
  51058. Config: auth
  51059. .IP \[bu] 2
  51060. Env Var: RCLONE_SWIFT_AUTH
  51061. .IP \[bu] 2
  51062. Type: string
  51063. .IP \[bu] 2
  51064. Required: false
  51065. .IP \[bu] 2
  51066. Examples:
  51067. .RS 2
  51068. .IP \[bu] 2
  51069. \[dq]https://auth.api.rackspacecloud.com/v1.0\[dq]
  51070. .RS 2
  51071. .IP \[bu] 2
  51072. Rackspace US
  51073. .RE
  51074. .IP \[bu] 2
  51075. \[dq]https://lon.auth.api.rackspacecloud.com/v1.0\[dq]
  51076. .RS 2
  51077. .IP \[bu] 2
  51078. Rackspace UK
  51079. .RE
  51080. .IP \[bu] 2
  51081. \[dq]https://identity.api.rackspacecloud.com/v2.0\[dq]
  51082. .RS 2
  51083. .IP \[bu] 2
  51084. Rackspace v2
  51085. .RE
  51086. .IP \[bu] 2
  51087. \[dq]https://auth.storage.memset.com/v1.0\[dq]
  51088. .RS 2
  51089. .IP \[bu] 2
  51090. Memset Memstore UK
  51091. .RE
  51092. .IP \[bu] 2
  51093. \[dq]https://auth.storage.memset.com/v2.0\[dq]
  51094. .RS 2
  51095. .IP \[bu] 2
  51096. Memset Memstore UK v2
  51097. .RE
  51098. .IP \[bu] 2
  51099. \[dq]https://auth.cloud.ovh.net/v3\[dq]
  51100. .RS 2
  51101. .IP \[bu] 2
  51102. OVH
  51103. .RE
  51104. .IP \[bu] 2
  51105. \[dq]https://authenticate.ain.net\[dq]
  51106. .RS 2
  51107. .IP \[bu] 2
  51108. Blomp Cloud Storage
  51109. .RE
  51110. .RE
  51111. .SS --swift-user-id
  51112. .PP
  51113. User ID to log in - optional - most swift systems use user and leave
  51114. this blank (v3 auth) (OS_USER_ID).
  51115. .PP
  51116. Properties:
  51117. .IP \[bu] 2
  51118. Config: user_id
  51119. .IP \[bu] 2
  51120. Env Var: RCLONE_SWIFT_USER_ID
  51121. .IP \[bu] 2
  51122. Type: string
  51123. .IP \[bu] 2
  51124. Required: false
  51125. .SS --swift-domain
  51126. .PP
  51127. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  51128. .PP
  51129. Properties:
  51130. .IP \[bu] 2
  51131. Config: domain
  51132. .IP \[bu] 2
  51133. Env Var: RCLONE_SWIFT_DOMAIN
  51134. .IP \[bu] 2
  51135. Type: string
  51136. .IP \[bu] 2
  51137. Required: false
  51138. .SS --swift-tenant
  51139. .PP
  51140. Tenant name - optional for v1 auth, this or tenant_id required otherwise
  51141. (OS_TENANT_NAME or OS_PROJECT_NAME).
  51142. .PP
  51143. Properties:
  51144. .IP \[bu] 2
  51145. Config: tenant
  51146. .IP \[bu] 2
  51147. Env Var: RCLONE_SWIFT_TENANT
  51148. .IP \[bu] 2
  51149. Type: string
  51150. .IP \[bu] 2
  51151. Required: false
  51152. .SS --swift-tenant-id
  51153. .PP
  51154. Tenant ID - optional for v1 auth, this or tenant required otherwise
  51155. (OS_TENANT_ID).
  51156. .PP
  51157. Properties:
  51158. .IP \[bu] 2
  51159. Config: tenant_id
  51160. .IP \[bu] 2
  51161. Env Var: RCLONE_SWIFT_TENANT_ID
  51162. .IP \[bu] 2
  51163. Type: string
  51164. .IP \[bu] 2
  51165. Required: false
  51166. .SS --swift-tenant-domain
  51167. .PP
  51168. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME).
  51169. .PP
  51170. Properties:
  51171. .IP \[bu] 2
  51172. Config: tenant_domain
  51173. .IP \[bu] 2
  51174. Env Var: RCLONE_SWIFT_TENANT_DOMAIN
  51175. .IP \[bu] 2
  51176. Type: string
  51177. .IP \[bu] 2
  51178. Required: false
  51179. .SS --swift-region
  51180. .PP
  51181. Region name - optional (OS_REGION_NAME).
  51182. .PP
  51183. Properties:
  51184. .IP \[bu] 2
  51185. Config: region
  51186. .IP \[bu] 2
  51187. Env Var: RCLONE_SWIFT_REGION
  51188. .IP \[bu] 2
  51189. Type: string
  51190. .IP \[bu] 2
  51191. Required: false
  51192. .SS --swift-storage-url
  51193. .PP
  51194. Storage URL - optional (OS_STORAGE_URL).
  51195. .PP
  51196. Properties:
  51197. .IP \[bu] 2
  51198. Config: storage_url
  51199. .IP \[bu] 2
  51200. Env Var: RCLONE_SWIFT_STORAGE_URL
  51201. .IP \[bu] 2
  51202. Type: string
  51203. .IP \[bu] 2
  51204. Required: false
  51205. .SS --swift-auth-token
  51206. .PP
  51207. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN).
  51208. .PP
  51209. Properties:
  51210. .IP \[bu] 2
  51211. Config: auth_token
  51212. .IP \[bu] 2
  51213. Env Var: RCLONE_SWIFT_AUTH_TOKEN
  51214. .IP \[bu] 2
  51215. Type: string
  51216. .IP \[bu] 2
  51217. Required: false
  51218. .SS --swift-application-credential-id
  51219. .PP
  51220. Application Credential ID (OS_APPLICATION_CREDENTIAL_ID).
  51221. .PP
  51222. Properties:
  51223. .IP \[bu] 2
  51224. Config: application_credential_id
  51225. .IP \[bu] 2
  51226. Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID
  51227. .IP \[bu] 2
  51228. Type: string
  51229. .IP \[bu] 2
  51230. Required: false
  51231. .SS --swift-application-credential-name
  51232. .PP
  51233. Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME).
  51234. .PP
  51235. Properties:
  51236. .IP \[bu] 2
  51237. Config: application_credential_name
  51238. .IP \[bu] 2
  51239. Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME
  51240. .IP \[bu] 2
  51241. Type: string
  51242. .IP \[bu] 2
  51243. Required: false
  51244. .SS --swift-application-credential-secret
  51245. .PP
  51246. Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET).
  51247. .PP
  51248. Properties:
  51249. .IP \[bu] 2
  51250. Config: application_credential_secret
  51251. .IP \[bu] 2
  51252. Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET
  51253. .IP \[bu] 2
  51254. Type: string
  51255. .IP \[bu] 2
  51256. Required: false
  51257. .SS --swift-auth-version
  51258. .PP
  51259. AuthVersion - optional - set to (1,2,3) if your auth URL has no version
  51260. (ST_AUTH_VERSION).
  51261. .PP
  51262. Properties:
  51263. .IP \[bu] 2
  51264. Config: auth_version
  51265. .IP \[bu] 2
  51266. Env Var: RCLONE_SWIFT_AUTH_VERSION
  51267. .IP \[bu] 2
  51268. Type: int
  51269. .IP \[bu] 2
  51270. Default: 0
  51271. .SS --swift-endpoint-type
  51272. .PP
  51273. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE).
  51274. .PP
  51275. Properties:
  51276. .IP \[bu] 2
  51277. Config: endpoint_type
  51278. .IP \[bu] 2
  51279. Env Var: RCLONE_SWIFT_ENDPOINT_TYPE
  51280. .IP \[bu] 2
  51281. Type: string
  51282. .IP \[bu] 2
  51283. Default: \[dq]public\[dq]
  51284. .IP \[bu] 2
  51285. Examples:
  51286. .RS 2
  51287. .IP \[bu] 2
  51288. \[dq]public\[dq]
  51289. .RS 2
  51290. .IP \[bu] 2
  51291. Public (default, choose this if not sure)
  51292. .RE
  51293. .IP \[bu] 2
  51294. \[dq]internal\[dq]
  51295. .RS 2
  51296. .IP \[bu] 2
  51297. Internal (use internal service net)
  51298. .RE
  51299. .IP \[bu] 2
  51300. \[dq]admin\[dq]
  51301. .RS 2
  51302. .IP \[bu] 2
  51303. Admin
  51304. .RE
  51305. .RE
  51306. .SS --swift-storage-policy
  51307. .PP
  51308. The storage policy to use when creating a new container.
  51309. .PP
  51310. This applies the specified storage policy when creating a new container.
  51311. The policy cannot be changed afterwards.
  51312. The allowed configuration values and their meaning depend on your Swift
  51313. storage provider.
  51314. .PP
  51315. Properties:
  51316. .IP \[bu] 2
  51317. Config: storage_policy
  51318. .IP \[bu] 2
  51319. Env Var: RCLONE_SWIFT_STORAGE_POLICY
  51320. .IP \[bu] 2
  51321. Type: string
  51322. .IP \[bu] 2
  51323. Required: false
  51324. .IP \[bu] 2
  51325. Examples:
  51326. .RS 2
  51327. .IP \[bu] 2
  51328. \[dq]\[dq]
  51329. .RS 2
  51330. .IP \[bu] 2
  51331. Default
  51332. .RE
  51333. .IP \[bu] 2
  51334. \[dq]pcs\[dq]
  51335. .RS 2
  51336. .IP \[bu] 2
  51337. OVH Public Cloud Storage
  51338. .RE
  51339. .IP \[bu] 2
  51340. \[dq]pca\[dq]
  51341. .RS 2
  51342. .IP \[bu] 2
  51343. OVH Public Cloud Archive
  51344. .RE
  51345. .RE
  51346. .SS Advanced options
  51347. .PP
  51348. Here are the Advanced options specific to swift (OpenStack Swift
  51349. (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)).
  51350. .SS --swift-leave-parts-on-error
  51351. .PP
  51352. If true avoid calling abort upload on a failure.
  51353. .PP
  51354. It should be set to true for resuming uploads across different sessions.
  51355. .PP
  51356. Properties:
  51357. .IP \[bu] 2
  51358. Config: leave_parts_on_error
  51359. .IP \[bu] 2
  51360. Env Var: RCLONE_SWIFT_LEAVE_PARTS_ON_ERROR
  51361. .IP \[bu] 2
  51362. Type: bool
  51363. .IP \[bu] 2
  51364. Default: false
  51365. .SS --swift-chunk-size
  51366. .PP
  51367. Above this size files will be chunked into a _segments container.
  51368. .PP
  51369. Above this size files will be chunked into a _segments container.
  51370. The default for this is 5 GiB which is its maximum value.
  51371. .PP
  51372. Properties:
  51373. .IP \[bu] 2
  51374. Config: chunk_size
  51375. .IP \[bu] 2
  51376. Env Var: RCLONE_SWIFT_CHUNK_SIZE
  51377. .IP \[bu] 2
  51378. Type: SizeSuffix
  51379. .IP \[bu] 2
  51380. Default: 5Gi
  51381. .SS --swift-no-chunk
  51382. .PP
  51383. Don\[aq]t chunk files during streaming upload.
  51384. .PP
  51385. When doing streaming uploads (e.g.
  51386. using rcat or mount) setting this flag will cause the swift backend to
  51387. not upload chunked files.
  51388. .PP
  51389. This will limit the maximum upload size to 5 GiB.
  51390. However non chunked files are easier to deal with and have an MD5SUM.
  51391. .PP
  51392. Rclone will still chunk files bigger than chunk_size when doing normal
  51393. copy operations.
  51394. .PP
  51395. Properties:
  51396. .IP \[bu] 2
  51397. Config: no_chunk
  51398. .IP \[bu] 2
  51399. Env Var: RCLONE_SWIFT_NO_CHUNK
  51400. .IP \[bu] 2
  51401. Type: bool
  51402. .IP \[bu] 2
  51403. Default: false
  51404. .SS --swift-no-large-objects
  51405. .PP
  51406. Disable support for static and dynamic large objects
  51407. .PP
  51408. Swift cannot transparently store files bigger than 5 GiB.
  51409. There are two schemes for doing that, static or dynamic large objects,
  51410. and the API does not allow rclone to determine whether a file is a
  51411. static or dynamic large object without doing a HEAD on the object.
  51412. Since these need to be treated differently, this means rclone has to
  51413. issue HEAD requests for objects for example when reading checksums.
  51414. .PP
  51415. When \f[C]no_large_objects\f[R] is set, rclone will assume that there
  51416. are no static or dynamic large objects stored.
  51417. This means it can stop doing the extra HEAD calls which in turn
  51418. increases performance greatly especially when doing a swift to swift
  51419. transfer with \f[C]--checksum\f[R] set.
  51420. .PP
  51421. Setting this option implies \f[C]no_chunk\f[R] and also that no files
  51422. will be uploaded in chunks, so files bigger than 5 GiB will just fail on
  51423. upload.
  51424. .PP
  51425. If you set this option and there \f[I]are\f[R] static or dynamic large
  51426. objects, then this will give incorrect hashes for them.
  51427. Downloads will succeed, but other operations such as Remove and Copy
  51428. will fail.
  51429. .PP
  51430. Properties:
  51431. .IP \[bu] 2
  51432. Config: no_large_objects
  51433. .IP \[bu] 2
  51434. Env Var: RCLONE_SWIFT_NO_LARGE_OBJECTS
  51435. .IP \[bu] 2
  51436. Type: bool
  51437. .IP \[bu] 2
  51438. Default: false
  51439. .SS --swift-encoding
  51440. .PP
  51441. The encoding for the backend.
  51442. .PP
  51443. See the encoding section in the
  51444. overview (https://rclone.org/overview/#encoding) for more info.
  51445. .PP
  51446. Properties:
  51447. .IP \[bu] 2
  51448. Config: encoding
  51449. .IP \[bu] 2
  51450. Env Var: RCLONE_SWIFT_ENCODING
  51451. .IP \[bu] 2
  51452. Type: Encoding
  51453. .IP \[bu] 2
  51454. Default: Slash,InvalidUtf8
  51455. .SS --swift-description
  51456. .PP
  51457. Description of the remote
  51458. .PP
  51459. Properties:
  51460. .IP \[bu] 2
  51461. Config: description
  51462. .IP \[bu] 2
  51463. Env Var: RCLONE_SWIFT_DESCRIPTION
  51464. .IP \[bu] 2
  51465. Type: string
  51466. .IP \[bu] 2
  51467. Required: false
  51468. .SS Limitations
  51469. .PP
  51470. The Swift API doesn\[aq]t return a correct MD5SUM for segmented files
  51471. (Dynamic or Static Large Objects) so rclone won\[aq]t check or use the
  51472. MD5SUM for these.
  51473. .SS Troubleshooting
  51474. .SS Rclone gives Failed to create file system for \[dq]remote:\[dq]: Bad Request
  51475. .PP
  51476. Due to an oddity of the underlying swift library, it gives a \[dq]Bad
  51477. Request\[dq] error rather than a more sensible error when the
  51478. authentication fails for Swift.
  51479. .PP
  51480. So this most likely means your username / password is wrong.
  51481. You can investigate further with the \f[C]--dump-bodies\f[R] flag.
  51482. .PP
  51483. This may also be caused by specifying the region when you shouldn\[aq]t
  51484. have (e.g.
  51485. OVH).
  51486. .SS Rclone gives Failed to create file system: Response didn\[aq]t have storage url and auth token
  51487. .PP
  51488. This is most likely caused by forgetting to specify your tenant when
  51489. setting up a swift remote.
  51490. .SS OVH Cloud Archive
  51491. .PP
  51492. To use rclone with OVH cloud archive, first use \f[C]rclone config\f[R]
  51493. to set up a \f[C]swift\f[R] backend with OVH, choosing \f[C]pca\f[R] as
  51494. the \f[C]storage_policy\f[R].
  51495. .SS Uploading Objects
  51496. .PP
  51497. Uploading objects to OVH cloud archive is no different to object
  51498. storage, you just simply run the command you like (move, copy or sync)
  51499. to upload the objects.
  51500. Once uploaded the objects will show in a \[dq]Frozen\[dq] state within
  51501. the OVH control panel.
  51502. .SS Retrieving Objects
  51503. .PP
  51504. To retrieve objects use \f[C]rclone copy\f[R] as normal.
  51505. If the objects are in a frozen state then rclone will ask for them all
  51506. to be unfrozen and it will wait at the end of the output with a message
  51507. like the following:
  51508. .PP
  51509. \f[C]2019/03/23 13:06:33 NOTICE: Received retry after error - sleeping until 2019-03-23T13:16:33.481657164+01:00 (9m59.99985121s)\f[R]
  51510. .PP
  51511. Rclone will wait for the time specified then retry the copy.
  51512. .SH pCloud
  51513. .PP
  51514. Paths are specified as \f[C]remote:path\f[R]
  51515. .PP
  51516. Paths may be as deep as required, e.g.
  51517. \f[C]remote:directory/subdirectory\f[R].
  51518. .SS Configuration
  51519. .PP
  51520. The initial setup for pCloud involves getting a token from pCloud which
  51521. you need to do in your browser.
  51522. \f[C]rclone config\f[R] walks you through it.
  51523. .PP
  51524. Here is an example of how to make a remote called \f[C]remote\f[R].
  51525. First run:
  51526. .IP
  51527. .nf
  51528. \f[C]
  51529. rclone config
  51530. \f[R]
  51531. .fi
  51532. .PP
  51533. This will guide you through an interactive setup process:
  51534. .IP
  51535. .nf
  51536. \f[C]
  51537. No remotes found, make a new one?
  51538. n) New remote
  51539. s) Set configuration password
  51540. q) Quit config
  51541. n/s/q> n
  51542. name> remote
  51543. Type of storage to configure.
  51544. Choose a number from below, or type in your own value
  51545. [snip]
  51546. XX / Pcloud
  51547. \[rs] \[dq]pcloud\[dq]
  51548. [snip]
  51549. Storage> pcloud
  51550. Pcloud App Client Id - leave blank normally.
  51551. client_id>
  51552. Pcloud App Client Secret - leave blank normally.
  51553. client_secret>
  51554. Remote config
  51555. Use web browser to automatically authenticate rclone with remote?
  51556. * Say Y if the machine running rclone has a web browser you can use
  51557. * Say N if running rclone on a (remote) machine without web browser access
  51558. If not sure try Y. If Y failed, try N.
  51559. y) Yes
  51560. n) No
  51561. y/n> y
  51562. If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth
  51563. Log in and authorize rclone for access
  51564. Waiting for code...
  51565. Got code
  51566. --------------------
  51567. [remote]
  51568. client_id =
  51569. client_secret =
  51570. token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]expiry\[dq]:\[dq]0001-01-01T00:00:00Z\[dq]}
  51571. --------------------
  51572. y) Yes this is OK
  51573. e) Edit this remote
  51574. d) Delete this remote
  51575. y/e/d> y
  51576. \f[R]
  51577. .fi
  51578. .PP
  51579. See the remote setup docs (https://rclone.org/remote_setup/) for how to
  51580. set it up on a machine with no Internet browser available.
  51581. .PP
  51582. Note that rclone runs a webserver on your local machine to collect the
  51583. token as returned from pCloud.
  51584. This only runs from the moment it opens your browser to the moment you
  51585. get back the verification code.
  51586. This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you
  51587. to unblock it temporarily if you are running a host firewall.
  51588. .PP
  51589. Once configured you can then use \f[C]rclone\f[R] like this,
  51590. .PP
  51591. List directories in top level of your pCloud
  51592. .IP
  51593. .nf
  51594. \f[C]
  51595. rclone lsd remote:
  51596. \f[R]
  51597. .fi
  51598. .PP
  51599. List all the files in your pCloud
  51600. .IP
  51601. .nf
  51602. \f[C]
  51603. rclone ls remote:
  51604. \f[R]
  51605. .fi
  51606. .PP
  51607. To copy a local directory to a pCloud directory called backup
  51608. .IP
  51609. .nf
  51610. \f[C]
  51611. rclone copy /home/source remote:backup
  51612. \f[R]
  51613. .fi
  51614. .SS Modification times and hashes
  51615. .PP
  51616. pCloud allows modification times to be set on objects accurate to 1
  51617. second.
  51618. These will be used to detect whether objects need syncing or not.
  51619. In order to set a Modification time pCloud requires the object be
  51620. re-uploaded.
  51621. .PP
  51622. pCloud supports MD5 and SHA1 hashes in the US region, and SHA1 and
  51623. SHA256 hashes in the EU region, so you can use the \f[C]--checksum\f[R]
  51624. flag.
  51625. .SS Restricted filename characters
  51626. .PP
  51627. In addition to the default restricted characters
  51628. set (https://rclone.org/overview/#restricted-characters) the following
  51629. characters are also replaced:
  51630. .PP
  51631. .TS
  51632. tab(@);
  51633. l c c.
  51634. T{
  51635. Character
  51636. T}@T{
  51637. Value
  51638. T}@T{
  51639. Replacement
  51640. T}
  51641. _
  51642. T{
  51643. \[rs]
  51644. T}@T{
  51645. 0x5C
  51646. T}@T{
  51647. \[uFF3C]
  51648. T}
  51649. .TE
  51650. .PP
  51651. Invalid UTF-8 bytes will also be
  51652. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  51653. be used in JSON strings.
  51654. .SS Deleting files
  51655. .PP
  51656. Deleted files will be moved to the trash.
  51657. Your subscription level will determine how long items stay in the trash.
  51658. \f[C]rclone cleanup\f[R] can be used to empty the trash.
  51659. .SS Emptying the trash
  51660. .PP
  51661. Due to an API limitation, the \f[C]rclone cleanup\f[R] command will only
  51662. work if you set your username and password in the advanced options for
  51663. this backend.
  51664. Since we generally want to avoid storing user passwords in the rclone
  51665. config file, we advise you to only set this up if you need the
  51666. \f[C]rclone cleanup\f[R] command to work.
  51667. .SS Root folder ID
  51668. .PP
  51669. You can set the \f[C]root_folder_id\f[R] for rclone.
  51670. This is the directory (identified by its \f[C]Folder ID\f[R]) that
  51671. rclone considers to be the root of your pCloud drive.
  51672. .PP
  51673. Normally you will leave this blank and rclone will determine the correct
  51674. root to use itself.
  51675. .PP
  51676. However you can set this to restrict rclone to a specific folder
  51677. hierarchy.
  51678. .PP
  51679. In order to do this you will have to find the \f[C]Folder ID\f[R] of the
  51680. directory you wish rclone to display.
  51681. This will be the \f[C]folder\f[R] field of the URL when you open the
  51682. relevant folder in the pCloud web interface.
  51683. .PP
  51684. So if the folder you want rclone to use has a URL which looks like
  51685. \f[C]https://my.pcloud.com/#page=filemanager&folder=5xxxxxxxx8&tpl=foldergrid\f[R]
  51686. in the browser, then you use \f[C]5xxxxxxxx8\f[R] as the
  51687. \f[C]root_folder_id\f[R] in the config.
  51688. .SS Standard options
  51689. .PP
  51690. Here are the Standard options specific to pcloud (Pcloud).
  51691. .SS --pcloud-client-id
  51692. .PP
  51693. OAuth Client Id.
  51694. .PP
  51695. Leave blank normally.
  51696. .PP
  51697. Properties:
  51698. .IP \[bu] 2
  51699. Config: client_id
  51700. .IP \[bu] 2
  51701. Env Var: RCLONE_PCLOUD_CLIENT_ID
  51702. .IP \[bu] 2
  51703. Type: string
  51704. .IP \[bu] 2
  51705. Required: false
  51706. .SS --pcloud-client-secret
  51707. .PP
  51708. OAuth Client Secret.
  51709. .PP
  51710. Leave blank normally.
  51711. .PP
  51712. Properties:
  51713. .IP \[bu] 2
  51714. Config: client_secret
  51715. .IP \[bu] 2
  51716. Env Var: RCLONE_PCLOUD_CLIENT_SECRET
  51717. .IP \[bu] 2
  51718. Type: string
  51719. .IP \[bu] 2
  51720. Required: false
  51721. .SS Advanced options
  51722. .PP
  51723. Here are the Advanced options specific to pcloud (Pcloud).
  51724. .SS --pcloud-token
  51725. .PP
  51726. OAuth Access Token as a JSON blob.
  51727. .PP
  51728. Properties:
  51729. .IP \[bu] 2
  51730. Config: token
  51731. .IP \[bu] 2
  51732. Env Var: RCLONE_PCLOUD_TOKEN
  51733. .IP \[bu] 2
  51734. Type: string
  51735. .IP \[bu] 2
  51736. Required: false
  51737. .SS --pcloud-auth-url
  51738. .PP
  51739. Auth server URL.
  51740. .PP
  51741. Leave blank to use the provider defaults.
  51742. .PP
  51743. Properties:
  51744. .IP \[bu] 2
  51745. Config: auth_url
  51746. .IP \[bu] 2
  51747. Env Var: RCLONE_PCLOUD_AUTH_URL
  51748. .IP \[bu] 2
  51749. Type: string
  51750. .IP \[bu] 2
  51751. Required: false
  51752. .SS --pcloud-token-url
  51753. .PP
  51754. Token server url.
  51755. .PP
  51756. Leave blank to use the provider defaults.
  51757. .PP
  51758. Properties:
  51759. .IP \[bu] 2
  51760. Config: token_url
  51761. .IP \[bu] 2
  51762. Env Var: RCLONE_PCLOUD_TOKEN_URL
  51763. .IP \[bu] 2
  51764. Type: string
  51765. .IP \[bu] 2
  51766. Required: false
  51767. .SS --pcloud-encoding
  51768. .PP
  51769. The encoding for the backend.
  51770. .PP
  51771. See the encoding section in the
  51772. overview (https://rclone.org/overview/#encoding) for more info.
  51773. .PP
  51774. Properties:
  51775. .IP \[bu] 2
  51776. Config: encoding
  51777. .IP \[bu] 2
  51778. Env Var: RCLONE_PCLOUD_ENCODING
  51779. .IP \[bu] 2
  51780. Type: Encoding
  51781. .IP \[bu] 2
  51782. Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  51783. .SS --pcloud-root-folder-id
  51784. .PP
  51785. Fill in for rclone to use a non root folder as its starting point.
  51786. .PP
  51787. Properties:
  51788. .IP \[bu] 2
  51789. Config: root_folder_id
  51790. .IP \[bu] 2
  51791. Env Var: RCLONE_PCLOUD_ROOT_FOLDER_ID
  51792. .IP \[bu] 2
  51793. Type: string
  51794. .IP \[bu] 2
  51795. Default: \[dq]d0\[dq]
  51796. .SS --pcloud-hostname
  51797. .PP
  51798. Hostname to connect to.
  51799. .PP
  51800. This is normally set when rclone initially does the oauth connection,
  51801. however you will need to set it by hand if you are using remote config
  51802. with rclone authorize.
  51803. .PP
  51804. Properties:
  51805. .IP \[bu] 2
  51806. Config: hostname
  51807. .IP \[bu] 2
  51808. Env Var: RCLONE_PCLOUD_HOSTNAME
  51809. .IP \[bu] 2
  51810. Type: string
  51811. .IP \[bu] 2
  51812. Default: \[dq]api.pcloud.com\[dq]
  51813. .IP \[bu] 2
  51814. Examples:
  51815. .RS 2
  51816. .IP \[bu] 2
  51817. \[dq]api.pcloud.com\[dq]
  51818. .RS 2
  51819. .IP \[bu] 2
  51820. Original/US region
  51821. .RE
  51822. .IP \[bu] 2
  51823. \[dq]eapi.pcloud.com\[dq]
  51824. .RS 2
  51825. .IP \[bu] 2
  51826. EU region
  51827. .RE
  51828. .RE
  51829. .SS --pcloud-username
  51830. .PP
  51831. Your pcloud username.
  51832. .PP
  51833. This is only required when you want to use the cleanup command.
  51834. Due to a bug in the pcloud API the required API does not support OAuth
  51835. authentication so we have to rely on user password authentication for
  51836. it.
  51837. .PP
  51838. Properties:
  51839. .IP \[bu] 2
  51840. Config: username
  51841. .IP \[bu] 2
  51842. Env Var: RCLONE_PCLOUD_USERNAME
  51843. .IP \[bu] 2
  51844. Type: string
  51845. .IP \[bu] 2
  51846. Required: false
  51847. .SS --pcloud-password
  51848. .PP
  51849. Your pcloud password.
  51850. .PP
  51851. \f[B]NB\f[R] Input to this must be obscured - see rclone
  51852. obscure (https://rclone.org/commands/rclone_obscure/).
  51853. .PP
  51854. Properties:
  51855. .IP \[bu] 2
  51856. Config: password
  51857. .IP \[bu] 2
  51858. Env Var: RCLONE_PCLOUD_PASSWORD
  51859. .IP \[bu] 2
  51860. Type: string
  51861. .IP \[bu] 2
  51862. Required: false
  51863. .SS --pcloud-description
  51864. .PP
  51865. Description of the remote
  51866. .PP
  51867. Properties:
  51868. .IP \[bu] 2
  51869. Config: description
  51870. .IP \[bu] 2
  51871. Env Var: RCLONE_PCLOUD_DESCRIPTION
  51872. .IP \[bu] 2
  51873. Type: string
  51874. .IP \[bu] 2
  51875. Required: false
  51876. .SH PikPak
  51877. .PP
  51878. PikPak is a private cloud drive (https://mypikpak.com/).
  51879. .PP
  51880. Paths are specified as \f[C]remote:path\f[R], and may be as deep as
  51881. required, e.g.
  51882. \f[C]remote:directory/subdirectory\f[R].
  51883. .SS Configuration
  51884. .PP
  51885. Here is an example of making a remote for PikPak.
  51886. .PP
  51887. First run:
  51888. .IP
  51889. .nf
  51890. \f[C]
  51891. rclone config
  51892. \f[R]
  51893. .fi
  51894. .PP
  51895. This will guide you through an interactive setup process:
  51896. .IP
  51897. .nf
  51898. \f[C]
  51899. No remotes found, make a new one?
  51900. n) New remote
  51901. s) Set configuration password
  51902. q) Quit config
  51903. n/s/q> n
  51904. Enter name for new remote.
  51905. name> remote
  51906. Option Storage.
  51907. Type of storage to configure.
  51908. Choose a number from below, or type in your own value.
  51909. XX / PikPak
  51910. \[rs] (pikpak)
  51911. Storage> XX
  51912. Option user.
  51913. Pikpak username.
  51914. Enter a value.
  51915. user> USERNAME
  51916. Option pass.
  51917. Pikpak password.
  51918. Choose an alternative below.
  51919. y) Yes, type in my own password
  51920. g) Generate random password
  51921. y/g> y
  51922. Enter the password:
  51923. password:
  51924. Confirm the password:
  51925. password:
  51926. Edit advanced config?
  51927. y) Yes
  51928. n) No (default)
  51929. y/n>
  51930. Configuration complete.
  51931. Options:
  51932. - type: pikpak
  51933. - user: USERNAME
  51934. - pass: *** ENCRYPTED ***
  51935. - token: {\[dq]access_token\[dq]:\[dq]eyJ...\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]os...\[dq],\[dq]expiry\[dq]:\[dq]2023-01-26T18:54:32.170582647+09:00\[dq]}
  51936. Keep this \[dq]remote\[dq] remote?
  51937. y) Yes this is OK (default)
  51938. e) Edit this remote
  51939. d) Delete this remote
  51940. y/e/d> y
  51941. \f[R]
  51942. .fi
  51943. .SS Modification times and hashes
  51944. .PP
  51945. PikPak keeps modification times on objects, and updates them when
  51946. uploading objects, but it does not support changing only the
  51947. modification time
  51948. .PP
  51949. The MD5 hash algorithm is supported.
  51950. .SS Standard options
  51951. .PP
  51952. Here are the Standard options specific to pikpak (PikPak).
  51953. .SS --pikpak-user
  51954. .PP
  51955. Pikpak username.
  51956. .PP
  51957. Properties:
  51958. .IP \[bu] 2
  51959. Config: user
  51960. .IP \[bu] 2
  51961. Env Var: RCLONE_PIKPAK_USER
  51962. .IP \[bu] 2
  51963. Type: string
  51964. .IP \[bu] 2
  51965. Required: true
  51966. .SS --pikpak-pass
  51967. .PP
  51968. Pikpak password.
  51969. .PP
  51970. \f[B]NB\f[R] Input to this must be obscured - see rclone
  51971. obscure (https://rclone.org/commands/rclone_obscure/).
  51972. .PP
  51973. Properties:
  51974. .IP \[bu] 2
  51975. Config: pass
  51976. .IP \[bu] 2
  51977. Env Var: RCLONE_PIKPAK_PASS
  51978. .IP \[bu] 2
  51979. Type: string
  51980. .IP \[bu] 2
  51981. Required: true
  51982. .SS Advanced options
  51983. .PP
  51984. Here are the Advanced options specific to pikpak (PikPak).
  51985. .SS --pikpak-client-id
  51986. .PP
  51987. OAuth Client Id.
  51988. .PP
  51989. Leave blank normally.
  51990. .PP
  51991. Properties:
  51992. .IP \[bu] 2
  51993. Config: client_id
  51994. .IP \[bu] 2
  51995. Env Var: RCLONE_PIKPAK_CLIENT_ID
  51996. .IP \[bu] 2
  51997. Type: string
  51998. .IP \[bu] 2
  51999. Required: false
  52000. .SS --pikpak-client-secret
  52001. .PP
  52002. OAuth Client Secret.
  52003. .PP
  52004. Leave blank normally.
  52005. .PP
  52006. Properties:
  52007. .IP \[bu] 2
  52008. Config: client_secret
  52009. .IP \[bu] 2
  52010. Env Var: RCLONE_PIKPAK_CLIENT_SECRET
  52011. .IP \[bu] 2
  52012. Type: string
  52013. .IP \[bu] 2
  52014. Required: false
  52015. .SS --pikpak-token
  52016. .PP
  52017. OAuth Access Token as a JSON blob.
  52018. .PP
  52019. Properties:
  52020. .IP \[bu] 2
  52021. Config: token
  52022. .IP \[bu] 2
  52023. Env Var: RCLONE_PIKPAK_TOKEN
  52024. .IP \[bu] 2
  52025. Type: string
  52026. .IP \[bu] 2
  52027. Required: false
  52028. .SS --pikpak-auth-url
  52029. .PP
  52030. Auth server URL.
  52031. .PP
  52032. Leave blank to use the provider defaults.
  52033. .PP
  52034. Properties:
  52035. .IP \[bu] 2
  52036. Config: auth_url
  52037. .IP \[bu] 2
  52038. Env Var: RCLONE_PIKPAK_AUTH_URL
  52039. .IP \[bu] 2
  52040. Type: string
  52041. .IP \[bu] 2
  52042. Required: false
  52043. .SS --pikpak-token-url
  52044. .PP
  52045. Token server url.
  52046. .PP
  52047. Leave blank to use the provider defaults.
  52048. .PP
  52049. Properties:
  52050. .IP \[bu] 2
  52051. Config: token_url
  52052. .IP \[bu] 2
  52053. Env Var: RCLONE_PIKPAK_TOKEN_URL
  52054. .IP \[bu] 2
  52055. Type: string
  52056. .IP \[bu] 2
  52057. Required: false
  52058. .SS --pikpak-root-folder-id
  52059. .PP
  52060. ID of the root folder.
  52061. Leave blank normally.
  52062. .PP
  52063. Fill in for rclone to use a non root folder as its starting point.
  52064. .PP
  52065. Properties:
  52066. .IP \[bu] 2
  52067. Config: root_folder_id
  52068. .IP \[bu] 2
  52069. Env Var: RCLONE_PIKPAK_ROOT_FOLDER_ID
  52070. .IP \[bu] 2
  52071. Type: string
  52072. .IP \[bu] 2
  52073. Required: false
  52074. .SS --pikpak-use-trash
  52075. .PP
  52076. Send files to the trash instead of deleting permanently.
  52077. .PP
  52078. Defaults to true, namely sending files to the trash.
  52079. Use \f[C]--pikpak-use-trash=false\f[R] to delete files permanently
  52080. instead.
  52081. .PP
  52082. Properties:
  52083. .IP \[bu] 2
  52084. Config: use_trash
  52085. .IP \[bu] 2
  52086. Env Var: RCLONE_PIKPAK_USE_TRASH
  52087. .IP \[bu] 2
  52088. Type: bool
  52089. .IP \[bu] 2
  52090. Default: true
  52091. .SS --pikpak-trashed-only
  52092. .PP
  52093. Only show files that are in the trash.
  52094. .PP
  52095. This will show trashed files in their original directory structure.
  52096. .PP
  52097. Properties:
  52098. .IP \[bu] 2
  52099. Config: trashed_only
  52100. .IP \[bu] 2
  52101. Env Var: RCLONE_PIKPAK_TRASHED_ONLY
  52102. .IP \[bu] 2
  52103. Type: bool
  52104. .IP \[bu] 2
  52105. Default: false
  52106. .SS --pikpak-hash-memory-limit
  52107. .PP
  52108. Files bigger than this will be cached on disk to calculate hash if
  52109. required.
  52110. .PP
  52111. Properties:
  52112. .IP \[bu] 2
  52113. Config: hash_memory_limit
  52114. .IP \[bu] 2
  52115. Env Var: RCLONE_PIKPAK_HASH_MEMORY_LIMIT
  52116. .IP \[bu] 2
  52117. Type: SizeSuffix
  52118. .IP \[bu] 2
  52119. Default: 10Mi
  52120. .SS --pikpak-encoding
  52121. .PP
  52122. The encoding for the backend.
  52123. .PP
  52124. See the encoding section in the
  52125. overview (https://rclone.org/overview/#encoding) for more info.
  52126. .PP
  52127. Properties:
  52128. .IP \[bu] 2
  52129. Config: encoding
  52130. .IP \[bu] 2
  52131. Env Var: RCLONE_PIKPAK_ENCODING
  52132. .IP \[bu] 2
  52133. Type: Encoding
  52134. .IP \[bu] 2
  52135. Default:
  52136. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot
  52137. .SS --pikpak-description
  52138. .PP
  52139. Description of the remote
  52140. .PP
  52141. Properties:
  52142. .IP \[bu] 2
  52143. Config: description
  52144. .IP \[bu] 2
  52145. Env Var: RCLONE_PIKPAK_DESCRIPTION
  52146. .IP \[bu] 2
  52147. Type: string
  52148. .IP \[bu] 2
  52149. Required: false
  52150. .SS Backend commands
  52151. .PP
  52152. Here are the commands specific to the pikpak backend.
  52153. .PP
  52154. Run them with
  52155. .IP
  52156. .nf
  52157. \f[C]
  52158. rclone backend COMMAND remote:
  52159. \f[R]
  52160. .fi
  52161. .PP
  52162. The help below will explain what arguments each command takes.
  52163. .PP
  52164. See the backend (https://rclone.org/commands/rclone_backend/) command
  52165. for more info on how to pass options and arguments.
  52166. .PP
  52167. These can be run on a running backend using the rc command
  52168. backend/command (https://rclone.org/rc/#backend-command).
  52169. .SS addurl
  52170. .PP
  52171. Add offline download task for url
  52172. .IP
  52173. .nf
  52174. \f[C]
  52175. rclone backend addurl remote: [options] [<arguments>+]
  52176. \f[R]
  52177. .fi
  52178. .PP
  52179. This command adds offline download task for url.
  52180. .PP
  52181. Usage:
  52182. .IP
  52183. .nf
  52184. \f[C]
  52185. rclone backend addurl pikpak:dirpath url
  52186. \f[R]
  52187. .fi
  52188. .PP
  52189. Downloads will be stored in \[aq]dirpath\[aq].
  52190. If \[aq]dirpath\[aq] is invalid, download will fallback to default
  52191. \[aq]My Pack\[aq] folder.
  52192. .SS decompress
  52193. .PP
  52194. Request decompress of a file/files in a folder
  52195. .IP
  52196. .nf
  52197. \f[C]
  52198. rclone backend decompress remote: [options] [<arguments>+]
  52199. \f[R]
  52200. .fi
  52201. .PP
  52202. This command requests decompress of file/files in a folder.
  52203. .PP
  52204. Usage:
  52205. .IP
  52206. .nf
  52207. \f[C]
  52208. rclone backend decompress pikpak:dirpath {filename} -o password=password
  52209. rclone backend decompress pikpak:dirpath {filename} -o delete-src-file
  52210. \f[R]
  52211. .fi
  52212. .PP
  52213. An optional argument \[aq]filename\[aq] can be specified for a file
  52214. located in \[aq]pikpak:dirpath\[aq].
  52215. You may want to pass \[aq]-o password=password\[aq] for a
  52216. password-protected files.
  52217. Also, pass \[aq]-o delete-src-file\[aq] to delete source files after
  52218. decompression finished.
  52219. .PP
  52220. Result:
  52221. .IP
  52222. .nf
  52223. \f[C]
  52224. {
  52225. \[dq]Decompressed\[dq]: 17,
  52226. \[dq]SourceDeleted\[dq]: 0,
  52227. \[dq]Errors\[dq]: 0
  52228. }
  52229. \f[R]
  52230. .fi
  52231. .SS Limitations
  52232. .SS Hashes may be empty
  52233. .PP
  52234. PikPak supports MD5 hash, but sometimes given empty especially for
  52235. user-uploaded files.
  52236. .SS Deleted files still visible with trashed-only
  52237. .PP
  52238. Deleted files will still be visible with \f[C]--pikpak-trashed-only\f[R]
  52239. even after the trash emptied.
  52240. This goes away after few days.
  52241. .SH premiumize.me
  52242. .PP
  52243. Paths are specified as \f[C]remote:path\f[R]
  52244. .PP
  52245. Paths may be as deep as required, e.g.
  52246. \f[C]remote:directory/subdirectory\f[R].
  52247. .SS Configuration
  52248. .PP
  52249. The initial setup for premiumize.me (https://premiumize.me/) involves
  52250. getting a token from premiumize.me which you need to do in your browser.
  52251. \f[C]rclone config\f[R] walks you through it.
  52252. .PP
  52253. Here is an example of how to make a remote called \f[C]remote\f[R].
  52254. First run:
  52255. .IP
  52256. .nf
  52257. \f[C]
  52258. rclone config
  52259. \f[R]
  52260. .fi
  52261. .PP
  52262. This will guide you through an interactive setup process:
  52263. .IP
  52264. .nf
  52265. \f[C]
  52266. No remotes found, make a new one?
  52267. n) New remote
  52268. s) Set configuration password
  52269. q) Quit config
  52270. n/s/q> n
  52271. name> remote
  52272. Type of storage to configure.
  52273. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  52274. Choose a number from below, or type in your own value
  52275. [snip]
  52276. XX / premiumize.me
  52277. \[rs] \[dq]premiumizeme\[dq]
  52278. [snip]
  52279. Storage> premiumizeme
  52280. ** See help for premiumizeme backend at: https://rclone.org/premiumizeme/ **
  52281. Remote config
  52282. Use web browser to automatically authenticate rclone with remote?
  52283. * Say Y if the machine running rclone has a web browser you can use
  52284. * Say N if running rclone on a (remote) machine without web browser access
  52285. If not sure try Y. If Y failed, try N.
  52286. y) Yes
  52287. n) No
  52288. y/n> y
  52289. If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth
  52290. Log in and authorize rclone for access
  52291. Waiting for code...
  52292. Got code
  52293. --------------------
  52294. [remote]
  52295. type = premiumizeme
  52296. token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2029-08-07T18:44:15.548915378+01:00\[dq]}
  52297. --------------------
  52298. y) Yes this is OK
  52299. e) Edit this remote
  52300. d) Delete this remote
  52301. y/e/d>
  52302. \f[R]
  52303. .fi
  52304. .PP
  52305. See the remote setup docs (https://rclone.org/remote_setup/) for how to
  52306. set it up on a machine with no Internet browser available.
  52307. .PP
  52308. Note that rclone runs a webserver on your local machine to collect the
  52309. token as returned from premiumize.me.
  52310. This only runs from the moment it opens your browser to the moment you
  52311. get back the verification code.
  52312. This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you
  52313. to unblock it temporarily if you are running a host firewall.
  52314. .PP
  52315. Once configured you can then use \f[C]rclone\f[R] like this,
  52316. .PP
  52317. List directories in top level of your premiumize.me
  52318. .IP
  52319. .nf
  52320. \f[C]
  52321. rclone lsd remote:
  52322. \f[R]
  52323. .fi
  52324. .PP
  52325. List all the files in your premiumize.me
  52326. .IP
  52327. .nf
  52328. \f[C]
  52329. rclone ls remote:
  52330. \f[R]
  52331. .fi
  52332. .PP
  52333. To copy a local directory to an premiumize.me directory called backup
  52334. .IP
  52335. .nf
  52336. \f[C]
  52337. rclone copy /home/source remote:backup
  52338. \f[R]
  52339. .fi
  52340. .SS Modification times and hashes
  52341. .PP
  52342. premiumize.me does not support modification times or hashes, therefore
  52343. syncing will default to \f[C]--size-only\f[R] checking.
  52344. Note that using \f[C]--update\f[R] will work.
  52345. .SS Restricted filename characters
  52346. .PP
  52347. In addition to the default restricted characters
  52348. set (https://rclone.org/overview/#restricted-characters) the following
  52349. characters are also replaced:
  52350. .PP
  52351. .TS
  52352. tab(@);
  52353. l c c.
  52354. T{
  52355. Character
  52356. T}@T{
  52357. Value
  52358. T}@T{
  52359. Replacement
  52360. T}
  52361. _
  52362. T{
  52363. \[rs]
  52364. T}@T{
  52365. 0x5C
  52366. T}@T{
  52367. \[uFF3C]
  52368. T}
  52369. T{
  52370. \[dq]
  52371. T}@T{
  52372. 0x22
  52373. T}@T{
  52374. \[uFF02]
  52375. T}
  52376. .TE
  52377. .PP
  52378. Invalid UTF-8 bytes will also be
  52379. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  52380. be used in JSON strings.
  52381. .SS Standard options
  52382. .PP
  52383. Here are the Standard options specific to premiumizeme (premiumize.me).
  52384. .SS --premiumizeme-client-id
  52385. .PP
  52386. OAuth Client Id.
  52387. .PP
  52388. Leave blank normally.
  52389. .PP
  52390. Properties:
  52391. .IP \[bu] 2
  52392. Config: client_id
  52393. .IP \[bu] 2
  52394. Env Var: RCLONE_PREMIUMIZEME_CLIENT_ID
  52395. .IP \[bu] 2
  52396. Type: string
  52397. .IP \[bu] 2
  52398. Required: false
  52399. .SS --premiumizeme-client-secret
  52400. .PP
  52401. OAuth Client Secret.
  52402. .PP
  52403. Leave blank normally.
  52404. .PP
  52405. Properties:
  52406. .IP \[bu] 2
  52407. Config: client_secret
  52408. .IP \[bu] 2
  52409. Env Var: RCLONE_PREMIUMIZEME_CLIENT_SECRET
  52410. .IP \[bu] 2
  52411. Type: string
  52412. .IP \[bu] 2
  52413. Required: false
  52414. .SS --premiumizeme-api-key
  52415. .PP
  52416. API Key.
  52417. .PP
  52418. This is not normally used - use oauth instead.
  52419. .PP
  52420. Properties:
  52421. .IP \[bu] 2
  52422. Config: api_key
  52423. .IP \[bu] 2
  52424. Env Var: RCLONE_PREMIUMIZEME_API_KEY
  52425. .IP \[bu] 2
  52426. Type: string
  52427. .IP \[bu] 2
  52428. Required: false
  52429. .SS Advanced options
  52430. .PP
  52431. Here are the Advanced options specific to premiumizeme (premiumize.me).
  52432. .SS --premiumizeme-token
  52433. .PP
  52434. OAuth Access Token as a JSON blob.
  52435. .PP
  52436. Properties:
  52437. .IP \[bu] 2
  52438. Config: token
  52439. .IP \[bu] 2
  52440. Env Var: RCLONE_PREMIUMIZEME_TOKEN
  52441. .IP \[bu] 2
  52442. Type: string
  52443. .IP \[bu] 2
  52444. Required: false
  52445. .SS --premiumizeme-auth-url
  52446. .PP
  52447. Auth server URL.
  52448. .PP
  52449. Leave blank to use the provider defaults.
  52450. .PP
  52451. Properties:
  52452. .IP \[bu] 2
  52453. Config: auth_url
  52454. .IP \[bu] 2
  52455. Env Var: RCLONE_PREMIUMIZEME_AUTH_URL
  52456. .IP \[bu] 2
  52457. Type: string
  52458. .IP \[bu] 2
  52459. Required: false
  52460. .SS --premiumizeme-token-url
  52461. .PP
  52462. Token server url.
  52463. .PP
  52464. Leave blank to use the provider defaults.
  52465. .PP
  52466. Properties:
  52467. .IP \[bu] 2
  52468. Config: token_url
  52469. .IP \[bu] 2
  52470. Env Var: RCLONE_PREMIUMIZEME_TOKEN_URL
  52471. .IP \[bu] 2
  52472. Type: string
  52473. .IP \[bu] 2
  52474. Required: false
  52475. .SS --premiumizeme-encoding
  52476. .PP
  52477. The encoding for the backend.
  52478. .PP
  52479. See the encoding section in the
  52480. overview (https://rclone.org/overview/#encoding) for more info.
  52481. .PP
  52482. Properties:
  52483. .IP \[bu] 2
  52484. Config: encoding
  52485. .IP \[bu] 2
  52486. Env Var: RCLONE_PREMIUMIZEME_ENCODING
  52487. .IP \[bu] 2
  52488. Type: Encoding
  52489. .IP \[bu] 2
  52490. Default: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot
  52491. .SS --premiumizeme-description
  52492. .PP
  52493. Description of the remote
  52494. .PP
  52495. Properties:
  52496. .IP \[bu] 2
  52497. Config: description
  52498. .IP \[bu] 2
  52499. Env Var: RCLONE_PREMIUMIZEME_DESCRIPTION
  52500. .IP \[bu] 2
  52501. Type: string
  52502. .IP \[bu] 2
  52503. Required: false
  52504. .SS Limitations
  52505. .PP
  52506. Note that premiumize.me is case insensitive so you can\[aq]t have a file
  52507. called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq].
  52508. .PP
  52509. premiumize.me file names can\[aq]t have the \f[C]\[rs]\f[R] or
  52510. \f[C]\[dq]\f[R] characters in.
  52511. rclone maps these to and from an identical looking unicode equivalents
  52512. \f[C]\[uFF3C]\f[R] and \f[C]\[uFF02]\f[R]
  52513. .PP
  52514. premiumize.me only supports filenames up to 255 characters in length.
  52515. .SH Proton Drive
  52516. .PP
  52517. Proton Drive (https://proton.me/drive) is an end-to-end encrypted Swiss
  52518. vault for your files that protects your data.
  52519. .PP
  52520. This is an rclone backend for Proton Drive which supports the file
  52521. transfer features of Proton Drive using the same client-side encryption.
  52522. .PP
  52523. Due to the fact that Proton Drive doesn\[aq]t publish its API
  52524. documentation, this backend is implemented with best efforts by reading
  52525. the open-sourced client source code and observing the Proton Drive
  52526. traffic in the browser.
  52527. .PP
  52528. \f[B]NB\f[R] This backend is currently in Beta.
  52529. It is believed to be correct and all the integration tests pass.
  52530. However the Proton Drive protocol has evolved over time there may be
  52531. accounts it is not compatible with.
  52532. Please post on the rclone forum (https://forum.rclone.org/) if you find
  52533. an incompatibility.
  52534. .PP
  52535. Paths are specified as \f[C]remote:path\f[R]
  52536. .PP
  52537. Paths may be as deep as required, e.g.
  52538. \f[C]remote:directory/subdirectory\f[R].
  52539. .SS Configurations
  52540. .PP
  52541. Here is an example of how to make a remote called \f[C]remote\f[R].
  52542. First run:
  52543. .IP
  52544. .nf
  52545. \f[C]
  52546. rclone config
  52547. \f[R]
  52548. .fi
  52549. .PP
  52550. This will guide you through an interactive setup process:
  52551. .IP
  52552. .nf
  52553. \f[C]
  52554. No remotes found, make a new one?
  52555. n) New remote
  52556. s) Set configuration password
  52557. q) Quit config
  52558. n/s/q> n
  52559. name> remote
  52560. Type of storage to configure.
  52561. Choose a number from below, or type in your own value
  52562. [snip]
  52563. XX / Proton Drive
  52564. \[rs] \[dq]Proton Drive\[dq]
  52565. [snip]
  52566. Storage> protondrive
  52567. User name
  52568. user> you\[at]protonmail.com
  52569. Password.
  52570. y) Yes type in my own password
  52571. g) Generate random password
  52572. n) No leave this optional password blank
  52573. y/g/n> y
  52574. Enter the password:
  52575. password:
  52576. Confirm the password:
  52577. password:
  52578. Option 2fa.
  52579. 2FA code (if the account requires one)
  52580. Enter a value. Press Enter to leave empty.
  52581. 2fa> 123456
  52582. Remote config
  52583. --------------------
  52584. [remote]
  52585. type = protondrive
  52586. user = you\[at]protonmail.com
  52587. pass = *** ENCRYPTED ***
  52588. --------------------
  52589. y) Yes this is OK
  52590. e) Edit this remote
  52591. d) Delete this remote
  52592. y/e/d> y
  52593. \f[R]
  52594. .fi
  52595. .PP
  52596. \f[B]NOTE:\f[R] The Proton Drive encryption keys need to have been
  52597. already generated after a regular login via the browser, otherwise
  52598. attempting to use the credentials in \f[C]rclone\f[R] will fail.
  52599. .PP
  52600. Once configured you can then use \f[C]rclone\f[R] like this,
  52601. .PP
  52602. List directories in top level of your Proton Drive
  52603. .IP
  52604. .nf
  52605. \f[C]
  52606. rclone lsd remote:
  52607. \f[R]
  52608. .fi
  52609. .PP
  52610. List all the files in your Proton Drive
  52611. .IP
  52612. .nf
  52613. \f[C]
  52614. rclone ls remote:
  52615. \f[R]
  52616. .fi
  52617. .PP
  52618. To copy a local directory to an Proton Drive directory called backup
  52619. .IP
  52620. .nf
  52621. \f[C]
  52622. rclone copy /home/source remote:backup
  52623. \f[R]
  52624. .fi
  52625. .SS Modification times and hashes
  52626. .PP
  52627. Proton Drive Bridge does not support updating modification times yet.
  52628. .PP
  52629. The SHA1 hash algorithm is supported.
  52630. .SS Restricted filename characters
  52631. .PP
  52632. Invalid UTF-8 bytes will be
  52633. replaced (https://rclone.org/overview/#invalid-utf8), also left and
  52634. right spaces will be removed (code
  52635. reference (https://github.com/ProtonMail/WebClients/blob/b4eba99d241af4fdae06ff7138bd651a40ef5d3c/applications/drive/src/app/store/_links/validation.ts#L51))
  52636. .SS Duplicated files
  52637. .PP
  52638. Proton Drive can not have two files with exactly the same name and path.
  52639. If the conflict occurs, depending on the advanced config, the file might
  52640. or might not be overwritten.
  52641. .SS Mailbox password (https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password)
  52642. .PP
  52643. Please set your mailbox password in the advanced config section.
  52644. .SS Caching
  52645. .PP
  52646. The cache is currently built for the case when the rclone is the only
  52647. instance performing operations to the mount point.
  52648. The event system, which is the proton API system that provides
  52649. visibility of what has changed on the drive, is yet to be implemented,
  52650. so updates from other clients won\[cq]t be reflected in the cache.
  52651. Thus, if there are concurrent clients accessing the same mount point,
  52652. then we might have a problem with caching the stale data.
  52653. .SS Standard options
  52654. .PP
  52655. Here are the Standard options specific to protondrive (Proton Drive).
  52656. .SS --protondrive-username
  52657. .PP
  52658. The username of your proton account
  52659. .PP
  52660. Properties:
  52661. .IP \[bu] 2
  52662. Config: username
  52663. .IP \[bu] 2
  52664. Env Var: RCLONE_PROTONDRIVE_USERNAME
  52665. .IP \[bu] 2
  52666. Type: string
  52667. .IP \[bu] 2
  52668. Required: true
  52669. .SS --protondrive-password
  52670. .PP
  52671. The password of your proton account.
  52672. .PP
  52673. \f[B]NB\f[R] Input to this must be obscured - see rclone
  52674. obscure (https://rclone.org/commands/rclone_obscure/).
  52675. .PP
  52676. Properties:
  52677. .IP \[bu] 2
  52678. Config: password
  52679. .IP \[bu] 2
  52680. Env Var: RCLONE_PROTONDRIVE_PASSWORD
  52681. .IP \[bu] 2
  52682. Type: string
  52683. .IP \[bu] 2
  52684. Required: true
  52685. .SS --protondrive-2fa
  52686. .PP
  52687. The 2FA code
  52688. .PP
  52689. The value can also be provided with --protondrive-2fa=000000
  52690. .PP
  52691. The 2FA code of your proton drive account if the account is set up with
  52692. two-factor authentication
  52693. .PP
  52694. Properties:
  52695. .IP \[bu] 2
  52696. Config: 2fa
  52697. .IP \[bu] 2
  52698. Env Var: RCLONE_PROTONDRIVE_2FA
  52699. .IP \[bu] 2
  52700. Type: string
  52701. .IP \[bu] 2
  52702. Required: false
  52703. .SS Advanced options
  52704. .PP
  52705. Here are the Advanced options specific to protondrive (Proton Drive).
  52706. .SS --protondrive-mailbox-password
  52707. .PP
  52708. The mailbox password of your two-password proton account.
  52709. .PP
  52710. For more information regarding the mailbox password, please check the
  52711. following official knowledge base article:
  52712. https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password
  52713. .PP
  52714. \f[B]NB\f[R] Input to this must be obscured - see rclone
  52715. obscure (https://rclone.org/commands/rclone_obscure/).
  52716. .PP
  52717. Properties:
  52718. .IP \[bu] 2
  52719. Config: mailbox_password
  52720. .IP \[bu] 2
  52721. Env Var: RCLONE_PROTONDRIVE_MAILBOX_PASSWORD
  52722. .IP \[bu] 2
  52723. Type: string
  52724. .IP \[bu] 2
  52725. Required: false
  52726. .SS --protondrive-client-uid
  52727. .PP
  52728. Client uid key (internal use only)
  52729. .PP
  52730. Properties:
  52731. .IP \[bu] 2
  52732. Config: client_uid
  52733. .IP \[bu] 2
  52734. Env Var: RCLONE_PROTONDRIVE_CLIENT_UID
  52735. .IP \[bu] 2
  52736. Type: string
  52737. .IP \[bu] 2
  52738. Required: false
  52739. .SS --protondrive-client-access-token
  52740. .PP
  52741. Client access token key (internal use only)
  52742. .PP
  52743. Properties:
  52744. .IP \[bu] 2
  52745. Config: client_access_token
  52746. .IP \[bu] 2
  52747. Env Var: RCLONE_PROTONDRIVE_CLIENT_ACCESS_TOKEN
  52748. .IP \[bu] 2
  52749. Type: string
  52750. .IP \[bu] 2
  52751. Required: false
  52752. .SS --protondrive-client-refresh-token
  52753. .PP
  52754. Client refresh token key (internal use only)
  52755. .PP
  52756. Properties:
  52757. .IP \[bu] 2
  52758. Config: client_refresh_token
  52759. .IP \[bu] 2
  52760. Env Var: RCLONE_PROTONDRIVE_CLIENT_REFRESH_TOKEN
  52761. .IP \[bu] 2
  52762. Type: string
  52763. .IP \[bu] 2
  52764. Required: false
  52765. .SS --protondrive-client-salted-key-pass
  52766. .PP
  52767. Client salted key pass key (internal use only)
  52768. .PP
  52769. Properties:
  52770. .IP \[bu] 2
  52771. Config: client_salted_key_pass
  52772. .IP \[bu] 2
  52773. Env Var: RCLONE_PROTONDRIVE_CLIENT_SALTED_KEY_PASS
  52774. .IP \[bu] 2
  52775. Type: string
  52776. .IP \[bu] 2
  52777. Required: false
  52778. .SS --protondrive-encoding
  52779. .PP
  52780. The encoding for the backend.
  52781. .PP
  52782. See the encoding section in the
  52783. overview (https://rclone.org/overview/#encoding) for more info.
  52784. .PP
  52785. Properties:
  52786. .IP \[bu] 2
  52787. Config: encoding
  52788. .IP \[bu] 2
  52789. Env Var: RCLONE_PROTONDRIVE_ENCODING
  52790. .IP \[bu] 2
  52791. Type: Encoding
  52792. .IP \[bu] 2
  52793. Default: Slash,LeftSpace,RightSpace,InvalidUtf8,Dot
  52794. .SS --protondrive-original-file-size
  52795. .PP
  52796. Return the file size before encryption
  52797. .PP
  52798. The size of the encrypted file will be different from (bigger than) the
  52799. original file size.
  52800. Unless there is a reason to return the file size after encryption is
  52801. performed, otherwise, set this option to true, as features like Open()
  52802. which will need to be supplied with original content size, will fail to
  52803. operate properly
  52804. .PP
  52805. Properties:
  52806. .IP \[bu] 2
  52807. Config: original_file_size
  52808. .IP \[bu] 2
  52809. Env Var: RCLONE_PROTONDRIVE_ORIGINAL_FILE_SIZE
  52810. .IP \[bu] 2
  52811. Type: bool
  52812. .IP \[bu] 2
  52813. Default: true
  52814. .SS --protondrive-app-version
  52815. .PP
  52816. The app version string
  52817. .PP
  52818. The app version string indicates the client that is currently performing
  52819. the API request.
  52820. This information is required and will be sent with every API request.
  52821. .PP
  52822. Properties:
  52823. .IP \[bu] 2
  52824. Config: app_version
  52825. .IP \[bu] 2
  52826. Env Var: RCLONE_PROTONDRIVE_APP_VERSION
  52827. .IP \[bu] 2
  52828. Type: string
  52829. .IP \[bu] 2
  52830. Default: \[dq]macos-drive\[at]1.0.0-alpha.1+rclone\[dq]
  52831. .SS --protondrive-replace-existing-draft
  52832. .PP
  52833. Create a new revision when filename conflict is detected
  52834. .PP
  52835. When a file upload is cancelled or failed before completion, a draft
  52836. will be created and the subsequent upload of the same file to the same
  52837. location will be reported as a conflict.
  52838. .PP
  52839. The value can also be set by --protondrive-replace-existing-draft=true
  52840. .PP
  52841. If the option is set to true, the draft will be replaced and then the
  52842. upload operation will restart.
  52843. If there are other clients also uploading at the same file location at
  52844. the same time, the behavior is currently unknown.
  52845. Need to set to true for integration tests.
  52846. If the option is set to false, an error \[dq]a draft exist - usually
  52847. this means a file is being uploaded at another client, or, there was a
  52848. failed upload attempt\[dq] will be returned, and no upload will happen.
  52849. .PP
  52850. Properties:
  52851. .IP \[bu] 2
  52852. Config: replace_existing_draft
  52853. .IP \[bu] 2
  52854. Env Var: RCLONE_PROTONDRIVE_REPLACE_EXISTING_DRAFT
  52855. .IP \[bu] 2
  52856. Type: bool
  52857. .IP \[bu] 2
  52858. Default: false
  52859. .SS --protondrive-enable-caching
  52860. .PP
  52861. Caches the files and folders metadata to reduce API calls
  52862. .PP
  52863. Notice: If you are mounting ProtonDrive as a VFS, please disable this
  52864. feature, as the current implementation doesn\[aq]t update or clear the
  52865. cache when there are external changes.
  52866. .PP
  52867. The files and folders on ProtonDrive are represented as links with
  52868. keyrings, which can be cached to improve performance and be friendly to
  52869. the API server.
  52870. .PP
  52871. The cache is currently built for the case when the rclone is the only
  52872. instance performing operations to the mount point.
  52873. The event system, which is the proton API system that provides
  52874. visibility of what has changed on the drive, is yet to be implemented,
  52875. so updates from other clients won\[cq]t be reflected in the cache.
  52876. Thus, if there are concurrent clients accessing the same mount point,
  52877. then we might have a problem with caching the stale data.
  52878. .PP
  52879. Properties:
  52880. .IP \[bu] 2
  52881. Config: enable_caching
  52882. .IP \[bu] 2
  52883. Env Var: RCLONE_PROTONDRIVE_ENABLE_CACHING
  52884. .IP \[bu] 2
  52885. Type: bool
  52886. .IP \[bu] 2
  52887. Default: true
  52888. .SS --protondrive-description
  52889. .PP
  52890. Description of the remote
  52891. .PP
  52892. Properties:
  52893. .IP \[bu] 2
  52894. Config: description
  52895. .IP \[bu] 2
  52896. Env Var: RCLONE_PROTONDRIVE_DESCRIPTION
  52897. .IP \[bu] 2
  52898. Type: string
  52899. .IP \[bu] 2
  52900. Required: false
  52901. .SS Limitations
  52902. .PP
  52903. This backend uses the
  52904. Proton-API-Bridge (https://github.com/henrybear327/Proton-API-Bridge),
  52905. which is based on
  52906. go-proton-api (https://github.com/henrybear327/go-proton-api), a fork of
  52907. the official repo (https://github.com/ProtonMail/go-proton-api).
  52908. .PP
  52909. There is no official API documentation available from Proton Drive.
  52910. But, thanks to Proton open sourcing
  52911. proton-go-api (https://github.com/ProtonMail/go-proton-api) and the web,
  52912. iOS, and Android client codebases, we don\[aq]t need to completely
  52913. reverse engineer the APIs by observing the web client traffic!
  52914. .PP
  52915. proton-go-api (https://github.com/ProtonMail/go-proton-api) provides the
  52916. basic building blocks of API calls and error handling, such as 429
  52917. exponential back-off, but it is pretty much just a barebone interface to
  52918. the Proton API.
  52919. For example, the encryption and decryption of the Proton Drive file are
  52920. not provided in this library.
  52921. .PP
  52922. The Proton-API-Bridge, attempts to bridge the gap, so rclone can be
  52923. built on top of this quickly.
  52924. This codebase handles the intricate tasks before and after calling
  52925. Proton APIs, particularly the complex encryption scheme, allowing
  52926. developers to implement features for other software on top of this
  52927. codebase.
  52928. There are likely quite a few errors in this library, as there isn\[aq]t
  52929. official documentation available.
  52930. .SH put.io
  52931. .PP
  52932. Paths are specified as \f[C]remote:path\f[R]
  52933. .PP
  52934. put.io paths may be as deep as required, e.g.
  52935. \f[C]remote:directory/subdirectory\f[R].
  52936. .SS Configuration
  52937. .PP
  52938. The initial setup for put.io involves getting a token from put.io which
  52939. you need to do in your browser.
  52940. \f[C]rclone config\f[R] walks you through it.
  52941. .PP
  52942. Here is an example of how to make a remote called \f[C]remote\f[R].
  52943. First run:
  52944. .IP
  52945. .nf
  52946. \f[C]
  52947. rclone config
  52948. \f[R]
  52949. .fi
  52950. .PP
  52951. This will guide you through an interactive setup process:
  52952. .IP
  52953. .nf
  52954. \f[C]
  52955. No remotes found, make a new one?
  52956. n) New remote
  52957. s) Set configuration password
  52958. q) Quit config
  52959. n/s/q> n
  52960. name> putio
  52961. Type of storage to configure.
  52962. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  52963. Choose a number from below, or type in your own value
  52964. [snip]
  52965. XX / Put.io
  52966. \[rs] \[dq]putio\[dq]
  52967. [snip]
  52968. Storage> putio
  52969. ** See help for putio backend at: https://rclone.org/putio/ **
  52970. Remote config
  52971. Use web browser to automatically authenticate rclone with remote?
  52972. * Say Y if the machine running rclone has a web browser you can use
  52973. * Say N if running rclone on a (remote) machine without web browser access
  52974. If not sure try Y. If Y failed, try N.
  52975. y) Yes
  52976. n) No
  52977. y/n> y
  52978. If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth
  52979. Log in and authorize rclone for access
  52980. Waiting for code...
  52981. Got code
  52982. --------------------
  52983. [putio]
  52984. type = putio
  52985. token = {\[dq]access_token\[dq]:\[dq]XXXXXXXX\[dq],\[dq]expiry\[dq]:\[dq]0001-01-01T00:00:00Z\[dq]}
  52986. --------------------
  52987. y) Yes this is OK
  52988. e) Edit this remote
  52989. d) Delete this remote
  52990. y/e/d> y
  52991. Current remotes:
  52992. Name Type
  52993. ==== ====
  52994. putio putio
  52995. e) Edit existing remote
  52996. n) New remote
  52997. d) Delete remote
  52998. r) Rename remote
  52999. c) Copy remote
  53000. s) Set configuration password
  53001. q) Quit config
  53002. e/n/d/r/c/s/q> q
  53003. \f[R]
  53004. .fi
  53005. .PP
  53006. See the remote setup docs (https://rclone.org/remote_setup/) for how to
  53007. set it up on a machine with no Internet browser available.
  53008. .PP
  53009. Note that rclone runs a webserver on your local machine to collect the
  53010. token as returned from put.io if using web browser to automatically
  53011. authenticate.
  53012. This only runs from the moment it opens your browser to the moment you
  53013. get back the verification code.
  53014. This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you
  53015. to unblock it temporarily if you are running a host firewall, or use
  53016. manual mode.
  53017. .PP
  53018. You can then use it like this,
  53019. .PP
  53020. List directories in top level of your put.io
  53021. .IP
  53022. .nf
  53023. \f[C]
  53024. rclone lsd remote:
  53025. \f[R]
  53026. .fi
  53027. .PP
  53028. List all the files in your put.io
  53029. .IP
  53030. .nf
  53031. \f[C]
  53032. rclone ls remote:
  53033. \f[R]
  53034. .fi
  53035. .PP
  53036. To copy a local directory to a put.io directory called backup
  53037. .IP
  53038. .nf
  53039. \f[C]
  53040. rclone copy /home/source remote:backup
  53041. \f[R]
  53042. .fi
  53043. .SS Restricted filename characters
  53044. .PP
  53045. In addition to the default restricted characters
  53046. set (https://rclone.org/overview/#restricted-characters) the following
  53047. characters are also replaced:
  53048. .PP
  53049. .TS
  53050. tab(@);
  53051. l c c.
  53052. T{
  53053. Character
  53054. T}@T{
  53055. Value
  53056. T}@T{
  53057. Replacement
  53058. T}
  53059. _
  53060. T{
  53061. \[rs]
  53062. T}@T{
  53063. 0x5C
  53064. T}@T{
  53065. \[uFF3C]
  53066. T}
  53067. .TE
  53068. .PP
  53069. Invalid UTF-8 bytes will also be
  53070. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  53071. be used in JSON strings.
  53072. .SS Standard options
  53073. .PP
  53074. Here are the Standard options specific to putio (Put.io).
  53075. .SS --putio-client-id
  53076. .PP
  53077. OAuth Client Id.
  53078. .PP
  53079. Leave blank normally.
  53080. .PP
  53081. Properties:
  53082. .IP \[bu] 2
  53083. Config: client_id
  53084. .IP \[bu] 2
  53085. Env Var: RCLONE_PUTIO_CLIENT_ID
  53086. .IP \[bu] 2
  53087. Type: string
  53088. .IP \[bu] 2
  53089. Required: false
  53090. .SS --putio-client-secret
  53091. .PP
  53092. OAuth Client Secret.
  53093. .PP
  53094. Leave blank normally.
  53095. .PP
  53096. Properties:
  53097. .IP \[bu] 2
  53098. Config: client_secret
  53099. .IP \[bu] 2
  53100. Env Var: RCLONE_PUTIO_CLIENT_SECRET
  53101. .IP \[bu] 2
  53102. Type: string
  53103. .IP \[bu] 2
  53104. Required: false
  53105. .SS Advanced options
  53106. .PP
  53107. Here are the Advanced options specific to putio (Put.io).
  53108. .SS --putio-token
  53109. .PP
  53110. OAuth Access Token as a JSON blob.
  53111. .PP
  53112. Properties:
  53113. .IP \[bu] 2
  53114. Config: token
  53115. .IP \[bu] 2
  53116. Env Var: RCLONE_PUTIO_TOKEN
  53117. .IP \[bu] 2
  53118. Type: string
  53119. .IP \[bu] 2
  53120. Required: false
  53121. .SS --putio-auth-url
  53122. .PP
  53123. Auth server URL.
  53124. .PP
  53125. Leave blank to use the provider defaults.
  53126. .PP
  53127. Properties:
  53128. .IP \[bu] 2
  53129. Config: auth_url
  53130. .IP \[bu] 2
  53131. Env Var: RCLONE_PUTIO_AUTH_URL
  53132. .IP \[bu] 2
  53133. Type: string
  53134. .IP \[bu] 2
  53135. Required: false
  53136. .SS --putio-token-url
  53137. .PP
  53138. Token server url.
  53139. .PP
  53140. Leave blank to use the provider defaults.
  53141. .PP
  53142. Properties:
  53143. .IP \[bu] 2
  53144. Config: token_url
  53145. .IP \[bu] 2
  53146. Env Var: RCLONE_PUTIO_TOKEN_URL
  53147. .IP \[bu] 2
  53148. Type: string
  53149. .IP \[bu] 2
  53150. Required: false
  53151. .SS --putio-encoding
  53152. .PP
  53153. The encoding for the backend.
  53154. .PP
  53155. See the encoding section in the
  53156. overview (https://rclone.org/overview/#encoding) for more info.
  53157. .PP
  53158. Properties:
  53159. .IP \[bu] 2
  53160. Config: encoding
  53161. .IP \[bu] 2
  53162. Env Var: RCLONE_PUTIO_ENCODING
  53163. .IP \[bu] 2
  53164. Type: Encoding
  53165. .IP \[bu] 2
  53166. Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  53167. .SS --putio-description
  53168. .PP
  53169. Description of the remote
  53170. .PP
  53171. Properties:
  53172. .IP \[bu] 2
  53173. Config: description
  53174. .IP \[bu] 2
  53175. Env Var: RCLONE_PUTIO_DESCRIPTION
  53176. .IP \[bu] 2
  53177. Type: string
  53178. .IP \[bu] 2
  53179. Required: false
  53180. .SS Limitations
  53181. .PP
  53182. put.io has rate limiting.
  53183. When you hit a limit, rclone automatically retries after waiting the
  53184. amount of time requested by the server.
  53185. .PP
  53186. If you want to avoid ever hitting these limits, you may use the
  53187. \f[C]--tpslimit\f[R] flag with a low number.
  53188. Note that the imposed limits may be different for different operations,
  53189. and may change over time.
  53190. .SH Proton Drive
  53191. .PP
  53192. Proton Drive (https://proton.me/drive) is an end-to-end encrypted Swiss
  53193. vault for your files that protects your data.
  53194. .PP
  53195. This is an rclone backend for Proton Drive which supports the file
  53196. transfer features of Proton Drive using the same client-side encryption.
  53197. .PP
  53198. Due to the fact that Proton Drive doesn\[aq]t publish its API
  53199. documentation, this backend is implemented with best efforts by reading
  53200. the open-sourced client source code and observing the Proton Drive
  53201. traffic in the browser.
  53202. .PP
  53203. \f[B]NB\f[R] This backend is currently in Beta.
  53204. It is believed to be correct and all the integration tests pass.
  53205. However the Proton Drive protocol has evolved over time there may be
  53206. accounts it is not compatible with.
  53207. Please post on the rclone forum (https://forum.rclone.org/) if you find
  53208. an incompatibility.
  53209. .PP
  53210. Paths are specified as \f[C]remote:path\f[R]
  53211. .PP
  53212. Paths may be as deep as required, e.g.
  53213. \f[C]remote:directory/subdirectory\f[R].
  53214. .SS Configurations
  53215. .PP
  53216. Here is an example of how to make a remote called \f[C]remote\f[R].
  53217. First run:
  53218. .IP
  53219. .nf
  53220. \f[C]
  53221. rclone config
  53222. \f[R]
  53223. .fi
  53224. .PP
  53225. This will guide you through an interactive setup process:
  53226. .IP
  53227. .nf
  53228. \f[C]
  53229. No remotes found, make a new one?
  53230. n) New remote
  53231. s) Set configuration password
  53232. q) Quit config
  53233. n/s/q> n
  53234. name> remote
  53235. Type of storage to configure.
  53236. Choose a number from below, or type in your own value
  53237. [snip]
  53238. XX / Proton Drive
  53239. \[rs] \[dq]Proton Drive\[dq]
  53240. [snip]
  53241. Storage> protondrive
  53242. User name
  53243. user> you\[at]protonmail.com
  53244. Password.
  53245. y) Yes type in my own password
  53246. g) Generate random password
  53247. n) No leave this optional password blank
  53248. y/g/n> y
  53249. Enter the password:
  53250. password:
  53251. Confirm the password:
  53252. password:
  53253. Option 2fa.
  53254. 2FA code (if the account requires one)
  53255. Enter a value. Press Enter to leave empty.
  53256. 2fa> 123456
  53257. Remote config
  53258. --------------------
  53259. [remote]
  53260. type = protondrive
  53261. user = you\[at]protonmail.com
  53262. pass = *** ENCRYPTED ***
  53263. --------------------
  53264. y) Yes this is OK
  53265. e) Edit this remote
  53266. d) Delete this remote
  53267. y/e/d> y
  53268. \f[R]
  53269. .fi
  53270. .PP
  53271. \f[B]NOTE:\f[R] The Proton Drive encryption keys need to have been
  53272. already generated after a regular login via the browser, otherwise
  53273. attempting to use the credentials in \f[C]rclone\f[R] will fail.
  53274. .PP
  53275. Once configured you can then use \f[C]rclone\f[R] like this,
  53276. .PP
  53277. List directories in top level of your Proton Drive
  53278. .IP
  53279. .nf
  53280. \f[C]
  53281. rclone lsd remote:
  53282. \f[R]
  53283. .fi
  53284. .PP
  53285. List all the files in your Proton Drive
  53286. .IP
  53287. .nf
  53288. \f[C]
  53289. rclone ls remote:
  53290. \f[R]
  53291. .fi
  53292. .PP
  53293. To copy a local directory to an Proton Drive directory called backup
  53294. .IP
  53295. .nf
  53296. \f[C]
  53297. rclone copy /home/source remote:backup
  53298. \f[R]
  53299. .fi
  53300. .SS Modification times and hashes
  53301. .PP
  53302. Proton Drive Bridge does not support updating modification times yet.
  53303. .PP
  53304. The SHA1 hash algorithm is supported.
  53305. .SS Restricted filename characters
  53306. .PP
  53307. Invalid UTF-8 bytes will be
  53308. replaced (https://rclone.org/overview/#invalid-utf8), also left and
  53309. right spaces will be removed (code
  53310. reference (https://github.com/ProtonMail/WebClients/blob/b4eba99d241af4fdae06ff7138bd651a40ef5d3c/applications/drive/src/app/store/_links/validation.ts#L51))
  53311. .SS Duplicated files
  53312. .PP
  53313. Proton Drive can not have two files with exactly the same name and path.
  53314. If the conflict occurs, depending on the advanced config, the file might
  53315. or might not be overwritten.
  53316. .SS Mailbox password (https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password)
  53317. .PP
  53318. Please set your mailbox password in the advanced config section.
  53319. .SS Caching
  53320. .PP
  53321. The cache is currently built for the case when the rclone is the only
  53322. instance performing operations to the mount point.
  53323. The event system, which is the proton API system that provides
  53324. visibility of what has changed on the drive, is yet to be implemented,
  53325. so updates from other clients won\[cq]t be reflected in the cache.
  53326. Thus, if there are concurrent clients accessing the same mount point,
  53327. then we might have a problem with caching the stale data.
  53328. .SS Standard options
  53329. .PP
  53330. Here are the Standard options specific to protondrive (Proton Drive).
  53331. .SS --protondrive-username
  53332. .PP
  53333. The username of your proton account
  53334. .PP
  53335. Properties:
  53336. .IP \[bu] 2
  53337. Config: username
  53338. .IP \[bu] 2
  53339. Env Var: RCLONE_PROTONDRIVE_USERNAME
  53340. .IP \[bu] 2
  53341. Type: string
  53342. .IP \[bu] 2
  53343. Required: true
  53344. .SS --protondrive-password
  53345. .PP
  53346. The password of your proton account.
  53347. .PP
  53348. \f[B]NB\f[R] Input to this must be obscured - see rclone
  53349. obscure (https://rclone.org/commands/rclone_obscure/).
  53350. .PP
  53351. Properties:
  53352. .IP \[bu] 2
  53353. Config: password
  53354. .IP \[bu] 2
  53355. Env Var: RCLONE_PROTONDRIVE_PASSWORD
  53356. .IP \[bu] 2
  53357. Type: string
  53358. .IP \[bu] 2
  53359. Required: true
  53360. .SS --protondrive-2fa
  53361. .PP
  53362. The 2FA code
  53363. .PP
  53364. The value can also be provided with --protondrive-2fa=000000
  53365. .PP
  53366. The 2FA code of your proton drive account if the account is set up with
  53367. two-factor authentication
  53368. .PP
  53369. Properties:
  53370. .IP \[bu] 2
  53371. Config: 2fa
  53372. .IP \[bu] 2
  53373. Env Var: RCLONE_PROTONDRIVE_2FA
  53374. .IP \[bu] 2
  53375. Type: string
  53376. .IP \[bu] 2
  53377. Required: false
  53378. .SS Advanced options
  53379. .PP
  53380. Here are the Advanced options specific to protondrive (Proton Drive).
  53381. .SS --protondrive-mailbox-password
  53382. .PP
  53383. The mailbox password of your two-password proton account.
  53384. .PP
  53385. For more information regarding the mailbox password, please check the
  53386. following official knowledge base article:
  53387. https://proton.me/support/the-difference-between-the-mailbox-password-and-login-password
  53388. .PP
  53389. \f[B]NB\f[R] Input to this must be obscured - see rclone
  53390. obscure (https://rclone.org/commands/rclone_obscure/).
  53391. .PP
  53392. Properties:
  53393. .IP \[bu] 2
  53394. Config: mailbox_password
  53395. .IP \[bu] 2
  53396. Env Var: RCLONE_PROTONDRIVE_MAILBOX_PASSWORD
  53397. .IP \[bu] 2
  53398. Type: string
  53399. .IP \[bu] 2
  53400. Required: false
  53401. .SS --protondrive-client-uid
  53402. .PP
  53403. Client uid key (internal use only)
  53404. .PP
  53405. Properties:
  53406. .IP \[bu] 2
  53407. Config: client_uid
  53408. .IP \[bu] 2
  53409. Env Var: RCLONE_PROTONDRIVE_CLIENT_UID
  53410. .IP \[bu] 2
  53411. Type: string
  53412. .IP \[bu] 2
  53413. Required: false
  53414. .SS --protondrive-client-access-token
  53415. .PP
  53416. Client access token key (internal use only)
  53417. .PP
  53418. Properties:
  53419. .IP \[bu] 2
  53420. Config: client_access_token
  53421. .IP \[bu] 2
  53422. Env Var: RCLONE_PROTONDRIVE_CLIENT_ACCESS_TOKEN
  53423. .IP \[bu] 2
  53424. Type: string
  53425. .IP \[bu] 2
  53426. Required: false
  53427. .SS --protondrive-client-refresh-token
  53428. .PP
  53429. Client refresh token key (internal use only)
  53430. .PP
  53431. Properties:
  53432. .IP \[bu] 2
  53433. Config: client_refresh_token
  53434. .IP \[bu] 2
  53435. Env Var: RCLONE_PROTONDRIVE_CLIENT_REFRESH_TOKEN
  53436. .IP \[bu] 2
  53437. Type: string
  53438. .IP \[bu] 2
  53439. Required: false
  53440. .SS --protondrive-client-salted-key-pass
  53441. .PP
  53442. Client salted key pass key (internal use only)
  53443. .PP
  53444. Properties:
  53445. .IP \[bu] 2
  53446. Config: client_salted_key_pass
  53447. .IP \[bu] 2
  53448. Env Var: RCLONE_PROTONDRIVE_CLIENT_SALTED_KEY_PASS
  53449. .IP \[bu] 2
  53450. Type: string
  53451. .IP \[bu] 2
  53452. Required: false
  53453. .SS --protondrive-encoding
  53454. .PP
  53455. The encoding for the backend.
  53456. .PP
  53457. See the encoding section in the
  53458. overview (https://rclone.org/overview/#encoding) for more info.
  53459. .PP
  53460. Properties:
  53461. .IP \[bu] 2
  53462. Config: encoding
  53463. .IP \[bu] 2
  53464. Env Var: RCLONE_PROTONDRIVE_ENCODING
  53465. .IP \[bu] 2
  53466. Type: Encoding
  53467. .IP \[bu] 2
  53468. Default: Slash,LeftSpace,RightSpace,InvalidUtf8,Dot
  53469. .SS --protondrive-original-file-size
  53470. .PP
  53471. Return the file size before encryption
  53472. .PP
  53473. The size of the encrypted file will be different from (bigger than) the
  53474. original file size.
  53475. Unless there is a reason to return the file size after encryption is
  53476. performed, otherwise, set this option to true, as features like Open()
  53477. which will need to be supplied with original content size, will fail to
  53478. operate properly
  53479. .PP
  53480. Properties:
  53481. .IP \[bu] 2
  53482. Config: original_file_size
  53483. .IP \[bu] 2
  53484. Env Var: RCLONE_PROTONDRIVE_ORIGINAL_FILE_SIZE
  53485. .IP \[bu] 2
  53486. Type: bool
  53487. .IP \[bu] 2
  53488. Default: true
  53489. .SS --protondrive-app-version
  53490. .PP
  53491. The app version string
  53492. .PP
  53493. The app version string indicates the client that is currently performing
  53494. the API request.
  53495. This information is required and will be sent with every API request.
  53496. .PP
  53497. Properties:
  53498. .IP \[bu] 2
  53499. Config: app_version
  53500. .IP \[bu] 2
  53501. Env Var: RCLONE_PROTONDRIVE_APP_VERSION
  53502. .IP \[bu] 2
  53503. Type: string
  53504. .IP \[bu] 2
  53505. Default: \[dq]macos-drive\[at]1.0.0-alpha.1+rclone\[dq]
  53506. .SS --protondrive-replace-existing-draft
  53507. .PP
  53508. Create a new revision when filename conflict is detected
  53509. .PP
  53510. When a file upload is cancelled or failed before completion, a draft
  53511. will be created and the subsequent upload of the same file to the same
  53512. location will be reported as a conflict.
  53513. .PP
  53514. The value can also be set by --protondrive-replace-existing-draft=true
  53515. .PP
  53516. If the option is set to true, the draft will be replaced and then the
  53517. upload operation will restart.
  53518. If there are other clients also uploading at the same file location at
  53519. the same time, the behavior is currently unknown.
  53520. Need to set to true for integration tests.
  53521. If the option is set to false, an error \[dq]a draft exist - usually
  53522. this means a file is being uploaded at another client, or, there was a
  53523. failed upload attempt\[dq] will be returned, and no upload will happen.
  53524. .PP
  53525. Properties:
  53526. .IP \[bu] 2
  53527. Config: replace_existing_draft
  53528. .IP \[bu] 2
  53529. Env Var: RCLONE_PROTONDRIVE_REPLACE_EXISTING_DRAFT
  53530. .IP \[bu] 2
  53531. Type: bool
  53532. .IP \[bu] 2
  53533. Default: false
  53534. .SS --protondrive-enable-caching
  53535. .PP
  53536. Caches the files and folders metadata to reduce API calls
  53537. .PP
  53538. Notice: If you are mounting ProtonDrive as a VFS, please disable this
  53539. feature, as the current implementation doesn\[aq]t update or clear the
  53540. cache when there are external changes.
  53541. .PP
  53542. The files and folders on ProtonDrive are represented as links with
  53543. keyrings, which can be cached to improve performance and be friendly to
  53544. the API server.
  53545. .PP
  53546. The cache is currently built for the case when the rclone is the only
  53547. instance performing operations to the mount point.
  53548. The event system, which is the proton API system that provides
  53549. visibility of what has changed on the drive, is yet to be implemented,
  53550. so updates from other clients won\[cq]t be reflected in the cache.
  53551. Thus, if there are concurrent clients accessing the same mount point,
  53552. then we might have a problem with caching the stale data.
  53553. .PP
  53554. Properties:
  53555. .IP \[bu] 2
  53556. Config: enable_caching
  53557. .IP \[bu] 2
  53558. Env Var: RCLONE_PROTONDRIVE_ENABLE_CACHING
  53559. .IP \[bu] 2
  53560. Type: bool
  53561. .IP \[bu] 2
  53562. Default: true
  53563. .SS --protondrive-description
  53564. .PP
  53565. Description of the remote
  53566. .PP
  53567. Properties:
  53568. .IP \[bu] 2
  53569. Config: description
  53570. .IP \[bu] 2
  53571. Env Var: RCLONE_PROTONDRIVE_DESCRIPTION
  53572. .IP \[bu] 2
  53573. Type: string
  53574. .IP \[bu] 2
  53575. Required: false
  53576. .SS Limitations
  53577. .PP
  53578. This backend uses the
  53579. Proton-API-Bridge (https://github.com/henrybear327/Proton-API-Bridge),
  53580. which is based on
  53581. go-proton-api (https://github.com/henrybear327/go-proton-api), a fork of
  53582. the official repo (https://github.com/ProtonMail/go-proton-api).
  53583. .PP
  53584. There is no official API documentation available from Proton Drive.
  53585. But, thanks to Proton open sourcing
  53586. proton-go-api (https://github.com/ProtonMail/go-proton-api) and the web,
  53587. iOS, and Android client codebases, we don\[aq]t need to completely
  53588. reverse engineer the APIs by observing the web client traffic!
  53589. .PP
  53590. proton-go-api (https://github.com/ProtonMail/go-proton-api) provides the
  53591. basic building blocks of API calls and error handling, such as 429
  53592. exponential back-off, but it is pretty much just a barebone interface to
  53593. the Proton API.
  53594. For example, the encryption and decryption of the Proton Drive file are
  53595. not provided in this library.
  53596. .PP
  53597. The Proton-API-Bridge, attempts to bridge the gap, so rclone can be
  53598. built on top of this quickly.
  53599. This codebase handles the intricate tasks before and after calling
  53600. Proton APIs, particularly the complex encryption scheme, allowing
  53601. developers to implement features for other software on top of this
  53602. codebase.
  53603. There are likely quite a few errors in this library, as there isn\[aq]t
  53604. official documentation available.
  53605. .SH Seafile
  53606. .PP
  53607. This is a backend for the Seafile (https://www.seafile.com/) storage
  53608. service: - It works with both the free community edition or the
  53609. professional edition.
  53610. - Seafile versions 6.x, 7.x, 8.x and 9.x are all supported.
  53611. - Encrypted libraries are also supported.
  53612. - It supports 2FA enabled users - Using a Library API Token is
  53613. \f[B]not\f[R] supported
  53614. .SS Configuration
  53615. .PP
  53616. There are two distinct modes you can setup your remote: - you point your
  53617. remote to the \f[B]root of the server\f[R], meaning you don\[aq]t
  53618. specify a library during the configuration: Paths are specified as
  53619. \f[C]remote:library\f[R].
  53620. You may put subdirectories in too, e.g.
  53621. \f[C]remote:library/path/to/dir\f[R].
  53622. - you point your remote to a specific library during the configuration:
  53623. Paths are specified as \f[C]remote:path/to/dir\f[R].
  53624. \f[B]This is the recommended mode when using encrypted libraries\f[R].
  53625. (\f[I]This mode is possibly slightly faster than the root mode\f[R])
  53626. .SS Configuration in root mode
  53627. .PP
  53628. Here is an example of making a seafile configuration for a user with
  53629. \f[B]no\f[R] two-factor authentication.
  53630. First run
  53631. .IP
  53632. .nf
  53633. \f[C]
  53634. rclone config
  53635. \f[R]
  53636. .fi
  53637. .PP
  53638. This will guide you through an interactive setup process.
  53639. To authenticate you will need the URL of your server, your email (or
  53640. username) and your password.
  53641. .IP
  53642. .nf
  53643. \f[C]
  53644. No remotes found, make a new one?
  53645. n) New remote
  53646. s) Set configuration password
  53647. q) Quit config
  53648. n/s/q> n
  53649. name> seafile
  53650. Type of storage to configure.
  53651. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53652. Choose a number from below, or type in your own value
  53653. [snip]
  53654. XX / Seafile
  53655. \[rs] \[dq]seafile\[dq]
  53656. [snip]
  53657. Storage> seafile
  53658. ** See help for seafile backend at: https://rclone.org/seafile/ **
  53659. URL of seafile host to connect to
  53660. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53661. Choose a number from below, or type in your own value
  53662. 1 / Connect to cloud.seafile.com
  53663. \[rs] \[dq]https://cloud.seafile.com/\[dq]
  53664. url> http://my.seafile.server/
  53665. User name (usually email address)
  53666. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53667. user> me\[at]example.com
  53668. Password
  53669. y) Yes type in my own password
  53670. g) Generate random password
  53671. n) No leave this optional password blank (default)
  53672. y/g> y
  53673. Enter the password:
  53674. password:
  53675. Confirm the password:
  53676. password:
  53677. Two-factor authentication (\[aq]true\[aq] if the account has 2FA enabled)
  53678. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  53679. 2fa> false
  53680. Name of the library. Leave blank to access all non-encrypted libraries.
  53681. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53682. library>
  53683. Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
  53684. y) Yes type in my own password
  53685. g) Generate random password
  53686. n) No leave this optional password blank (default)
  53687. y/g/n> n
  53688. Edit advanced config? (y/n)
  53689. y) Yes
  53690. n) No (default)
  53691. y/n> n
  53692. Remote config
  53693. Two-factor authentication is not enabled on this account.
  53694. --------------------
  53695. [seafile]
  53696. type = seafile
  53697. url = http://my.seafile.server/
  53698. user = me\[at]example.com
  53699. pass = *** ENCRYPTED ***
  53700. 2fa = false
  53701. --------------------
  53702. y) Yes this is OK (default)
  53703. e) Edit this remote
  53704. d) Delete this remote
  53705. y/e/d> y
  53706. \f[R]
  53707. .fi
  53708. .PP
  53709. This remote is called \f[C]seafile\f[R].
  53710. It\[aq]s pointing to the root of your seafile server and can now be used
  53711. like this:
  53712. .PP
  53713. See all libraries
  53714. .IP
  53715. .nf
  53716. \f[C]
  53717. rclone lsd seafile:
  53718. \f[R]
  53719. .fi
  53720. .PP
  53721. Create a new library
  53722. .IP
  53723. .nf
  53724. \f[C]
  53725. rclone mkdir seafile:library
  53726. \f[R]
  53727. .fi
  53728. .PP
  53729. List the contents of a library
  53730. .IP
  53731. .nf
  53732. \f[C]
  53733. rclone ls seafile:library
  53734. \f[R]
  53735. .fi
  53736. .PP
  53737. Sync \f[C]/home/local/directory\f[R] to the remote library, deleting any
  53738. excess files in the library.
  53739. .IP
  53740. .nf
  53741. \f[C]
  53742. rclone sync --interactive /home/local/directory seafile:library
  53743. \f[R]
  53744. .fi
  53745. .SS Configuration in library mode
  53746. .PP
  53747. Here\[aq]s an example of a configuration in library mode with a user
  53748. that has the two-factor authentication enabled.
  53749. Your 2FA code will be asked at the end of the configuration, and will
  53750. attempt to authenticate you:
  53751. .IP
  53752. .nf
  53753. \f[C]
  53754. No remotes found, make a new one?
  53755. n) New remote
  53756. s) Set configuration password
  53757. q) Quit config
  53758. n/s/q> n
  53759. name> seafile
  53760. Type of storage to configure.
  53761. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53762. Choose a number from below, or type in your own value
  53763. [snip]
  53764. XX / Seafile
  53765. \[rs] \[dq]seafile\[dq]
  53766. [snip]
  53767. Storage> seafile
  53768. ** See help for seafile backend at: https://rclone.org/seafile/ **
  53769. URL of seafile host to connect to
  53770. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53771. Choose a number from below, or type in your own value
  53772. 1 / Connect to cloud.seafile.com
  53773. \[rs] \[dq]https://cloud.seafile.com/\[dq]
  53774. url> http://my.seafile.server/
  53775. User name (usually email address)
  53776. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53777. user> me\[at]example.com
  53778. Password
  53779. y) Yes type in my own password
  53780. g) Generate random password
  53781. n) No leave this optional password blank (default)
  53782. y/g> y
  53783. Enter the password:
  53784. password:
  53785. Confirm the password:
  53786. password:
  53787. Two-factor authentication (\[aq]true\[aq] if the account has 2FA enabled)
  53788. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  53789. 2fa> true
  53790. Name of the library. Leave blank to access all non-encrypted libraries.
  53791. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  53792. library> My Library
  53793. Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
  53794. y) Yes type in my own password
  53795. g) Generate random password
  53796. n) No leave this optional password blank (default)
  53797. y/g/n> n
  53798. Edit advanced config? (y/n)
  53799. y) Yes
  53800. n) No (default)
  53801. y/n> n
  53802. Remote config
  53803. Two-factor authentication: please enter your 2FA code
  53804. 2fa code> 123456
  53805. Authenticating...
  53806. Success!
  53807. --------------------
  53808. [seafile]
  53809. type = seafile
  53810. url = http://my.seafile.server/
  53811. user = me\[at]example.com
  53812. pass =
  53813. 2fa = true
  53814. library = My Library
  53815. --------------------
  53816. y) Yes this is OK (default)
  53817. e) Edit this remote
  53818. d) Delete this remote
  53819. y/e/d> y
  53820. \f[R]
  53821. .fi
  53822. .PP
  53823. You\[aq]ll notice your password is blank in the configuration.
  53824. It\[aq]s because we only need the password to authenticate you once.
  53825. .PP
  53826. You specified \f[C]My Library\f[R] during the configuration.
  53827. The root of the remote is pointing at the root of the library
  53828. \f[C]My Library\f[R]:
  53829. .PP
  53830. See all files in the library:
  53831. .IP
  53832. .nf
  53833. \f[C]
  53834. rclone lsd seafile:
  53835. \f[R]
  53836. .fi
  53837. .PP
  53838. Create a new directory inside the library
  53839. .IP
  53840. .nf
  53841. \f[C]
  53842. rclone mkdir seafile:directory
  53843. \f[R]
  53844. .fi
  53845. .PP
  53846. List the contents of a directory
  53847. .IP
  53848. .nf
  53849. \f[C]
  53850. rclone ls seafile:directory
  53851. \f[R]
  53852. .fi
  53853. .PP
  53854. Sync \f[C]/home/local/directory\f[R] to the remote library, deleting any
  53855. excess files in the library.
  53856. .IP
  53857. .nf
  53858. \f[C]
  53859. rclone sync --interactive /home/local/directory seafile:
  53860. \f[R]
  53861. .fi
  53862. .SS --fast-list
  53863. .PP
  53864. Seafile version 7+ supports \f[C]--fast-list\f[R] which allows you to
  53865. use fewer transactions in exchange for more memory.
  53866. See the rclone docs (https://rclone.org/docs/#fast-list) for more
  53867. details.
  53868. Please note this is not supported on seafile server version 6.x
  53869. .SS Restricted filename characters
  53870. .PP
  53871. In addition to the default restricted characters
  53872. set (https://rclone.org/overview/#restricted-characters) the following
  53873. characters are also replaced:
  53874. .PP
  53875. .TS
  53876. tab(@);
  53877. l c c.
  53878. T{
  53879. Character
  53880. T}@T{
  53881. Value
  53882. T}@T{
  53883. Replacement
  53884. T}
  53885. _
  53886. T{
  53887. /
  53888. T}@T{
  53889. 0x2F
  53890. T}@T{
  53891. \[uFF0F]
  53892. T}
  53893. T{
  53894. \[dq]
  53895. T}@T{
  53896. 0x22
  53897. T}@T{
  53898. \[uFF02]
  53899. T}
  53900. T{
  53901. \[rs]
  53902. T}@T{
  53903. 0x5C
  53904. T}@T{
  53905. \[uFF3C]
  53906. T}
  53907. .TE
  53908. .PP
  53909. Invalid UTF-8 bytes will also be
  53910. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  53911. be used in JSON strings.
  53912. .SS Seafile and rclone link
  53913. .PP
  53914. Rclone supports generating share links for non-encrypted libraries only.
  53915. They can either be for a file or a directory:
  53916. .IP
  53917. .nf
  53918. \f[C]
  53919. rclone link seafile:seafile-tutorial.doc
  53920. http://my.seafile.server/f/fdcd8a2f93f84b8b90f4/
  53921. \f[R]
  53922. .fi
  53923. .PP
  53924. or if run on a directory you will get:
  53925. .IP
  53926. .nf
  53927. \f[C]
  53928. rclone link seafile:dir
  53929. http://my.seafile.server/d/9ea2455f6f55478bbb0d/
  53930. \f[R]
  53931. .fi
  53932. .PP
  53933. Please note a share link is unique for each file or directory.
  53934. If you run a link command on a file/dir that has already been shared,
  53935. you will get the exact same link.
  53936. .SS Compatibility
  53937. .PP
  53938. It has been actively developed using the seafile docker
  53939. image (https://github.com/haiwen/seafile-docker) of these versions: -
  53940. 6.3.4 community edition - 7.0.5 community edition - 7.1.3 community
  53941. edition - 9.0.10 community edition
  53942. .PP
  53943. Versions below 6.0 are not supported.
  53944. Versions between 6.0 and 6.3 haven\[aq]t been tested and might not work
  53945. properly.
  53946. .PP
  53947. Each new version of \f[C]rclone\f[R] is automatically tested against the
  53948. latest docker image (https://hub.docker.com/r/seafileltd/seafile-mc/) of
  53949. the seafile community server.
  53950. .SS Standard options
  53951. .PP
  53952. Here are the Standard options specific to seafile (seafile).
  53953. .SS --seafile-url
  53954. .PP
  53955. URL of seafile host to connect to.
  53956. .PP
  53957. Properties:
  53958. .IP \[bu] 2
  53959. Config: url
  53960. .IP \[bu] 2
  53961. Env Var: RCLONE_SEAFILE_URL
  53962. .IP \[bu] 2
  53963. Type: string
  53964. .IP \[bu] 2
  53965. Required: true
  53966. .IP \[bu] 2
  53967. Examples:
  53968. .RS 2
  53969. .IP \[bu] 2
  53970. \[dq]https://cloud.seafile.com/\[dq]
  53971. .RS 2
  53972. .IP \[bu] 2
  53973. Connect to cloud.seafile.com.
  53974. .RE
  53975. .RE
  53976. .SS --seafile-user
  53977. .PP
  53978. User name (usually email address).
  53979. .PP
  53980. Properties:
  53981. .IP \[bu] 2
  53982. Config: user
  53983. .IP \[bu] 2
  53984. Env Var: RCLONE_SEAFILE_USER
  53985. .IP \[bu] 2
  53986. Type: string
  53987. .IP \[bu] 2
  53988. Required: true
  53989. .SS --seafile-pass
  53990. .PP
  53991. Password.
  53992. .PP
  53993. \f[B]NB\f[R] Input to this must be obscured - see rclone
  53994. obscure (https://rclone.org/commands/rclone_obscure/).
  53995. .PP
  53996. Properties:
  53997. .IP \[bu] 2
  53998. Config: pass
  53999. .IP \[bu] 2
  54000. Env Var: RCLONE_SEAFILE_PASS
  54001. .IP \[bu] 2
  54002. Type: string
  54003. .IP \[bu] 2
  54004. Required: false
  54005. .SS --seafile-2fa
  54006. .PP
  54007. Two-factor authentication (\[aq]true\[aq] if the account has 2FA
  54008. enabled).
  54009. .PP
  54010. Properties:
  54011. .IP \[bu] 2
  54012. Config: 2fa
  54013. .IP \[bu] 2
  54014. Env Var: RCLONE_SEAFILE_2FA
  54015. .IP \[bu] 2
  54016. Type: bool
  54017. .IP \[bu] 2
  54018. Default: false
  54019. .SS --seafile-library
  54020. .PP
  54021. Name of the library.
  54022. .PP
  54023. Leave blank to access all non-encrypted libraries.
  54024. .PP
  54025. Properties:
  54026. .IP \[bu] 2
  54027. Config: library
  54028. .IP \[bu] 2
  54029. Env Var: RCLONE_SEAFILE_LIBRARY
  54030. .IP \[bu] 2
  54031. Type: string
  54032. .IP \[bu] 2
  54033. Required: false
  54034. .SS --seafile-library-key
  54035. .PP
  54036. Library password (for encrypted libraries only).
  54037. .PP
  54038. Leave blank if you pass it through the command line.
  54039. .PP
  54040. \f[B]NB\f[R] Input to this must be obscured - see rclone
  54041. obscure (https://rclone.org/commands/rclone_obscure/).
  54042. .PP
  54043. Properties:
  54044. .IP \[bu] 2
  54045. Config: library_key
  54046. .IP \[bu] 2
  54047. Env Var: RCLONE_SEAFILE_LIBRARY_KEY
  54048. .IP \[bu] 2
  54049. Type: string
  54050. .IP \[bu] 2
  54051. Required: false
  54052. .SS --seafile-auth-token
  54053. .PP
  54054. Authentication token.
  54055. .PP
  54056. Properties:
  54057. .IP \[bu] 2
  54058. Config: auth_token
  54059. .IP \[bu] 2
  54060. Env Var: RCLONE_SEAFILE_AUTH_TOKEN
  54061. .IP \[bu] 2
  54062. Type: string
  54063. .IP \[bu] 2
  54064. Required: false
  54065. .SS Advanced options
  54066. .PP
  54067. Here are the Advanced options specific to seafile (seafile).
  54068. .SS --seafile-create-library
  54069. .PP
  54070. Should rclone create a library if it doesn\[aq]t exist.
  54071. .PP
  54072. Properties:
  54073. .IP \[bu] 2
  54074. Config: create_library
  54075. .IP \[bu] 2
  54076. Env Var: RCLONE_SEAFILE_CREATE_LIBRARY
  54077. .IP \[bu] 2
  54078. Type: bool
  54079. .IP \[bu] 2
  54080. Default: false
  54081. .SS --seafile-encoding
  54082. .PP
  54083. The encoding for the backend.
  54084. .PP
  54085. See the encoding section in the
  54086. overview (https://rclone.org/overview/#encoding) for more info.
  54087. .PP
  54088. Properties:
  54089. .IP \[bu] 2
  54090. Config: encoding
  54091. .IP \[bu] 2
  54092. Env Var: RCLONE_SEAFILE_ENCODING
  54093. .IP \[bu] 2
  54094. Type: Encoding
  54095. .IP \[bu] 2
  54096. Default: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8
  54097. .SS --seafile-description
  54098. .PP
  54099. Description of the remote
  54100. .PP
  54101. Properties:
  54102. .IP \[bu] 2
  54103. Config: description
  54104. .IP \[bu] 2
  54105. Env Var: RCLONE_SEAFILE_DESCRIPTION
  54106. .IP \[bu] 2
  54107. Type: string
  54108. .IP \[bu] 2
  54109. Required: false
  54110. .SH SFTP
  54111. .PP
  54112. SFTP is the Secure (or SSH) File Transfer
  54113. Protocol (https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol).
  54114. .PP
  54115. The SFTP backend can be used with a number of different providers:
  54116. .IP \[bu] 2
  54117. Hetzner Storage Box
  54118. .IP \[bu] 2
  54119. rsync.net
  54120. .PP
  54121. SFTP runs over SSH v2 and is installed as standard with most modern SSH
  54122. installations.
  54123. .PP
  54124. Paths are specified as \f[C]remote:path\f[R].
  54125. If the path does not begin with a \f[C]/\f[R] it is relative to the home
  54126. directory of the user.
  54127. An empty path \f[C]remote:\f[R] refers to the user\[aq]s home directory.
  54128. For example, \f[C]rclone lsd remote:\f[R] would list the home directory
  54129. of the user configured in the rclone remote config
  54130. (\f[C]i.e /home/sftpuser\f[R]).
  54131. However, \f[C]rclone lsd remote:/\f[R] would list the root directory for
  54132. remote machine (i.e.
  54133. \f[C]/\f[R])
  54134. .PP
  54135. Note that some SFTP servers will need the leading / - Synology is a good
  54136. example of this.
  54137. rsync.net and Hetzner, on the other hand, requires users to OMIT the
  54138. leading /.
  54139. .PP
  54140. Note that by default rclone will try to execute shell commands on the
  54141. server, see shell access considerations.
  54142. .SS Configuration
  54143. .PP
  54144. Here is an example of making an SFTP configuration.
  54145. First run
  54146. .IP
  54147. .nf
  54148. \f[C]
  54149. rclone config
  54150. \f[R]
  54151. .fi
  54152. .PP
  54153. This will guide you through an interactive setup process.
  54154. .IP
  54155. .nf
  54156. \f[C]
  54157. No remotes found, make a new one?
  54158. n) New remote
  54159. s) Set configuration password
  54160. q) Quit config
  54161. n/s/q> n
  54162. name> remote
  54163. Type of storage to configure.
  54164. Choose a number from below, or type in your own value
  54165. [snip]
  54166. XX / SSH/SFTP
  54167. \[rs] \[dq]sftp\[dq]
  54168. [snip]
  54169. Storage> sftp
  54170. SSH host to connect to
  54171. Choose a number from below, or type in your own value
  54172. 1 / Connect to example.com
  54173. \[rs] \[dq]example.com\[dq]
  54174. host> example.com
  54175. SSH username
  54176. Enter a string value. Press Enter for the default (\[dq]$USER\[dq]).
  54177. user> sftpuser
  54178. SSH port number
  54179. Enter a signed integer. Press Enter for the default (22).
  54180. port>
  54181. SSH password, leave blank to use ssh-agent.
  54182. y) Yes type in my own password
  54183. g) Generate random password
  54184. n) No leave this optional password blank
  54185. y/g/n> n
  54186. Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent.
  54187. key_file>
  54188. Remote config
  54189. --------------------
  54190. [remote]
  54191. host = example.com
  54192. user = sftpuser
  54193. port =
  54194. pass =
  54195. key_file =
  54196. --------------------
  54197. y) Yes this is OK
  54198. e) Edit this remote
  54199. d) Delete this remote
  54200. y/e/d> y
  54201. \f[R]
  54202. .fi
  54203. .PP
  54204. This remote is called \f[C]remote\f[R] and can now be used like this:
  54205. .PP
  54206. See all directories in the home directory
  54207. .IP
  54208. .nf
  54209. \f[C]
  54210. rclone lsd remote:
  54211. \f[R]
  54212. .fi
  54213. .PP
  54214. See all directories in the root directory
  54215. .IP
  54216. .nf
  54217. \f[C]
  54218. rclone lsd remote:/
  54219. \f[R]
  54220. .fi
  54221. .PP
  54222. Make a new directory
  54223. .IP
  54224. .nf
  54225. \f[C]
  54226. rclone mkdir remote:path/to/directory
  54227. \f[R]
  54228. .fi
  54229. .PP
  54230. List the contents of a directory
  54231. .IP
  54232. .nf
  54233. \f[C]
  54234. rclone ls remote:path/to/directory
  54235. \f[R]
  54236. .fi
  54237. .PP
  54238. Sync \f[C]/home/local/directory\f[R] to the remote directory, deleting
  54239. any excess files in the directory.
  54240. .IP
  54241. .nf
  54242. \f[C]
  54243. rclone sync --interactive /home/local/directory remote:directory
  54244. \f[R]
  54245. .fi
  54246. .PP
  54247. Mount the remote path \f[C]/srv/www-data/\f[R] to the local path
  54248. \f[C]/mnt/www-data\f[R]
  54249. .IP
  54250. .nf
  54251. \f[C]
  54252. rclone mount remote:/srv/www-data/ /mnt/www-data
  54253. \f[R]
  54254. .fi
  54255. .SS SSH Authentication
  54256. .PP
  54257. The SFTP remote supports three authentication methods:
  54258. .IP \[bu] 2
  54259. Password
  54260. .IP \[bu] 2
  54261. Key file, including certificate signed keys
  54262. .IP \[bu] 2
  54263. ssh-agent
  54264. .PP
  54265. Key files should be PEM-encoded private key files.
  54266. For instance \f[C]/home/$USER/.ssh/id_rsa\f[R].
  54267. Only unencrypted OpenSSH or PEM encrypted files are supported.
  54268. .PP
  54269. The key file can be specified in either an external file (key_file) or
  54270. contained within the rclone config file (key_pem).
  54271. If using key_pem in the config file, the entry should be on a single
  54272. line with new line (\[aq]\[aq] or \[aq]\[aq]) separating lines.
  54273. i.e.
  54274. .IP
  54275. .nf
  54276. \f[C]
  54277. key_pem = -----BEGIN RSA PRIVATE KEY-----\[rs]nMaMbaIXtE\[rs]n0gAMbMbaSsd\[rs]nMbaass\[rs]n-----END RSA PRIVATE KEY-----
  54278. \f[R]
  54279. .fi
  54280. .PP
  54281. This will generate it correctly for key_pem for use in the config:
  54282. .IP
  54283. .nf
  54284. \f[C]
  54285. awk \[aq]{printf \[dq]%s\[rs]\[rs]n\[dq], $0}\[aq] < \[ti]/.ssh/id_rsa
  54286. \f[R]
  54287. .fi
  54288. .PP
  54289. If you don\[aq]t specify \f[C]pass\f[R], \f[C]key_file\f[R], or
  54290. \f[C]key_pem\f[R] or \f[C]ask_password\f[R] then rclone will attempt to
  54291. contact an ssh-agent.
  54292. You can also specify \f[C]key_use_agent\f[R] to force the usage of an
  54293. ssh-agent.
  54294. In this case \f[C]key_file\f[R] or \f[C]key_pem\f[R] can also be
  54295. specified to force the usage of a specific key in the ssh-agent.
  54296. .PP
  54297. Using an ssh-agent is the only way to load encrypted OpenSSH keys at the
  54298. moment.
  54299. .PP
  54300. If you set the \f[C]ask_password\f[R] option, rclone will prompt for a
  54301. password when needed and no password has been configured.
  54302. .SS Certificate-signed keys
  54303. .PP
  54304. With traditional key-based authentication, you configure your private
  54305. key only, and the public key built into it will be used during the
  54306. authentication process.
  54307. .PP
  54308. If you have a certificate you may use it to sign your public key,
  54309. creating a separate SSH user certificate that should be used instead of
  54310. the plain public key extracted from the private key.
  54311. Then you must provide the path to the user certificate public key file
  54312. in \f[C]pubkey_file\f[R].
  54313. .PP
  54314. Note: This is not the traditional public key paired with your private
  54315. key, typically saved as \f[C]/home/$USER/.ssh/id_rsa.pub\f[R].
  54316. Setting this path in \f[C]pubkey_file\f[R] will not work.
  54317. .PP
  54318. Example:
  54319. .IP
  54320. .nf
  54321. \f[C]
  54322. [remote]
  54323. type = sftp
  54324. host = example.com
  54325. user = sftpuser
  54326. key_file = \[ti]/id_rsa
  54327. pubkey_file = \[ti]/id_rsa-cert.pub
  54328. \f[R]
  54329. .fi
  54330. .PP
  54331. If you concatenate a cert with a private key then you can specify the
  54332. merged file in both places.
  54333. .PP
  54334. Note: the cert must come first in the file.
  54335. e.g.
  54336. .IP
  54337. .nf
  54338. \f[C]
  54339. cat id_rsa-cert.pub id_rsa > merged_key
  54340. \f[R]
  54341. .fi
  54342. .SS Host key validation
  54343. .PP
  54344. By default rclone will not check the server\[aq]s host key for
  54345. validation.
  54346. This can allow an attacker to replace a server with their own and if you
  54347. use password authentication then this can lead to that password being
  54348. exposed.
  54349. .PP
  54350. Host key matching, using standard \f[C]known_hosts\f[R] files can be
  54351. turned on by enabling the \f[C]known_hosts_file\f[R] option.
  54352. This can point to the file maintained by \f[C]OpenSSH\f[R] or can point
  54353. to a unique file.
  54354. .PP
  54355. e.g.
  54356. using the OpenSSH \f[C]known_hosts\f[R] file:
  54357. .IP
  54358. .nf
  54359. \f[C]
  54360. [remote]
  54361. type = sftp
  54362. host = example.com
  54363. user = sftpuser
  54364. pass =
  54365. known_hosts_file = \[ti]/.ssh/known_hosts
  54366. \f[R]
  54367. .fi
  54368. .PP
  54369. Alternatively you can create your own known hosts file like this:
  54370. .IP
  54371. .nf
  54372. \f[C]
  54373. ssh-keyscan -t dsa,rsa,ecdsa,ed25519 example.com >> known_hosts
  54374. \f[R]
  54375. .fi
  54376. .PP
  54377. There are some limitations:
  54378. .IP \[bu] 2
  54379. \f[C]rclone\f[R] will not \f[I]manage\f[R] this file for you.
  54380. If the key is missing or wrong then the connection will be refused.
  54381. .IP \[bu] 2
  54382. If the server is set up for a certificate host key then the entry in the
  54383. \f[C]known_hosts\f[R] file \f[I]must\f[R] be the
  54384. \f[C]\[at]cert-authority\f[R] entry for the CA
  54385. .PP
  54386. If the host key provided by the server does not match the one in the
  54387. file (or is missing) then the connection will be aborted and an error
  54388. returned such as
  54389. .IP
  54390. .nf
  54391. \f[C]
  54392. NewFs: couldn\[aq]t connect SSH: ssh: handshake failed: knownhosts: key mismatch
  54393. \f[R]
  54394. .fi
  54395. .PP
  54396. or
  54397. .IP
  54398. .nf
  54399. \f[C]
  54400. NewFs: couldn\[aq]t connect SSH: ssh: handshake failed: knownhosts: key is unknown
  54401. \f[R]
  54402. .fi
  54403. .PP
  54404. If you see an error such as
  54405. .IP
  54406. .nf
  54407. \f[C]
  54408. NewFs: couldn\[aq]t connect SSH: ssh: handshake failed: ssh: no authorities for hostname: example.com:22
  54409. \f[R]
  54410. .fi
  54411. .PP
  54412. then it is likely the server has presented a CA signed host certificate
  54413. and you will need to add the appropriate \f[C]\[at]cert-authority\f[R]
  54414. entry.
  54415. .PP
  54416. The \f[C]known_hosts_file\f[R] setting can be set during
  54417. \f[C]rclone config\f[R] as an advanced option.
  54418. .SS ssh-agent on macOS
  54419. .PP
  54420. Note that there seem to be various problems with using an ssh-agent on
  54421. macOS due to recent changes in the OS.
  54422. The most effective work-around seems to be to start an ssh-agent in each
  54423. session, e.g.
  54424. .IP
  54425. .nf
  54426. \f[C]
  54427. eval \[ga]ssh-agent -s\[ga] && ssh-add -A
  54428. \f[R]
  54429. .fi
  54430. .PP
  54431. And then at the end of the session
  54432. .IP
  54433. .nf
  54434. \f[C]
  54435. eval \[ga]ssh-agent -k\[ga]
  54436. \f[R]
  54437. .fi
  54438. .PP
  54439. These commands can be used in scripts of course.
  54440. .SS Shell access
  54441. .PP
  54442. Some functionality of the SFTP backend relies on remote shell access,
  54443. and the possibility to execute commands.
  54444. This includes checksum, and in some cases also about.
  54445. The shell commands that must be executed may be different on different
  54446. type of shells, and also quoting/escaping of file path arguments
  54447. containing special characters may be different.
  54448. Rclone therefore needs to know what type of shell it is, and if shell
  54449. access is available at all.
  54450. .PP
  54451. Most servers run on some version of Unix, and then a basic Unix shell
  54452. can be assumed, without further distinction.
  54453. Windows 10, Server 2019, and later can also run a SSH server, which is a
  54454. port of OpenSSH (see official installation
  54455. guide (https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)).
  54456. On a Windows server the shell handling is different: Although it can
  54457. also be set up to use a Unix type shell, e.g.
  54458. Cygwin bash, the default is to use Windows Command Prompt (cmd.exe), and
  54459. PowerShell is a recommended alternative.
  54460. All of these have behave differently, which rclone must handle.
  54461. .PP
  54462. Rclone tries to auto-detect what type of shell is used on the server,
  54463. first time you access the SFTP remote.
  54464. If a remote shell session is successfully created, it will look for
  54465. indications that it is CMD or PowerShell, with fall-back to Unix if not
  54466. something else is detected.
  54467. If unable to even create a remote shell session, then shell command
  54468. execution will be disabled entirely.
  54469. The result is stored in the SFTP remote configuration, in option
  54470. \f[C]shell_type\f[R], so that the auto-detection only have to be
  54471. performed once.
  54472. If you manually set a value for this option before first run, the
  54473. auto-detection will be skipped, and if you set a different value later
  54474. this will override any existing.
  54475. Value \f[C]none\f[R] can be set to avoid any attempts at executing shell
  54476. commands, e.g.
  54477. if this is not allowed on the server.
  54478. .PP
  54479. When the server is rclone serve
  54480. sftp (https://rclone.org/commands/rclone_serve_sftp/), the rclone SFTP
  54481. remote will detect this as a Unix type shell - even if it is running on
  54482. Windows.
  54483. This server does not actually have a shell, but it accepts input
  54484. commands matching the specific ones that the SFTP backend relies on for
  54485. Unix shells, e.g.
  54486. \f[C]md5sum\f[R] and \f[C]df\f[R].
  54487. Also it handles the string escape rules used for Unix shell.
  54488. Treating it as a Unix type shell from a SFTP remote will therefore
  54489. always be correct, and support all features.
  54490. .SS Shell access considerations
  54491. .PP
  54492. The shell type auto-detection logic, described above, means that by
  54493. default rclone will try to run a shell command the first time a new sftp
  54494. remote is accessed.
  54495. If you configure a sftp remote without a config file, e.g.
  54496. an on the fly (https://rclone.org/docs/#backend-path-to-dir%5D) remote,
  54497. rclone will have nowhere to store the result, and it will re-run the
  54498. command on every access.
  54499. To avoid this you should explicitly set the \f[C]shell_type\f[R] option
  54500. to the correct value, or to \f[C]none\f[R] if you want to prevent rclone
  54501. from executing any remote shell commands.
  54502. .PP
  54503. It is also important to note that, since the shell type decides how
  54504. quoting and escaping of file paths used as command-line arguments are
  54505. performed, configuring the wrong shell type may leave you exposed to
  54506. command injection exploits.
  54507. Make sure to confirm the auto-detected shell type, or explicitly set the
  54508. shell type you know is correct, or disable shell access until you know.
  54509. .SS Checksum
  54510. .PP
  54511. SFTP does not natively support checksums (file hash), but rclone is able
  54512. to use checksumming if the same login has shell access, and can execute
  54513. remote commands.
  54514. If there is a command that can calculate compatible checksums on the
  54515. remote system, Rclone can then be configured to execute this whenever a
  54516. checksum is needed, and read back the results.
  54517. Currently MD5 and SHA-1 are supported.
  54518. .PP
  54519. Normally this requires an external utility being available on the
  54520. server.
  54521. By default rclone will try commands \f[C]md5sum\f[R], \f[C]md5\f[R] and
  54522. \f[C]rclone md5sum\f[R] for MD5 checksums, and the first one found
  54523. usable will be picked.
  54524. Same with \f[C]sha1sum\f[R], \f[C]sha1\f[R] and \f[C]rclone sha1sum\f[R]
  54525. commands for SHA-1 checksums.
  54526. These utilities normally need to be in the remote\[aq]s PATH to be
  54527. found.
  54528. .PP
  54529. In some cases the shell itself is capable of calculating checksums.
  54530. PowerShell is an example of such a shell.
  54531. If rclone detects that the remote shell is PowerShell, which means it
  54532. most probably is a Windows OpenSSH server, rclone will use a predefined
  54533. script block to produce the checksums when no external checksum commands
  54534. are found (see shell access).
  54535. This assumes PowerShell version 4.0 or newer.
  54536. .PP
  54537. The options \f[C]md5sum_command\f[R] and \f[C]sha1_command\f[R] can be
  54538. used to customize the command to be executed for calculation of
  54539. checksums.
  54540. You can for example set a specific path to where md5sum and sha1sum
  54541. executables are located, or use them to specify some other tools that
  54542. print checksums in compatible format.
  54543. The value can include command-line arguments, or even shell script
  54544. blocks as with PowerShell.
  54545. Rclone has subcommands
  54546. md5sum (https://rclone.org/commands/rclone_md5sum/) and
  54547. sha1sum (https://rclone.org/commands/rclone_sha1sum/) that use
  54548. compatible format, which means if you have an rclone executable on the
  54549. server it can be used.
  54550. As mentioned above, they will be automatically picked up if found in
  54551. PATH, but if not you can set something like
  54552. \f[C]/path/to/rclone md5sum\f[R] as the value of option
  54553. \f[C]md5sum_command\f[R] to make sure a specific executable is used.
  54554. .PP
  54555. Remote checksumming is recommended and enabled by default.
  54556. First time rclone is using a SFTP remote, if options
  54557. \f[C]md5sum_command\f[R] or \f[C]sha1_command\f[R] are not set, it will
  54558. check if any of the default commands for each of them, as described
  54559. above, can be used.
  54560. The result will be saved in the remote configuration, so next time it
  54561. will use the same.
  54562. Value \f[C]none\f[R] will be set if none of the default commands could
  54563. be used for a specific algorithm, and this algorithm will not be
  54564. supported by the remote.
  54565. .PP
  54566. Disabling the checksumming may be required if you are connecting to SFTP
  54567. servers which are not under your control, and to which the execution of
  54568. remote shell commands is prohibited.
  54569. Set the configuration option \f[C]disable_hashcheck\f[R] to
  54570. \f[C]true\f[R] to disable checksumming entirely, or set
  54571. \f[C]shell_type\f[R] to \f[C]none\f[R] to disable all functionality
  54572. based on remote shell command execution.
  54573. .SS Modification times and hashes
  54574. .PP
  54575. Modified times are stored on the server to 1 second precision.
  54576. .PP
  54577. Modified times are used in syncing and are fully supported.
  54578. .PP
  54579. Some SFTP servers disable setting/modifying the file modification time
  54580. after upload (for example, certain configurations of ProFTPd with
  54581. mod_sftp).
  54582. If you are using one of these servers, you can set the option
  54583. \f[C]set_modtime = false\f[R] in your RClone backend configuration to
  54584. disable this behaviour.
  54585. .SS About command
  54586. .PP
  54587. The \f[C]about\f[R] command returns the total space, free space, and
  54588. used space on the remote for the disk of the specified path on the
  54589. remote or, if not set, the disk of the root on the remote.
  54590. .PP
  54591. SFTP usually supports the
  54592. about (https://rclone.org/commands/rclone_about/) command, but it
  54593. depends on the server.
  54594. If the server implements the vendor-specific VFS statistics extension,
  54595. which is normally the case with OpenSSH instances, it will be used.
  54596. If not, but the same login has access to a Unix shell, where the
  54597. \f[C]df\f[R] command is available (e.g.
  54598. in the remote\[aq]s PATH), then this will be used instead.
  54599. If the server shell is PowerShell, probably with a Windows OpenSSH
  54600. server, rclone will use a built-in shell command (see shell access).
  54601. If none of the above is applicable, \f[C]about\f[R] will fail.
  54602. .SS Standard options
  54603. .PP
  54604. Here are the Standard options specific to sftp (SSH/SFTP).
  54605. .SS --sftp-host
  54606. .PP
  54607. SSH host to connect to.
  54608. .PP
  54609. E.g.
  54610. \[dq]example.com\[dq].
  54611. .PP
  54612. Properties:
  54613. .IP \[bu] 2
  54614. Config: host
  54615. .IP \[bu] 2
  54616. Env Var: RCLONE_SFTP_HOST
  54617. .IP \[bu] 2
  54618. Type: string
  54619. .IP \[bu] 2
  54620. Required: true
  54621. .SS --sftp-user
  54622. .PP
  54623. SSH username.
  54624. .PP
  54625. Properties:
  54626. .IP \[bu] 2
  54627. Config: user
  54628. .IP \[bu] 2
  54629. Env Var: RCLONE_SFTP_USER
  54630. .IP \[bu] 2
  54631. Type: string
  54632. .IP \[bu] 2
  54633. Default: \[dq]$USER\[dq]
  54634. .SS --sftp-port
  54635. .PP
  54636. SSH port number.
  54637. .PP
  54638. Properties:
  54639. .IP \[bu] 2
  54640. Config: port
  54641. .IP \[bu] 2
  54642. Env Var: RCLONE_SFTP_PORT
  54643. .IP \[bu] 2
  54644. Type: int
  54645. .IP \[bu] 2
  54646. Default: 22
  54647. .SS --sftp-pass
  54648. .PP
  54649. SSH password, leave blank to use ssh-agent.
  54650. .PP
  54651. \f[B]NB\f[R] Input to this must be obscured - see rclone
  54652. obscure (https://rclone.org/commands/rclone_obscure/).
  54653. .PP
  54654. Properties:
  54655. .IP \[bu] 2
  54656. Config: pass
  54657. .IP \[bu] 2
  54658. Env Var: RCLONE_SFTP_PASS
  54659. .IP \[bu] 2
  54660. Type: string
  54661. .IP \[bu] 2
  54662. Required: false
  54663. .SS --sftp-key-pem
  54664. .PP
  54665. Raw PEM-encoded private key.
  54666. .PP
  54667. If specified, will override key_file parameter.
  54668. .PP
  54669. Properties:
  54670. .IP \[bu] 2
  54671. Config: key_pem
  54672. .IP \[bu] 2
  54673. Env Var: RCLONE_SFTP_KEY_PEM
  54674. .IP \[bu] 2
  54675. Type: string
  54676. .IP \[bu] 2
  54677. Required: false
  54678. .SS --sftp-key-file
  54679. .PP
  54680. Path to PEM-encoded private key file.
  54681. .PP
  54682. Leave blank or set key-use-agent to use ssh-agent.
  54683. .PP
  54684. Leading \f[C]\[ti]\f[R] will be expanded in the file name as will
  54685. environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R].
  54686. .PP
  54687. Properties:
  54688. .IP \[bu] 2
  54689. Config: key_file
  54690. .IP \[bu] 2
  54691. Env Var: RCLONE_SFTP_KEY_FILE
  54692. .IP \[bu] 2
  54693. Type: string
  54694. .IP \[bu] 2
  54695. Required: false
  54696. .SS --sftp-key-file-pass
  54697. .PP
  54698. The passphrase to decrypt the PEM-encoded private key file.
  54699. .PP
  54700. Only PEM encrypted key files (old OpenSSH format) are supported.
  54701. Encrypted keys in the new OpenSSH format can\[aq]t be used.
  54702. .PP
  54703. \f[B]NB\f[R] Input to this must be obscured - see rclone
  54704. obscure (https://rclone.org/commands/rclone_obscure/).
  54705. .PP
  54706. Properties:
  54707. .IP \[bu] 2
  54708. Config: key_file_pass
  54709. .IP \[bu] 2
  54710. Env Var: RCLONE_SFTP_KEY_FILE_PASS
  54711. .IP \[bu] 2
  54712. Type: string
  54713. .IP \[bu] 2
  54714. Required: false
  54715. .SS --sftp-pubkey-file
  54716. .PP
  54717. Optional path to public key file.
  54718. .PP
  54719. Set this if you have a signed certificate you want to use for
  54720. authentication.
  54721. .PP
  54722. Leading \f[C]\[ti]\f[R] will be expanded in the file name as will
  54723. environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R].
  54724. .PP
  54725. Properties:
  54726. .IP \[bu] 2
  54727. Config: pubkey_file
  54728. .IP \[bu] 2
  54729. Env Var: RCLONE_SFTP_PUBKEY_FILE
  54730. .IP \[bu] 2
  54731. Type: string
  54732. .IP \[bu] 2
  54733. Required: false
  54734. .SS --sftp-key-use-agent
  54735. .PP
  54736. When set forces the usage of the ssh-agent.
  54737. .PP
  54738. When key-file is also set, the \[dq].pub\[dq] file of the specified
  54739. key-file is read and only the associated key is requested from the
  54740. ssh-agent.
  54741. This allows to avoid
  54742. \f[C]Too many authentication failures for *username*\f[R] errors when
  54743. the ssh-agent contains many keys.
  54744. .PP
  54745. Properties:
  54746. .IP \[bu] 2
  54747. Config: key_use_agent
  54748. .IP \[bu] 2
  54749. Env Var: RCLONE_SFTP_KEY_USE_AGENT
  54750. .IP \[bu] 2
  54751. Type: bool
  54752. .IP \[bu] 2
  54753. Default: false
  54754. .SS --sftp-use-insecure-cipher
  54755. .PP
  54756. Enable the use of insecure ciphers and key exchange methods.
  54757. .PP
  54758. This enables the use of the following insecure ciphers and key exchange
  54759. methods:
  54760. .IP \[bu] 2
  54761. aes128-cbc
  54762. .IP \[bu] 2
  54763. aes192-cbc
  54764. .IP \[bu] 2
  54765. aes256-cbc
  54766. .IP \[bu] 2
  54767. 3des-cbc
  54768. .IP \[bu] 2
  54769. diffie-hellman-group-exchange-sha256
  54770. .IP \[bu] 2
  54771. diffie-hellman-group-exchange-sha1
  54772. .PP
  54773. Those algorithms are insecure and may allow plaintext data to be
  54774. recovered by an attacker.
  54775. .PP
  54776. This must be false if you use either ciphers or key_exchange advanced
  54777. options.
  54778. .PP
  54779. Properties:
  54780. .IP \[bu] 2
  54781. Config: use_insecure_cipher
  54782. .IP \[bu] 2
  54783. Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER
  54784. .IP \[bu] 2
  54785. Type: bool
  54786. .IP \[bu] 2
  54787. Default: false
  54788. .IP \[bu] 2
  54789. Examples:
  54790. .RS 2
  54791. .IP \[bu] 2
  54792. \[dq]false\[dq]
  54793. .RS 2
  54794. .IP \[bu] 2
  54795. Use default Cipher list.
  54796. .RE
  54797. .IP \[bu] 2
  54798. \[dq]true\[dq]
  54799. .RS 2
  54800. .IP \[bu] 2
  54801. Enables the use of the aes128-cbc cipher and
  54802. diffie-hellman-group-exchange-sha256, diffie-hellman-group-exchange-sha1
  54803. key exchange.
  54804. .RE
  54805. .RE
  54806. .SS --sftp-disable-hashcheck
  54807. .PP
  54808. Disable the execution of SSH commands to determine if remote file
  54809. hashing is available.
  54810. .PP
  54811. Leave blank or set to false to enable hashing (recommended), set to true
  54812. to disable hashing.
  54813. .PP
  54814. Properties:
  54815. .IP \[bu] 2
  54816. Config: disable_hashcheck
  54817. .IP \[bu] 2
  54818. Env Var: RCLONE_SFTP_DISABLE_HASHCHECK
  54819. .IP \[bu] 2
  54820. Type: bool
  54821. .IP \[bu] 2
  54822. Default: false
  54823. .SS --sftp-ssh
  54824. .PP
  54825. Path and arguments to external ssh binary.
  54826. .PP
  54827. Normally rclone will use its internal ssh library to connect to the SFTP
  54828. server.
  54829. However it does not implement all possible ssh options so it may be
  54830. desirable to use an external ssh binary.
  54831. .PP
  54832. Rclone ignores all the internal config if you use this option and
  54833. expects you to configure the ssh binary with the user/host/port and any
  54834. other options you need.
  54835. .PP
  54836. \f[B]Important\f[R] The ssh command must log in without asking for a
  54837. password so needs to be configured with keys or certificates.
  54838. .PP
  54839. Rclone will run the command supplied either with the additional
  54840. arguments \[dq]-s sftp\[dq] to access the SFTP subsystem or with
  54841. commands such as \[dq]md5sum /path/to/file\[dq] appended to read
  54842. checksums.
  54843. .PP
  54844. Any arguments with spaces in should be surrounded by \[dq]double
  54845. quotes\[dq].
  54846. .PP
  54847. An example setting might be:
  54848. .IP
  54849. .nf
  54850. \f[C]
  54851. ssh -o ServerAliveInterval=20 user\[at]example.com
  54852. \f[R]
  54853. .fi
  54854. .PP
  54855. Note that when using an external ssh binary rclone makes a new ssh
  54856. connection for every hash it calculates.
  54857. .PP
  54858. Properties:
  54859. .IP \[bu] 2
  54860. Config: ssh
  54861. .IP \[bu] 2
  54862. Env Var: RCLONE_SFTP_SSH
  54863. .IP \[bu] 2
  54864. Type: SpaceSepList
  54865. .IP \[bu] 2
  54866. Default:
  54867. .SS Advanced options
  54868. .PP
  54869. Here are the Advanced options specific to sftp (SSH/SFTP).
  54870. .SS --sftp-known-hosts-file
  54871. .PP
  54872. Optional path to known_hosts file.
  54873. .PP
  54874. Set this value to enable server host key validation.
  54875. .PP
  54876. Leading \f[C]\[ti]\f[R] will be expanded in the file name as will
  54877. environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R].
  54878. .PP
  54879. Properties:
  54880. .IP \[bu] 2
  54881. Config: known_hosts_file
  54882. .IP \[bu] 2
  54883. Env Var: RCLONE_SFTP_KNOWN_HOSTS_FILE
  54884. .IP \[bu] 2
  54885. Type: string
  54886. .IP \[bu] 2
  54887. Required: false
  54888. .IP \[bu] 2
  54889. Examples:
  54890. .RS 2
  54891. .IP \[bu] 2
  54892. \[dq]\[ti]/.ssh/known_hosts\[dq]
  54893. .RS 2
  54894. .IP \[bu] 2
  54895. Use OpenSSH\[aq]s known_hosts file.
  54896. .RE
  54897. .RE
  54898. .SS --sftp-ask-password
  54899. .PP
  54900. Allow asking for SFTP password when needed.
  54901. .PP
  54902. If this is set and no password is supplied then rclone will: - ask for a
  54903. password - not contact the ssh agent
  54904. .PP
  54905. Properties:
  54906. .IP \[bu] 2
  54907. Config: ask_password
  54908. .IP \[bu] 2
  54909. Env Var: RCLONE_SFTP_ASK_PASSWORD
  54910. .IP \[bu] 2
  54911. Type: bool
  54912. .IP \[bu] 2
  54913. Default: false
  54914. .SS --sftp-path-override
  54915. .PP
  54916. Override path used by SSH shell commands.
  54917. .PP
  54918. This allows checksum calculation when SFTP and SSH paths are different.
  54919. This issue affects among others Synology NAS boxes.
  54920. .PP
  54921. E.g.
  54922. if shared folders can be found in directories representing volumes:
  54923. .IP
  54924. .nf
  54925. \f[C]
  54926. rclone sync /home/local/directory remote:/directory --sftp-path-override /volume2/directory
  54927. \f[R]
  54928. .fi
  54929. .PP
  54930. E.g.
  54931. if home directory can be found in a shared folder called \[dq]home\[dq]:
  54932. .IP
  54933. .nf
  54934. \f[C]
  54935. rclone sync /home/local/directory remote:/home/directory --sftp-path-override /volume1/homes/USER/directory
  54936. \f[R]
  54937. .fi
  54938. .PP
  54939. To specify only the path to the SFTP remote\[aq]s root, and allow rclone
  54940. to add any relative subpaths automatically (including
  54941. unwrapping/decrypting remotes as necessary), add the \[aq]\[at]\[aq]
  54942. character to the beginning of the path.
  54943. .PP
  54944. E.g.
  54945. the first example above could be rewritten as:
  54946. .IP
  54947. .nf
  54948. \f[C]
  54949. rclone sync /home/local/directory remote:/directory --sftp-path-override \[at]/volume2
  54950. \f[R]
  54951. .fi
  54952. .PP
  54953. Note that when using this method with Synology \[dq]home\[dq] folders,
  54954. the full \[dq]/homes/USER\[dq] path should be specified instead of
  54955. \[dq]/home\[dq].
  54956. .PP
  54957. E.g.
  54958. the second example above should be rewritten as:
  54959. .IP
  54960. .nf
  54961. \f[C]
  54962. rclone sync /home/local/directory remote:/homes/USER/directory --sftp-path-override \[at]/volume1
  54963. \f[R]
  54964. .fi
  54965. .PP
  54966. Properties:
  54967. .IP \[bu] 2
  54968. Config: path_override
  54969. .IP \[bu] 2
  54970. Env Var: RCLONE_SFTP_PATH_OVERRIDE
  54971. .IP \[bu] 2
  54972. Type: string
  54973. .IP \[bu] 2
  54974. Required: false
  54975. .SS --sftp-set-modtime
  54976. .PP
  54977. Set the modified time on the remote if set.
  54978. .PP
  54979. Properties:
  54980. .IP \[bu] 2
  54981. Config: set_modtime
  54982. .IP \[bu] 2
  54983. Env Var: RCLONE_SFTP_SET_MODTIME
  54984. .IP \[bu] 2
  54985. Type: bool
  54986. .IP \[bu] 2
  54987. Default: true
  54988. .SS --sftp-shell-type
  54989. .PP
  54990. The type of SSH shell on remote server, if any.
  54991. .PP
  54992. Leave blank for autodetect.
  54993. .PP
  54994. Properties:
  54995. .IP \[bu] 2
  54996. Config: shell_type
  54997. .IP \[bu] 2
  54998. Env Var: RCLONE_SFTP_SHELL_TYPE
  54999. .IP \[bu] 2
  55000. Type: string
  55001. .IP \[bu] 2
  55002. Required: false
  55003. .IP \[bu] 2
  55004. Examples:
  55005. .RS 2
  55006. .IP \[bu] 2
  55007. \[dq]none\[dq]
  55008. .RS 2
  55009. .IP \[bu] 2
  55010. No shell access
  55011. .RE
  55012. .IP \[bu] 2
  55013. \[dq]unix\[dq]
  55014. .RS 2
  55015. .IP \[bu] 2
  55016. Unix shell
  55017. .RE
  55018. .IP \[bu] 2
  55019. \[dq]powershell\[dq]
  55020. .RS 2
  55021. .IP \[bu] 2
  55022. PowerShell
  55023. .RE
  55024. .IP \[bu] 2
  55025. \[dq]cmd\[dq]
  55026. .RS 2
  55027. .IP \[bu] 2
  55028. Windows Command Prompt
  55029. .RE
  55030. .RE
  55031. .SS --sftp-md5sum-command
  55032. .PP
  55033. The command used to read md5 hashes.
  55034. .PP
  55035. Leave blank for autodetect.
  55036. .PP
  55037. Properties:
  55038. .IP \[bu] 2
  55039. Config: md5sum_command
  55040. .IP \[bu] 2
  55041. Env Var: RCLONE_SFTP_MD5SUM_COMMAND
  55042. .IP \[bu] 2
  55043. Type: string
  55044. .IP \[bu] 2
  55045. Required: false
  55046. .SS --sftp-sha1sum-command
  55047. .PP
  55048. The command used to read sha1 hashes.
  55049. .PP
  55050. Leave blank for autodetect.
  55051. .PP
  55052. Properties:
  55053. .IP \[bu] 2
  55054. Config: sha1sum_command
  55055. .IP \[bu] 2
  55056. Env Var: RCLONE_SFTP_SHA1SUM_COMMAND
  55057. .IP \[bu] 2
  55058. Type: string
  55059. .IP \[bu] 2
  55060. Required: false
  55061. .SS --sftp-skip-links
  55062. .PP
  55063. Set to skip any symlinks and any other non regular files.
  55064. .PP
  55065. Properties:
  55066. .IP \[bu] 2
  55067. Config: skip_links
  55068. .IP \[bu] 2
  55069. Env Var: RCLONE_SFTP_SKIP_LINKS
  55070. .IP \[bu] 2
  55071. Type: bool
  55072. .IP \[bu] 2
  55073. Default: false
  55074. .SS --sftp-subsystem
  55075. .PP
  55076. Specifies the SSH2 subsystem on the remote host.
  55077. .PP
  55078. Properties:
  55079. .IP \[bu] 2
  55080. Config: subsystem
  55081. .IP \[bu] 2
  55082. Env Var: RCLONE_SFTP_SUBSYSTEM
  55083. .IP \[bu] 2
  55084. Type: string
  55085. .IP \[bu] 2
  55086. Default: \[dq]sftp\[dq]
  55087. .SS --sftp-server-command
  55088. .PP
  55089. Specifies the path or command to run a sftp server on the remote host.
  55090. .PP
  55091. The subsystem option is ignored when server_command is defined.
  55092. .PP
  55093. If adding server_command to the configuration file please note that it
  55094. should not be enclosed in quotes, since that will make rclone fail.
  55095. .PP
  55096. A working example is:
  55097. .IP
  55098. .nf
  55099. \f[C]
  55100. [remote_name]
  55101. type = sftp
  55102. server_command = sudo /usr/libexec/openssh/sftp-server
  55103. \f[R]
  55104. .fi
  55105. .PP
  55106. Properties:
  55107. .IP \[bu] 2
  55108. Config: server_command
  55109. .IP \[bu] 2
  55110. Env Var: RCLONE_SFTP_SERVER_COMMAND
  55111. .IP \[bu] 2
  55112. Type: string
  55113. .IP \[bu] 2
  55114. Required: false
  55115. .SS --sftp-use-fstat
  55116. .PP
  55117. If set use fstat instead of stat.
  55118. .PP
  55119. Some servers limit the amount of open files and calling Stat after
  55120. opening the file will throw an error from the server.
  55121. Setting this flag will call Fstat instead of Stat which is called on an
  55122. already open file handle.
  55123. .PP
  55124. It has been found that this helps with IBM Sterling SFTP servers which
  55125. have \[dq]extractability\[dq] level set to 1 which means only 1 file can
  55126. be opened at any given time.
  55127. .PP
  55128. Properties:
  55129. .IP \[bu] 2
  55130. Config: use_fstat
  55131. .IP \[bu] 2
  55132. Env Var: RCLONE_SFTP_USE_FSTAT
  55133. .IP \[bu] 2
  55134. Type: bool
  55135. .IP \[bu] 2
  55136. Default: false
  55137. .SS --sftp-disable-concurrent-reads
  55138. .PP
  55139. If set don\[aq]t use concurrent reads.
  55140. .PP
  55141. Normally concurrent reads are safe to use and not using them will
  55142. degrade performance, so this option is disabled by default.
  55143. .PP
  55144. Some servers limit the amount number of times a file can be downloaded.
  55145. Using concurrent reads can trigger this limit, so if you have a server
  55146. which returns
  55147. .IP
  55148. .nf
  55149. \f[C]
  55150. Failed to copy: file does not exist
  55151. \f[R]
  55152. .fi
  55153. .PP
  55154. Then you may need to enable this flag.
  55155. .PP
  55156. If concurrent reads are disabled, the use_fstat option is ignored.
  55157. .PP
  55158. Properties:
  55159. .IP \[bu] 2
  55160. Config: disable_concurrent_reads
  55161. .IP \[bu] 2
  55162. Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_READS
  55163. .IP \[bu] 2
  55164. Type: bool
  55165. .IP \[bu] 2
  55166. Default: false
  55167. .SS --sftp-disable-concurrent-writes
  55168. .PP
  55169. If set don\[aq]t use concurrent writes.
  55170. .PP
  55171. Normally rclone uses concurrent writes to upload files.
  55172. This improves the performance greatly, especially for distant servers.
  55173. .PP
  55174. This option disables concurrent writes should that be necessary.
  55175. .PP
  55176. Properties:
  55177. .IP \[bu] 2
  55178. Config: disable_concurrent_writes
  55179. .IP \[bu] 2
  55180. Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_WRITES
  55181. .IP \[bu] 2
  55182. Type: bool
  55183. .IP \[bu] 2
  55184. Default: false
  55185. .SS --sftp-idle-timeout
  55186. .PP
  55187. Max time before closing idle connections.
  55188. .PP
  55189. If no connections have been returned to the connection pool in the time
  55190. given, rclone will empty the connection pool.
  55191. .PP
  55192. Set to 0 to keep connections indefinitely.
  55193. .PP
  55194. Properties:
  55195. .IP \[bu] 2
  55196. Config: idle_timeout
  55197. .IP \[bu] 2
  55198. Env Var: RCLONE_SFTP_IDLE_TIMEOUT
  55199. .IP \[bu] 2
  55200. Type: Duration
  55201. .IP \[bu] 2
  55202. Default: 1m0s
  55203. .SS --sftp-chunk-size
  55204. .PP
  55205. Upload and download chunk size.
  55206. .PP
  55207. This controls the maximum size of payload in SFTP protocol packets.
  55208. The RFC limits this to 32768 bytes (32k), which is the default.
  55209. However, a lot of servers support larger sizes, typically limited to a
  55210. maximum total package size of 256k, and setting it larger will increase
  55211. transfer speed dramatically on high latency links.
  55212. This includes OpenSSH, and, for example, using the value of 255k works
  55213. well, leaving plenty of room for overhead while still being within a
  55214. total packet size of 256k.
  55215. .PP
  55216. Make sure to test thoroughly before using a value higher than 32k, and
  55217. only use it if you always connect to the same server or after
  55218. sufficiently broad testing.
  55219. If you get errors such as \[dq]failed to send packet payload: EOF\[dq],
  55220. lots of \[dq]connection lost\[dq], or \[dq]corrupted on transfer\[dq],
  55221. when copying a larger file, try lowering the value.
  55222. The server run by rclone serve sftp sends packets with standard 32k
  55223. maximum payload so you must not set a different chunk_size when
  55224. downloading files, but it accepts packets up to the 256k total size, so
  55225. for uploads the chunk_size can be set as for the OpenSSH example above.
  55226. .PP
  55227. Properties:
  55228. .IP \[bu] 2
  55229. Config: chunk_size
  55230. .IP \[bu] 2
  55231. Env Var: RCLONE_SFTP_CHUNK_SIZE
  55232. .IP \[bu] 2
  55233. Type: SizeSuffix
  55234. .IP \[bu] 2
  55235. Default: 32Ki
  55236. .SS --sftp-concurrency
  55237. .PP
  55238. The maximum number of outstanding requests for one file
  55239. .PP
  55240. This controls the maximum number of outstanding requests for one file.
  55241. Increasing it will increase throughput on high latency links at the cost
  55242. of using more memory.
  55243. .PP
  55244. Properties:
  55245. .IP \[bu] 2
  55246. Config: concurrency
  55247. .IP \[bu] 2
  55248. Env Var: RCLONE_SFTP_CONCURRENCY
  55249. .IP \[bu] 2
  55250. Type: int
  55251. .IP \[bu] 2
  55252. Default: 64
  55253. .SS --sftp-set-env
  55254. .PP
  55255. Environment variables to pass to sftp and commands
  55256. .PP
  55257. Set environment variables in the form:
  55258. .IP
  55259. .nf
  55260. \f[C]
  55261. VAR=value
  55262. \f[R]
  55263. .fi
  55264. .PP
  55265. to be passed to the sftp client and to any commands run (eg md5sum).
  55266. .PP
  55267. Pass multiple variables space separated, eg
  55268. .IP
  55269. .nf
  55270. \f[C]
  55271. VAR1=value VAR2=value
  55272. \f[R]
  55273. .fi
  55274. .PP
  55275. and pass variables with spaces in quotes, eg
  55276. .IP
  55277. .nf
  55278. \f[C]
  55279. \[dq]VAR3=value with space\[dq] \[dq]VAR4=value with space\[dq] VAR5=nospacehere
  55280. \f[R]
  55281. .fi
  55282. .PP
  55283. Properties:
  55284. .IP \[bu] 2
  55285. Config: set_env
  55286. .IP \[bu] 2
  55287. Env Var: RCLONE_SFTP_SET_ENV
  55288. .IP \[bu] 2
  55289. Type: SpaceSepList
  55290. .IP \[bu] 2
  55291. Default:
  55292. .SS --sftp-ciphers
  55293. .PP
  55294. Space separated list of ciphers to be used for session encryption,
  55295. ordered by preference.
  55296. .PP
  55297. At least one must match with server configuration.
  55298. This can be checked for example using ssh -Q cipher.
  55299. .PP
  55300. This must not be set if use_insecure_cipher is true.
  55301. .PP
  55302. Example:
  55303. .IP
  55304. .nf
  55305. \f[C]
  55306. aes128-ctr aes192-ctr aes256-ctr aes128-gcm\[at]openssh.com aes256-gcm\[at]openssh.com
  55307. \f[R]
  55308. .fi
  55309. .PP
  55310. Properties:
  55311. .IP \[bu] 2
  55312. Config: ciphers
  55313. .IP \[bu] 2
  55314. Env Var: RCLONE_SFTP_CIPHERS
  55315. .IP \[bu] 2
  55316. Type: SpaceSepList
  55317. .IP \[bu] 2
  55318. Default:
  55319. .SS --sftp-key-exchange
  55320. .PP
  55321. Space separated list of key exchange algorithms, ordered by preference.
  55322. .PP
  55323. At least one must match with server configuration.
  55324. This can be checked for example using ssh -Q kex.
  55325. .PP
  55326. This must not be set if use_insecure_cipher is true.
  55327. .PP
  55328. Example:
  55329. .IP
  55330. .nf
  55331. \f[C]
  55332. sntrup761x25519-sha512\[at]openssh.com curve25519-sha256 curve25519-sha256\[at]libssh.org ecdh-sha2-nistp256
  55333. \f[R]
  55334. .fi
  55335. .PP
  55336. Properties:
  55337. .IP \[bu] 2
  55338. Config: key_exchange
  55339. .IP \[bu] 2
  55340. Env Var: RCLONE_SFTP_KEY_EXCHANGE
  55341. .IP \[bu] 2
  55342. Type: SpaceSepList
  55343. .IP \[bu] 2
  55344. Default:
  55345. .SS --sftp-macs
  55346. .PP
  55347. Space separated list of MACs (message authentication code) algorithms,
  55348. ordered by preference.
  55349. .PP
  55350. At least one must match with server configuration.
  55351. This can be checked for example using ssh -Q mac.
  55352. .PP
  55353. Example:
  55354. .IP
  55355. .nf
  55356. \f[C]
  55357. umac-64-etm\[at]openssh.com umac-128-etm\[at]openssh.com hmac-sha2-256-etm\[at]openssh.com
  55358. \f[R]
  55359. .fi
  55360. .PP
  55361. Properties:
  55362. .IP \[bu] 2
  55363. Config: macs
  55364. .IP \[bu] 2
  55365. Env Var: RCLONE_SFTP_MACS
  55366. .IP \[bu] 2
  55367. Type: SpaceSepList
  55368. .IP \[bu] 2
  55369. Default:
  55370. .SS --sftp-host-key-algorithms
  55371. .PP
  55372. Space separated list of host key algorithms, ordered by preference.
  55373. .PP
  55374. At least one must match with server configuration.
  55375. This can be checked for example using ssh -Q HostKeyAlgorithms.
  55376. .PP
  55377. Note: This can affect the outcome of key negotiation with the server
  55378. even if server host key validation is not enabled.
  55379. .PP
  55380. Example:
  55381. .IP
  55382. .nf
  55383. \f[C]
  55384. ssh-ed25519 ssh-rsa ssh-dss
  55385. \f[R]
  55386. .fi
  55387. .PP
  55388. Properties:
  55389. .IP \[bu] 2
  55390. Config: host_key_algorithms
  55391. .IP \[bu] 2
  55392. Env Var: RCLONE_SFTP_HOST_KEY_ALGORITHMS
  55393. .IP \[bu] 2
  55394. Type: SpaceSepList
  55395. .IP \[bu] 2
  55396. Default:
  55397. .SS --sftp-socks-proxy
  55398. .PP
  55399. Socks 5 proxy host.
  55400. .PP
  55401. Supports the format user:pass\[at]host:port, user\[at]host:port,
  55402. host:port.
  55403. .PP
  55404. Example:
  55405. .IP
  55406. .nf
  55407. \f[C]
  55408. myUser:myPass\[at]localhost:9005
  55409. \f[R]
  55410. .fi
  55411. .PP
  55412. Properties:
  55413. .IP \[bu] 2
  55414. Config: socks_proxy
  55415. .IP \[bu] 2
  55416. Env Var: RCLONE_SFTP_SOCKS_PROXY
  55417. .IP \[bu] 2
  55418. Type: string
  55419. .IP \[bu] 2
  55420. Required: false
  55421. .SS --sftp-copy-is-hardlink
  55422. .PP
  55423. Set to enable server side copies using hardlinks.
  55424. .PP
  55425. The SFTP protocol does not define a copy command so normally server side
  55426. copies are not allowed with the sftp backend.
  55427. .PP
  55428. However the SFTP protocol does support hardlinking, and if you enable
  55429. this flag then the sftp backend will support server side copies.
  55430. These will be implemented by doing a hardlink from the source to the
  55431. destination.
  55432. .PP
  55433. Not all sftp servers support this.
  55434. .PP
  55435. Note that hardlinking two files together will use no additional space as
  55436. the source and the destination will be the same file.
  55437. .PP
  55438. This feature may be useful backups made with --copy-dest.
  55439. .PP
  55440. Properties:
  55441. .IP \[bu] 2
  55442. Config: copy_is_hardlink
  55443. .IP \[bu] 2
  55444. Env Var: RCLONE_SFTP_COPY_IS_HARDLINK
  55445. .IP \[bu] 2
  55446. Type: bool
  55447. .IP \[bu] 2
  55448. Default: false
  55449. .SS --sftp-description
  55450. .PP
  55451. Description of the remote
  55452. .PP
  55453. Properties:
  55454. .IP \[bu] 2
  55455. Config: description
  55456. .IP \[bu] 2
  55457. Env Var: RCLONE_SFTP_DESCRIPTION
  55458. .IP \[bu] 2
  55459. Type: string
  55460. .IP \[bu] 2
  55461. Required: false
  55462. .SS Limitations
  55463. .PP
  55464. On some SFTP servers (e.g.
  55465. Synology) the paths are different for SSH and SFTP so the hashes
  55466. can\[aq]t be calculated properly.
  55467. For them using \f[C]disable_hashcheck\f[R] is a good idea.
  55468. .PP
  55469. The only ssh agent supported under Windows is Putty\[aq]s pageant.
  55470. .PP
  55471. The Go SSH library disables the use of the aes128-cbc cipher by default,
  55472. due to security concerns.
  55473. This can be re-enabled on a per-connection basis by setting the
  55474. \f[C]use_insecure_cipher\f[R] setting in the configuration file to
  55475. \f[C]true\f[R].
  55476. Further details on the insecurity of this cipher can be found in this
  55477. paper (http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf).
  55478. .PP
  55479. SFTP isn\[aq]t supported under plan9 until this
  55480. issue (https://github.com/pkg/sftp/issues/156) is fixed.
  55481. .PP
  55482. Note that since SFTP isn\[aq]t HTTP based the following flags don\[aq]t
  55483. work with it: \f[C]--dump-headers\f[R], \f[C]--dump-bodies\f[R],
  55484. \f[C]--dump-auth\f[R].
  55485. .PP
  55486. Note that \f[C]--timeout\f[R] and \f[C]--contimeout\f[R] are both
  55487. supported.
  55488. .SS rsync.net
  55489. .PP
  55490. rsync.net is supported through the SFTP backend.
  55491. .PP
  55492. See rsync.net\[aq]s documentation of rclone
  55493. examples (https://www.rsync.net/products/rclone.html).
  55494. .SS Hetzner Storage Box
  55495. .PP
  55496. Hetzner Storage Boxes are supported through the SFTP backend on port 23.
  55497. .PP
  55498. See Hetzner\[aq]s documentation for
  55499. details (https://docs.hetzner.com/robot/storage-box/access/access-ssh-rsync-borg#rclone)
  55500. .SH SMB
  55501. .PP
  55502. SMB is a communication protocol to share files over
  55503. network (https://en.wikipedia.org/wiki/Server_Message_Block).
  55504. .PP
  55505. This relies on go-smb2
  55506. library (https://github.com/hirochachacha/go-smb2/) for communication
  55507. with SMB protocol.
  55508. .PP
  55509. Paths are specified as \f[C]remote:sharename\f[R] (or \f[C]remote:\f[R]
  55510. for the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g.
  55511. \f[C]remote:item/path/to/dir\f[R].
  55512. .SS Notes
  55513. .PP
  55514. The first path segment must be the name of the share, which you entered
  55515. when you started to share on Windows.
  55516. On smbd, it\[aq]s the section title in \f[C]smb.conf\f[R] (usually in
  55517. \f[C]/etc/samba/\f[R]) file.
  55518. You can find shares by querying the root if you\[aq]re unsure (e.g.
  55519. \f[C]rclone lsd remote:\f[R]).
  55520. .PP
  55521. You can\[aq]t access to the shared printers from rclone, obviously.
  55522. .PP
  55523. You can\[aq]t use Anonymous access for logging in.
  55524. You have to use the \f[C]guest\f[R] user with an empty password instead.
  55525. The rclone client tries to avoid 8.3 names when uploading files by
  55526. encoding trailing spaces and periods.
  55527. Alternatively, the local
  55528. backend (https://rclone.org/local/#paths-on-windows) on Windows can
  55529. access SMB servers using UNC paths, by
  55530. \f[C]\[rs]\[rs]server\[rs]share\f[R].
  55531. This doesn\[aq]t apply to non-Windows OSes, such as Linux and macOS.
  55532. .SS Configuration
  55533. .PP
  55534. Here is an example of making a SMB configuration.
  55535. .PP
  55536. First run
  55537. .IP
  55538. .nf
  55539. \f[C]
  55540. rclone config
  55541. \f[R]
  55542. .fi
  55543. .PP
  55544. This will guide you through an interactive setup process.
  55545. .IP
  55546. .nf
  55547. \f[C]
  55548. No remotes found, make a new one?
  55549. n) New remote
  55550. s) Set configuration password
  55551. q) Quit config
  55552. n/s/q> n
  55553. name> remote
  55554. Option Storage.
  55555. Type of storage to configure.
  55556. Choose a number from below, or type in your own value.
  55557. XX / SMB / CIFS
  55558. \[rs] (smb)
  55559. Storage> smb
  55560. Option host.
  55561. Samba hostname to connect to.
  55562. E.g. \[dq]example.com\[dq].
  55563. Enter a value.
  55564. host> localhost
  55565. Option user.
  55566. Samba username.
  55567. Enter a string value. Press Enter for the default (lesmi).
  55568. user> guest
  55569. Option port.
  55570. Samba port number.
  55571. Enter a signed integer. Press Enter for the default (445).
  55572. port>
  55573. Option pass.
  55574. Samba password.
  55575. Choose an alternative below. Press Enter for the default (n).
  55576. y) Yes, type in my own password
  55577. g) Generate random password
  55578. n) No, leave this optional password blank (default)
  55579. y/g/n> g
  55580. Password strength in bits.
  55581. 64 is just about memorable
  55582. 128 is secure
  55583. 1024 is the maximum
  55584. Bits> 64
  55585. Your password is: XXXX
  55586. Use this password? Please note that an obscured version of this
  55587. password (and not the password itself) will be stored under your
  55588. configuration file, so keep this generated password in a safe place.
  55589. y) Yes (default)
  55590. n) No
  55591. y/n> y
  55592. Option domain.
  55593. Domain name for NTLM authentication.
  55594. Enter a string value. Press Enter for the default (WORKGROUP).
  55595. domain>
  55596. Edit advanced config?
  55597. y) Yes
  55598. n) No (default)
  55599. y/n> n
  55600. Configuration complete.
  55601. Options:
  55602. - type: samba
  55603. - host: localhost
  55604. - user: guest
  55605. - pass: *** ENCRYPTED ***
  55606. Keep this \[dq]remote\[dq] remote?
  55607. y) Yes this is OK (default)
  55608. e) Edit this remote
  55609. d) Delete this remote
  55610. y/e/d> d
  55611. \f[R]
  55612. .fi
  55613. .SS Standard options
  55614. .PP
  55615. Here are the Standard options specific to smb (SMB / CIFS).
  55616. .SS --smb-host
  55617. .PP
  55618. SMB server hostname to connect to.
  55619. .PP
  55620. E.g.
  55621. \[dq]example.com\[dq].
  55622. .PP
  55623. Properties:
  55624. .IP \[bu] 2
  55625. Config: host
  55626. .IP \[bu] 2
  55627. Env Var: RCLONE_SMB_HOST
  55628. .IP \[bu] 2
  55629. Type: string
  55630. .IP \[bu] 2
  55631. Required: true
  55632. .SS --smb-user
  55633. .PP
  55634. SMB username.
  55635. .PP
  55636. Properties:
  55637. .IP \[bu] 2
  55638. Config: user
  55639. .IP \[bu] 2
  55640. Env Var: RCLONE_SMB_USER
  55641. .IP \[bu] 2
  55642. Type: string
  55643. .IP \[bu] 2
  55644. Default: \[dq]$USER\[dq]
  55645. .SS --smb-port
  55646. .PP
  55647. SMB port number.
  55648. .PP
  55649. Properties:
  55650. .IP \[bu] 2
  55651. Config: port
  55652. .IP \[bu] 2
  55653. Env Var: RCLONE_SMB_PORT
  55654. .IP \[bu] 2
  55655. Type: int
  55656. .IP \[bu] 2
  55657. Default: 445
  55658. .SS --smb-pass
  55659. .PP
  55660. SMB password.
  55661. .PP
  55662. \f[B]NB\f[R] Input to this must be obscured - see rclone
  55663. obscure (https://rclone.org/commands/rclone_obscure/).
  55664. .PP
  55665. Properties:
  55666. .IP \[bu] 2
  55667. Config: pass
  55668. .IP \[bu] 2
  55669. Env Var: RCLONE_SMB_PASS
  55670. .IP \[bu] 2
  55671. Type: string
  55672. .IP \[bu] 2
  55673. Required: false
  55674. .SS --smb-domain
  55675. .PP
  55676. Domain name for NTLM authentication.
  55677. .PP
  55678. Properties:
  55679. .IP \[bu] 2
  55680. Config: domain
  55681. .IP \[bu] 2
  55682. Env Var: RCLONE_SMB_DOMAIN
  55683. .IP \[bu] 2
  55684. Type: string
  55685. .IP \[bu] 2
  55686. Default: \[dq]WORKGROUP\[dq]
  55687. .SS --smb-spn
  55688. .PP
  55689. Service principal name.
  55690. .PP
  55691. Rclone presents this name to the server.
  55692. Some servers use this as further authentication, and it often needs to
  55693. be set for clusters.
  55694. For example:
  55695. .IP
  55696. .nf
  55697. \f[C]
  55698. cifs/remotehost:1020
  55699. \f[R]
  55700. .fi
  55701. .PP
  55702. Leave blank if not sure.
  55703. .PP
  55704. Properties:
  55705. .IP \[bu] 2
  55706. Config: spn
  55707. .IP \[bu] 2
  55708. Env Var: RCLONE_SMB_SPN
  55709. .IP \[bu] 2
  55710. Type: string
  55711. .IP \[bu] 2
  55712. Required: false
  55713. .SS Advanced options
  55714. .PP
  55715. Here are the Advanced options specific to smb (SMB / CIFS).
  55716. .SS --smb-idle-timeout
  55717. .PP
  55718. Max time before closing idle connections.
  55719. .PP
  55720. If no connections have been returned to the connection pool in the time
  55721. given, rclone will empty the connection pool.
  55722. .PP
  55723. Set to 0 to keep connections indefinitely.
  55724. .PP
  55725. Properties:
  55726. .IP \[bu] 2
  55727. Config: idle_timeout
  55728. .IP \[bu] 2
  55729. Env Var: RCLONE_SMB_IDLE_TIMEOUT
  55730. .IP \[bu] 2
  55731. Type: Duration
  55732. .IP \[bu] 2
  55733. Default: 1m0s
  55734. .SS --smb-hide-special-share
  55735. .PP
  55736. Hide special shares (e.g.
  55737. print$) which users aren\[aq]t supposed to access.
  55738. .PP
  55739. Properties:
  55740. .IP \[bu] 2
  55741. Config: hide_special_share
  55742. .IP \[bu] 2
  55743. Env Var: RCLONE_SMB_HIDE_SPECIAL_SHARE
  55744. .IP \[bu] 2
  55745. Type: bool
  55746. .IP \[bu] 2
  55747. Default: true
  55748. .SS --smb-case-insensitive
  55749. .PP
  55750. Whether the server is configured to be case-insensitive.
  55751. .PP
  55752. Always true on Windows shares.
  55753. .PP
  55754. Properties:
  55755. .IP \[bu] 2
  55756. Config: case_insensitive
  55757. .IP \[bu] 2
  55758. Env Var: RCLONE_SMB_CASE_INSENSITIVE
  55759. .IP \[bu] 2
  55760. Type: bool
  55761. .IP \[bu] 2
  55762. Default: true
  55763. .SS --smb-encoding
  55764. .PP
  55765. The encoding for the backend.
  55766. .PP
  55767. See the encoding section in the
  55768. overview (https://rclone.org/overview/#encoding) for more info.
  55769. .PP
  55770. Properties:
  55771. .IP \[bu] 2
  55772. Config: encoding
  55773. .IP \[bu] 2
  55774. Env Var: RCLONE_SMB_ENCODING
  55775. .IP \[bu] 2
  55776. Type: Encoding
  55777. .IP \[bu] 2
  55778. Default:
  55779. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
  55780. .SS --smb-description
  55781. .PP
  55782. Description of the remote
  55783. .PP
  55784. Properties:
  55785. .IP \[bu] 2
  55786. Config: description
  55787. .IP \[bu] 2
  55788. Env Var: RCLONE_SMB_DESCRIPTION
  55789. .IP \[bu] 2
  55790. Type: string
  55791. .IP \[bu] 2
  55792. Required: false
  55793. .SH Storj
  55794. .PP
  55795. Storj (https://storj.io) is an encrypted, secure, and cost-effective
  55796. object storage service that enables you to store, back up, and archive
  55797. large amounts of data in a decentralized manner.
  55798. .SS Backend options
  55799. .PP
  55800. Storj can be used both with this native backend and with the s3 backend
  55801. using the Storj S3 compatible gateway (https://rclone.org/s3/#storj)
  55802. (shared or private).
  55803. .PP
  55804. Use this backend to take advantage of client-side encryption as well as
  55805. to achieve the best possible download performance.
  55806. Uploads will be erasure-coded locally, thus a 1gb upload will result in
  55807. 2.68gb of data being uploaded to storage nodes across the network.
  55808. .PP
  55809. Use the s3 backend and one of the S3 compatible Hosted Gateways to
  55810. increase upload performance and reduce the load on your systems and
  55811. network.
  55812. Uploads will be encrypted and erasure-coded server-side, thus a 1GB
  55813. upload will result in only in 1GB of data being uploaded to storage
  55814. nodes across the network.
  55815. .PP
  55816. Side by side comparison with more details:
  55817. .IP \[bu] 2
  55818. Characteristics:
  55819. .RS 2
  55820. .IP \[bu] 2
  55821. \f[I]Storj backend\f[R]: Uses native RPC protocol, connects directly to
  55822. the storage nodes which hosts the data.
  55823. Requires more CPU resource of encoding/decoding and has network
  55824. amplification (especially during the upload), uses lots of TCP
  55825. connections
  55826. .IP \[bu] 2
  55827. \f[I]S3 backend\f[R]: Uses S3 compatible HTTP Rest API via the shared
  55828. gateways.
  55829. There is no network amplification, but performance depends on the shared
  55830. gateways and the secret encryption key is shared with the gateway.
  55831. .RE
  55832. .IP \[bu] 2
  55833. Typical usage:
  55834. .RS 2
  55835. .IP \[bu] 2
  55836. \f[I]Storj backend\f[R]: Server environments and desktops with enough
  55837. resources, internet speed and connectivity - and applications where
  55838. storjs client-side encryption is required.
  55839. .IP \[bu] 2
  55840. \f[I]S3 backend\f[R]: Desktops and similar with limited resources,
  55841. internet speed or connectivity.
  55842. .RE
  55843. .IP \[bu] 2
  55844. Security:
  55845. .RS 2
  55846. .IP \[bu] 2
  55847. \f[I]Storj backend\f[R]: \f[B]strong\f[R].
  55848. Private encryption key doesn\[aq]t need to leave the local computer.
  55849. .IP \[bu] 2
  55850. \f[I]S3 backend\f[R]: \f[B]weaker\f[R].
  55851. Private encryption key is shared
  55852. with (https://docs.storj.io/dcs/api-reference/s3-compatible-gateway#security-and-encryption)
  55853. the authentication service of the hosted gateway, where it\[aq]s stored
  55854. encrypted.
  55855. It can be stronger when combining with the rclone crypt backend.
  55856. .RE
  55857. .IP \[bu] 2
  55858. Bandwidth usage (upload):
  55859. .RS 2
  55860. .IP \[bu] 2
  55861. \f[I]Storj backend\f[R]: \f[B]higher\f[R].
  55862. As data is erasure coded on the client side both the original data and
  55863. the parities should be uploaded.
  55864. About \[ti]2.7 times more data is required to be uploaded.
  55865. Client may start to upload with even higher number of nodes (\[ti]3.7
  55866. times more) and abandon/stop the slow uploads.
  55867. .IP \[bu] 2
  55868. \f[I]S3 backend\f[R]: \f[B]normal\f[R].
  55869. Only the raw data is uploaded, erasure coding happens on the gateway.
  55870. .RE
  55871. .IP \[bu] 2
  55872. Bandwidth usage (download)
  55873. .RS 2
  55874. .IP \[bu] 2
  55875. \f[I]Storj backend\f[R]: \f[B]almost normal\f[R].
  55876. Only the minimal number of data is required, but to avoid very slow data
  55877. providers a few more sources are used and the slowest are ignored (max
  55878. 1.2x overhead).
  55879. .IP \[bu] 2
  55880. \f[I]S3 backend\f[R]: \f[B]normal\f[R].
  55881. Only the raw data is downloaded, erasure coding happens on the shared
  55882. gateway.
  55883. .RE
  55884. .IP \[bu] 2
  55885. CPU usage:
  55886. .RS 2
  55887. .IP \[bu] 2
  55888. \f[I]Storj backend\f[R]: \f[B]higher\f[R], but more predictable.
  55889. Erasure code and encryption/decryption happens locally which requires
  55890. significant CPU usage.
  55891. .IP \[bu] 2
  55892. \f[I]S3 backend\f[R]: \f[B]less\f[R].
  55893. Erasure code and encryption/decryption happens on shared s3 gateways
  55894. (and as is, it depends on the current load on the gateways)
  55895. .RE
  55896. .IP \[bu] 2
  55897. TCP connection usage:
  55898. .RS 2
  55899. .IP \[bu] 2
  55900. \f[I]Storj backend\f[R]: \f[B]high\f[R].
  55901. A direct connection is required to each of the Storj nodes resulting in
  55902. 110 connections on upload and 35 on download per 64 MB segment.
  55903. Not all the connections are actively used (slow ones are pruned), but
  55904. they are all opened.
  55905. Adjusting the max open file
  55906. limit (https://rclone.org/storj/#known-issues) may be required.
  55907. .IP \[bu] 2
  55908. \f[I]S3 backend\f[R]: \f[B]normal\f[R].
  55909. Only one connection per download/upload thread is required to the shared
  55910. gateway.
  55911. .RE
  55912. .IP \[bu] 2
  55913. Overall performance:
  55914. .RS 2
  55915. .IP \[bu] 2
  55916. \f[I]Storj backend\f[R]: with enough resources (CPU and bandwidth)
  55917. \f[I]storj\f[R] backend can provide even 2x better performance.
  55918. Data is directly downloaded to / uploaded from to the client instead of
  55919. the gateway.
  55920. .IP \[bu] 2
  55921. \f[I]S3 backend\f[R]: Can be faster on edge devices where CPU and
  55922. network bandwidth is limited as the shared S3 compatible gateways take
  55923. care about the encrypting/decryption and erasure coding and no
  55924. download/upload amplification.
  55925. .RE
  55926. .IP \[bu] 2
  55927. Decentralization:
  55928. .RS 2
  55929. .IP \[bu] 2
  55930. \f[I]Storj backend\f[R]: \f[B]high\f[R].
  55931. Data is downloaded directly from the distributed cloud of storage
  55932. providers.
  55933. .IP \[bu] 2
  55934. \f[I]S3 backend\f[R]: \f[B]low\f[R].
  55935. Requires a running S3 gateway (either self-hosted or Storj-hosted).
  55936. .RE
  55937. .IP \[bu] 2
  55938. Limitations:
  55939. .RS 2
  55940. .IP \[bu] 2
  55941. \f[I]Storj backend\f[R]: \f[C]rclone checksum\f[R] is not possible
  55942. without download, as checksum metadata is not calculated during upload
  55943. .IP \[bu] 2
  55944. \f[I]S3 backend\f[R]: secret encryption key is shared with the gateway
  55945. .RE
  55946. .SS Configuration
  55947. .PP
  55948. To make a new Storj configuration you need one of the following: *
  55949. Access Grant that someone else shared with you.
  55950. * API
  55951. Key (https://documentation.storj.io/getting-started/uploading-your-first-object/create-an-api-key)
  55952. of a Storj project you are a member of.
  55953. .PP
  55954. Here is an example of how to make a remote called \f[C]remote\f[R].
  55955. First run:
  55956. .IP
  55957. .nf
  55958. \f[C]
  55959. rclone config
  55960. \f[R]
  55961. .fi
  55962. .PP
  55963. This will guide you through an interactive setup process:
  55964. .SS Setup with access grant
  55965. .IP
  55966. .nf
  55967. \f[C]
  55968. No remotes found, make a new one?
  55969. n) New remote
  55970. s) Set configuration password
  55971. q) Quit config
  55972. n/s/q> n
  55973. name> remote
  55974. Type of storage to configure.
  55975. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  55976. Choose a number from below, or type in your own value
  55977. [snip]
  55978. XX / Storj Decentralized Cloud Storage
  55979. \[rs] \[dq]storj\[dq]
  55980. [snip]
  55981. Storage> storj
  55982. ** See help for storj backend at: https://rclone.org/storj/ **
  55983. Choose an authentication method.
  55984. Enter a string value. Press Enter for the default (\[dq]existing\[dq]).
  55985. Choose a number from below, or type in your own value
  55986. 1 / Use an existing access grant.
  55987. \[rs] \[dq]existing\[dq]
  55988. 2 / Create a new access grant from satellite address, API key, and passphrase.
  55989. \[rs] \[dq]new\[dq]
  55990. provider> existing
  55991. Access Grant.
  55992. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  55993. access_grant> your-access-grant-received-by-someone-else
  55994. Remote config
  55995. --------------------
  55996. [remote]
  55997. type = storj
  55998. access_grant = your-access-grant-received-by-someone-else
  55999. --------------------
  56000. y) Yes this is OK (default)
  56001. e) Edit this remote
  56002. d) Delete this remote
  56003. y/e/d> y
  56004. \f[R]
  56005. .fi
  56006. .SS Setup with API key and passphrase
  56007. .IP
  56008. .nf
  56009. \f[C]
  56010. No remotes found, make a new one?
  56011. n) New remote
  56012. s) Set configuration password
  56013. q) Quit config
  56014. n/s/q> n
  56015. name> remote
  56016. Type of storage to configure.
  56017. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56018. Choose a number from below, or type in your own value
  56019. [snip]
  56020. XX / Storj Decentralized Cloud Storage
  56021. \[rs] \[dq]storj\[dq]
  56022. [snip]
  56023. Storage> storj
  56024. ** See help for storj backend at: https://rclone.org/storj/ **
  56025. Choose an authentication method.
  56026. Enter a string value. Press Enter for the default (\[dq]existing\[dq]).
  56027. Choose a number from below, or type in your own value
  56028. 1 / Use an existing access grant.
  56029. \[rs] \[dq]existing\[dq]
  56030. 2 / Create a new access grant from satellite address, API key, and passphrase.
  56031. \[rs] \[dq]new\[dq]
  56032. provider> new
  56033. Satellite Address. Custom satellite address should match the format: \[ga]<nodeid>\[at]<address>:<port>\[ga].
  56034. Enter a string value. Press Enter for the default (\[dq]us1.storj.io\[dq]).
  56035. Choose a number from below, or type in your own value
  56036. 1 / US1
  56037. \[rs] \[dq]us1.storj.io\[dq]
  56038. 2 / EU1
  56039. \[rs] \[dq]eu1.storj.io\[dq]
  56040. 3 / AP1
  56041. \[rs] \[dq]ap1.storj.io\[dq]
  56042. satellite_address> 1
  56043. API Key.
  56044. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56045. api_key> your-api-key-for-your-storj-project
  56046. Encryption Passphrase. To access existing objects enter passphrase used for uploading.
  56047. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56048. passphrase> your-human-readable-encryption-passphrase
  56049. Remote config
  56050. --------------------
  56051. [remote]
  56052. type = storj
  56053. satellite_address = 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S\[at]us1.storj.io:7777
  56054. api_key = your-api-key-for-your-storj-project
  56055. passphrase = your-human-readable-encryption-passphrase
  56056. access_grant = the-access-grant-generated-from-the-api-key-and-passphrase
  56057. --------------------
  56058. y) Yes this is OK (default)
  56059. e) Edit this remote
  56060. d) Delete this remote
  56061. y/e/d> y
  56062. \f[R]
  56063. .fi
  56064. .SS Standard options
  56065. .PP
  56066. Here are the Standard options specific to storj (Storj Decentralized
  56067. Cloud Storage).
  56068. .SS --storj-provider
  56069. .PP
  56070. Choose an authentication method.
  56071. .PP
  56072. Properties:
  56073. .IP \[bu] 2
  56074. Config: provider
  56075. .IP \[bu] 2
  56076. Env Var: RCLONE_STORJ_PROVIDER
  56077. .IP \[bu] 2
  56078. Type: string
  56079. .IP \[bu] 2
  56080. Default: \[dq]existing\[dq]
  56081. .IP \[bu] 2
  56082. Examples:
  56083. .RS 2
  56084. .IP \[bu] 2
  56085. \[dq]existing\[dq]
  56086. .RS 2
  56087. .IP \[bu] 2
  56088. Use an existing access grant.
  56089. .RE
  56090. .IP \[bu] 2
  56091. \[dq]new\[dq]
  56092. .RS 2
  56093. .IP \[bu] 2
  56094. Create a new access grant from satellite address, API key, and
  56095. passphrase.
  56096. .RE
  56097. .RE
  56098. .SS --storj-access-grant
  56099. .PP
  56100. Access grant.
  56101. .PP
  56102. Properties:
  56103. .IP \[bu] 2
  56104. Config: access_grant
  56105. .IP \[bu] 2
  56106. Env Var: RCLONE_STORJ_ACCESS_GRANT
  56107. .IP \[bu] 2
  56108. Provider: existing
  56109. .IP \[bu] 2
  56110. Type: string
  56111. .IP \[bu] 2
  56112. Required: false
  56113. .SS --storj-satellite-address
  56114. .PP
  56115. Satellite address.
  56116. .PP
  56117. Custom satellite address should match the format:
  56118. \f[C]<nodeid>\[at]<address>:<port>\f[R].
  56119. .PP
  56120. Properties:
  56121. .IP \[bu] 2
  56122. Config: satellite_address
  56123. .IP \[bu] 2
  56124. Env Var: RCLONE_STORJ_SATELLITE_ADDRESS
  56125. .IP \[bu] 2
  56126. Provider: new
  56127. .IP \[bu] 2
  56128. Type: string
  56129. .IP \[bu] 2
  56130. Default: \[dq]us1.storj.io\[dq]
  56131. .IP \[bu] 2
  56132. Examples:
  56133. .RS 2
  56134. .IP \[bu] 2
  56135. \[dq]us1.storj.io\[dq]
  56136. .RS 2
  56137. .IP \[bu] 2
  56138. US1
  56139. .RE
  56140. .IP \[bu] 2
  56141. \[dq]eu1.storj.io\[dq]
  56142. .RS 2
  56143. .IP \[bu] 2
  56144. EU1
  56145. .RE
  56146. .IP \[bu] 2
  56147. \[dq]ap1.storj.io\[dq]
  56148. .RS 2
  56149. .IP \[bu] 2
  56150. AP1
  56151. .RE
  56152. .RE
  56153. .SS --storj-api-key
  56154. .PP
  56155. API key.
  56156. .PP
  56157. Properties:
  56158. .IP \[bu] 2
  56159. Config: api_key
  56160. .IP \[bu] 2
  56161. Env Var: RCLONE_STORJ_API_KEY
  56162. .IP \[bu] 2
  56163. Provider: new
  56164. .IP \[bu] 2
  56165. Type: string
  56166. .IP \[bu] 2
  56167. Required: false
  56168. .SS --storj-passphrase
  56169. .PP
  56170. Encryption passphrase.
  56171. .PP
  56172. To access existing objects enter passphrase used for uploading.
  56173. .PP
  56174. Properties:
  56175. .IP \[bu] 2
  56176. Config: passphrase
  56177. .IP \[bu] 2
  56178. Env Var: RCLONE_STORJ_PASSPHRASE
  56179. .IP \[bu] 2
  56180. Provider: new
  56181. .IP \[bu] 2
  56182. Type: string
  56183. .IP \[bu] 2
  56184. Required: false
  56185. .SS Advanced options
  56186. .PP
  56187. Here are the Advanced options specific to storj (Storj Decentralized
  56188. Cloud Storage).
  56189. .SS --storj-description
  56190. .PP
  56191. Description of the remote
  56192. .PP
  56193. Properties:
  56194. .IP \[bu] 2
  56195. Config: description
  56196. .IP \[bu] 2
  56197. Env Var: RCLONE_STORJ_DESCRIPTION
  56198. .IP \[bu] 2
  56199. Type: string
  56200. .IP \[bu] 2
  56201. Required: false
  56202. .SS Usage
  56203. .PP
  56204. Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for
  56205. the \f[C]lsf\f[R] command.) You may put subdirectories in too, e.g.
  56206. \f[C]remote:bucket/path/to/dir\f[R].
  56207. .PP
  56208. Once configured you can then use \f[C]rclone\f[R] like this.
  56209. .SS Create a new bucket
  56210. .PP
  56211. Use the \f[C]mkdir\f[R] command to create new bucket, e.g.
  56212. \f[C]bucket\f[R].
  56213. .IP
  56214. .nf
  56215. \f[C]
  56216. rclone mkdir remote:bucket
  56217. \f[R]
  56218. .fi
  56219. .SS List all buckets
  56220. .PP
  56221. Use the \f[C]lsf\f[R] command to list all buckets.
  56222. .IP
  56223. .nf
  56224. \f[C]
  56225. rclone lsf remote:
  56226. \f[R]
  56227. .fi
  56228. .PP
  56229. Note the colon (\f[C]:\f[R]) character at the end of the command line.
  56230. .SS Delete a bucket
  56231. .PP
  56232. Use the \f[C]rmdir\f[R] command to delete an empty bucket.
  56233. .IP
  56234. .nf
  56235. \f[C]
  56236. rclone rmdir remote:bucket
  56237. \f[R]
  56238. .fi
  56239. .PP
  56240. Use the \f[C]purge\f[R] command to delete a non-empty bucket with all
  56241. its content.
  56242. .IP
  56243. .nf
  56244. \f[C]
  56245. rclone purge remote:bucket
  56246. \f[R]
  56247. .fi
  56248. .SS Upload objects
  56249. .PP
  56250. Use the \f[C]copy\f[R] command to upload an object.
  56251. .IP
  56252. .nf
  56253. \f[C]
  56254. rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/
  56255. \f[R]
  56256. .fi
  56257. .PP
  56258. The \f[C]--progress\f[R] flag is for displaying progress information.
  56259. Remove it if you don\[aq]t need this information.
  56260. .PP
  56261. Use a folder in the local path to upload all its objects.
  56262. .IP
  56263. .nf
  56264. \f[C]
  56265. rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/
  56266. \f[R]
  56267. .fi
  56268. .PP
  56269. Only modified files will be copied.
  56270. .SS List objects
  56271. .PP
  56272. Use the \f[C]ls\f[R] command to list recursively all objects in a
  56273. bucket.
  56274. .IP
  56275. .nf
  56276. \f[C]
  56277. rclone ls remote:bucket
  56278. \f[R]
  56279. .fi
  56280. .PP
  56281. Add the folder to the remote path to list recursively all objects in
  56282. this folder.
  56283. .IP
  56284. .nf
  56285. \f[C]
  56286. rclone ls remote:bucket/path/to/dir/
  56287. \f[R]
  56288. .fi
  56289. .PP
  56290. Use the \f[C]lsf\f[R] command to list non-recursively all objects in a
  56291. bucket or a folder.
  56292. .IP
  56293. .nf
  56294. \f[C]
  56295. rclone lsf remote:bucket/path/to/dir/
  56296. \f[R]
  56297. .fi
  56298. .SS Download objects
  56299. .PP
  56300. Use the \f[C]copy\f[R] command to download an object.
  56301. .IP
  56302. .nf
  56303. \f[C]
  56304. rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/
  56305. \f[R]
  56306. .fi
  56307. .PP
  56308. The \f[C]--progress\f[R] flag is for displaying progress information.
  56309. Remove it if you don\[aq]t need this information.
  56310. .PP
  56311. Use a folder in the remote path to download all its objects.
  56312. .IP
  56313. .nf
  56314. \f[C]
  56315. rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/
  56316. \f[R]
  56317. .fi
  56318. .SS Delete objects
  56319. .PP
  56320. Use the \f[C]deletefile\f[R] command to delete a single object.
  56321. .IP
  56322. .nf
  56323. \f[C]
  56324. rclone deletefile remote:bucket/path/to/dir/file.ext
  56325. \f[R]
  56326. .fi
  56327. .PP
  56328. Use the \f[C]delete\f[R] command to delete all object in a folder.
  56329. .IP
  56330. .nf
  56331. \f[C]
  56332. rclone delete remote:bucket/path/to/dir/
  56333. \f[R]
  56334. .fi
  56335. .SS Print the total size of objects
  56336. .PP
  56337. Use the \f[C]size\f[R] command to print the total size of objects in a
  56338. bucket or a folder.
  56339. .IP
  56340. .nf
  56341. \f[C]
  56342. rclone size remote:bucket/path/to/dir/
  56343. \f[R]
  56344. .fi
  56345. .SS Sync two Locations
  56346. .PP
  56347. Use the \f[C]sync\f[R] command to sync the source to the destination,
  56348. changing the destination only, deleting any excess files.
  56349. .IP
  56350. .nf
  56351. \f[C]
  56352. rclone sync --interactive --progress /home/local/directory/ remote:bucket/path/to/dir/
  56353. \f[R]
  56354. .fi
  56355. .PP
  56356. The \f[C]--progress\f[R] flag is for displaying progress information.
  56357. Remove it if you don\[aq]t need this information.
  56358. .PP
  56359. Since this can cause data loss, test first with the \f[C]--dry-run\f[R]
  56360. flag to see exactly what would be copied and deleted.
  56361. .PP
  56362. The sync can be done also from Storj to the local file system.
  56363. .IP
  56364. .nf
  56365. \f[C]
  56366. rclone sync --interactive --progress remote:bucket/path/to/dir/ /home/local/directory/
  56367. \f[R]
  56368. .fi
  56369. .PP
  56370. Or between two Storj buckets.
  56371. .IP
  56372. .nf
  56373. \f[C]
  56374. rclone sync --interactive --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/
  56375. \f[R]
  56376. .fi
  56377. .PP
  56378. Or even between another cloud storage and Storj.
  56379. .IP
  56380. .nf
  56381. \f[C]
  56382. rclone sync --interactive --progress s3:bucket/path/to/dir/ storj:bucket/path/to/dir/
  56383. \f[R]
  56384. .fi
  56385. .SS Limitations
  56386. .PP
  56387. \f[C]rclone about\f[R] is not supported by the rclone Storj backend.
  56388. Backends without this capability cannot determine free space for an
  56389. rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member
  56390. of an rclone union remote.
  56391. .PP
  56392. See List of backends that do not support rclone
  56393. about (https://rclone.org/overview/#optional-features) and rclone
  56394. about (https://rclone.org/commands/rclone_about/)
  56395. .SS Known issues
  56396. .PP
  56397. If you get errors like \f[C]too many open files\f[R] this usually
  56398. happens when the default \f[C]ulimit\f[R] for system max open files is
  56399. exceeded.
  56400. Native Storj protocol opens a large number of TCP connections (each of
  56401. which is counted as an open file).
  56402. For a single upload stream you can expect 110 TCP connections to be
  56403. opened.
  56404. For a single download stream you can expect 35.
  56405. This batch of connections will be opened for every 64 MiB segment and
  56406. you should also expect TCP connections to be reused.
  56407. If you do many transfers you eventually open a connection to most
  56408. storage nodes (thousands of nodes).
  56409. .PP
  56410. To fix these, please raise your system limits.
  56411. You can do this issuing a \f[C]ulimit -n 65536\f[R] just before you run
  56412. rclone.
  56413. To change the limits more permanently you can add this to your shell
  56414. startup script, e.g.
  56415. \f[C]$HOME/.bashrc\f[R], or change the system-wide configuration,
  56416. usually \f[C]/etc/sysctl.conf\f[R] and/or
  56417. \f[C]/etc/security/limits.conf\f[R], but please refer to your operating
  56418. system manual.
  56419. .SH SugarSync
  56420. .PP
  56421. SugarSync (https://sugarsync.com) is a cloud service that enables active
  56422. synchronization of files across computers and other devices for file
  56423. backup, access, syncing, and sharing.
  56424. .SS Configuration
  56425. .PP
  56426. The initial setup for SugarSync involves getting a token from SugarSync
  56427. which you can do with rclone.
  56428. \f[C]rclone config\f[R] walks you through it.
  56429. .PP
  56430. Here is an example of how to make a remote called \f[C]remote\f[R].
  56431. First run:
  56432. .IP
  56433. .nf
  56434. \f[C]
  56435. rclone config
  56436. \f[R]
  56437. .fi
  56438. .PP
  56439. This will guide you through an interactive setup process:
  56440. .IP
  56441. .nf
  56442. \f[C]
  56443. No remotes found, make a new one?
  56444. n) New remote
  56445. s) Set configuration password
  56446. q) Quit config
  56447. n/s/q> n
  56448. name> remote
  56449. Type of storage to configure.
  56450. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56451. Choose a number from below, or type in your own value
  56452. [snip]
  56453. XX / Sugarsync
  56454. \[rs] \[dq]sugarsync\[dq]
  56455. [snip]
  56456. Storage> sugarsync
  56457. ** See help for sugarsync backend at: https://rclone.org/sugarsync/ **
  56458. Sugarsync App ID.
  56459. Leave blank to use rclone\[aq]s.
  56460. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56461. app_id>
  56462. Sugarsync Access Key ID.
  56463. Leave blank to use rclone\[aq]s.
  56464. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56465. access_key_id>
  56466. Sugarsync Private Access Key
  56467. Leave blank to use rclone\[aq]s.
  56468. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56469. private_access_key>
  56470. Permanently delete files if true
  56471. otherwise put them in the deleted files.
  56472. Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]).
  56473. hard_delete>
  56474. Edit advanced config? (y/n)
  56475. y) Yes
  56476. n) No (default)
  56477. y/n> n
  56478. Remote config
  56479. Username (email address)> nick\[at]craig-wood.com
  56480. Your Sugarsync password is only required during setup and will not be stored.
  56481. password:
  56482. --------------------
  56483. [remote]
  56484. type = sugarsync
  56485. refresh_token = https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX
  56486. --------------------
  56487. y) Yes this is OK (default)
  56488. e) Edit this remote
  56489. d) Delete this remote
  56490. y/e/d> y
  56491. \f[R]
  56492. .fi
  56493. .PP
  56494. Note that the config asks for your email and password but doesn\[aq]t
  56495. store them, it only uses them to get the initial token.
  56496. .PP
  56497. Once configured you can then use \f[C]rclone\f[R] like this,
  56498. .PP
  56499. List directories (sync folders) in top level of your SugarSync
  56500. .IP
  56501. .nf
  56502. \f[C]
  56503. rclone lsd remote:
  56504. \f[R]
  56505. .fi
  56506. .PP
  56507. List all the files in your SugarSync folder \[dq]Test\[dq]
  56508. .IP
  56509. .nf
  56510. \f[C]
  56511. rclone ls remote:Test
  56512. \f[R]
  56513. .fi
  56514. .PP
  56515. To copy a local directory to an SugarSync folder called backup
  56516. .IP
  56517. .nf
  56518. \f[C]
  56519. rclone copy /home/source remote:backup
  56520. \f[R]
  56521. .fi
  56522. .PP
  56523. Paths are specified as \f[C]remote:path\f[R]
  56524. .PP
  56525. Paths may be as deep as required, e.g.
  56526. \f[C]remote:directory/subdirectory\f[R].
  56527. .PP
  56528. \f[B]NB\f[R] you can\[aq]t create files in the top level folder you have
  56529. to create a folder, which rclone will create as a \[dq]Sync Folder\[dq]
  56530. with SugarSync.
  56531. .SS Modification times and hashes
  56532. .PP
  56533. SugarSync does not support modification times or hashes, therefore
  56534. syncing will default to \f[C]--size-only\f[R] checking.
  56535. Note that using \f[C]--update\f[R] will work as rclone can read the time
  56536. files were uploaded.
  56537. .SS Restricted filename characters
  56538. .PP
  56539. SugarSync replaces the default restricted characters
  56540. set (https://rclone.org/overview/#restricted-characters) except for DEL.
  56541. .PP
  56542. Invalid UTF-8 bytes will also be
  56543. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  56544. be used in XML strings.
  56545. .SS Deleting files
  56546. .PP
  56547. Deleted files will be moved to the \[dq]Deleted items\[dq] folder by
  56548. default.
  56549. .PP
  56550. However you can supply the flag \f[C]--sugarsync-hard-delete\f[R] or set
  56551. the config parameter \f[C]hard_delete = true\f[R] if you would like
  56552. files to be deleted straight away.
  56553. .SS Standard options
  56554. .PP
  56555. Here are the Standard options specific to sugarsync (Sugarsync).
  56556. .SS --sugarsync-app-id
  56557. .PP
  56558. Sugarsync App ID.
  56559. .PP
  56560. Leave blank to use rclone\[aq]s.
  56561. .PP
  56562. Properties:
  56563. .IP \[bu] 2
  56564. Config: app_id
  56565. .IP \[bu] 2
  56566. Env Var: RCLONE_SUGARSYNC_APP_ID
  56567. .IP \[bu] 2
  56568. Type: string
  56569. .IP \[bu] 2
  56570. Required: false
  56571. .SS --sugarsync-access-key-id
  56572. .PP
  56573. Sugarsync Access Key ID.
  56574. .PP
  56575. Leave blank to use rclone\[aq]s.
  56576. .PP
  56577. Properties:
  56578. .IP \[bu] 2
  56579. Config: access_key_id
  56580. .IP \[bu] 2
  56581. Env Var: RCLONE_SUGARSYNC_ACCESS_KEY_ID
  56582. .IP \[bu] 2
  56583. Type: string
  56584. .IP \[bu] 2
  56585. Required: false
  56586. .SS --sugarsync-private-access-key
  56587. .PP
  56588. Sugarsync Private Access Key.
  56589. .PP
  56590. Leave blank to use rclone\[aq]s.
  56591. .PP
  56592. Properties:
  56593. .IP \[bu] 2
  56594. Config: private_access_key
  56595. .IP \[bu] 2
  56596. Env Var: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY
  56597. .IP \[bu] 2
  56598. Type: string
  56599. .IP \[bu] 2
  56600. Required: false
  56601. .SS --sugarsync-hard-delete
  56602. .PP
  56603. Permanently delete files if true otherwise put them in the deleted
  56604. files.
  56605. .PP
  56606. Properties:
  56607. .IP \[bu] 2
  56608. Config: hard_delete
  56609. .IP \[bu] 2
  56610. Env Var: RCLONE_SUGARSYNC_HARD_DELETE
  56611. .IP \[bu] 2
  56612. Type: bool
  56613. .IP \[bu] 2
  56614. Default: false
  56615. .SS Advanced options
  56616. .PP
  56617. Here are the Advanced options specific to sugarsync (Sugarsync).
  56618. .SS --sugarsync-refresh-token
  56619. .PP
  56620. Sugarsync refresh token.
  56621. .PP
  56622. Leave blank normally, will be auto configured by rclone.
  56623. .PP
  56624. Properties:
  56625. .IP \[bu] 2
  56626. Config: refresh_token
  56627. .IP \[bu] 2
  56628. Env Var: RCLONE_SUGARSYNC_REFRESH_TOKEN
  56629. .IP \[bu] 2
  56630. Type: string
  56631. .IP \[bu] 2
  56632. Required: false
  56633. .SS --sugarsync-authorization
  56634. .PP
  56635. Sugarsync authorization.
  56636. .PP
  56637. Leave blank normally, will be auto configured by rclone.
  56638. .PP
  56639. Properties:
  56640. .IP \[bu] 2
  56641. Config: authorization
  56642. .IP \[bu] 2
  56643. Env Var: RCLONE_SUGARSYNC_AUTHORIZATION
  56644. .IP \[bu] 2
  56645. Type: string
  56646. .IP \[bu] 2
  56647. Required: false
  56648. .SS --sugarsync-authorization-expiry
  56649. .PP
  56650. Sugarsync authorization expiry.
  56651. .PP
  56652. Leave blank normally, will be auto configured by rclone.
  56653. .PP
  56654. Properties:
  56655. .IP \[bu] 2
  56656. Config: authorization_expiry
  56657. .IP \[bu] 2
  56658. Env Var: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY
  56659. .IP \[bu] 2
  56660. Type: string
  56661. .IP \[bu] 2
  56662. Required: false
  56663. .SS --sugarsync-user
  56664. .PP
  56665. Sugarsync user.
  56666. .PP
  56667. Leave blank normally, will be auto configured by rclone.
  56668. .PP
  56669. Properties:
  56670. .IP \[bu] 2
  56671. Config: user
  56672. .IP \[bu] 2
  56673. Env Var: RCLONE_SUGARSYNC_USER
  56674. .IP \[bu] 2
  56675. Type: string
  56676. .IP \[bu] 2
  56677. Required: false
  56678. .SS --sugarsync-root-id
  56679. .PP
  56680. Sugarsync root id.
  56681. .PP
  56682. Leave blank normally, will be auto configured by rclone.
  56683. .PP
  56684. Properties:
  56685. .IP \[bu] 2
  56686. Config: root_id
  56687. .IP \[bu] 2
  56688. Env Var: RCLONE_SUGARSYNC_ROOT_ID
  56689. .IP \[bu] 2
  56690. Type: string
  56691. .IP \[bu] 2
  56692. Required: false
  56693. .SS --sugarsync-deleted-id
  56694. .PP
  56695. Sugarsync deleted folder id.
  56696. .PP
  56697. Leave blank normally, will be auto configured by rclone.
  56698. .PP
  56699. Properties:
  56700. .IP \[bu] 2
  56701. Config: deleted_id
  56702. .IP \[bu] 2
  56703. Env Var: RCLONE_SUGARSYNC_DELETED_ID
  56704. .IP \[bu] 2
  56705. Type: string
  56706. .IP \[bu] 2
  56707. Required: false
  56708. .SS --sugarsync-encoding
  56709. .PP
  56710. The encoding for the backend.
  56711. .PP
  56712. See the encoding section in the
  56713. overview (https://rclone.org/overview/#encoding) for more info.
  56714. .PP
  56715. Properties:
  56716. .IP \[bu] 2
  56717. Config: encoding
  56718. .IP \[bu] 2
  56719. Env Var: RCLONE_SUGARSYNC_ENCODING
  56720. .IP \[bu] 2
  56721. Type: Encoding
  56722. .IP \[bu] 2
  56723. Default: Slash,Ctl,InvalidUtf8,Dot
  56724. .SS --sugarsync-description
  56725. .PP
  56726. Description of the remote
  56727. .PP
  56728. Properties:
  56729. .IP \[bu] 2
  56730. Config: description
  56731. .IP \[bu] 2
  56732. Env Var: RCLONE_SUGARSYNC_DESCRIPTION
  56733. .IP \[bu] 2
  56734. Type: string
  56735. .IP \[bu] 2
  56736. Required: false
  56737. .SS Limitations
  56738. .PP
  56739. \f[C]rclone about\f[R] is not supported by the SugarSync backend.
  56740. Backends without this capability cannot determine free space for an
  56741. rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member
  56742. of an rclone union remote.
  56743. .PP
  56744. See List of backends that do not support rclone
  56745. about (https://rclone.org/overview/#optional-features) and rclone
  56746. about (https://rclone.org/commands/rclone_about/)
  56747. .SH Tardigrade
  56748. .PP
  56749. The Tardigrade backend has been renamed to be the Storj
  56750. backend (https://rclone.org/storj/).
  56751. Old configuration files will continue to work.
  56752. .SH Uptobox
  56753. .PP
  56754. This is a Backend for Uptobox file storage service.
  56755. Uptobox is closer to a one-click hoster than a traditional cloud storage
  56756. provider and therefore not suitable for long term storage.
  56757. .PP
  56758. Paths are specified as \f[C]remote:path\f[R]
  56759. .PP
  56760. Paths may be as deep as required, e.g.
  56761. \f[C]remote:directory/subdirectory\f[R].
  56762. .SS Configuration
  56763. .PP
  56764. To configure an Uptobox backend you\[aq]ll need your personal api token.
  56765. You\[aq]ll find it in your account
  56766. settings (https://uptobox.com/my_account)
  56767. .PP
  56768. Here is an example of how to make a remote called \f[C]remote\f[R] with
  56769. the default setup.
  56770. First run:
  56771. .IP
  56772. .nf
  56773. \f[C]
  56774. rclone config
  56775. \f[R]
  56776. .fi
  56777. .PP
  56778. This will guide you through an interactive setup process:
  56779. .IP
  56780. .nf
  56781. \f[C]
  56782. Current remotes:
  56783. Name Type
  56784. ==== ====
  56785. TestUptobox uptobox
  56786. e) Edit existing remote
  56787. n) New remote
  56788. d) Delete remote
  56789. r) Rename remote
  56790. c) Copy remote
  56791. s) Set configuration password
  56792. q) Quit config
  56793. e/n/d/r/c/s/q> n
  56794. name> uptobox
  56795. Type of storage to configure.
  56796. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56797. Choose a number from below, or type in your own value
  56798. [...]
  56799. 37 / Uptobox
  56800. \[rs] \[dq]uptobox\[dq]
  56801. [...]
  56802. Storage> uptobox
  56803. ** See help for uptobox backend at: https://rclone.org/uptobox/ **
  56804. Your API Key, get it from https://uptobox.com/my_account
  56805. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  56806. api_key> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  56807. Edit advanced config? (y/n)
  56808. y) Yes
  56809. n) No (default)
  56810. y/n> n
  56811. Remote config
  56812. --------------------
  56813. [uptobox]
  56814. type = uptobox
  56815. api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  56816. --------------------
  56817. y) Yes this is OK (default)
  56818. e) Edit this remote
  56819. d) Delete this remote
  56820. y/e/d>
  56821. \f[R]
  56822. .fi
  56823. .PP
  56824. Once configured you can then use \f[C]rclone\f[R] like this,
  56825. .PP
  56826. List directories in top level of your Uptobox
  56827. .IP
  56828. .nf
  56829. \f[C]
  56830. rclone lsd remote:
  56831. \f[R]
  56832. .fi
  56833. .PP
  56834. List all the files in your Uptobox
  56835. .IP
  56836. .nf
  56837. \f[C]
  56838. rclone ls remote:
  56839. \f[R]
  56840. .fi
  56841. .PP
  56842. To copy a local directory to an Uptobox directory called backup
  56843. .IP
  56844. .nf
  56845. \f[C]
  56846. rclone copy /home/source remote:backup
  56847. \f[R]
  56848. .fi
  56849. .SS Modification times and hashes
  56850. .PP
  56851. Uptobox supports neither modified times nor checksums.
  56852. All timestamps will read as that set by \f[C]--default-time\f[R].
  56853. .SS Restricted filename characters
  56854. .PP
  56855. In addition to the default restricted characters
  56856. set (https://rclone.org/overview/#restricted-characters) the following
  56857. characters are also replaced:
  56858. .PP
  56859. .TS
  56860. tab(@);
  56861. l c c.
  56862. T{
  56863. Character
  56864. T}@T{
  56865. Value
  56866. T}@T{
  56867. Replacement
  56868. T}
  56869. _
  56870. T{
  56871. \[dq]
  56872. T}@T{
  56873. 0x22
  56874. T}@T{
  56875. \[uFF02]
  56876. T}
  56877. T{
  56878. \[ga]
  56879. T}@T{
  56880. 0x41
  56881. T}@T{
  56882. \[uFF40]
  56883. T}
  56884. .TE
  56885. .PP
  56886. Invalid UTF-8 bytes will also be
  56887. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  56888. be used in XML strings.
  56889. .SS Standard options
  56890. .PP
  56891. Here are the Standard options specific to uptobox (Uptobox).
  56892. .SS --uptobox-access-token
  56893. .PP
  56894. Your access token.
  56895. .PP
  56896. Get it from https://uptobox.com/my_account.
  56897. .PP
  56898. Properties:
  56899. .IP \[bu] 2
  56900. Config: access_token
  56901. .IP \[bu] 2
  56902. Env Var: RCLONE_UPTOBOX_ACCESS_TOKEN
  56903. .IP \[bu] 2
  56904. Type: string
  56905. .IP \[bu] 2
  56906. Required: false
  56907. .SS Advanced options
  56908. .PP
  56909. Here are the Advanced options specific to uptobox (Uptobox).
  56910. .SS --uptobox-private
  56911. .PP
  56912. Set to make uploaded files private
  56913. .PP
  56914. Properties:
  56915. .IP \[bu] 2
  56916. Config: private
  56917. .IP \[bu] 2
  56918. Env Var: RCLONE_UPTOBOX_PRIVATE
  56919. .IP \[bu] 2
  56920. Type: bool
  56921. .IP \[bu] 2
  56922. Default: false
  56923. .SS --uptobox-encoding
  56924. .PP
  56925. The encoding for the backend.
  56926. .PP
  56927. See the encoding section in the
  56928. overview (https://rclone.org/overview/#encoding) for more info.
  56929. .PP
  56930. Properties:
  56931. .IP \[bu] 2
  56932. Config: encoding
  56933. .IP \[bu] 2
  56934. Env Var: RCLONE_UPTOBOX_ENCODING
  56935. .IP \[bu] 2
  56936. Type: Encoding
  56937. .IP \[bu] 2
  56938. Default:
  56939. Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot
  56940. .SS --uptobox-description
  56941. .PP
  56942. Description of the remote
  56943. .PP
  56944. Properties:
  56945. .IP \[bu] 2
  56946. Config: description
  56947. .IP \[bu] 2
  56948. Env Var: RCLONE_UPTOBOX_DESCRIPTION
  56949. .IP \[bu] 2
  56950. Type: string
  56951. .IP \[bu] 2
  56952. Required: false
  56953. .SS Limitations
  56954. .PP
  56955. Uptobox will delete inactive files that have not been accessed in 60
  56956. days.
  56957. .PP
  56958. \f[C]rclone about\f[R] is not supported by this backend an overview of
  56959. used space can however been seen in the uptobox web interface.
  56960. .SH Union
  56961. .PP
  56962. The \f[C]union\f[R] backend joins several remotes together to make a
  56963. single unified view of them.
  56964. .PP
  56965. During the initial setup with \f[C]rclone config\f[R] you will specify
  56966. the upstream remotes as a space separated list.
  56967. The upstream remotes can either be a local paths or other remotes.
  56968. .PP
  56969. The attributes \f[C]:ro\f[R], \f[C]:nc\f[R] and \f[C]:writeback\f[R] can
  56970. be attached to the end of the remote to tag the remote as \f[B]read
  56971. only\f[R], \f[B]no create\f[R] or \f[B]writeback\f[R], e.g.
  56972. \f[C]remote:directory/subdirectory:ro\f[R] or
  56973. \f[C]remote:directory/subdirectory:nc\f[R].
  56974. .IP \[bu] 2
  56975. \f[C]:ro\f[R] means files will only be read from here and never written
  56976. .IP \[bu] 2
  56977. \f[C]:nc\f[R] means new files or directories won\[aq]t be created here
  56978. .IP \[bu] 2
  56979. \f[C]:writeback\f[R] means files found in different remotes will be
  56980. written back here.
  56981. See the writeback section for more info.
  56982. .PP
  56983. Subfolders can be used in upstream remotes.
  56984. Assume a union remote named \f[C]backup\f[R] with the remotes
  56985. \f[C]mydrive:private/backup\f[R].
  56986. Invoking \f[C]rclone mkdir backup:desktop\f[R] is exactly the same as
  56987. invoking \f[C]rclone mkdir mydrive:private/backup/desktop\f[R].
  56988. .PP
  56989. There is no special handling of paths containing \f[C]..\f[R] segments.
  56990. Invoking \f[C]rclone mkdir backup:../desktop\f[R] is exactly the same as
  56991. invoking \f[C]rclone mkdir mydrive:private/backup/../desktop\f[R].
  56992. .SS Configuration
  56993. .PP
  56994. Here is an example of how to make a union called \f[C]remote\f[R] for
  56995. local folders.
  56996. First run:
  56997. .IP
  56998. .nf
  56999. \f[C]
  57000. rclone config
  57001. \f[R]
  57002. .fi
  57003. .PP
  57004. This will guide you through an interactive setup process:
  57005. .IP
  57006. .nf
  57007. \f[C]
  57008. No remotes found, make a new one?
  57009. n) New remote
  57010. s) Set configuration password
  57011. q) Quit config
  57012. n/s/q> n
  57013. name> remote
  57014. Type of storage to configure.
  57015. Choose a number from below, or type in your own value
  57016. [snip]
  57017. XX / Union merges the contents of several remotes
  57018. \[rs] \[dq]union\[dq]
  57019. [snip]
  57020. Storage> union
  57021. List of space separated upstreams.
  57022. Can be \[aq]upstreama:test/dir upstreamb:\[aq], \[aq]\[rs]\[dq]upstreama:test/space:ro dir\[rs]\[dq] upstreamb:\[aq], etc.
  57023. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  57024. upstreams> remote1:dir1 remote2:dir2 remote3:dir3
  57025. Policy to choose upstream on ACTION class.
  57026. Enter a string value. Press Enter for the default (\[dq]epall\[dq]).
  57027. action_policy>
  57028. Policy to choose upstream on CREATE class.
  57029. Enter a string value. Press Enter for the default (\[dq]epmfs\[dq]).
  57030. create_policy>
  57031. Policy to choose upstream on SEARCH class.
  57032. Enter a string value. Press Enter for the default (\[dq]ff\[dq]).
  57033. search_policy>
  57034. Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used.
  57035. Enter a signed integer. Press Enter for the default (\[dq]120\[dq]).
  57036. cache_time>
  57037. Remote config
  57038. --------------------
  57039. [remote]
  57040. type = union
  57041. upstreams = remote1:dir1 remote2:dir2 remote3:dir3
  57042. --------------------
  57043. y) Yes this is OK
  57044. e) Edit this remote
  57045. d) Delete this remote
  57046. y/e/d> y
  57047. Current remotes:
  57048. Name Type
  57049. ==== ====
  57050. remote union
  57051. e) Edit existing remote
  57052. n) New remote
  57053. d) Delete remote
  57054. r) Rename remote
  57055. c) Copy remote
  57056. s) Set configuration password
  57057. q) Quit config
  57058. e/n/d/r/c/s/q> q
  57059. \f[R]
  57060. .fi
  57061. .PP
  57062. Once configured you can then use \f[C]rclone\f[R] like this,
  57063. .PP
  57064. List directories in top level in \f[C]remote1:dir1\f[R],
  57065. \f[C]remote2:dir2\f[R] and \f[C]remote3:dir3\f[R]
  57066. .IP
  57067. .nf
  57068. \f[C]
  57069. rclone lsd remote:
  57070. \f[R]
  57071. .fi
  57072. .PP
  57073. List all the files in \f[C]remote1:dir1\f[R], \f[C]remote2:dir2\f[R] and
  57074. \f[C]remote3:dir3\f[R]
  57075. .IP
  57076. .nf
  57077. \f[C]
  57078. rclone ls remote:
  57079. \f[R]
  57080. .fi
  57081. .PP
  57082. Copy another local directory to the union directory called source, which
  57083. will be placed into \f[C]remote3:dir3\f[R]
  57084. .IP
  57085. .nf
  57086. \f[C]
  57087. rclone copy C:\[rs]source remote:source
  57088. \f[R]
  57089. .fi
  57090. .SS Behavior / Policies
  57091. .PP
  57092. The behavior of union backend is inspired by
  57093. trapexit/mergerfs (https://github.com/trapexit/mergerfs).
  57094. All functions are grouped into 3 categories: \f[B]action\f[R],
  57095. \f[B]create\f[R] and \f[B]search\f[R].
  57096. These functions and categories can be assigned a policy which dictates
  57097. what file or directory is chosen when performing that behavior.
  57098. Any policy can be assigned to a function or category though some may not
  57099. be very useful in practice.
  57100. For instance: \f[B]rand\f[R] (random) may be useful for file creation
  57101. (create) but could lead to very odd behavior if used for
  57102. \f[C]delete\f[R] if there were more than one copy of the file.
  57103. .SS Function / Category classifications
  57104. .PP
  57105. .TS
  57106. tab(@);
  57107. lw(5.8n) lw(15.0n) lw(49.2n).
  57108. T{
  57109. Category
  57110. T}@T{
  57111. Description
  57112. T}@T{
  57113. Functions
  57114. T}
  57115. _
  57116. T{
  57117. action
  57118. T}@T{
  57119. Writing Existing file
  57120. T}@T{
  57121. move, rmdir, rmdirs, delete, purge and copy, sync (as destination when
  57122. file exist)
  57123. T}
  57124. T{
  57125. create
  57126. T}@T{
  57127. Create non-existing file
  57128. T}@T{
  57129. copy, sync (as destination when file not exist)
  57130. T}
  57131. T{
  57132. search
  57133. T}@T{
  57134. Reading and listing file
  57135. T}@T{
  57136. ls, lsd, lsl, cat, md5sum, sha1sum and copy, sync (as source)
  57137. T}
  57138. T{
  57139. N/A
  57140. T}@T{
  57141. T}@T{
  57142. size, about
  57143. T}
  57144. .TE
  57145. .SS Path Preservation
  57146. .PP
  57147. Policies, as described below, are of two basic types.
  57148. \f[C]path preserving\f[R] and \f[C]non-path preserving\f[R].
  57149. .PP
  57150. All policies which start with \f[C]ep\f[R] (\f[B]epff\f[R],
  57151. \f[B]eplfs\f[R], \f[B]eplus\f[R], \f[B]epmfs\f[R], \f[B]eprand\f[R]) are
  57152. \f[C]path preserving\f[R].
  57153. \f[C]ep\f[R] stands for \f[C]existing path\f[R].
  57154. .PP
  57155. A path preserving policy will only consider upstreams where the relative
  57156. path being accessed already exists.
  57157. .PP
  57158. When using non-path preserving policies paths will be created in target
  57159. upstreams as necessary.
  57160. .SS Quota Relevant Policies
  57161. .PP
  57162. Some policies rely on quota information.
  57163. These policies should be used only if your upstreams support the
  57164. respective quota fields.
  57165. .PP
  57166. .TS
  57167. tab(@);
  57168. l l.
  57169. T{
  57170. Policy
  57171. T}@T{
  57172. Required Field
  57173. T}
  57174. _
  57175. T{
  57176. lfs, eplfs
  57177. T}@T{
  57178. Free
  57179. T}
  57180. T{
  57181. mfs, epmfs
  57182. T}@T{
  57183. Free
  57184. T}
  57185. T{
  57186. lus, eplus
  57187. T}@T{
  57188. Used
  57189. T}
  57190. T{
  57191. lno, eplno
  57192. T}@T{
  57193. Objects
  57194. T}
  57195. .TE
  57196. .PP
  57197. To check if your upstream supports the field, run
  57198. \f[C]rclone about remote: [flags]\f[R] and see if the required field
  57199. exists.
  57200. .SS Filters
  57201. .PP
  57202. Policies basically search upstream remotes and create a list of files /
  57203. paths for functions to work on.
  57204. The policy is responsible for filtering and sorting.
  57205. The policy type defines the sorting but filtering is mostly uniform as
  57206. described below.
  57207. .IP \[bu] 2
  57208. No \f[B]search\f[R] policies filter.
  57209. .IP \[bu] 2
  57210. All \f[B]action\f[R] policies will filter out remotes which are tagged
  57211. as \f[B]read-only\f[R].
  57212. .IP \[bu] 2
  57213. All \f[B]create\f[R] policies will filter out remotes which are tagged
  57214. \f[B]read-only\f[R] or \f[B]no-create\f[R].
  57215. .PP
  57216. If all remotes are filtered an error will be returned.
  57217. .SS Policy descriptions
  57218. .PP
  57219. The policies definition are inspired by
  57220. trapexit/mergerfs (https://github.com/trapexit/mergerfs) but not exactly
  57221. the same.
  57222. Some policy definition could be different due to the much larger latency
  57223. of remote file systems.
  57224. .PP
  57225. .TS
  57226. tab(@);
  57227. lw(16.2n) lw(53.8n).
  57228. T{
  57229. Policy
  57230. T}@T{
  57231. Description
  57232. T}
  57233. _
  57234. T{
  57235. all
  57236. T}@T{
  57237. Search category: same as \f[B]epall\f[R].
  57238. Action category: same as \f[B]epall\f[R].
  57239. Create category: act on all upstreams.
  57240. T}
  57241. T{
  57242. epall (existing path, all)
  57243. T}@T{
  57244. Search category: Given this order configured, act on the first one found
  57245. where the relative path exists.
  57246. Action category: apply to all found.
  57247. Create category: act on all upstreams where the relative path exists.
  57248. T}
  57249. T{
  57250. epff (existing path, first found)
  57251. T}@T{
  57252. Act on the first one found, by the time upstreams reply, where the
  57253. relative path exists.
  57254. T}
  57255. T{
  57256. eplfs (existing path, least free space)
  57257. T}@T{
  57258. Of all the upstreams on which the relative path exists choose the one
  57259. with the least free space.
  57260. T}
  57261. T{
  57262. eplus (existing path, least used space)
  57263. T}@T{
  57264. Of all the upstreams on which the relative path exists choose the one
  57265. with the least used space.
  57266. T}
  57267. T{
  57268. eplno (existing path, least number of objects)
  57269. T}@T{
  57270. Of all the upstreams on which the relative path exists choose the one
  57271. with the least number of objects.
  57272. T}
  57273. T{
  57274. epmfs (existing path, most free space)
  57275. T}@T{
  57276. Of all the upstreams on which the relative path exists choose the one
  57277. with the most free space.
  57278. T}
  57279. T{
  57280. eprand (existing path, random)
  57281. T}@T{
  57282. Calls \f[B]epall\f[R] and then randomizes.
  57283. Returns only one upstream.
  57284. T}
  57285. T{
  57286. ff (first found)
  57287. T}@T{
  57288. Search category: same as \f[B]epff\f[R].
  57289. Action category: same as \f[B]epff\f[R].
  57290. Create category: Act on the first one found by the time upstreams reply.
  57291. T}
  57292. T{
  57293. lfs (least free space)
  57294. T}@T{
  57295. Search category: same as \f[B]eplfs\f[R].
  57296. Action category: same as \f[B]eplfs\f[R].
  57297. Create category: Pick the upstream with the least available free space.
  57298. T}
  57299. T{
  57300. lus (least used space)
  57301. T}@T{
  57302. Search category: same as \f[B]eplus\f[R].
  57303. Action category: same as \f[B]eplus\f[R].
  57304. Create category: Pick the upstream with the least used space.
  57305. T}
  57306. T{
  57307. lno (least number of objects)
  57308. T}@T{
  57309. Search category: same as \f[B]eplno\f[R].
  57310. Action category: same as \f[B]eplno\f[R].
  57311. Create category: Pick the upstream with the least number of objects.
  57312. T}
  57313. T{
  57314. mfs (most free space)
  57315. T}@T{
  57316. Search category: same as \f[B]epmfs\f[R].
  57317. Action category: same as \f[B]epmfs\f[R].
  57318. Create category: Pick the upstream with the most available free space.
  57319. T}
  57320. T{
  57321. newest
  57322. T}@T{
  57323. Pick the file / directory with the largest mtime.
  57324. T}
  57325. T{
  57326. rand (random)
  57327. T}@T{
  57328. Calls \f[B]all\f[R] and then randomizes.
  57329. Returns only one upstream.
  57330. T}
  57331. .TE
  57332. .SS Writeback
  57333. .PP
  57334. The tag \f[C]:writeback\f[R] on an upstream remote can be used to make a
  57335. simple cache system like this:
  57336. .IP
  57337. .nf
  57338. \f[C]
  57339. [union]
  57340. type = union
  57341. action_policy = all
  57342. create_policy = all
  57343. search_policy = ff
  57344. upstreams = /local:writeback remote:dir
  57345. \f[R]
  57346. .fi
  57347. .PP
  57348. When files are opened for read, if the file is in \f[C]remote:dir\f[R]
  57349. but not \f[C]/local\f[R] then rclone will copy the file entirely into
  57350. \f[C]/local\f[R] before returning a reference to the file in
  57351. \f[C]/local\f[R].
  57352. The copy will be done with the equivalent of \f[C]rclone copy\f[R] so
  57353. will use \f[C]--multi-thread-streams\f[R] if configured.
  57354. Any copies will be logged with an INFO log.
  57355. .PP
  57356. When files are written, they will be written to both
  57357. \f[C]remote:dir\f[R] and \f[C]/local\f[R].
  57358. .PP
  57359. As many remotes as desired can be added to \f[C]upstreams\f[R] but there
  57360. should only be one \f[C]:writeback\f[R] tag.
  57361. .PP
  57362. Rclone does not manage the \f[C]:writeback\f[R] remote in any way other
  57363. than writing files back to it.
  57364. So if you need to expire old files or manage the size then you will have
  57365. to do this yourself.
  57366. .SS Standard options
  57367. .PP
  57368. Here are the Standard options specific to union (Union merges the
  57369. contents of several upstream fs).
  57370. .SS --union-upstreams
  57371. .PP
  57372. List of space separated upstreams.
  57373. .PP
  57374. Can be \[aq]upstreama:test/dir upstreamb:\[aq],
  57375. \[aq]\[dq]upstreama:test/space:ro dir\[dq] upstreamb:\[aq], etc.
  57376. .PP
  57377. Properties:
  57378. .IP \[bu] 2
  57379. Config: upstreams
  57380. .IP \[bu] 2
  57381. Env Var: RCLONE_UNION_UPSTREAMS
  57382. .IP \[bu] 2
  57383. Type: string
  57384. .IP \[bu] 2
  57385. Required: true
  57386. .SS --union-action-policy
  57387. .PP
  57388. Policy to choose upstream on ACTION category.
  57389. .PP
  57390. Properties:
  57391. .IP \[bu] 2
  57392. Config: action_policy
  57393. .IP \[bu] 2
  57394. Env Var: RCLONE_UNION_ACTION_POLICY
  57395. .IP \[bu] 2
  57396. Type: string
  57397. .IP \[bu] 2
  57398. Default: \[dq]epall\[dq]
  57399. .SS --union-create-policy
  57400. .PP
  57401. Policy to choose upstream on CREATE category.
  57402. .PP
  57403. Properties:
  57404. .IP \[bu] 2
  57405. Config: create_policy
  57406. .IP \[bu] 2
  57407. Env Var: RCLONE_UNION_CREATE_POLICY
  57408. .IP \[bu] 2
  57409. Type: string
  57410. .IP \[bu] 2
  57411. Default: \[dq]epmfs\[dq]
  57412. .SS --union-search-policy
  57413. .PP
  57414. Policy to choose upstream on SEARCH category.
  57415. .PP
  57416. Properties:
  57417. .IP \[bu] 2
  57418. Config: search_policy
  57419. .IP \[bu] 2
  57420. Env Var: RCLONE_UNION_SEARCH_POLICY
  57421. .IP \[bu] 2
  57422. Type: string
  57423. .IP \[bu] 2
  57424. Default: \[dq]ff\[dq]
  57425. .SS --union-cache-time
  57426. .PP
  57427. Cache time of usage and free space (in seconds).
  57428. .PP
  57429. This option is only useful when a path preserving policy is used.
  57430. .PP
  57431. Properties:
  57432. .IP \[bu] 2
  57433. Config: cache_time
  57434. .IP \[bu] 2
  57435. Env Var: RCLONE_UNION_CACHE_TIME
  57436. .IP \[bu] 2
  57437. Type: int
  57438. .IP \[bu] 2
  57439. Default: 120
  57440. .SS Advanced options
  57441. .PP
  57442. Here are the Advanced options specific to union (Union merges the
  57443. contents of several upstream fs).
  57444. .SS --union-min-free-space
  57445. .PP
  57446. Minimum viable free space for lfs/eplfs policies.
  57447. .PP
  57448. If a remote has less than this much free space then it won\[aq]t be
  57449. considered for use in lfs or eplfs policies.
  57450. .PP
  57451. Properties:
  57452. .IP \[bu] 2
  57453. Config: min_free_space
  57454. .IP \[bu] 2
  57455. Env Var: RCLONE_UNION_MIN_FREE_SPACE
  57456. .IP \[bu] 2
  57457. Type: SizeSuffix
  57458. .IP \[bu] 2
  57459. Default: 1Gi
  57460. .SS --union-description
  57461. .PP
  57462. Description of the remote
  57463. .PP
  57464. Properties:
  57465. .IP \[bu] 2
  57466. Config: description
  57467. .IP \[bu] 2
  57468. Env Var: RCLONE_UNION_DESCRIPTION
  57469. .IP \[bu] 2
  57470. Type: string
  57471. .IP \[bu] 2
  57472. Required: false
  57473. .SS Metadata
  57474. .PP
  57475. Any metadata supported by the underlying remote is read and written.
  57476. .PP
  57477. See the metadata (https://rclone.org/docs/#metadata) docs for more info.
  57478. .SH WebDAV
  57479. .PP
  57480. Paths are specified as \f[C]remote:path\f[R]
  57481. .PP
  57482. Paths may be as deep as required, e.g.
  57483. \f[C]remote:directory/subdirectory\f[R].
  57484. .SS Configuration
  57485. .PP
  57486. To configure the WebDAV remote you will need to have a URL for it, and a
  57487. username and password.
  57488. If you know what kind of system you are connecting to then rclone can
  57489. enable extra features.
  57490. .PP
  57491. Here is an example of how to make a remote called \f[C]remote\f[R].
  57492. First run:
  57493. .IP
  57494. .nf
  57495. \f[C]
  57496. rclone config
  57497. \f[R]
  57498. .fi
  57499. .PP
  57500. This will guide you through an interactive setup process:
  57501. .IP
  57502. .nf
  57503. \f[C]
  57504. No remotes found, make a new one?
  57505. n) New remote
  57506. s) Set configuration password
  57507. q) Quit config
  57508. n/s/q> n
  57509. name> remote
  57510. Type of storage to configure.
  57511. Choose a number from below, or type in your own value
  57512. [snip]
  57513. XX / WebDAV
  57514. \[rs] \[dq]webdav\[dq]
  57515. [snip]
  57516. Storage> webdav
  57517. URL of http host to connect to
  57518. Choose a number from below, or type in your own value
  57519. 1 / Connect to example.com
  57520. \[rs] \[dq]https://example.com\[dq]
  57521. url> https://example.com/remote.php/webdav/
  57522. Name of the WebDAV site/service/software you are using
  57523. Choose a number from below, or type in your own value
  57524. 1 / Fastmail Files
  57525. \[rs] (fastmail)
  57526. 2 / Nextcloud
  57527. \[rs] (nextcloud)
  57528. 3 / Owncloud
  57529. \[rs] (owncloud)
  57530. 4 / Sharepoint Online, authenticated by Microsoft account
  57531. \[rs] (sharepoint)
  57532. 5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises
  57533. \[rs] (sharepoint-ntlm)
  57534. 6 / rclone WebDAV server to serve a remote over HTTP via the WebDAV protocol
  57535. \[rs] (rclone)
  57536. 7 / Other site/service or software
  57537. \[rs] (other)
  57538. vendor> 2
  57539. User name
  57540. user> user
  57541. Password.
  57542. y) Yes type in my own password
  57543. g) Generate random password
  57544. n) No leave this optional password blank
  57545. y/g/n> y
  57546. Enter the password:
  57547. password:
  57548. Confirm the password:
  57549. password:
  57550. Bearer token instead of user/pass (e.g. a Macaroon)
  57551. bearer_token>
  57552. Remote config
  57553. --------------------
  57554. [remote]
  57555. type = webdav
  57556. url = https://example.com/remote.php/webdav/
  57557. vendor = nextcloud
  57558. user = user
  57559. pass = *** ENCRYPTED ***
  57560. bearer_token =
  57561. --------------------
  57562. y) Yes this is OK
  57563. e) Edit this remote
  57564. d) Delete this remote
  57565. y/e/d> y
  57566. \f[R]
  57567. .fi
  57568. .PP
  57569. Once configured you can then use \f[C]rclone\f[R] like this,
  57570. .PP
  57571. List directories in top level of your WebDAV
  57572. .IP
  57573. .nf
  57574. \f[C]
  57575. rclone lsd remote:
  57576. \f[R]
  57577. .fi
  57578. .PP
  57579. List all the files in your WebDAV
  57580. .IP
  57581. .nf
  57582. \f[C]
  57583. rclone ls remote:
  57584. \f[R]
  57585. .fi
  57586. .PP
  57587. To copy a local directory to an WebDAV directory called backup
  57588. .IP
  57589. .nf
  57590. \f[C]
  57591. rclone copy /home/source remote:backup
  57592. \f[R]
  57593. .fi
  57594. .SS Modification times and hashes
  57595. .PP
  57596. Plain WebDAV does not support modified times.
  57597. However when used with Fastmail Files, Owncloud or Nextcloud rclone will
  57598. support modified times.
  57599. .PP
  57600. Likewise plain WebDAV does not support hashes, however when used with
  57601. Fastmail Files, Owncloud or Nextcloud rclone will support SHA1 and MD5
  57602. hashes.
  57603. Depending on the exact version of Owncloud or Nextcloud hashes may
  57604. appear on all objects, or only on objects which had a hash uploaded with
  57605. them.
  57606. .SS Standard options
  57607. .PP
  57608. Here are the Standard options specific to webdav (WebDAV).
  57609. .SS --webdav-url
  57610. .PP
  57611. URL of http host to connect to.
  57612. .PP
  57613. E.g.
  57614. https://example.com.
  57615. .PP
  57616. Properties:
  57617. .IP \[bu] 2
  57618. Config: url
  57619. .IP \[bu] 2
  57620. Env Var: RCLONE_WEBDAV_URL
  57621. .IP \[bu] 2
  57622. Type: string
  57623. .IP \[bu] 2
  57624. Required: true
  57625. .SS --webdav-vendor
  57626. .PP
  57627. Name of the WebDAV site/service/software you are using.
  57628. .PP
  57629. Properties:
  57630. .IP \[bu] 2
  57631. Config: vendor
  57632. .IP \[bu] 2
  57633. Env Var: RCLONE_WEBDAV_VENDOR
  57634. .IP \[bu] 2
  57635. Type: string
  57636. .IP \[bu] 2
  57637. Required: false
  57638. .IP \[bu] 2
  57639. Examples:
  57640. .RS 2
  57641. .IP \[bu] 2
  57642. \[dq]fastmail\[dq]
  57643. .RS 2
  57644. .IP \[bu] 2
  57645. Fastmail Files
  57646. .RE
  57647. .IP \[bu] 2
  57648. \[dq]nextcloud\[dq]
  57649. .RS 2
  57650. .IP \[bu] 2
  57651. Nextcloud
  57652. .RE
  57653. .IP \[bu] 2
  57654. \[dq]owncloud\[dq]
  57655. .RS 2
  57656. .IP \[bu] 2
  57657. Owncloud
  57658. .RE
  57659. .IP \[bu] 2
  57660. \[dq]sharepoint\[dq]
  57661. .RS 2
  57662. .IP \[bu] 2
  57663. Sharepoint Online, authenticated by Microsoft account
  57664. .RE
  57665. .IP \[bu] 2
  57666. \[dq]sharepoint-ntlm\[dq]
  57667. .RS 2
  57668. .IP \[bu] 2
  57669. Sharepoint with NTLM authentication, usually self-hosted or on-premises
  57670. .RE
  57671. .IP \[bu] 2
  57672. \[dq]rclone\[dq]
  57673. .RS 2
  57674. .IP \[bu] 2
  57675. rclone WebDAV server to serve a remote over HTTP via the WebDAV protocol
  57676. .RE
  57677. .IP \[bu] 2
  57678. \[dq]other\[dq]
  57679. .RS 2
  57680. .IP \[bu] 2
  57681. Other site/service or software
  57682. .RE
  57683. .RE
  57684. .SS --webdav-user
  57685. .PP
  57686. User name.
  57687. .PP
  57688. In case NTLM authentication is used, the username should be in the
  57689. format \[aq]Domain\[aq].
  57690. .PP
  57691. Properties:
  57692. .IP \[bu] 2
  57693. Config: user
  57694. .IP \[bu] 2
  57695. Env Var: RCLONE_WEBDAV_USER
  57696. .IP \[bu] 2
  57697. Type: string
  57698. .IP \[bu] 2
  57699. Required: false
  57700. .SS --webdav-pass
  57701. .PP
  57702. Password.
  57703. .PP
  57704. \f[B]NB\f[R] Input to this must be obscured - see rclone
  57705. obscure (https://rclone.org/commands/rclone_obscure/).
  57706. .PP
  57707. Properties:
  57708. .IP \[bu] 2
  57709. Config: pass
  57710. .IP \[bu] 2
  57711. Env Var: RCLONE_WEBDAV_PASS
  57712. .IP \[bu] 2
  57713. Type: string
  57714. .IP \[bu] 2
  57715. Required: false
  57716. .SS --webdav-bearer-token
  57717. .PP
  57718. Bearer token instead of user/pass (e.g.
  57719. a Macaroon).
  57720. .PP
  57721. Properties:
  57722. .IP \[bu] 2
  57723. Config: bearer_token
  57724. .IP \[bu] 2
  57725. Env Var: RCLONE_WEBDAV_BEARER_TOKEN
  57726. .IP \[bu] 2
  57727. Type: string
  57728. .IP \[bu] 2
  57729. Required: false
  57730. .SS Advanced options
  57731. .PP
  57732. Here are the Advanced options specific to webdav (WebDAV).
  57733. .SS --webdav-bearer-token-command
  57734. .PP
  57735. Command to run to get a bearer token.
  57736. .PP
  57737. Properties:
  57738. .IP \[bu] 2
  57739. Config: bearer_token_command
  57740. .IP \[bu] 2
  57741. Env Var: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND
  57742. .IP \[bu] 2
  57743. Type: string
  57744. .IP \[bu] 2
  57745. Required: false
  57746. .SS --webdav-encoding
  57747. .PP
  57748. The encoding for the backend.
  57749. .PP
  57750. See the encoding section in the
  57751. overview (https://rclone.org/overview/#encoding) for more info.
  57752. .PP
  57753. Default encoding is
  57754. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8
  57755. for sharepoint-ntlm or identity otherwise.
  57756. .PP
  57757. Properties:
  57758. .IP \[bu] 2
  57759. Config: encoding
  57760. .IP \[bu] 2
  57761. Env Var: RCLONE_WEBDAV_ENCODING
  57762. .IP \[bu] 2
  57763. Type: string
  57764. .IP \[bu] 2
  57765. Required: false
  57766. .SS --webdav-headers
  57767. .PP
  57768. Set HTTP headers for all transactions.
  57769. .PP
  57770. Use this to set additional HTTP headers for all transactions
  57771. .PP
  57772. The input format is comma separated list of key,value pairs.
  57773. Standard CSV encoding (https://godoc.org/encoding/csv) may be used.
  57774. .PP
  57775. For example, to set a Cookie use \[aq]Cookie,name=value\[aq], or
  57776. \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq]\[aq].
  57777. .PP
  57778. You can set multiple headers, e.g.
  57779. \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq],\[dq]Authorization\[dq],\[dq]xxx\[dq]\[aq].
  57780. .PP
  57781. Properties:
  57782. .IP \[bu] 2
  57783. Config: headers
  57784. .IP \[bu] 2
  57785. Env Var: RCLONE_WEBDAV_HEADERS
  57786. .IP \[bu] 2
  57787. Type: CommaSepList
  57788. .IP \[bu] 2
  57789. Default:
  57790. .SS --webdav-pacer-min-sleep
  57791. .PP
  57792. Minimum time to sleep between API calls.
  57793. .PP
  57794. Properties:
  57795. .IP \[bu] 2
  57796. Config: pacer_min_sleep
  57797. .IP \[bu] 2
  57798. Env Var: RCLONE_WEBDAV_PACER_MIN_SLEEP
  57799. .IP \[bu] 2
  57800. Type: Duration
  57801. .IP \[bu] 2
  57802. Default: 10ms
  57803. .SS --webdav-nextcloud-chunk-size
  57804. .PP
  57805. Nextcloud upload chunk size.
  57806. .PP
  57807. We recommend configuring your NextCloud instance to increase the max
  57808. chunk size to 1 GB for better upload performances.
  57809. See
  57810. https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#adjust-chunk-size-on-nextcloud-side
  57811. .PP
  57812. Set to 0 to disable chunked uploading.
  57813. .PP
  57814. Properties:
  57815. .IP \[bu] 2
  57816. Config: nextcloud_chunk_size
  57817. .IP \[bu] 2
  57818. Env Var: RCLONE_WEBDAV_NEXTCLOUD_CHUNK_SIZE
  57819. .IP \[bu] 2
  57820. Type: SizeSuffix
  57821. .IP \[bu] 2
  57822. Default: 10Mi
  57823. .SS --webdav-owncloud-exclude-shares
  57824. .PP
  57825. Exclude ownCloud shares
  57826. .PP
  57827. Properties:
  57828. .IP \[bu] 2
  57829. Config: owncloud_exclude_shares
  57830. .IP \[bu] 2
  57831. Env Var: RCLONE_WEBDAV_OWNCLOUD_EXCLUDE_SHARES
  57832. .IP \[bu] 2
  57833. Type: bool
  57834. .IP \[bu] 2
  57835. Default: false
  57836. .SS --webdav-description
  57837. .PP
  57838. Description of the remote
  57839. .PP
  57840. Properties:
  57841. .IP \[bu] 2
  57842. Config: description
  57843. .IP \[bu] 2
  57844. Env Var: RCLONE_WEBDAV_DESCRIPTION
  57845. .IP \[bu] 2
  57846. Type: string
  57847. .IP \[bu] 2
  57848. Required: false
  57849. .SS Provider notes
  57850. .PP
  57851. See below for notes on specific providers.
  57852. .SS Fastmail Files
  57853. .PP
  57854. Use \f[C]https://webdav.fastmail.com/\f[R] or a subdirectory as the URL,
  57855. and your Fastmail email \f[C]username\[at]domain.tld\f[R] as the
  57856. username.
  57857. Follow this
  57858. documentation (https://www.fastmail.help/hc/en-us/articles/360058752854-App-passwords)
  57859. to create an app password with access to \f[C]Files (WebDAV)\f[R] and
  57860. use this as the password.
  57861. .PP
  57862. Fastmail supports modified times using the \f[C]X-OC-Mtime\f[R] header.
  57863. .SS Owncloud
  57864. .PP
  57865. Click on the settings cog in the bottom right of the page and this will
  57866. show the WebDAV URL that rclone needs in the config step.
  57867. It will look something like
  57868. \f[C]https://example.com/remote.php/webdav/\f[R].
  57869. .PP
  57870. Owncloud supports modified times using the \f[C]X-OC-Mtime\f[R] header.
  57871. .SS Nextcloud
  57872. .PP
  57873. This is configured in an identical way to Owncloud.
  57874. Note that Nextcloud initially did not support streaming of files
  57875. (\f[C]rcat\f[R]) whereas Owncloud did, but
  57876. this (https://github.com/nextcloud/nextcloud-snap/issues/365) seems to
  57877. be fixed as of 2020-11-27 (tested with rclone v1.53.1 and Nextcloud
  57878. Server v19).
  57879. .SS Sharepoint Online
  57880. .PP
  57881. Rclone can be used with Sharepoint provided by OneDrive for Business or
  57882. Office365 Education Accounts.
  57883. This feature is only needed for a few of these Accounts, mostly
  57884. Office365 Education ones.
  57885. These accounts are sometimes not verified by the domain owner
  57886. github#1975 (https://github.com/rclone/rclone/issues/1975)
  57887. .PP
  57888. This means that these accounts can\[aq]t be added using the official API
  57889. (other Accounts should work with the \[dq]onedrive\[dq] option).
  57890. However, it is possible to access them using webdav.
  57891. .PP
  57892. To use a sharepoint remote with rclone, add it like this: First, you
  57893. need to get your remote\[aq]s URL:
  57894. .IP \[bu] 2
  57895. Go here (https://onedrive.live.com/about/en-us/signin/) to open your
  57896. OneDrive or to sign in
  57897. .IP \[bu] 2
  57898. Now take a look at your address bar, the URL should look like this:
  57899. \f[C]https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_layouts/15/onedrive.aspx\f[R]
  57900. .PP
  57901. You\[aq]ll only need this URL up to the email address.
  57902. After that, you\[aq]ll most likely want to add \[dq]/Documents\[dq].
  57903. That subdirectory contains the actual data stored on your OneDrive.
  57904. .PP
  57905. Add the remote to rclone like this: Configure the \f[C]url\f[R] as
  57906. \f[C]https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents\f[R]
  57907. and use your normal account email and password for \f[C]user\f[R] and
  57908. \f[C]pass\f[R].
  57909. If you have 2FA enabled, you have to generate an app password.
  57910. Set the \f[C]vendor\f[R] to \f[C]sharepoint\f[R].
  57911. .PP
  57912. Your config file should look like this:
  57913. .IP
  57914. .nf
  57915. \f[C]
  57916. [sharepoint]
  57917. type = webdav
  57918. url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
  57919. vendor = sharepoint
  57920. user = YourEmailAddress
  57921. pass = encryptedpassword
  57922. \f[R]
  57923. .fi
  57924. .SS Sharepoint with NTLM Authentication
  57925. .PP
  57926. Use this option in case your (hosted) Sharepoint is not tied to OneDrive
  57927. accounts and uses NTLM authentication.
  57928. .PP
  57929. To get the \f[C]url\f[R] configuration, similarly to the above, first
  57930. navigate to the desired directory in your browser to get the URL, then
  57931. strip everything after the name of the opened directory.
  57932. .PP
  57933. Example: If the URL is:
  57934. https://example.sharepoint.com/sites/12345/Documents/Forms/AllItems.aspx
  57935. .PP
  57936. The configuration to use would be:
  57937. https://example.sharepoint.com/sites/12345/Documents
  57938. .PP
  57939. Set the \f[C]vendor\f[R] to \f[C]sharepoint-ntlm\f[R].
  57940. .PP
  57941. NTLM uses domain and user name combination for authentication, set
  57942. \f[C]user\f[R] to \f[C]DOMAIN\[rs]username\f[R].
  57943. .PP
  57944. Your config file should look like this:
  57945. .IP
  57946. .nf
  57947. \f[C]
  57948. [sharepoint]
  57949. type = webdav
  57950. url = https://[YOUR-DOMAIN]/some-path-to/Documents
  57951. vendor = sharepoint-ntlm
  57952. user = DOMAIN\[rs]user
  57953. pass = encryptedpassword
  57954. \f[R]
  57955. .fi
  57956. .SS Required Flags for SharePoint
  57957. .PP
  57958. As SharePoint does some special things with uploaded documents, you
  57959. won\[aq]t be able to use the documents size or the documents hash to
  57960. compare if a file has been changed since the upload / which file is
  57961. newer.
  57962. .PP
  57963. For Rclone calls copying files (especially Office files such as .docx,
  57964. \&.xlsx, etc.) from/to SharePoint (like copy, sync, etc.), you should
  57965. append these flags to ensure Rclone uses the \[dq]Last Modified\[dq]
  57966. datetime property to compare your documents:
  57967. .IP
  57968. .nf
  57969. \f[C]
  57970. --ignore-size --ignore-checksum --update
  57971. \f[R]
  57972. .fi
  57973. .SS Rclone
  57974. .PP
  57975. Use this option if you are hosting remotes over WebDAV provided by
  57976. rclone.
  57977. Read rclone serve webdav for more details.
  57978. .PP
  57979. rclone serve supports modified times using the \f[C]X-OC-Mtime\f[R]
  57980. header.
  57981. .SS dCache
  57982. .PP
  57983. dCache is a storage system that supports many protocols and
  57984. authentication/authorisation schemes.
  57985. For WebDAV clients, it allows users to authenticate with username and
  57986. password (BASIC), X.509, Kerberos, and various bearer tokens, including
  57987. Macaroons (https://www.dcache.org/manuals/workshop-2017-05-29-Umea/000-Final/anupam_macaroons_v02.pdf)
  57988. and OpenID-Connect (https://en.wikipedia.org/wiki/OpenID_Connect) access
  57989. tokens.
  57990. .PP
  57991. Configure as normal using the \f[C]other\f[R] type.
  57992. Don\[aq]t enter a username or password, instead enter your Macaroon as
  57993. the \f[C]bearer_token\f[R].
  57994. .PP
  57995. The config will end up looking something like this.
  57996. .IP
  57997. .nf
  57998. \f[C]
  57999. [dcache]
  58000. type = webdav
  58001. url = https://dcache...
  58002. vendor = other
  58003. user =
  58004. pass =
  58005. bearer_token = your-macaroon
  58006. \f[R]
  58007. .fi
  58008. .PP
  58009. There is a
  58010. script (https://github.com/sara-nl/GridScripts/blob/master/get-macaroon)
  58011. that obtains a Macaroon from a dCache WebDAV endpoint, and creates an
  58012. rclone config file.
  58013. .PP
  58014. Macaroons may also be obtained from the dCacheView
  58015. web-browser/JavaScript client that comes with dCache.
  58016. .SS OpenID-Connect
  58017. .PP
  58018. dCache also supports authenticating with OpenID-Connect access tokens.
  58019. OpenID-Connect is a protocol (based on OAuth 2.0) that allows services
  58020. to identify users who have authenticated with some central service.
  58021. .PP
  58022. Support for OpenID-Connect in rclone is currently achieved using another
  58023. software package called
  58024. oidc-agent (https://github.com/indigo-dc/oidc-agent).
  58025. This is a command-line tool that facilitates obtaining an access token.
  58026. Once installed and configured, an access token is obtained by running
  58027. the \f[C]oidc-token\f[R] command.
  58028. The following example shows a (shortened) access token obtained from the
  58029. \f[I]XDC\f[R] OIDC Provider.
  58030. .IP
  58031. .nf
  58032. \f[C]
  58033. paul\[at]celebrimbor:\[ti]$ oidc-token XDC
  58034. eyJraWQ[...]QFXDt0
  58035. paul\[at]celebrimbor:\[ti]$
  58036. \f[R]
  58037. .fi
  58038. .PP
  58039. \f[B]Note\f[R] Before the \f[C]oidc-token\f[R] command will work, the
  58040. refresh token must be loaded into the oidc agent.
  58041. This is done with the \f[C]oidc-add\f[R] command (e.g.,
  58042. \f[C]oidc-add XDC\f[R]).
  58043. This is typically done once per login session.
  58044. Full details on this and how to register oidc-agent with your OIDC
  58045. Provider are provided in the oidc-agent
  58046. documentation (https://indigo-dc.gitbooks.io/oidc-agent/).
  58047. .PP
  58048. The rclone \f[C]bearer_token_command\f[R] configuration option is used
  58049. to fetch the access token from oidc-agent.
  58050. .PP
  58051. Configure as a normal WebDAV endpoint, using the \[aq]other\[aq] vendor,
  58052. leaving the username and password empty.
  58053. When prompted, choose to edit the advanced config and enter the command
  58054. to get a bearer token (e.g., \f[C]oidc-agent XDC\f[R]).
  58055. .PP
  58056. The following example config shows a WebDAV endpoint that uses
  58057. oidc-agent to supply an access token from the \f[I]XDC\f[R] OIDC
  58058. Provider.
  58059. .IP
  58060. .nf
  58061. \f[C]
  58062. [dcache]
  58063. type = webdav
  58064. url = https://dcache.example.org/
  58065. vendor = other
  58066. bearer_token_command = oidc-token XDC
  58067. \f[R]
  58068. .fi
  58069. .SH Yandex Disk
  58070. .PP
  58071. Yandex Disk (https://disk.yandex.com) is a cloud storage solution
  58072. created by Yandex (https://yandex.com).
  58073. .SS Configuration
  58074. .PP
  58075. Here is an example of making a yandex configuration.
  58076. First run
  58077. .IP
  58078. .nf
  58079. \f[C]
  58080. rclone config
  58081. \f[R]
  58082. .fi
  58083. .PP
  58084. This will guide you through an interactive setup process:
  58085. .IP
  58086. .nf
  58087. \f[C]
  58088. No remotes found, make a new one?
  58089. n) New remote
  58090. s) Set configuration password
  58091. n/s> n
  58092. name> remote
  58093. Type of storage to configure.
  58094. Choose a number from below, or type in your own value
  58095. [snip]
  58096. XX / Yandex Disk
  58097. \[rs] \[dq]yandex\[dq]
  58098. [snip]
  58099. Storage> yandex
  58100. Yandex Client Id - leave blank normally.
  58101. client_id>
  58102. Yandex Client Secret - leave blank normally.
  58103. client_secret>
  58104. Remote config
  58105. Use web browser to automatically authenticate rclone with remote?
  58106. * Say Y if the machine running rclone has a web browser you can use
  58107. * Say N if running rclone on a (remote) machine without web browser access
  58108. If not sure try Y. If Y failed, try N.
  58109. y) Yes
  58110. n) No
  58111. y/n> y
  58112. If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth
  58113. Log in and authorize rclone for access
  58114. Waiting for code...
  58115. Got code
  58116. --------------------
  58117. [remote]
  58118. client_id =
  58119. client_secret =
  58120. token = {\[dq]access_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]token_type\[dq]:\[dq]OAuth\[dq],\[dq]expiry\[dq]:\[dq]2016-12-29T12:27:11.362788025Z\[dq]}
  58121. --------------------
  58122. y) Yes this is OK
  58123. e) Edit this remote
  58124. d) Delete this remote
  58125. y/e/d> y
  58126. \f[R]
  58127. .fi
  58128. .PP
  58129. See the remote setup docs (https://rclone.org/remote_setup/) for how to
  58130. set it up on a machine with no Internet browser available.
  58131. .PP
  58132. Note that rclone runs a webserver on your local machine to collect the
  58133. token as returned from Yandex Disk.
  58134. This only runs from the moment it opens your browser to the moment you
  58135. get back the verification code.
  58136. This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you
  58137. to unblock it temporarily if you are running a host firewall.
  58138. .PP
  58139. Once configured you can then use \f[C]rclone\f[R] like this,
  58140. .PP
  58141. See top level directories
  58142. .IP
  58143. .nf
  58144. \f[C]
  58145. rclone lsd remote:
  58146. \f[R]
  58147. .fi
  58148. .PP
  58149. Make a new directory
  58150. .IP
  58151. .nf
  58152. \f[C]
  58153. rclone mkdir remote:directory
  58154. \f[R]
  58155. .fi
  58156. .PP
  58157. List the contents of a directory
  58158. .IP
  58159. .nf
  58160. \f[C]
  58161. rclone ls remote:directory
  58162. \f[R]
  58163. .fi
  58164. .PP
  58165. Sync \f[C]/home/local/directory\f[R] to the remote path, deleting any
  58166. excess files in the path.
  58167. .IP
  58168. .nf
  58169. \f[C]
  58170. rclone sync --interactive /home/local/directory remote:directory
  58171. \f[R]
  58172. .fi
  58173. .PP
  58174. Yandex paths may be as deep as required, e.g.
  58175. \f[C]remote:directory/subdirectory\f[R].
  58176. .SS Modification times and hashes
  58177. .PP
  58178. Modified times are supported and are stored accurate to 1 ns in custom
  58179. metadata called \f[C]rclone_modified\f[R] in RFC3339 with nanoseconds
  58180. format.
  58181. .PP
  58182. The MD5 hash algorithm is natively supported by Yandex Disk.
  58183. .SS Emptying Trash
  58184. .PP
  58185. If you wish to empty your trash you can use the
  58186. \f[C]rclone cleanup remote:\f[R] command which will permanently delete
  58187. all your trashed files.
  58188. This command does not take any path arguments.
  58189. .SS Quota information
  58190. .PP
  58191. To view your current quota you can use the
  58192. \f[C]rclone about remote:\f[R] command which will display your usage
  58193. limit (quota) and the current usage.
  58194. .SS Restricted filename characters
  58195. .PP
  58196. The default restricted characters
  58197. set (https://rclone.org/overview/#restricted-characters) are replaced.
  58198. .PP
  58199. Invalid UTF-8 bytes will also be
  58200. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  58201. be used in JSON strings.
  58202. .SS Standard options
  58203. .PP
  58204. Here are the Standard options specific to yandex (Yandex Disk).
  58205. .SS --yandex-client-id
  58206. .PP
  58207. OAuth Client Id.
  58208. .PP
  58209. Leave blank normally.
  58210. .PP
  58211. Properties:
  58212. .IP \[bu] 2
  58213. Config: client_id
  58214. .IP \[bu] 2
  58215. Env Var: RCLONE_YANDEX_CLIENT_ID
  58216. .IP \[bu] 2
  58217. Type: string
  58218. .IP \[bu] 2
  58219. Required: false
  58220. .SS --yandex-client-secret
  58221. .PP
  58222. OAuth Client Secret.
  58223. .PP
  58224. Leave blank normally.
  58225. .PP
  58226. Properties:
  58227. .IP \[bu] 2
  58228. Config: client_secret
  58229. .IP \[bu] 2
  58230. Env Var: RCLONE_YANDEX_CLIENT_SECRET
  58231. .IP \[bu] 2
  58232. Type: string
  58233. .IP \[bu] 2
  58234. Required: false
  58235. .SS Advanced options
  58236. .PP
  58237. Here are the Advanced options specific to yandex (Yandex Disk).
  58238. .SS --yandex-token
  58239. .PP
  58240. OAuth Access Token as a JSON blob.
  58241. .PP
  58242. Properties:
  58243. .IP \[bu] 2
  58244. Config: token
  58245. .IP \[bu] 2
  58246. Env Var: RCLONE_YANDEX_TOKEN
  58247. .IP \[bu] 2
  58248. Type: string
  58249. .IP \[bu] 2
  58250. Required: false
  58251. .SS --yandex-auth-url
  58252. .PP
  58253. Auth server URL.
  58254. .PP
  58255. Leave blank to use the provider defaults.
  58256. .PP
  58257. Properties:
  58258. .IP \[bu] 2
  58259. Config: auth_url
  58260. .IP \[bu] 2
  58261. Env Var: RCLONE_YANDEX_AUTH_URL
  58262. .IP \[bu] 2
  58263. Type: string
  58264. .IP \[bu] 2
  58265. Required: false
  58266. .SS --yandex-token-url
  58267. .PP
  58268. Token server url.
  58269. .PP
  58270. Leave blank to use the provider defaults.
  58271. .PP
  58272. Properties:
  58273. .IP \[bu] 2
  58274. Config: token_url
  58275. .IP \[bu] 2
  58276. Env Var: RCLONE_YANDEX_TOKEN_URL
  58277. .IP \[bu] 2
  58278. Type: string
  58279. .IP \[bu] 2
  58280. Required: false
  58281. .SS --yandex-hard-delete
  58282. .PP
  58283. Delete files permanently rather than putting them into the trash.
  58284. .PP
  58285. Properties:
  58286. .IP \[bu] 2
  58287. Config: hard_delete
  58288. .IP \[bu] 2
  58289. Env Var: RCLONE_YANDEX_HARD_DELETE
  58290. .IP \[bu] 2
  58291. Type: bool
  58292. .IP \[bu] 2
  58293. Default: false
  58294. .SS --yandex-encoding
  58295. .PP
  58296. The encoding for the backend.
  58297. .PP
  58298. See the encoding section in the
  58299. overview (https://rclone.org/overview/#encoding) for more info.
  58300. .PP
  58301. Properties:
  58302. .IP \[bu] 2
  58303. Config: encoding
  58304. .IP \[bu] 2
  58305. Env Var: RCLONE_YANDEX_ENCODING
  58306. .IP \[bu] 2
  58307. Type: Encoding
  58308. .IP \[bu] 2
  58309. Default: Slash,Del,Ctl,InvalidUtf8,Dot
  58310. .SS --yandex-description
  58311. .PP
  58312. Description of the remote
  58313. .PP
  58314. Properties:
  58315. .IP \[bu] 2
  58316. Config: description
  58317. .IP \[bu] 2
  58318. Env Var: RCLONE_YANDEX_DESCRIPTION
  58319. .IP \[bu] 2
  58320. Type: string
  58321. .IP \[bu] 2
  58322. Required: false
  58323. .SS Limitations
  58324. .PP
  58325. When uploading very large files (bigger than about 5 GiB) you will need
  58326. to increase the \f[C]--timeout\f[R] parameter.
  58327. This is because Yandex pauses (perhaps to calculate the MD5SUM for the
  58328. entire file) before returning confirmation that the file has been
  58329. uploaded.
  58330. The default handling of timeouts in rclone is to assume a 5 minute pause
  58331. is an error and close the connection - you\[aq]ll see
  58332. \f[C]net/http: timeout awaiting response headers\f[R] errors in the logs
  58333. if this is happening.
  58334. Setting the timeout to twice the max size of file in GiB should be
  58335. enough, so if you want to upload a 30 GiB file set a timeout of
  58336. \f[C]2 * 30 = 60m\f[R], that is \f[C]--timeout 60m\f[R].
  58337. .PP
  58338. Having a Yandex Mail account is mandatory to use the Yandex.Disk
  58339. subscription.
  58340. Token generation will work without a mail account, but Rclone won\[aq]t
  58341. be able to complete any actions.
  58342. .IP
  58343. .nf
  58344. \f[C]
  58345. [403 - DiskUnsupportedUserAccountTypeError] User account type is not supported.
  58346. \f[R]
  58347. .fi
  58348. .SH Zoho Workdrive
  58349. .PP
  58350. Zoho WorkDrive (https://www.zoho.com/workdrive/) is a cloud storage
  58351. solution created by Zoho (https://zoho.com).
  58352. .SS Configuration
  58353. .PP
  58354. Here is an example of making a zoho configuration.
  58355. First run
  58356. .IP
  58357. .nf
  58358. \f[C]
  58359. rclone config
  58360. \f[R]
  58361. .fi
  58362. .PP
  58363. This will guide you through an interactive setup process:
  58364. .IP
  58365. .nf
  58366. \f[C]
  58367. No remotes found, make a new one?
  58368. n) New remote
  58369. s) Set configuration password
  58370. n/s> n
  58371. name> remote
  58372. Type of storage to configure.
  58373. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  58374. Choose a number from below, or type in your own value
  58375. [snip]
  58376. XX / Zoho
  58377. \[rs] \[dq]zoho\[dq]
  58378. [snip]
  58379. Storage> zoho
  58380. ** See help for zoho backend at: https://rclone.org/zoho/ **
  58381. OAuth Client Id
  58382. Leave blank normally.
  58383. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  58384. client_id>
  58385. OAuth Client Secret
  58386. Leave blank normally.
  58387. Enter a string value. Press Enter for the default (\[dq]\[dq]).
  58388. client_secret>
  58389. Edit advanced config? (y/n)
  58390. y) Yes
  58391. n) No (default)
  58392. y/n> n
  58393. Remote config
  58394. Use web browser to automatically authenticate rclone with remote?
  58395. * Say Y if the machine running rclone has a web browser you can use
  58396. * Say N if running rclone on a (remote) machine without web browser access
  58397. If not sure try Y. If Y failed, try N.
  58398. y) Yes (default)
  58399. n) No
  58400. y/n>
  58401. If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth?state=LVn0IHzxej1ZkmQw31d0wQ
  58402. Log in and authorize rclone for access
  58403. Waiting for code...
  58404. Got code
  58405. Choose a number from below, or type in your own value
  58406. 1 / MyTeam
  58407. \[rs] \[dq]4u28602177065ff22426787a6745dba8954eb\[dq]
  58408. Enter a Team ID> 1
  58409. Choose a number from below, or type in your own value
  58410. 1 / General
  58411. \[rs] \[dq]4u2869d2aa6fca04f4f2f896b6539243b85b1\[dq]
  58412. Enter a Workspace ID> 1
  58413. --------------------
  58414. [remote]
  58415. type = zoho
  58416. token = {\[dq]access_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]token_type\[dq]:\[dq]Zoho-oauthtoken\[dq],\[dq]refresh_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]expiry\[dq]:\[dq]2020-10-12T00:54:52.370275223+02:00\[dq]}
  58417. root_folder_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  58418. --------------------
  58419. y) Yes this is OK (default)
  58420. e) Edit this remote
  58421. d) Delete this remote
  58422. y/e/d>
  58423. \f[R]
  58424. .fi
  58425. .PP
  58426. See the remote setup docs (https://rclone.org/remote_setup/) for how to
  58427. set it up on a machine with no Internet browser available.
  58428. .PP
  58429. Rclone runs a webserver on your local computer to collect the
  58430. authorization token from Zoho Workdrive.
  58431. This is only from the moment your browser is opened until the token is
  58432. returned.
  58433. The webserver runs on \f[C]http://127.0.0.1:53682/\f[R].
  58434. If local port \f[C]53682\f[R] is protected by a firewall you may need to
  58435. temporarily unblock the firewall to complete authorization.
  58436. .PP
  58437. Once configured you can then use \f[C]rclone\f[R] like this,
  58438. .PP
  58439. See top level directories
  58440. .IP
  58441. .nf
  58442. \f[C]
  58443. rclone lsd remote:
  58444. \f[R]
  58445. .fi
  58446. .PP
  58447. Make a new directory
  58448. .IP
  58449. .nf
  58450. \f[C]
  58451. rclone mkdir remote:directory
  58452. \f[R]
  58453. .fi
  58454. .PP
  58455. List the contents of a directory
  58456. .IP
  58457. .nf
  58458. \f[C]
  58459. rclone ls remote:directory
  58460. \f[R]
  58461. .fi
  58462. .PP
  58463. Sync \f[C]/home/local/directory\f[R] to the remote path, deleting any
  58464. excess files in the path.
  58465. .IP
  58466. .nf
  58467. \f[C]
  58468. rclone sync --interactive /home/local/directory remote:directory
  58469. \f[R]
  58470. .fi
  58471. .PP
  58472. Zoho paths may be as deep as required, eg
  58473. \f[C]remote:directory/subdirectory\f[R].
  58474. .SS Modification times and hashes
  58475. .PP
  58476. Modified times are currently not supported for Zoho Workdrive
  58477. .PP
  58478. No hash algorithms are supported.
  58479. .SS Usage information
  58480. .PP
  58481. To view your current quota you can use the
  58482. \f[C]rclone about remote:\f[R] command which will display your current
  58483. usage.
  58484. .SS Restricted filename characters
  58485. .PP
  58486. Only control characters and invalid UTF-8 are replaced.
  58487. In addition most Unicode full-width characters are not supported at all
  58488. and will be removed from filenames during upload.
  58489. .SS Standard options
  58490. .PP
  58491. Here are the Standard options specific to zoho (Zoho).
  58492. .SS --zoho-client-id
  58493. .PP
  58494. OAuth Client Id.
  58495. .PP
  58496. Leave blank normally.
  58497. .PP
  58498. Properties:
  58499. .IP \[bu] 2
  58500. Config: client_id
  58501. .IP \[bu] 2
  58502. Env Var: RCLONE_ZOHO_CLIENT_ID
  58503. .IP \[bu] 2
  58504. Type: string
  58505. .IP \[bu] 2
  58506. Required: false
  58507. .SS --zoho-client-secret
  58508. .PP
  58509. OAuth Client Secret.
  58510. .PP
  58511. Leave blank normally.
  58512. .PP
  58513. Properties:
  58514. .IP \[bu] 2
  58515. Config: client_secret
  58516. .IP \[bu] 2
  58517. Env Var: RCLONE_ZOHO_CLIENT_SECRET
  58518. .IP \[bu] 2
  58519. Type: string
  58520. .IP \[bu] 2
  58521. Required: false
  58522. .SS --zoho-region
  58523. .PP
  58524. Zoho region to connect to.
  58525. .PP
  58526. You\[aq]ll have to use the region your organization is registered in.
  58527. If not sure use the same top level domain as you connect to in your
  58528. browser.
  58529. .PP
  58530. Properties:
  58531. .IP \[bu] 2
  58532. Config: region
  58533. .IP \[bu] 2
  58534. Env Var: RCLONE_ZOHO_REGION
  58535. .IP \[bu] 2
  58536. Type: string
  58537. .IP \[bu] 2
  58538. Required: false
  58539. .IP \[bu] 2
  58540. Examples:
  58541. .RS 2
  58542. .IP \[bu] 2
  58543. \[dq]com\[dq]
  58544. .RS 2
  58545. .IP \[bu] 2
  58546. United states / Global
  58547. .RE
  58548. .IP \[bu] 2
  58549. \[dq]eu\[dq]
  58550. .RS 2
  58551. .IP \[bu] 2
  58552. Europe
  58553. .RE
  58554. .IP \[bu] 2
  58555. \[dq]in\[dq]
  58556. .RS 2
  58557. .IP \[bu] 2
  58558. India
  58559. .RE
  58560. .IP \[bu] 2
  58561. \[dq]jp\[dq]
  58562. .RS 2
  58563. .IP \[bu] 2
  58564. Japan
  58565. .RE
  58566. .IP \[bu] 2
  58567. \[dq]com.cn\[dq]
  58568. .RS 2
  58569. .IP \[bu] 2
  58570. China
  58571. .RE
  58572. .IP \[bu] 2
  58573. \[dq]com.au\[dq]
  58574. .RS 2
  58575. .IP \[bu] 2
  58576. Australia
  58577. .RE
  58578. .RE
  58579. .SS Advanced options
  58580. .PP
  58581. Here are the Advanced options specific to zoho (Zoho).
  58582. .SS --zoho-token
  58583. .PP
  58584. OAuth Access Token as a JSON blob.
  58585. .PP
  58586. Properties:
  58587. .IP \[bu] 2
  58588. Config: token
  58589. .IP \[bu] 2
  58590. Env Var: RCLONE_ZOHO_TOKEN
  58591. .IP \[bu] 2
  58592. Type: string
  58593. .IP \[bu] 2
  58594. Required: false
  58595. .SS --zoho-auth-url
  58596. .PP
  58597. Auth server URL.
  58598. .PP
  58599. Leave blank to use the provider defaults.
  58600. .PP
  58601. Properties:
  58602. .IP \[bu] 2
  58603. Config: auth_url
  58604. .IP \[bu] 2
  58605. Env Var: RCLONE_ZOHO_AUTH_URL
  58606. .IP \[bu] 2
  58607. Type: string
  58608. .IP \[bu] 2
  58609. Required: false
  58610. .SS --zoho-token-url
  58611. .PP
  58612. Token server url.
  58613. .PP
  58614. Leave blank to use the provider defaults.
  58615. .PP
  58616. Properties:
  58617. .IP \[bu] 2
  58618. Config: token_url
  58619. .IP \[bu] 2
  58620. Env Var: RCLONE_ZOHO_TOKEN_URL
  58621. .IP \[bu] 2
  58622. Type: string
  58623. .IP \[bu] 2
  58624. Required: false
  58625. .SS --zoho-encoding
  58626. .PP
  58627. The encoding for the backend.
  58628. .PP
  58629. See the encoding section in the
  58630. overview (https://rclone.org/overview/#encoding) for more info.
  58631. .PP
  58632. Properties:
  58633. .IP \[bu] 2
  58634. Config: encoding
  58635. .IP \[bu] 2
  58636. Env Var: RCLONE_ZOHO_ENCODING
  58637. .IP \[bu] 2
  58638. Type: Encoding
  58639. .IP \[bu] 2
  58640. Default: Del,Ctl,InvalidUtf8
  58641. .SS --zoho-description
  58642. .PP
  58643. Description of the remote
  58644. .PP
  58645. Properties:
  58646. .IP \[bu] 2
  58647. Config: description
  58648. .IP \[bu] 2
  58649. Env Var: RCLONE_ZOHO_DESCRIPTION
  58650. .IP \[bu] 2
  58651. Type: string
  58652. .IP \[bu] 2
  58653. Required: false
  58654. .SS Setting up your own client_id
  58655. .PP
  58656. For Zoho we advise you to set up your own client_id.
  58657. To do so you have to complete the following steps.
  58658. .IP "1." 3
  58659. Log in to the Zoho API Console (https://api-console.zoho.com)
  58660. .IP "2." 3
  58661. Create a new client of type \[dq]Server-based Application\[dq].
  58662. The name and website don\[aq]t matter, but you must add the redirect URL
  58663. \f[C]http://localhost:53682/\f[R].
  58664. .IP "3." 3
  58665. Once the client is created, you can go to the settings tab and enable it
  58666. in other regions.
  58667. .PP
  58668. The client id and client secret can now be used with rclone.
  58669. .SH Local Filesystem
  58670. .PP
  58671. Local paths are specified as normal filesystem paths, e.g.
  58672. \f[C]/path/to/wherever\f[R], so
  58673. .IP
  58674. .nf
  58675. \f[C]
  58676. rclone sync --interactive /home/source /tmp/destination
  58677. \f[R]
  58678. .fi
  58679. .PP
  58680. Will sync \f[C]/home/source\f[R] to \f[C]/tmp/destination\f[R].
  58681. .SS Configuration
  58682. .PP
  58683. For consistencies sake one can also configure a remote of type
  58684. \f[C]local\f[R] in the config file, and access the local filesystem
  58685. using rclone remote paths, e.g.
  58686. \f[C]remote:path/to/wherever\f[R], but it is probably easier not to.
  58687. .SS Modification times
  58688. .PP
  58689. Rclone reads and writes the modification times using an accuracy
  58690. determined by the OS.
  58691. Typically this is 1ns on Linux, 10 ns on Windows and 1 Second on OS X.
  58692. .SS Filenames
  58693. .PP
  58694. Filenames should be encoded in UTF-8 on disk.
  58695. This is the normal case for Windows and OS X.
  58696. .PP
  58697. There is a bit more uncertainty in the Linux world, but new
  58698. distributions will have UTF-8 encoded files names.
  58699. If you are using an old Linux filesystem with non UTF-8 file names (e.g.
  58700. latin1) then you can use the \f[C]convmv\f[R] tool to convert the
  58701. filesystem to UTF-8.
  58702. This tool is available in most distributions\[aq] package managers.
  58703. .PP
  58704. If an invalid (non-UTF8) filename is read, the invalid characters will
  58705. be replaced with a quoted representation of the invalid bytes.
  58706. The name \f[C]gro\[rs]xdf\f[R] will be transferred as
  58707. \f[C]gro\[u201B]DF\f[R].
  58708. \f[C]rclone\f[R] will emit a debug message in this case (use
  58709. \f[C]-v\f[R] to see), e.g.
  58710. .IP
  58711. .nf
  58712. \f[C]
  58713. Local file system at .: Replacing invalid UTF-8 characters in \[dq]gro\[rs]xdf\[dq]
  58714. \f[R]
  58715. .fi
  58716. .SS Restricted characters
  58717. .PP
  58718. With the local backend, restrictions on the characters that are usable
  58719. in file or directory names depend on the operating system.
  58720. To check what rclone will replace by default on your system, run
  58721. \f[C]rclone help flags local-encoding\f[R].
  58722. .PP
  58723. On non Windows platforms the following characters are replaced when
  58724. handling file names.
  58725. .PP
  58726. .TS
  58727. tab(@);
  58728. l c c.
  58729. T{
  58730. Character
  58731. T}@T{
  58732. Value
  58733. T}@T{
  58734. Replacement
  58735. T}
  58736. _
  58737. T{
  58738. NUL
  58739. T}@T{
  58740. 0x00
  58741. T}@T{
  58742. \[u2400]
  58743. T}
  58744. T{
  58745. /
  58746. T}@T{
  58747. 0x2F
  58748. T}@T{
  58749. \[uFF0F]
  58750. T}
  58751. .TE
  58752. .PP
  58753. When running on Windows the following characters are replaced.
  58754. This list is based on the Windows file naming
  58755. conventions (https://docs.microsoft.com/de-de/windows/desktop/FileIO/naming-a-file#naming-conventions).
  58756. .PP
  58757. .TS
  58758. tab(@);
  58759. l c c.
  58760. T{
  58761. Character
  58762. T}@T{
  58763. Value
  58764. T}@T{
  58765. Replacement
  58766. T}
  58767. _
  58768. T{
  58769. NUL
  58770. T}@T{
  58771. 0x00
  58772. T}@T{
  58773. \[u2400]
  58774. T}
  58775. T{
  58776. SOH
  58777. T}@T{
  58778. 0x01
  58779. T}@T{
  58780. \[u2401]
  58781. T}
  58782. T{
  58783. STX
  58784. T}@T{
  58785. 0x02
  58786. T}@T{
  58787. \[u2402]
  58788. T}
  58789. T{
  58790. ETX
  58791. T}@T{
  58792. 0x03
  58793. T}@T{
  58794. \[u2403]
  58795. T}
  58796. T{
  58797. EOT
  58798. T}@T{
  58799. 0x04
  58800. T}@T{
  58801. \[u2404]
  58802. T}
  58803. T{
  58804. ENQ
  58805. T}@T{
  58806. 0x05
  58807. T}@T{
  58808. \[u2405]
  58809. T}
  58810. T{
  58811. ACK
  58812. T}@T{
  58813. 0x06
  58814. T}@T{
  58815. \[u2406]
  58816. T}
  58817. T{
  58818. BEL
  58819. T}@T{
  58820. 0x07
  58821. T}@T{
  58822. \[u2407]
  58823. T}
  58824. T{
  58825. BS
  58826. T}@T{
  58827. 0x08
  58828. T}@T{
  58829. \[u2408]
  58830. T}
  58831. T{
  58832. HT
  58833. T}@T{
  58834. 0x09
  58835. T}@T{
  58836. \[u2409]
  58837. T}
  58838. T{
  58839. LF
  58840. T}@T{
  58841. 0x0A
  58842. T}@T{
  58843. \[u240A]
  58844. T}
  58845. T{
  58846. VT
  58847. T}@T{
  58848. 0x0B
  58849. T}@T{
  58850. \[u240B]
  58851. T}
  58852. T{
  58853. FF
  58854. T}@T{
  58855. 0x0C
  58856. T}@T{
  58857. \[u240C]
  58858. T}
  58859. T{
  58860. CR
  58861. T}@T{
  58862. 0x0D
  58863. T}@T{
  58864. \[u240D]
  58865. T}
  58866. T{
  58867. SO
  58868. T}@T{
  58869. 0x0E
  58870. T}@T{
  58871. \[u240E]
  58872. T}
  58873. T{
  58874. SI
  58875. T}@T{
  58876. 0x0F
  58877. T}@T{
  58878. \[u240F]
  58879. T}
  58880. T{
  58881. DLE
  58882. T}@T{
  58883. 0x10
  58884. T}@T{
  58885. \[u2410]
  58886. T}
  58887. T{
  58888. DC1
  58889. T}@T{
  58890. 0x11
  58891. T}@T{
  58892. \[u2411]
  58893. T}
  58894. T{
  58895. DC2
  58896. T}@T{
  58897. 0x12
  58898. T}@T{
  58899. \[u2412]
  58900. T}
  58901. T{
  58902. DC3
  58903. T}@T{
  58904. 0x13
  58905. T}@T{
  58906. \[u2413]
  58907. T}
  58908. T{
  58909. DC4
  58910. T}@T{
  58911. 0x14
  58912. T}@T{
  58913. \[u2414]
  58914. T}
  58915. T{
  58916. NAK
  58917. T}@T{
  58918. 0x15
  58919. T}@T{
  58920. \[u2415]
  58921. T}
  58922. T{
  58923. SYN
  58924. T}@T{
  58925. 0x16
  58926. T}@T{
  58927. \[u2416]
  58928. T}
  58929. T{
  58930. ETB
  58931. T}@T{
  58932. 0x17
  58933. T}@T{
  58934. \[u2417]
  58935. T}
  58936. T{
  58937. CAN
  58938. T}@T{
  58939. 0x18
  58940. T}@T{
  58941. \[u2418]
  58942. T}
  58943. T{
  58944. EM
  58945. T}@T{
  58946. 0x19
  58947. T}@T{
  58948. \[u2419]
  58949. T}
  58950. T{
  58951. SUB
  58952. T}@T{
  58953. 0x1A
  58954. T}@T{
  58955. \[u241A]
  58956. T}
  58957. T{
  58958. ESC
  58959. T}@T{
  58960. 0x1B
  58961. T}@T{
  58962. \[u241B]
  58963. T}
  58964. T{
  58965. FS
  58966. T}@T{
  58967. 0x1C
  58968. T}@T{
  58969. \[u241C]
  58970. T}
  58971. T{
  58972. GS
  58973. T}@T{
  58974. 0x1D
  58975. T}@T{
  58976. \[u241D]
  58977. T}
  58978. T{
  58979. RS
  58980. T}@T{
  58981. 0x1E
  58982. T}@T{
  58983. \[u241E]
  58984. T}
  58985. T{
  58986. US
  58987. T}@T{
  58988. 0x1F
  58989. T}@T{
  58990. \[u241F]
  58991. T}
  58992. T{
  58993. /
  58994. T}@T{
  58995. 0x2F
  58996. T}@T{
  58997. \[uFF0F]
  58998. T}
  58999. T{
  59000. \[dq]
  59001. T}@T{
  59002. 0x22
  59003. T}@T{
  59004. \[uFF02]
  59005. T}
  59006. T{
  59007. *
  59008. T}@T{
  59009. 0x2A
  59010. T}@T{
  59011. \[uFF0A]
  59012. T}
  59013. T{
  59014. :
  59015. T}@T{
  59016. 0x3A
  59017. T}@T{
  59018. \[uFF1A]
  59019. T}
  59020. T{
  59021. <
  59022. T}@T{
  59023. 0x3C
  59024. T}@T{
  59025. \[uFF1C]
  59026. T}
  59027. T{
  59028. >
  59029. T}@T{
  59030. 0x3E
  59031. T}@T{
  59032. \[uFF1E]
  59033. T}
  59034. T{
  59035. ?
  59036. T}@T{
  59037. 0x3F
  59038. T}@T{
  59039. \[uFF1F]
  59040. T}
  59041. T{
  59042. \[rs]
  59043. T}@T{
  59044. 0x5C
  59045. T}@T{
  59046. \[uFF3C]
  59047. T}
  59048. T{
  59049. |
  59050. T}@T{
  59051. 0x7C
  59052. T}@T{
  59053. \[uFF5C]
  59054. T}
  59055. .TE
  59056. .PP
  59057. File names on Windows can also not end with the following characters.
  59058. These only get replaced if they are the last character in the name:
  59059. .PP
  59060. .TS
  59061. tab(@);
  59062. l c c.
  59063. T{
  59064. Character
  59065. T}@T{
  59066. Value
  59067. T}@T{
  59068. Replacement
  59069. T}
  59070. _
  59071. T{
  59072. SP
  59073. T}@T{
  59074. 0x20
  59075. T}@T{
  59076. \[u2420]
  59077. T}
  59078. T{
  59079. \&.
  59080. T}@T{
  59081. 0x2E
  59082. T}@T{
  59083. \[uFF0E]
  59084. T}
  59085. .TE
  59086. .PP
  59087. Invalid UTF-8 bytes will also be
  59088. replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t
  59089. be converted to UTF-16.
  59090. .SS Paths on Windows
  59091. .PP
  59092. On Windows there are many ways of specifying a path to a file system
  59093. resource.
  59094. Local paths can be absolute, like
  59095. \f[C]C:\[rs]path\[rs]to\[rs]wherever\f[R], or relative, like
  59096. \f[C]..\[rs]wherever\f[R].
  59097. Network paths in UNC format, \f[C]\[rs]\[rs]server\[rs]share\f[R], are
  59098. also supported.
  59099. Path separator can be either \f[C]\[rs]\f[R] (as in
  59100. \f[C]C:\[rs]path\[rs]to\[rs]wherever\f[R]) or \f[C]/\f[R] (as in
  59101. \f[C]C:/path/to/wherever\f[R]).
  59102. Length of these paths are limited to 259 characters for files and 247
  59103. characters for directories, but there is an alternative extended-length
  59104. path format increasing the limit to (approximately) 32,767 characters.
  59105. This format requires absolute paths and the use of prefix
  59106. \f[C]\[rs]\[rs]?\[rs]\f[R], e.g.
  59107. \f[C]\[rs]\[rs]?\[rs]D:\[rs]some\[rs]very\[rs]long\[rs]path\f[R].
  59108. For convenience rclone will automatically convert regular paths into the
  59109. corresponding extended-length paths, so in most cases you do not have to
  59110. worry about this (read more below).
  59111. .PP
  59112. Note that Windows supports using the same prefix
  59113. \f[C]\[rs]\[rs]?\[rs]\f[R] to specify path to volumes identified by
  59114. their GUID, e.g.
  59115. \f[C]\[rs]\[rs]?\[rs]Volume{b75e2c83-0000-0000-0000-602f00000000}\[rs]some\[rs]path\f[R].
  59116. This is \f[I]not\f[R] supported in rclone, due to an
  59117. issue (https://github.com/golang/go/issues/39785) in go.
  59118. .SS Long paths
  59119. .PP
  59120. Rclone handles long paths automatically, by converting all paths to
  59121. extended-length path
  59122. format (https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation),
  59123. which allows paths up to 32,767 characters.
  59124. .PP
  59125. This conversion will ensure paths are absolute and prefix them with the
  59126. \f[C]\[rs]\[rs]?\[rs]\f[R].
  59127. This is why you will see that your paths, for instance
  59128. \f[C].\[rs]files\f[R] is shown as path
  59129. \f[C]\[rs]\[rs]?\[rs]C:\[rs]files\f[R] in the output, and
  59130. \f[C]\[rs]\[rs]server\[rs]share\f[R] as
  59131. \f[C]\[rs]\[rs]?\[rs]UNC\[rs]server\[rs]share\f[R].
  59132. .PP
  59133. However, in rare cases this may cause problems with buggy file system
  59134. drivers like EncFS (https://github.com/rclone/rclone/issues/261).
  59135. To disable UNC conversion globally, add this to your
  59136. \f[C].rclone.conf\f[R] file:
  59137. .IP
  59138. .nf
  59139. \f[C]
  59140. [local]
  59141. nounc = true
  59142. \f[R]
  59143. .fi
  59144. .PP
  59145. If you want to selectively disable UNC, you can add it to a separate
  59146. entry like this:
  59147. .IP
  59148. .nf
  59149. \f[C]
  59150. [nounc]
  59151. type = local
  59152. nounc = true
  59153. \f[R]
  59154. .fi
  59155. .PP
  59156. And use rclone like this:
  59157. .PP
  59158. \f[C]rclone copy c:\[rs]src nounc:z:\[rs]dst\f[R]
  59159. .PP
  59160. This will use UNC paths on \f[C]c:\[rs]src\f[R] but not on
  59161. \f[C]z:\[rs]dst\f[R].
  59162. Of course this will cause problems if the absolute path length of a file
  59163. exceeds 259 characters on z, so only use this option if you have to.
  59164. .SS Symlinks / Junction points
  59165. .PP
  59166. Normally rclone will ignore symlinks or junction points (which behave
  59167. like symlinks under Windows).
  59168. .PP
  59169. If you supply \f[C]--copy-links\f[R] or \f[C]-L\f[R] then rclone will
  59170. follow the symlink and copy the pointed to file or directory.
  59171. Note that this flag is incompatible with \f[C]--links\f[R] /
  59172. \f[C]-l\f[R].
  59173. .PP
  59174. This flag applies to all commands.
  59175. .PP
  59176. For example, supposing you have a directory structure like this
  59177. .IP
  59178. .nf
  59179. \f[C]
  59180. $ tree /tmp/a
  59181. /tmp/a
  59182. \[u251C]\[u2500]\[u2500] b -> ../b
  59183. \[u251C]\[u2500]\[u2500] expected -> ../expected
  59184. \[u251C]\[u2500]\[u2500] one
  59185. \[u2514]\[u2500]\[u2500] two
  59186. \[u2514]\[u2500]\[u2500] three
  59187. \f[R]
  59188. .fi
  59189. .PP
  59190. Then you can see the difference with and without the flag like this
  59191. .IP
  59192. .nf
  59193. \f[C]
  59194. $ rclone ls /tmp/a
  59195. 6 one
  59196. 6 two/three
  59197. \f[R]
  59198. .fi
  59199. .PP
  59200. and
  59201. .IP
  59202. .nf
  59203. \f[C]
  59204. $ rclone -L ls /tmp/a
  59205. 4174 expected
  59206. 6 one
  59207. 6 two/three
  59208. 6 b/two
  59209. 6 b/one
  59210. \f[R]
  59211. .fi
  59212. .SS --links, -l
  59213. .PP
  59214. Normally rclone will ignore symlinks or junction points (which behave
  59215. like symlinks under Windows).
  59216. .PP
  59217. If you supply this flag then rclone will copy symbolic links from the
  59218. local storage, and store them as text files, with a
  59219. \[aq].rclonelink\[aq] suffix in the remote storage.
  59220. .PP
  59221. The text file will contain the target of the symbolic link (see
  59222. example).
  59223. .PP
  59224. This flag applies to all commands.
  59225. .PP
  59226. For example, supposing you have a directory structure like this
  59227. .IP
  59228. .nf
  59229. \f[C]
  59230. $ tree /tmp/a
  59231. /tmp/a
  59232. \[u251C]\[u2500]\[u2500] file1 -> ./file4
  59233. \[u2514]\[u2500]\[u2500] file2 -> /home/user/file3
  59234. \f[R]
  59235. .fi
  59236. .PP
  59237. Copying the entire directory with \[aq]-l\[aq]
  59238. .IP
  59239. .nf
  59240. \f[C]
  59241. $ rclone copyto -l /tmp/a/file1 remote:/tmp/a/
  59242. \f[R]
  59243. .fi
  59244. .PP
  59245. The remote files are created with a \[aq].rclonelink\[aq] suffix
  59246. .IP
  59247. .nf
  59248. \f[C]
  59249. $ rclone ls remote:/tmp/a
  59250. 5 file1.rclonelink
  59251. 14 file2.rclonelink
  59252. \f[R]
  59253. .fi
  59254. .PP
  59255. The remote files will contain the target of the symbolic links
  59256. .IP
  59257. .nf
  59258. \f[C]
  59259. $ rclone cat remote:/tmp/a/file1.rclonelink
  59260. \&./file4
  59261. $ rclone cat remote:/tmp/a/file2.rclonelink
  59262. /home/user/file3
  59263. \f[R]
  59264. .fi
  59265. .PP
  59266. Copying them back with \[aq]-l\[aq]
  59267. .IP
  59268. .nf
  59269. \f[C]
  59270. $ rclone copyto -l remote:/tmp/a/ /tmp/b/
  59271. $ tree /tmp/b
  59272. /tmp/b
  59273. \[u251C]\[u2500]\[u2500] file1 -> ./file4
  59274. \[u2514]\[u2500]\[u2500] file2 -> /home/user/file3
  59275. \f[R]
  59276. .fi
  59277. .PP
  59278. However, if copied back without \[aq]-l\[aq]
  59279. .IP
  59280. .nf
  59281. \f[C]
  59282. $ rclone copyto remote:/tmp/a/ /tmp/b/
  59283. $ tree /tmp/b
  59284. /tmp/b
  59285. \[u251C]\[u2500]\[u2500] file1.rclonelink
  59286. \[u2514]\[u2500]\[u2500] file2.rclonelink
  59287. \f[R]
  59288. .fi
  59289. .PP
  59290. Note that this flag is incompatible with \f[C]-copy-links\f[R] /
  59291. \f[C]-L\f[R].
  59292. .SS Restricting filesystems with --one-file-system
  59293. .PP
  59294. Normally rclone will recurse through filesystems as mounted.
  59295. .PP
  59296. However if you set \f[C]--one-file-system\f[R] or \f[C]-x\f[R] this
  59297. tells rclone to stay in the filesystem specified by the root and not to
  59298. recurse into different file systems.
  59299. .PP
  59300. For example if you have a directory hierarchy like this
  59301. .IP
  59302. .nf
  59303. \f[C]
  59304. root
  59305. \[u251C]\[u2500]\[u2500] disk1 - disk1 mounted on the root
  59306. \[br]\ \ \[u2514]\[u2500]\[u2500] file3 - stored on disk1
  59307. \[u251C]\[u2500]\[u2500] disk2 - disk2 mounted on the root
  59308. \[br]\ \ \[u2514]\[u2500]\[u2500] file4 - stored on disk12
  59309. \[u251C]\[u2500]\[u2500] file1 - stored on the root disk
  59310. \[u2514]\[u2500]\[u2500] file2 - stored on the root disk
  59311. \f[R]
  59312. .fi
  59313. .PP
  59314. Using \f[C]rclone --one-file-system copy root remote:\f[R] will only
  59315. copy \f[C]file1\f[R] and \f[C]file2\f[R].
  59316. Eg
  59317. .IP
  59318. .nf
  59319. \f[C]
  59320. $ rclone -q --one-file-system ls root
  59321. 0 file1
  59322. 0 file2
  59323. \f[R]
  59324. .fi
  59325. .IP
  59326. .nf
  59327. \f[C]
  59328. $ rclone -q ls root
  59329. 0 disk1/file3
  59330. 0 disk2/file4
  59331. 0 file1
  59332. 0 file2
  59333. \f[R]
  59334. .fi
  59335. .PP
  59336. \f[B]NB\f[R] Rclone (like most unix tools such as \f[C]du\f[R],
  59337. \f[C]rsync\f[R] and \f[C]tar\f[R]) treats a bind mount to the same
  59338. device as being on the same filesystem.
  59339. .PP
  59340. \f[B]NB\f[R] This flag is only available on Unix based systems.
  59341. On systems where it isn\[aq]t supported (e.g.
  59342. Windows) it will be ignored.
  59343. .SS Advanced options
  59344. .PP
  59345. Here are the Advanced options specific to local (Local Disk).
  59346. .SS --local-nounc
  59347. .PP
  59348. Disable UNC (long path names) conversion on Windows.
  59349. .PP
  59350. Properties:
  59351. .IP \[bu] 2
  59352. Config: nounc
  59353. .IP \[bu] 2
  59354. Env Var: RCLONE_LOCAL_NOUNC
  59355. .IP \[bu] 2
  59356. Type: bool
  59357. .IP \[bu] 2
  59358. Default: false
  59359. .IP \[bu] 2
  59360. Examples:
  59361. .RS 2
  59362. .IP \[bu] 2
  59363. \[dq]true\[dq]
  59364. .RS 2
  59365. .IP \[bu] 2
  59366. Disables long file names.
  59367. .RE
  59368. .RE
  59369. .SS --copy-links / -L
  59370. .PP
  59371. Follow symlinks and copy the pointed to item.
  59372. .PP
  59373. Properties:
  59374. .IP \[bu] 2
  59375. Config: copy_links
  59376. .IP \[bu] 2
  59377. Env Var: RCLONE_LOCAL_COPY_LINKS
  59378. .IP \[bu] 2
  59379. Type: bool
  59380. .IP \[bu] 2
  59381. Default: false
  59382. .SS --links / -l
  59383. .PP
  59384. Translate symlinks to/from regular files with a \[aq].rclonelink\[aq]
  59385. extension.
  59386. .PP
  59387. Properties:
  59388. .IP \[bu] 2
  59389. Config: links
  59390. .IP \[bu] 2
  59391. Env Var: RCLONE_LOCAL_LINKS
  59392. .IP \[bu] 2
  59393. Type: bool
  59394. .IP \[bu] 2
  59395. Default: false
  59396. .SS --skip-links
  59397. .PP
  59398. Don\[aq]t warn about skipped symlinks.
  59399. .PP
  59400. This flag disables warning messages on skipped symlinks or junction
  59401. points, as you explicitly acknowledge that they should be skipped.
  59402. .PP
  59403. Properties:
  59404. .IP \[bu] 2
  59405. Config: skip_links
  59406. .IP \[bu] 2
  59407. Env Var: RCLONE_LOCAL_SKIP_LINKS
  59408. .IP \[bu] 2
  59409. Type: bool
  59410. .IP \[bu] 2
  59411. Default: false
  59412. .SS --local-zero-size-links
  59413. .PP
  59414. Assume the Stat size of links is zero (and read them instead)
  59415. (deprecated).
  59416. .PP
  59417. Rclone used to use the Stat size of links as the link size, but this
  59418. fails in quite a few places:
  59419. .IP \[bu] 2
  59420. Windows
  59421. .IP \[bu] 2
  59422. On some virtual filesystems (such ash LucidLink)
  59423. .IP \[bu] 2
  59424. Android
  59425. .PP
  59426. So rclone now always reads the link.
  59427. .PP
  59428. Properties:
  59429. .IP \[bu] 2
  59430. Config: zero_size_links
  59431. .IP \[bu] 2
  59432. Env Var: RCLONE_LOCAL_ZERO_SIZE_LINKS
  59433. .IP \[bu] 2
  59434. Type: bool
  59435. .IP \[bu] 2
  59436. Default: false
  59437. .SS --local-unicode-normalization
  59438. .PP
  59439. Apply unicode NFC normalization to paths and filenames.
  59440. .PP
  59441. This flag can be used to normalize file names into unicode NFC form that
  59442. are read from the local filesystem.
  59443. .PP
  59444. Rclone does not normally touch the encoding of file names it reads from
  59445. the file system.
  59446. .PP
  59447. This can be useful when using macOS as it normally provides decomposed
  59448. (NFD) unicode which in some language (eg Korean) doesn\[aq]t display
  59449. properly on some OSes.
  59450. .PP
  59451. Note that rclone compares filenames with unicode normalization in the
  59452. sync routine so this flag shouldn\[aq]t normally be used.
  59453. .PP
  59454. Properties:
  59455. .IP \[bu] 2
  59456. Config: unicode_normalization
  59457. .IP \[bu] 2
  59458. Env Var: RCLONE_LOCAL_UNICODE_NORMALIZATION
  59459. .IP \[bu] 2
  59460. Type: bool
  59461. .IP \[bu] 2
  59462. Default: false
  59463. .SS --local-no-check-updated
  59464. .PP
  59465. Don\[aq]t check to see if the files change during upload.
  59466. .PP
  59467. Normally rclone checks the size and modification time of files as they
  59468. are being uploaded and aborts with a message which starts \[dq]can\[aq]t
  59469. copy - source file is being updated\[dq] if the file changes during
  59470. upload.
  59471. .PP
  59472. However on some file systems this modification time check may fail (e.g.
  59473. Glusterfs #2206 (https://github.com/rclone/rclone/issues/2206)) so this
  59474. check can be disabled with this flag.
  59475. .PP
  59476. If this flag is set, rclone will use its best efforts to transfer a file
  59477. which is being updated.
  59478. If the file is only having things appended to it (e.g.
  59479. a log) then rclone will transfer the log file with the size it had the
  59480. first time rclone saw it.
  59481. .PP
  59482. If the file is being modified throughout (not just appended to) then the
  59483. transfer may fail with a hash check failure.
  59484. .PP
  59485. In detail, once the file has had stat() called on it for the first time
  59486. we:
  59487. .IP \[bu] 2
  59488. Only transfer the size that stat gave
  59489. .IP \[bu] 2
  59490. Only checksum the size that stat gave
  59491. .IP \[bu] 2
  59492. Don\[aq]t update the stat info for the file
  59493. .PP
  59494. \f[B]NB\f[R] do not use this flag on a Windows Volume Shadow (VSS).
  59495. For some unknown reason, files in a VSS sometimes show different sizes
  59496. from the directory listing (where the initial stat value comes from on
  59497. Windows) and when stat is called on them directly.
  59498. Other copy tools always use the direct stat value and setting this flag
  59499. will disable that.
  59500. .PP
  59501. Properties:
  59502. .IP \[bu] 2
  59503. Config: no_check_updated
  59504. .IP \[bu] 2
  59505. Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED
  59506. .IP \[bu] 2
  59507. Type: bool
  59508. .IP \[bu] 2
  59509. Default: false
  59510. .SS --one-file-system / -x
  59511. .PP
  59512. Don\[aq]t cross filesystem boundaries (unix/macOS only).
  59513. .PP
  59514. Properties:
  59515. .IP \[bu] 2
  59516. Config: one_file_system
  59517. .IP \[bu] 2
  59518. Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM
  59519. .IP \[bu] 2
  59520. Type: bool
  59521. .IP \[bu] 2
  59522. Default: false
  59523. .SS --local-case-sensitive
  59524. .PP
  59525. Force the filesystem to report itself as case sensitive.
  59526. .PP
  59527. Normally the local backend declares itself as case insensitive on
  59528. Windows/macOS and case sensitive for everything else.
  59529. Use this flag to override the default choice.
  59530. .PP
  59531. Properties:
  59532. .IP \[bu] 2
  59533. Config: case_sensitive
  59534. .IP \[bu] 2
  59535. Env Var: RCLONE_LOCAL_CASE_SENSITIVE
  59536. .IP \[bu] 2
  59537. Type: bool
  59538. .IP \[bu] 2
  59539. Default: false
  59540. .SS --local-case-insensitive
  59541. .PP
  59542. Force the filesystem to report itself as case insensitive.
  59543. .PP
  59544. Normally the local backend declares itself as case insensitive on
  59545. Windows/macOS and case sensitive for everything else.
  59546. Use this flag to override the default choice.
  59547. .PP
  59548. Properties:
  59549. .IP \[bu] 2
  59550. Config: case_insensitive
  59551. .IP \[bu] 2
  59552. Env Var: RCLONE_LOCAL_CASE_INSENSITIVE
  59553. .IP \[bu] 2
  59554. Type: bool
  59555. .IP \[bu] 2
  59556. Default: false
  59557. .SS --local-no-preallocate
  59558. .PP
  59559. Disable preallocation of disk space for transferred files.
  59560. .PP
  59561. Preallocation of disk space helps prevent filesystem fragmentation.
  59562. However, some virtual filesystem layers (such as Google Drive File
  59563. Stream) may incorrectly set the actual file size equal to the
  59564. preallocated space, causing checksum and file size checks to fail.
  59565. Use this flag to disable preallocation.
  59566. .PP
  59567. Properties:
  59568. .IP \[bu] 2
  59569. Config: no_preallocate
  59570. .IP \[bu] 2
  59571. Env Var: RCLONE_LOCAL_NO_PREALLOCATE
  59572. .IP \[bu] 2
  59573. Type: bool
  59574. .IP \[bu] 2
  59575. Default: false
  59576. .SS --local-no-sparse
  59577. .PP
  59578. Disable sparse files for multi-thread downloads.
  59579. .PP
  59580. On Windows platforms rclone will make sparse files when doing
  59581. multi-thread downloads.
  59582. This avoids long pauses on large files where the OS zeros the file.
  59583. However sparse files may be undesirable as they cause disk fragmentation
  59584. and can be slow to work with.
  59585. .PP
  59586. Properties:
  59587. .IP \[bu] 2
  59588. Config: no_sparse
  59589. .IP \[bu] 2
  59590. Env Var: RCLONE_LOCAL_NO_SPARSE
  59591. .IP \[bu] 2
  59592. Type: bool
  59593. .IP \[bu] 2
  59594. Default: false
  59595. .SS --local-no-set-modtime
  59596. .PP
  59597. Disable setting modtime.
  59598. .PP
  59599. Normally rclone updates modification time of files after they are done
  59600. uploading.
  59601. This can cause permissions issues on Linux platforms when the user
  59602. rclone is running as does not own the file uploaded, such as when
  59603. copying to a CIFS mount owned by another user.
  59604. If this option is enabled, rclone will no longer update the modtime
  59605. after copying a file.
  59606. .PP
  59607. Properties:
  59608. .IP \[bu] 2
  59609. Config: no_set_modtime
  59610. .IP \[bu] 2
  59611. Env Var: RCLONE_LOCAL_NO_SET_MODTIME
  59612. .IP \[bu] 2
  59613. Type: bool
  59614. .IP \[bu] 2
  59615. Default: false
  59616. .SS --local-encoding
  59617. .PP
  59618. The encoding for the backend.
  59619. .PP
  59620. See the encoding section in the
  59621. overview (https://rclone.org/overview/#encoding) for more info.
  59622. .PP
  59623. Properties:
  59624. .IP \[bu] 2
  59625. Config: encoding
  59626. .IP \[bu] 2
  59627. Env Var: RCLONE_LOCAL_ENCODING
  59628. .IP \[bu] 2
  59629. Type: Encoding
  59630. .IP \[bu] 2
  59631. Default: Slash,Dot
  59632. .SS --local-description
  59633. .PP
  59634. Description of the remote
  59635. .PP
  59636. Properties:
  59637. .IP \[bu] 2
  59638. Config: description
  59639. .IP \[bu] 2
  59640. Env Var: RCLONE_LOCAL_DESCRIPTION
  59641. .IP \[bu] 2
  59642. Type: string
  59643. .IP \[bu] 2
  59644. Required: false
  59645. .SS Metadata
  59646. .PP
  59647. Depending on which OS is in use the local backend may return only some
  59648. of the system metadata.
  59649. Setting system metadata is supported on all OSes but setting user
  59650. metadata is only supported on linux, freebsd, netbsd, macOS and Solaris.
  59651. It is \f[B]not\f[R] supported on Windows yet (see
  59652. pkg/attrs#47 (https://github.com/pkg/xattr/issues/47)).
  59653. .PP
  59654. User metadata is stored as extended attributes (which may not be
  59655. supported by all file systems) under the \[dq]user.*\[dq] prefix.
  59656. .PP
  59657. Metadata is supported on files and directories.
  59658. .PP
  59659. Here are the possible system metadata items for the local backend.
  59660. .PP
  59661. .TS
  59662. tab(@);
  59663. lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n).
  59664. T{
  59665. Name
  59666. T}@T{
  59667. Help
  59668. T}@T{
  59669. Type
  59670. T}@T{
  59671. Example
  59672. T}@T{
  59673. Read Only
  59674. T}
  59675. _
  59676. T{
  59677. atime
  59678. T}@T{
  59679. Time of last access
  59680. T}@T{
  59681. RFC 3339
  59682. T}@T{
  59683. 2006-01-02T15:04:05.999999999Z07:00
  59684. T}@T{
  59685. N
  59686. T}
  59687. T{
  59688. btime
  59689. T}@T{
  59690. Time of file birth (creation)
  59691. T}@T{
  59692. RFC 3339
  59693. T}@T{
  59694. 2006-01-02T15:04:05.999999999Z07:00
  59695. T}@T{
  59696. N
  59697. T}
  59698. T{
  59699. gid
  59700. T}@T{
  59701. Group ID of owner
  59702. T}@T{
  59703. decimal number
  59704. T}@T{
  59705. 500
  59706. T}@T{
  59707. N
  59708. T}
  59709. T{
  59710. mode
  59711. T}@T{
  59712. File type and mode
  59713. T}@T{
  59714. octal, unix style
  59715. T}@T{
  59716. 0100664
  59717. T}@T{
  59718. N
  59719. T}
  59720. T{
  59721. mtime
  59722. T}@T{
  59723. Time of last modification
  59724. T}@T{
  59725. RFC 3339
  59726. T}@T{
  59727. 2006-01-02T15:04:05.999999999Z07:00
  59728. T}@T{
  59729. N
  59730. T}
  59731. T{
  59732. rdev
  59733. T}@T{
  59734. Device ID (if special file)
  59735. T}@T{
  59736. hexadecimal
  59737. T}@T{
  59738. 1abc
  59739. T}@T{
  59740. N
  59741. T}
  59742. T{
  59743. uid
  59744. T}@T{
  59745. User ID of owner
  59746. T}@T{
  59747. decimal number
  59748. T}@T{
  59749. 500
  59750. T}@T{
  59751. N
  59752. T}
  59753. .TE
  59754. .PP
  59755. See the metadata (https://rclone.org/docs/#metadata) docs for more info.
  59756. .SS Backend commands
  59757. .PP
  59758. Here are the commands specific to the local backend.
  59759. .PP
  59760. Run them with
  59761. .IP
  59762. .nf
  59763. \f[C]
  59764. rclone backend COMMAND remote:
  59765. \f[R]
  59766. .fi
  59767. .PP
  59768. The help below will explain what arguments each command takes.
  59769. .PP
  59770. See the backend (https://rclone.org/commands/rclone_backend/) command
  59771. for more info on how to pass options and arguments.
  59772. .PP
  59773. These can be run on a running backend using the rc command
  59774. backend/command (https://rclone.org/rc/#backend-command).
  59775. .SS noop
  59776. .PP
  59777. A null operation for testing backend commands
  59778. .IP
  59779. .nf
  59780. \f[C]
  59781. rclone backend noop remote: [options] [<arguments>+]
  59782. \f[R]
  59783. .fi
  59784. .PP
  59785. This is a test command which has some options you can try to change the
  59786. output.
  59787. .PP
  59788. Options:
  59789. .IP \[bu] 2
  59790. \[dq]echo\[dq]: echo the input arguments
  59791. .IP \[bu] 2
  59792. \[dq]error\[dq]: return an error based on option value
  59793. .SH Changelog
  59794. .SS v1.66.0 - 2024-03-10
  59795. .PP
  59796. See commits (https://github.com/rclone/rclone/compare/v1.65.0...v1.66.0)
  59797. .IP \[bu] 2
  59798. Major features
  59799. .RS 2
  59800. .IP \[bu] 2
  59801. Rclone will now sync directory modification times if the backend
  59802. supports it.
  59803. .RS 2
  59804. .IP \[bu] 2
  59805. This can be disabled with
  59806. --no-update-dir-modtime (https://rclone.org/docs/#no-update-dir-modtime)
  59807. .IP \[bu] 2
  59808. See the overview (https://rclone.org/overview/#features) and look for
  59809. the \f[C]D\f[R] flags in the \f[C]ModTime\f[R] column to see which
  59810. backends support it.
  59811. .RE
  59812. .IP \[bu] 2
  59813. Rclone will now sync directory metadata if the backend supports it when
  59814. \f[C]-M\f[R]/\f[C]--metadata\f[R] is in use.
  59815. .RS 2
  59816. .IP \[bu] 2
  59817. See the overview (https://rclone.org/overview/#features) and look for
  59818. the \f[C]D\f[R] flags in the \f[C]Metadata\f[R] column to see which
  59819. backends support it.
  59820. .RE
  59821. .IP \[bu] 2
  59822. Bisync has received many updates see below for more details or
  59823. bisync\[aq]s changelog (https://rclone.org/bisync/#changelog)
  59824. .RE
  59825. .IP \[bu] 2
  59826. Removed backends
  59827. .RS 2
  59828. .IP \[bu] 2
  59829. amazonclouddrive: Remove Amazon Drive backend code and docs (Nick
  59830. Craig-Wood)
  59831. .RE
  59832. .IP \[bu] 2
  59833. New Features
  59834. .RS 2
  59835. .IP \[bu] 2
  59836. backend
  59837. .RS 2
  59838. .IP \[bu] 2
  59839. Add description field for all backends (Paul Stern)
  59840. .RE
  59841. .IP \[bu] 2
  59842. build
  59843. .RS 2
  59844. .IP \[bu] 2
  59845. Update to go1.22 and make go1.20 the minimum required version (Nick
  59846. Craig-Wood)
  59847. .IP \[bu] 2
  59848. Fix \f[C]CVE-2024-24786\f[R] by upgrading
  59849. \f[C]google.golang.org/protobuf\f[R] (Nick Craig-Wood)
  59850. .RE
  59851. .IP \[bu] 2
  59852. check: Respect \f[C]--no-unicode-normalization\f[R] and
  59853. \f[C]--ignore-case-sync\f[R] for \f[C]--checkfile\f[R] (nielash)
  59854. .IP \[bu] 2
  59855. cmd: Much improved shell auto completion which reduces the size of the
  59856. completion file and works faster (Nick Craig-Wood)
  59857. .IP \[bu] 2
  59858. doc updates (albertony, ben-ba, Eli, emyarod, huajin tong, Jack
  59859. Provance, kapitainsky, keongalvin, Nick Craig-Wood, nielash, rarspace01,
  59860. rzitzer, Tera, Vincent Murphy)
  59861. .IP \[bu] 2
  59862. fs: Add more detailed logging for file includes/excludes (Kyle Reynolds)
  59863. .IP \[bu] 2
  59864. lsf
  59865. .RS 2
  59866. .IP \[bu] 2
  59867. Add \f[C]--time-format\f[R] flag (nielash)
  59868. .IP \[bu] 2
  59869. Make metadata appear for directories (Nick Craig-Wood)
  59870. .RE
  59871. .IP \[bu] 2
  59872. lsjson: Make metadata appear for directories (Nick Craig-Wood)
  59873. .IP \[bu] 2
  59874. rc
  59875. .RS 2
  59876. .IP \[bu] 2
  59877. Add \f[C]srcFs\f[R] and \f[C]dstFs\f[R] to \f[C]core/stats\f[R] and
  59878. \f[C]core/transferred\f[R] stats (Nick Craig-Wood)
  59879. .IP \[bu] 2
  59880. Add \f[C]operations/hashsum\f[R] to the rc as \f[C]rclone hashsum\f[R]
  59881. equivalent (Nick Craig-Wood)
  59882. .IP \[bu] 2
  59883. Add \f[C]config/paths\f[R] to the rc as \f[C]rclone config paths\f[R]
  59884. equivalent (Nick Craig-Wood)
  59885. .RE
  59886. .IP \[bu] 2
  59887. sync
  59888. .RS 2
  59889. .IP \[bu] 2
  59890. Optionally report list of synced paths to file (nielash)
  59891. .IP \[bu] 2
  59892. Implement directory sync for mod times and metadata (Nick Craig-Wood)
  59893. .IP \[bu] 2
  59894. Don\[aq]t set directory modtimes if already set (nielash)
  59895. .IP \[bu] 2
  59896. Don\[aq]t sync directory modtimes from backends which don\[aq]t have
  59897. directories (Nick Craig-Wood)
  59898. .RE
  59899. .RE
  59900. .IP \[bu] 2
  59901. Bug Fixes
  59902. .RS 2
  59903. .IP \[bu] 2
  59904. backend
  59905. .RS 2
  59906. .IP \[bu] 2
  59907. Make backends which use oauth implement the \f[C]Shutdown\f[R] and
  59908. shutdown the oauth properly (rkonfj)
  59909. .RE
  59910. .IP \[bu] 2
  59911. bisync
  59912. .RS 2
  59913. .IP \[bu] 2
  59914. Handle unicode and case normalization consistently (nielash)
  59915. .IP \[bu] 2
  59916. Partial uploads known issue on
  59917. \f[C]local\f[R]/\f[C]ftp\f[R]/\f[C]sftp\f[R] has been resolved (unless
  59918. using \f[C]--inplace\f[R]) (nielash)
  59919. .IP \[bu] 2
  59920. Fixed handling of unicode normalization and case insensitivity, support
  59921. for \f[C]--fix-case\f[R] (https://rclone.org/docs/#fix-case),
  59922. \f[C]--ignore-case-sync\f[R], \f[C]--no-unicode-normalization\f[R]
  59923. (nielash)
  59924. .IP \[bu] 2
  59925. Bisync no longer fails to find the correct listing file when configs are
  59926. overridden with backend-specific flags.
  59927. (nielash)
  59928. .RE
  59929. .IP \[bu] 2
  59930. nfsmount
  59931. .RS 2
  59932. .IP \[bu] 2
  59933. Fix exit after external unmount (nielash)
  59934. .IP \[bu] 2
  59935. Fix \f[C]--volname\f[R] being ignored (nielash)
  59936. .RE
  59937. .IP \[bu] 2
  59938. operations
  59939. .RS 2
  59940. .IP \[bu] 2
  59941. Fix renaming a file on macOS (nielash)
  59942. .IP \[bu] 2
  59943. Fix case-insensitive moves in operations.Move (nielash)
  59944. .IP \[bu] 2
  59945. Fix TestCaseInsensitiveMoveFileDryRun on chunker integration tests
  59946. (nielash)
  59947. .IP \[bu] 2
  59948. Fix TestMkdirModTime test (Nick Craig-Wood)
  59949. .IP \[bu] 2
  59950. Fix TestSetDirModTime for backends with SetDirModTime but not Metadata
  59951. (Nick Craig-Wood)
  59952. .IP \[bu] 2
  59953. Fix typo in log messages (nielash)
  59954. .RE
  59955. .IP \[bu] 2
  59956. serve nfs: Fix writing files via Finder on macOS (nielash)
  59957. .IP \[bu] 2
  59958. serve restic: Fix error handling (Michael Eischer)
  59959. .IP \[bu] 2
  59960. serve webdav: Fix \f[C]--baseurl\f[R] without leading / (Nick
  59961. Craig-Wood)
  59962. .IP \[bu] 2
  59963. stats: Fix race between ResetCounters and stopAverageLoop called from
  59964. time.AfterFunc (Nick Craig-Wood)
  59965. .IP \[bu] 2
  59966. sync
  59967. .RS 2
  59968. .IP \[bu] 2
  59969. \f[C]--fix-case\f[R] flag to rename case insensitive dest (nielash)
  59970. .IP \[bu] 2
  59971. Use operations.DirMove instead of sync.MoveDir for \f[C]--fix-case\f[R]
  59972. (nielash)
  59973. .RE
  59974. .IP \[bu] 2
  59975. systemd: Fix detection and switch to the coreos package everywhere
  59976. rather than having 2 separate libraries (Anagh Kumar Baranwal)
  59977. .RE
  59978. .IP \[bu] 2
  59979. Mount
  59980. .RS 2
  59981. .IP \[bu] 2
  59982. Fix macOS not noticing errors with \f[C]--daemon\f[R] (Nick Craig-Wood)
  59983. .IP \[bu] 2
  59984. Notice daemon dying much quicker (Nick Craig-Wood)
  59985. .RE
  59986. .IP \[bu] 2
  59987. VFS
  59988. .RS 2
  59989. .IP \[bu] 2
  59990. Fix unicode normalization on macOS (nielash)
  59991. .RE
  59992. .IP \[bu] 2
  59993. Bisync
  59994. .RS 2
  59995. .IP \[bu] 2
  59996. Copies and deletes are now handled in one operation instead of two
  59997. (nielash)
  59998. .IP \[bu] 2
  59999. \f[C]--track-renames\f[R] and \f[C]--backup-dir\f[R] are now supported
  60000. (nielash)
  60001. .IP \[bu] 2
  60002. Final listings are now generated from sync results, to avoid needing to
  60003. re-list (nielash)
  60004. .IP \[bu] 2
  60005. Bisync is now much more resilient to changes that happen during a bisync
  60006. run, and far less prone to critical errors / undetected changes
  60007. (nielash)
  60008. .IP \[bu] 2
  60009. Bisync is now capable of rolling a file listing back in cases of
  60010. uncertainty, essentially marking the file as needing to be rechecked
  60011. next time.
  60012. (nielash)
  60013. .IP \[bu] 2
  60014. A few basic terminal colors are now supported, controllable with
  60015. \f[C]--color\f[R] (https://rclone.org/docs/#color-when)
  60016. (\f[C]AUTO\f[R]|\f[C]NEVER\f[R]|\f[C]ALWAYS\f[R]) (nielash)
  60017. .IP \[bu] 2
  60018. Initial listing snapshots of Path1 and Path2 are now generated
  60019. concurrently, using the same \[dq]march\[dq] infrastructure as
  60020. \f[C]check\f[R] and \f[C]sync\f[R], for performance improvements and
  60021. less risk of error.
  60022. (nielash)
  60023. .IP \[bu] 2
  60024. \f[C]--resync\f[R] is now much more efficient (especially for users of
  60025. \f[C]--create-empty-src-dirs\f[R]) (nielash)
  60026. .IP \[bu] 2
  60027. Google Docs (and other files of unknown size) are now supported (with
  60028. the same options as in \f[C]sync\f[R]) (nielash)
  60029. .IP \[bu] 2
  60030. Equality checks before a sync conflict rename now fall back to
  60031. \f[C]cryptcheck\f[R] (when possible) or \f[C]--download\f[R], (nielash)
  60032. instead of of \f[C]--size-only\f[R], when \f[C]check\f[R] is not
  60033. available.
  60034. .IP \[bu] 2
  60035. Bisync now fully supports comparing based on any combination of size,
  60036. modtime, and checksum, lifting the prior restriction on backends without
  60037. modtime support.
  60038. (nielash)
  60039. .IP \[bu] 2
  60040. Bisync now supports a \[dq]Graceful Shutdown\[dq] mode to cleanly cancel
  60041. a run early without requiring \f[C]--resync\f[R].
  60042. (nielash)
  60043. .IP \[bu] 2
  60044. New \f[C]--recover\f[R] flag allows robust recovery in the event of
  60045. interruptions, without requiring \f[C]--resync\f[R].
  60046. (nielash)
  60047. .IP \[bu] 2
  60048. A new \f[C]--max-lock\f[R] setting allows lock files to automatically
  60049. renew and expire, for better automatic recovery when a run is
  60050. interrupted.
  60051. (nielash)
  60052. .IP \[bu] 2
  60053. Bisync now supports auto-resolving sync conflicts and customizing rename
  60054. behavior with new \f[C]--conflict-resolve\f[R],
  60055. \f[C]--conflict-loser\f[R], and \f[C]--conflict-suffix\f[R] flags.
  60056. (nielash)
  60057. .IP \[bu] 2
  60058. A new \f[C]--resync-mode\f[R] flag allows more control over which
  60059. version of a file gets kept during a \f[C]--resync\f[R].
  60060. (nielash)
  60061. .IP \[bu] 2
  60062. Bisync now supports
  60063. \f[C]--retries\f[R] (https://rclone.org/docs/#retries-int) and
  60064. \f[C]--retries-sleep\f[R] (when \f[C]--resilient\f[R] is set.) (nielash)
  60065. .IP \[bu] 2
  60066. Clarify file operation directions in dry-run logs (Kyle Reynolds)
  60067. .RE
  60068. .IP \[bu] 2
  60069. Local
  60070. .RS 2
  60071. .IP \[bu] 2
  60072. Fix cleanRootPath on Windows after go1.21.4 stdlib update (nielash)
  60073. .IP \[bu] 2
  60074. Implement setting modification time on directories (nielash)
  60075. .IP \[bu] 2
  60076. Implement modtime and metadata for directories (Nick Craig-Wood)
  60077. .IP \[bu] 2
  60078. Fix setting of btime on directories on Windows (Nick Craig-Wood)
  60079. .IP \[bu] 2
  60080. Delete backend implementation of Purge to speed up and make stats (Nick
  60081. Craig-Wood)
  60082. .IP \[bu] 2
  60083. Support metadata setting and mapping on server side Move (Nick
  60084. Craig-Wood)
  60085. .RE
  60086. .IP \[bu] 2
  60087. Cache
  60088. .RS 2
  60089. .IP \[bu] 2
  60090. Implement setting modification time on directories (if supported by
  60091. wrapped remote) (nielash)
  60092. .IP \[bu] 2
  60093. Implement setting metadata on directories (Nick Craig-Wood)
  60094. .RE
  60095. .IP \[bu] 2
  60096. Crypt
  60097. .RS 2
  60098. .IP \[bu] 2
  60099. Implement setting modification time on directories (if supported by
  60100. wrapped remote) (nielash)
  60101. .IP \[bu] 2
  60102. Implement setting metadata on directories (Nick Craig-Wood)
  60103. .IP \[bu] 2
  60104. Improve handling of undecryptable file names (nielash)
  60105. .IP \[bu] 2
  60106. Add missing error check spotted by linter (Nick Craig-Wood)
  60107. .RE
  60108. .IP \[bu] 2
  60109. Azure Blob
  60110. .RS 2
  60111. .IP \[bu] 2
  60112. Implement \f[C]--azureblob-delete-snapshots\f[R] (Nick Craig-Wood)
  60113. .RE
  60114. .IP \[bu] 2
  60115. B2
  60116. .RS 2
  60117. .IP \[bu] 2
  60118. Clarify exactly what \f[C]--b2-download-auth-duration\f[R] does in the
  60119. docs (Nick Craig-Wood)
  60120. .RE
  60121. .IP \[bu] 2
  60122. Chunker
  60123. .RS 2
  60124. .IP \[bu] 2
  60125. Implement setting modification time on directories (if supported by
  60126. wrapped remote) (nielash)
  60127. .IP \[bu] 2
  60128. Implement setting metadata on directories (Nick Craig-Wood)
  60129. .RE
  60130. .IP \[bu] 2
  60131. Combine
  60132. .RS 2
  60133. .IP \[bu] 2
  60134. Implement setting modification time on directories (if supported by
  60135. wrapped remote) (nielash)
  60136. .IP \[bu] 2
  60137. Implement setting metadata on directories (Nick Craig-Wood)
  60138. .IP \[bu] 2
  60139. Fix directory metadata error on upstream root (nielash)
  60140. .IP \[bu] 2
  60141. Fix directory move across upstreams (nielash)
  60142. .RE
  60143. .IP \[bu] 2
  60144. Compress
  60145. .RS 2
  60146. .IP \[bu] 2
  60147. Implement setting modification time on directories (if supported by
  60148. wrapped remote) (nielash)
  60149. .IP \[bu] 2
  60150. Implement setting metadata on directories (Nick Craig-Wood)
  60151. .RE
  60152. .IP \[bu] 2
  60153. Drive
  60154. .RS 2
  60155. .IP \[bu] 2
  60156. Implement setting modification time on directories (nielash)
  60157. .IP \[bu] 2
  60158. Implement modtime and metadata setting for directories (Nick Craig-Wood)
  60159. .IP \[bu] 2
  60160. Support metadata setting and mapping on server side Move,Copy (Nick
  60161. Craig-Wood)
  60162. .RE
  60163. .IP \[bu] 2
  60164. FTP
  60165. .RS 2
  60166. .IP \[bu] 2
  60167. Fix mkdir with rsftp which is returning the wrong code (Nick Craig-Wood)
  60168. .RE
  60169. .IP \[bu] 2
  60170. Hasher
  60171. .RS 2
  60172. .IP \[bu] 2
  60173. Implement setting modification time on directories (if supported by
  60174. wrapped remote) (nielash)
  60175. .IP \[bu] 2
  60176. Implement setting metadata on directories (Nick Craig-Wood)
  60177. .IP \[bu] 2
  60178. Fix error from trying to stop an already-stopped db (nielash)
  60179. .IP \[bu] 2
  60180. Look for cached hash if passed hash unexpectedly blank (nielash)
  60181. .RE
  60182. .IP \[bu] 2
  60183. Imagekit
  60184. .RS 2
  60185. .IP \[bu] 2
  60186. Updated docs and web content (Harshit Budhraja)
  60187. .IP \[bu] 2
  60188. Updated overview - supported operations (Harshit Budhraja)
  60189. .RE
  60190. .IP \[bu] 2
  60191. Mega
  60192. .RS 2
  60193. .IP \[bu] 2
  60194. Fix panic with go1.22 (Nick Craig-Wood)
  60195. .RE
  60196. .IP \[bu] 2
  60197. Netstorage
  60198. .RS 2
  60199. .IP \[bu] 2
  60200. Fix Root to return correct directory when pointing to a file (Nick
  60201. Craig-Wood)
  60202. .RE
  60203. .IP \[bu] 2
  60204. Onedrive
  60205. .RS 2
  60206. .IP \[bu] 2
  60207. Add metadata support (nielash)
  60208. .RE
  60209. .IP \[bu] 2
  60210. Opendrive
  60211. .RS 2
  60212. .IP \[bu] 2
  60213. Fix moving file/folder within the same parent dir (nielash)
  60214. .RE
  60215. .IP \[bu] 2
  60216. Oracle Object Storage
  60217. .RS 2
  60218. .IP \[bu] 2
  60219. Support \f[C]backend restore\f[R] command (Nikhil Ahuja)
  60220. .IP \[bu] 2
  60221. Support workload identity authentication for OKE (Anders Swanson)
  60222. .RE
  60223. .IP \[bu] 2
  60224. Protondrive
  60225. .RS 2
  60226. .IP \[bu] 2
  60227. Fix encoding of Root method (Nick Craig-Wood)
  60228. .RE
  60229. .IP \[bu] 2
  60230. Quatrix
  60231. .RS 2
  60232. .IP \[bu] 2
  60233. Fix \f[C]Content-Range\f[R] header (Volodymyr)
  60234. .IP \[bu] 2
  60235. Add option to skip project folders (Oksana Zhykina)
  60236. .IP \[bu] 2
  60237. Fix Root to return correct directory when pointing to a file (Nick
  60238. Craig-Wood)
  60239. .RE
  60240. .IP \[bu] 2
  60241. S3
  60242. .RS 2
  60243. .IP \[bu] 2
  60244. Add \f[C]--s3-version-deleted\f[R] to show delete markers in listings
  60245. when using versions.
  60246. (Nick Craig-Wood)
  60247. .IP \[bu] 2
  60248. Add IPv6 support with option \f[C]--s3-use-dual-stack\f[R] (Anthony
  60249. Metzidis)
  60250. .IP \[bu] 2
  60251. Copy parts in parallel when doing chunked server side copy (Nick
  60252. Craig-Wood)
  60253. .IP \[bu] 2
  60254. GCS provider: fix server side copy of files bigger than 5G (Nick
  60255. Craig-Wood)
  60256. .IP \[bu] 2
  60257. Support metadata setting and mapping on server side Copy (Nick
  60258. Craig-Wood)
  60259. .RE
  60260. .IP \[bu] 2
  60261. Seafile
  60262. .RS 2
  60263. .IP \[bu] 2
  60264. Fix download/upload error when \f[C]FILE_SERVER_ROOT\f[R] is relative
  60265. (DanielEgbers)
  60266. .IP \[bu] 2
  60267. Fix Root to return correct directory when pointing to a file (Nick
  60268. Craig-Wood)
  60269. .RE
  60270. .IP \[bu] 2
  60271. SFTP
  60272. .RS 2
  60273. .IP \[bu] 2
  60274. Implement setting modification time on directories (nielash)
  60275. .IP \[bu] 2
  60276. Set directory modtimes update on write flag (Nick Craig-Wood)
  60277. .IP \[bu] 2
  60278. Shorten wait delay for external ssh binaries now that we are using
  60279. go1.20 (Nick Craig-Wood)
  60280. .RE
  60281. .IP \[bu] 2
  60282. Swift
  60283. .RS 2
  60284. .IP \[bu] 2
  60285. Avoid unnecessary container versioning check (Joe Cai)
  60286. .RE
  60287. .IP \[bu] 2
  60288. Union
  60289. .RS 2
  60290. .IP \[bu] 2
  60291. Implement setting modification time on directories (if supported by
  60292. wrapped remote) (nielash)
  60293. .IP \[bu] 2
  60294. Implement setting metadata on directories (Nick Craig-Wood)
  60295. .RE
  60296. .IP \[bu] 2
  60297. WebDAV
  60298. .RS 2
  60299. .IP \[bu] 2
  60300. Reduce priority of chunks upload log (Gabriel Ramos)
  60301. .IP \[bu] 2
  60302. owncloud: Add config \f[C]owncloud_exclude_shares\f[R] which allows to
  60303. exclude shared files and folders when listing remote resources (Thomas
  60304. M\[:u]ller)
  60305. .RE
  60306. .SS v1.65.2 - 2024-01-24
  60307. .PP
  60308. See commits (https://github.com/rclone/rclone/compare/v1.65.1...v1.65.2)
  60309. .IP \[bu] 2
  60310. Bug Fixes
  60311. .RS 2
  60312. .IP \[bu] 2
  60313. build: bump github.com/cloudflare/circl from 1.3.6 to 1.3.7 (dependabot)
  60314. .IP \[bu] 2
  60315. docs updates (Nick Craig-Wood, kapitainsky, nielash, Tera, Harshit
  60316. Budhraja)
  60317. .RE
  60318. .IP \[bu] 2
  60319. VFS
  60320. .RS 2
  60321. .IP \[bu] 2
  60322. Fix stale data when using \f[C]--vfs-cache-mode\f[R] full (Nick
  60323. Craig-Wood)
  60324. .RE
  60325. .IP \[bu] 2
  60326. Azure Blob
  60327. .RS 2
  60328. .IP \[bu] 2
  60329. \f[B]IMPORTANT\f[R] Fix data corruption bug - see
  60330. #7590 (https://github.com/rclone/rclone/issues/7590) (Nick Craig-Wood)
  60331. .RE
  60332. .SS v1.65.1 - 2024-01-08
  60333. .PP
  60334. See commits (https://github.com/rclone/rclone/compare/v1.65.0...v1.65.1)
  60335. .IP \[bu] 2
  60336. Bug Fixes
  60337. .RS 2
  60338. .IP \[bu] 2
  60339. build
  60340. .RS 2
  60341. .IP \[bu] 2
  60342. Bump golang.org/x/crypto to fix ssh terrapin CVE-2023-48795 (dependabot)
  60343. .IP \[bu] 2
  60344. Update to go1.21.5 to fix Windows path problems (Nick Craig-Wood)
  60345. .IP \[bu] 2
  60346. Fix docker build on arm/v6 (Nick Craig-Wood)
  60347. .RE
  60348. .IP \[bu] 2
  60349. install.sh: fix harmless error message on install (Nick Craig-Wood)
  60350. .IP \[bu] 2
  60351. accounting: fix stats to show server side transfers (Nick Craig-Wood)
  60352. .IP \[bu] 2
  60353. doc fixes (albertony, ben-ba, Eli Orzitzer, emyarod, keongalvin,
  60354. rarspace01)
  60355. .IP \[bu] 2
  60356. nfsmount: Compile for all unix oses, add \f[C]--sudo\f[R] and fix
  60357. error/option handling (Nick Craig-Wood)
  60358. .IP \[bu] 2
  60359. operations: Fix files moved by rclone move not being counted as
  60360. transfers (Nick Craig-Wood)
  60361. .IP \[bu] 2
  60362. oauthutil: Avoid panic when \f[C]*token\f[R] and \f[C]*ts.token\f[R] are
  60363. the same (rkonfj)
  60364. .IP \[bu] 2
  60365. serve s3: Fix listing oddities (Nick Craig-Wood)
  60366. .RE
  60367. .IP \[bu] 2
  60368. VFS
  60369. .RS 2
  60370. .IP \[bu] 2
  60371. Note that \f[C]--vfs-refresh\f[R] runs in the background (Nick
  60372. Craig-Wood)
  60373. .RE
  60374. .IP \[bu] 2
  60375. Azurefiles
  60376. .RS 2
  60377. .IP \[bu] 2
  60378. Fix storage base url (Oksana)
  60379. .RE
  60380. .IP \[bu] 2
  60381. Crypt
  60382. .RS 2
  60383. .IP \[bu] 2
  60384. Fix rclone move a file over itself deleting the file (Nick Craig-Wood)
  60385. .RE
  60386. .IP \[bu] 2
  60387. Chunker
  60388. .RS 2
  60389. .IP \[bu] 2
  60390. Fix rclone move a file over itself deleting the file (Nick Craig-Wood)
  60391. .RE
  60392. .IP \[bu] 2
  60393. Compress
  60394. .RS 2
  60395. .IP \[bu] 2
  60396. Fix rclone move a file over itself deleting the file (Nick Craig-Wood)
  60397. .RE
  60398. .IP \[bu] 2
  60399. Dropbox
  60400. .RS 2
  60401. .IP \[bu] 2
  60402. Fix used space on dropbox team accounts (Nick Craig-Wood)
  60403. .RE
  60404. .IP \[bu] 2
  60405. FTP
  60406. .RS 2
  60407. .IP \[bu] 2
  60408. Fix multi-thread copy (WeidiDeng)
  60409. .RE
  60410. .IP \[bu] 2
  60411. Googlephotos
  60412. .RS 2
  60413. .IP \[bu] 2
  60414. Fix nil pointer exception when batch failed (Nick Craig-Wood)
  60415. .RE
  60416. .IP \[bu] 2
  60417. Hasher
  60418. .RS 2
  60419. .IP \[bu] 2
  60420. Fix rclone move a file over itself deleting the file (Nick Craig-Wood)
  60421. .IP \[bu] 2
  60422. Fix invalid memory address error when MaxAge == 0 (nielash)
  60423. .RE
  60424. .IP \[bu] 2
  60425. Onedrive
  60426. .RS 2
  60427. .IP \[bu] 2
  60428. Fix error listing: unknown object type \f[C]<nil>\f[R] (Nick Craig-Wood)
  60429. .IP \[bu] 2
  60430. Fix \[dq]unauthenticated: Unauthenticated\[dq] errors when uploading
  60431. (Nick Craig-Wood)
  60432. .RE
  60433. .IP \[bu] 2
  60434. Oracleobjectstorage
  60435. .RS 2
  60436. .IP \[bu] 2
  60437. Fix object storage endpoint for custom endpoints (Manoj Ghosh)
  60438. .IP \[bu] 2
  60439. Multipart copy create bucket if it doesn\[aq]t exist.
  60440. (Manoj Ghosh)
  60441. .RE
  60442. .IP \[bu] 2
  60443. Protondrive
  60444. .RS 2
  60445. .IP \[bu] 2
  60446. Fix CVE-2023-45286 / GHSA-xwh9-gc39-5298 (Nick Craig-Wood)
  60447. .RE
  60448. .IP \[bu] 2
  60449. S3
  60450. .RS 2
  60451. .IP \[bu] 2
  60452. Fix crash if no UploadId in multipart upload (Nick Craig-Wood)
  60453. .RE
  60454. .IP \[bu] 2
  60455. Smb
  60456. .RS 2
  60457. .IP \[bu] 2
  60458. Fix shares not listed by updating go-smb2 (halms)
  60459. .RE
  60460. .IP \[bu] 2
  60461. Union
  60462. .RS 2
  60463. .IP \[bu] 2
  60464. Fix rclone move a file over itself deleting the file (Nick Craig-Wood)
  60465. .RE
  60466. .SS v1.65.0 - 2023-11-26
  60467. .PP
  60468. See commits (https://github.com/rclone/rclone/compare/v1.64.0...v1.65.0)
  60469. .IP \[bu] 2
  60470. New backends
  60471. .RS 2
  60472. .IP \[bu] 2
  60473. Azure Files (karan, moongdal, Nick Craig-Wood)
  60474. .IP \[bu] 2
  60475. ImageKit (Abhinav Dhiman)
  60476. .IP \[bu] 2
  60477. Linkbox (viktor, Nick Craig-Wood)
  60478. .RE
  60479. .IP \[bu] 2
  60480. New commands
  60481. .RS 2
  60482. .IP \[bu] 2
  60483. \f[C]serve s3\f[R]: Let rclone act as an S3 compatible server (Mikubill,
  60484. Artur Neumann, Saw-jan, Nick Craig-Wood)
  60485. .IP \[bu] 2
  60486. \f[C]nfsmount\f[R]: mount command to provide mount mechanism on macOS
  60487. without FUSE (Saleh Dindar)
  60488. .IP \[bu] 2
  60489. \f[C]serve nfs\f[R]: to serve a remote for use by \f[C]nfsmount\f[R]
  60490. (Saleh Dindar)
  60491. .RE
  60492. .IP \[bu] 2
  60493. New Features
  60494. .RS 2
  60495. .IP \[bu] 2
  60496. install.sh: Clean up temp files in install script (Jacob Hands)
  60497. .IP \[bu] 2
  60498. build
  60499. .RS 2
  60500. .IP \[bu] 2
  60501. Update all dependencies (Nick Craig-Wood)
  60502. .IP \[bu] 2
  60503. Refactor version info and icon resource handling on windows (albertony)
  60504. .RE
  60505. .IP \[bu] 2
  60506. doc updates (albertony, alfish2000, asdffdsazqqq, Dimitri Papadopoulos,
  60507. Herby Gillot, Joda St\[:o]\[ss]er, Manoj Ghosh, Nick Craig-Wood)
  60508. .IP \[bu] 2
  60509. Implement \f[C]--metadata-mapper\f[R] to transform metatadata with a
  60510. user supplied program (Nick Craig-Wood)
  60511. .IP \[bu] 2
  60512. Add \f[C]ChunkWriterDoesntSeek\f[R] feature flag and set it for b2 (Nick
  60513. Craig-Wood)
  60514. .IP \[bu] 2
  60515. lib/http: Export basic go string functions for use in
  60516. \f[C]--template\f[R] (Gabriel Espinoza)
  60517. .IP \[bu] 2
  60518. makefile: Use POSIX compatible install arguments (Mina Gali\['c])
  60519. .IP \[bu] 2
  60520. operations
  60521. .RS 2
  60522. .IP \[bu] 2
  60523. Use less memory when doing multithread uploads (Nick Craig-Wood)
  60524. .IP \[bu] 2
  60525. Implement \f[C]--partial-suffix\f[R] to control extension of temporary
  60526. file names (Volodymyr)
  60527. .RE
  60528. .IP \[bu] 2
  60529. rc
  60530. .RS 2
  60531. .IP \[bu] 2
  60532. Add \f[C]operations/check\f[R] to the rc API (Nick Craig-Wood)
  60533. .IP \[bu] 2
  60534. Always report an error as JSON (Nick Craig-Wood)
  60535. .IP \[bu] 2
  60536. Set \f[C]Last-Modified\f[R] header for files served by
  60537. \f[C]--rc-serve\f[R] (Nikita Shoshin)
  60538. .RE
  60539. .IP \[bu] 2
  60540. size: Dont show duplicate object count when less than 1k (albertony)
  60541. .RE
  60542. .IP \[bu] 2
  60543. Bug Fixes
  60544. .RS 2
  60545. .IP \[bu] 2
  60546. fshttp: Fix \f[C]--contimeout\f[R] being ignored
  60547. (\[u4F60]\[u77E5]\[u9053]\[u672A]\[u6765]\[u5417])
  60548. .IP \[bu] 2
  60549. march: Fix excessive parallelism when using \f[C]--no-traverse\f[R]
  60550. (Nick Craig-Wood)
  60551. .IP \[bu] 2
  60552. ncdu: Fix crash when re-entering changed directory after rescan (Nick
  60553. Craig-Wood)
  60554. .IP \[bu] 2
  60555. operations
  60556. .RS 2
  60557. .IP \[bu] 2
  60558. Fix overwrite of destination when multi-thread transfer fails (Nick
  60559. Craig-Wood)
  60560. .IP \[bu] 2
  60561. Fix invalid UTF-8 when truncating file names when not using
  60562. \f[C]--inplace\f[R] (Nick Craig-Wood)
  60563. .RE
  60564. .IP \[bu] 2
  60565. serve dnla: Fix crash on graceful exit (wuxingzhong)
  60566. .RE
  60567. .IP \[bu] 2
  60568. Mount
  60569. .RS 2
  60570. .IP \[bu] 2
  60571. Disable mount for freebsd and alias cmount as mount on that platform
  60572. (Nick Craig-Wood)
  60573. .RE
  60574. .IP \[bu] 2
  60575. VFS
  60576. .RS 2
  60577. .IP \[bu] 2
  60578. Add \f[C]--vfs-refresh\f[R] flag to read all the directories on start
  60579. (Beyond Meat)
  60580. .IP \[bu] 2
  60581. Implement Name() method in WriteFileHandle and ReadFileHandle (Saleh
  60582. Dindar)
  60583. .IP \[bu] 2
  60584. Add go-billy dependency and make sure vfs.Handle implements billy.File
  60585. (Saleh Dindar)
  60586. .IP \[bu] 2
  60587. Error out early if can\[aq]t upload 0 length file (Nick Craig-Wood)
  60588. .RE
  60589. .IP \[bu] 2
  60590. Local
  60591. .RS 2
  60592. .IP \[bu] 2
  60593. Fix copying from Windows Volume Shadows (Nick Craig-Wood)
  60594. .RE
  60595. .IP \[bu] 2
  60596. Azure Blob
  60597. .RS 2
  60598. .IP \[bu] 2
  60599. Add support for cold tier (Ivan Yanitra)
  60600. .RE
  60601. .IP \[bu] 2
  60602. B2
  60603. .RS 2
  60604. .IP \[bu] 2
  60605. Implement \[dq]rclone backend lifecycle\[dq] to read and set bucket
  60606. lifecycles (Nick Craig-Wood)
  60607. .IP \[bu] 2
  60608. Implement \f[C]--b2-lifecycle\f[R] to control lifecycle when creating
  60609. buckets (Nick Craig-Wood)
  60610. .IP \[bu] 2
  60611. Fix listing all buckets when not needed (Nick Craig-Wood)
  60612. .IP \[bu] 2
  60613. Fix multi-thread upload with copyto going to wrong name (Nick
  60614. Craig-Wood)
  60615. .IP \[bu] 2
  60616. Fix server side chunked copy when file size was exactly
  60617. \f[C]--b2-copy-cutoff\f[R] (Nick Craig-Wood)
  60618. .IP \[bu] 2
  60619. Fix streaming chunked files an exact multiple of chunk size (Nick
  60620. Craig-Wood)
  60621. .RE
  60622. .IP \[bu] 2
  60623. Box
  60624. .RS 2
  60625. .IP \[bu] 2
  60626. Filter more EventIDs when polling (David Sze)
  60627. .IP \[bu] 2
  60628. Add more logging for polling (David Sze)
  60629. .IP \[bu] 2
  60630. Fix performance problem reading metadata for single files (Nick
  60631. Craig-Wood)
  60632. .RE
  60633. .IP \[bu] 2
  60634. Drive
  60635. .RS 2
  60636. .IP \[bu] 2
  60637. Add read/write metadata support (Nick Craig-Wood)
  60638. .IP \[bu] 2
  60639. Add support for SHA-1 and SHA-256 checksums (rinsuki)
  60640. .IP \[bu] 2
  60641. Add \f[C]--drive-show-all-gdocs\f[R] to allow unexportable gdocs to be
  60642. server side copied (Nick Craig-Wood)
  60643. .IP \[bu] 2
  60644. Add a note that \f[C]--drive-scope\f[R] accepts comma-separated list of
  60645. scopes (Keigo Imai)
  60646. .IP \[bu] 2
  60647. Fix error updating created time metadata on existing object (Nick
  60648. Craig-Wood)
  60649. .IP \[bu] 2
  60650. Fix integration tests by enabling metadata support from the context
  60651. (Nick Craig-Wood)
  60652. .RE
  60653. .IP \[bu] 2
  60654. Dropbox
  60655. .RS 2
  60656. .IP \[bu] 2
  60657. Factor batcher into lib/batcher (Nick Craig-Wood)
  60658. .IP \[bu] 2
  60659. Fix missing encoding for rclone purge (Nick Craig-Wood)
  60660. .RE
  60661. .IP \[bu] 2
  60662. Google Cloud Storage
  60663. .RS 2
  60664. .IP \[bu] 2
  60665. Fix 400 Bad request errors when using multi-thread copy (Nick
  60666. Craig-Wood)
  60667. .RE
  60668. .IP \[bu] 2
  60669. Googlephotos
  60670. .RS 2
  60671. .IP \[bu] 2
  60672. Implement batcher for uploads (Nick Craig-Wood)
  60673. .RE
  60674. .IP \[bu] 2
  60675. Hdfs
  60676. .RS 2
  60677. .IP \[bu] 2
  60678. Added support for list of namenodes in hdfs remote config
  60679. (Tayo-pasedaRJ)
  60680. .RE
  60681. .IP \[bu] 2
  60682. HTTP
  60683. .RS 2
  60684. .IP \[bu] 2
  60685. Implement set backend command to update running backend (Nick
  60686. Craig-Wood)
  60687. .IP \[bu] 2
  60688. Enable methods used with WebDAV (Alen \[vS]iljak)
  60689. .RE
  60690. .IP \[bu] 2
  60691. Jottacloud
  60692. .RS 2
  60693. .IP \[bu] 2
  60694. Add support for reading and writing metadata (albertony)
  60695. .RE
  60696. .IP \[bu] 2
  60697. Onedrive
  60698. .RS 2
  60699. .IP \[bu] 2
  60700. Implement ListR method which gives \f[C]--fast-list\f[R] support (Nick
  60701. Craig-Wood)
  60702. .RS 2
  60703. .IP \[bu] 2
  60704. This must be enabled with the \f[C]--onedrive-delta\f[R] flag
  60705. .RE
  60706. .RE
  60707. .IP \[bu] 2
  60708. Quatrix
  60709. .RS 2
  60710. .IP \[bu] 2
  60711. Add partial upload support (Oksana Zhykina)
  60712. .IP \[bu] 2
  60713. Overwrite files on conflict during server-side move (Oksana Zhykina)
  60714. .RE
  60715. .IP \[bu] 2
  60716. S3
  60717. .RS 2
  60718. .IP \[bu] 2
  60719. Add Linode provider (Nick Craig-Wood)
  60720. .IP \[bu] 2
  60721. Add docs on how to add a new provider (Nick Craig-Wood)
  60722. .IP \[bu] 2
  60723. Fix no error being returned when creating a bucket we don\[aq]t own
  60724. (Nick Craig-Wood)
  60725. .IP \[bu] 2
  60726. Emit a debug message if anonymous credentials are in use (Nick
  60727. Craig-Wood)
  60728. .IP \[bu] 2
  60729. Add \f[C]--s3-disable-multipart-uploads\f[R] flag (Nick Craig-Wood)
  60730. .IP \[bu] 2
  60731. Detect looping when using gcs and versions (Nick Craig-Wood)
  60732. .RE
  60733. .IP \[bu] 2
  60734. SFTP
  60735. .RS 2
  60736. .IP \[bu] 2
  60737. Implement \f[C]--sftp-copy-is-hardlink\f[R] to server side copy as
  60738. hardlink (Nick Craig-Wood)
  60739. .RE
  60740. .IP \[bu] 2
  60741. Smb
  60742. .RS 2
  60743. .IP \[bu] 2
  60744. Fix incorrect \f[C]about\f[R] size by switching to
  60745. \f[C]github.com/cloudsoda/go-smb2\f[R] fork (Nick Craig-Wood)
  60746. .IP \[bu] 2
  60747. Fix modtime of multithread uploads by setting PartialUploads (Nick
  60748. Craig-Wood)
  60749. .RE
  60750. .IP \[bu] 2
  60751. WebDAV
  60752. .RS 2
  60753. .IP \[bu] 2
  60754. Added an rclone vendor to work with \f[C]rclone serve webdav\f[R]
  60755. (Adithya Kumar)
  60756. .RE
  60757. .SS v1.64.2 - 2023-10-19
  60758. .PP
  60759. See commits (https://github.com/rclone/rclone/compare/v1.64.1...v1.64.2)
  60760. .IP \[bu] 2
  60761. Bug Fixes
  60762. .RS 2
  60763. .IP \[bu] 2
  60764. selfupdate: Fix \[dq]invalid hashsum signature\[dq] error (Nick
  60765. Craig-Wood)
  60766. .IP \[bu] 2
  60767. build: Fix docker build running out of space (Nick Craig-Wood)
  60768. .RE
  60769. .SS v1.64.1 - 2023-10-17
  60770. .PP
  60771. See commits (https://github.com/rclone/rclone/compare/v1.64.0...v1.64.1)
  60772. .IP \[bu] 2
  60773. Bug Fixes
  60774. .RS 2
  60775. .IP \[bu] 2
  60776. cmd: Make \f[C]--progress\f[R] output logs in the same format as without
  60777. (Nick Craig-Wood)
  60778. .IP \[bu] 2
  60779. docs fixes (Dimitri Papadopoulos Orfanos, Herby Gillot, Manoj Ghosh,
  60780. Nick Craig-Wood)
  60781. .IP \[bu] 2
  60782. lsjson: Make sure we set the global metadata flag too (Nick Craig-Wood)
  60783. .IP \[bu] 2
  60784. operations
  60785. .RS 2
  60786. .IP \[bu] 2
  60787. Ensure concurrency is no greater than the number of chunks (Pat
  60788. Patterson)
  60789. .IP \[bu] 2
  60790. Fix OpenOptions ignored in copy if operation was a multiThreadCopy
  60791. (Vitor Gomes)
  60792. .IP \[bu] 2
  60793. Fix error message on delete to have file name (Nick Craig-Wood)
  60794. .RE
  60795. .IP \[bu] 2
  60796. serve sftp: Return not supported error for not supported commands (Nick
  60797. Craig-Wood)
  60798. .IP \[bu] 2
  60799. build: Upgrade golang.org/x/net to v0.17.0 to fix HTTP/2 rapid reset
  60800. (Nick Craig-Wood)
  60801. .IP \[bu] 2
  60802. pacer: Fix b2 deadlock by defaulting max connections to unlimited (Nick
  60803. Craig-Wood)
  60804. .RE
  60805. .IP \[bu] 2
  60806. Mount
  60807. .RS 2
  60808. .IP \[bu] 2
  60809. Fix automount not detecting drive is ready (Nick Craig-Wood)
  60810. .RE
  60811. .IP \[bu] 2
  60812. VFS
  60813. .RS 2
  60814. .IP \[bu] 2
  60815. Fix update dir modification time (Saleh Dindar)
  60816. .RE
  60817. .IP \[bu] 2
  60818. Azure Blob
  60819. .RS 2
  60820. .IP \[bu] 2
  60821. Fix \[dq]fatal error: concurrent map writes\[dq] (Nick Craig-Wood)
  60822. .RE
  60823. .IP \[bu] 2
  60824. B2
  60825. .RS 2
  60826. .IP \[bu] 2
  60827. Fix multipart upload: corrupted on transfer: sizes differ XXX vs 0 (Nick
  60828. Craig-Wood)
  60829. .IP \[bu] 2
  60830. Fix locking window when getting mutipart upload URL (Nick Craig-Wood)
  60831. .IP \[bu] 2
  60832. Fix server side copies greater than 4GB (Nick Craig-Wood)
  60833. .IP \[bu] 2
  60834. Fix chunked streaming uploads (Nick Craig-Wood)
  60835. .IP \[bu] 2
  60836. Reduce default \f[C]--b2-upload-concurrency\f[R] to 4 to reduce memory
  60837. usage (Nick Craig-Wood)
  60838. .RE
  60839. .IP \[bu] 2
  60840. Onedrive
  60841. .RS 2
  60842. .IP \[bu] 2
  60843. Fix the configurator to allow \f[C]/teams/ID\f[R] in the config (Nick
  60844. Craig-Wood)
  60845. .RE
  60846. .IP \[bu] 2
  60847. Oracleobjectstorage
  60848. .RS 2
  60849. .IP \[bu] 2
  60850. Fix OpenOptions being ignored in uploadMultipart with chunkWriter (Nick
  60851. Craig-Wood)
  60852. .RE
  60853. .IP \[bu] 2
  60854. S3
  60855. .RS 2
  60856. .IP \[bu] 2
  60857. Fix slice bounds out of range error when listing (Nick Craig-Wood)
  60858. .IP \[bu] 2
  60859. Fix OpenOptions being ignored in uploadMultipart with chunkWriter (Vitor
  60860. Gomes)
  60861. .RE
  60862. .IP \[bu] 2
  60863. Storj
  60864. .RS 2
  60865. .IP \[bu] 2
  60866. Update storj.io/uplink to v1.12.0 (Kaloyan Raev)
  60867. .RE
  60868. .SS v1.64.0 - 2023-09-11
  60869. .PP
  60870. See commits (https://github.com/rclone/rclone/compare/v1.63.0...v1.64.0)
  60871. .IP \[bu] 2
  60872. New backends
  60873. .RS 2
  60874. .IP \[bu] 2
  60875. Proton Drive (https://rclone.org/protondrive/) (Chun-Hung Tseng)
  60876. .IP \[bu] 2
  60877. Quatrix (https://rclone.org/quatrix/) (Oksana, Volodymyr Kit)
  60878. .IP \[bu] 2
  60879. New S3 providers
  60880. .RS 2
  60881. .IP \[bu] 2
  60882. Synology C2 (https://rclone.org/s3/#synology-c2) (BakaWang)
  60883. .IP \[bu] 2
  60884. Leviia (https://rclone.org/s3/#leviia) (Benjamin)
  60885. .RE
  60886. .IP \[bu] 2
  60887. New Jottacloud providers
  60888. .RS 2
  60889. .IP \[bu] 2
  60890. Onlime (https://rclone.org/jottacloud/) (Fjodor42)
  60891. .IP \[bu] 2
  60892. Telia Sky (https://rclone.org/jottacloud/) (NoLooseEnds)
  60893. .RE
  60894. .RE
  60895. .IP \[bu] 2
  60896. Major changes
  60897. .RS 2
  60898. .IP \[bu] 2
  60899. Multi-thread transfers (Vitor Gomes, Nick Craig-Wood, Manoj Ghosh, Edwin
  60900. Mackenzie-Owen)
  60901. .RS 2
  60902. .IP \[bu] 2
  60903. Multi-thread transfers are now available when transferring to:
  60904. .RS 2
  60905. .IP \[bu] 2
  60906. \f[C]local\f[R], \f[C]s3\f[R], \f[C]azureblob\f[R], \f[C]b2\f[R],
  60907. \f[C]oracleobjectstorage\f[R] and \f[C]smb\f[R]
  60908. .RE
  60909. .IP \[bu] 2
  60910. This greatly improves transfer speed between two network sources.
  60911. .IP \[bu] 2
  60912. In memory buffering has been unified between all backends and should
  60913. share memory better.
  60914. .IP \[bu] 2
  60915. See --multi-thread docs (https://rclone.org/docs/#multi-thread-cutoff)
  60916. for more info
  60917. .RE
  60918. .RE
  60919. .IP \[bu] 2
  60920. New commands
  60921. .RS 2
  60922. .IP \[bu] 2
  60923. \f[C]rclone config redacted\f[R] support mechanism for showing redacted
  60924. config (Nick Craig-Wood)
  60925. .RE
  60926. .IP \[bu] 2
  60927. New Features
  60928. .RS 2
  60929. .IP \[bu] 2
  60930. accounting
  60931. .RS 2
  60932. .IP \[bu] 2
  60933. Show server side stats in own lines and not as bytes transferred (Nick
  60934. Craig-Wood)
  60935. .RE
  60936. .IP \[bu] 2
  60937. bisync
  60938. .RS 2
  60939. .IP \[bu] 2
  60940. Add new \f[C]--ignore-listing-checksum\f[R] flag to distinguish from
  60941. \f[C]--ignore-checksum\f[R] (nielash)
  60942. .IP \[bu] 2
  60943. Add experimental \f[C]--resilient\f[R] mode to allow recovery from
  60944. self-correctable errors (nielash)
  60945. .IP \[bu] 2
  60946. Add support for \f[C]--create-empty-src-dirs\f[R] (nielash)
  60947. .IP \[bu] 2
  60948. Dry runs no longer commit filter changes (nielash)
  60949. .IP \[bu] 2
  60950. Enforce \f[C]--check-access\f[R] during \f[C]--resync\f[R] (nielash)
  60951. .IP \[bu] 2
  60952. Apply filters correctly during deletes (nielash)
  60953. .IP \[bu] 2
  60954. Equality check before renaming (leave identical files alone) (nielash)
  60955. .IP \[bu] 2
  60956. Fix \f[C]dryRun\f[R] rc parameter being ignored (nielash)
  60957. .RE
  60958. .IP \[bu] 2
  60959. build
  60960. .RS 2
  60961. .IP \[bu] 2
  60962. Update to \f[C]go1.21\f[R] and make \f[C]go1.19\f[R] the minimum
  60963. required version (Anagh Kumar Baranwal, Nick Craig-Wood)
  60964. .IP \[bu] 2
  60965. Update dependencies (Nick Craig-Wood)
  60966. .IP \[bu] 2
  60967. Add snap installation (hideo aoyama)
  60968. .IP \[bu] 2
  60969. Change Winget Releaser job to \f[C]ubuntu-latest\f[R] (sitiom)
  60970. .RE
  60971. .IP \[bu] 2
  60972. cmd: Refactor and use sysdnotify in more commands (eNV25)
  60973. .IP \[bu] 2
  60974. config: Add \f[C]--multi-thread-chunk-size\f[R] flag (Vitor Gomes)
  60975. .IP \[bu] 2
  60976. doc updates (antoinetran, Benjamin, Bj\[/o]rn Smith, Dean Attali,
  60977. gabriel-suela, James Braza, Justin Hellings, kapitainsky, Mahad,
  60978. Masamune3210, Nick Craig-Wood, Nihaal Sangha, Niklas Hamb\[:u]chen,
  60979. Raymond Berger, r-ricci, Sawada Tsunayoshi, Tiago Boeing, Vladislav
  60980. Vorobev)
  60981. .IP \[bu] 2
  60982. fs
  60983. .RS 2
  60984. .IP \[bu] 2
  60985. Use atomic types everywhere (Roberto Ricci)
  60986. .IP \[bu] 2
  60987. When \f[C]--max-transfer\f[R] limit is reached exit with code (10)
  60988. (kapitainsky)
  60989. .IP \[bu] 2
  60990. Add rclone completion powershell - basic implementation only (Nick
  60991. Craig-Wood)
  60992. .RE
  60993. .IP \[bu] 2
  60994. http servers: Allow CORS to be set with \f[C]--allow-origin\f[R] flag
  60995. (yuudi)
  60996. .IP \[bu] 2
  60997. lib/rest: Remove unnecessary \f[C]nil\f[R] check (Eng Zer Jun)
  60998. .IP \[bu] 2
  60999. ncdu: Add keybinding to rescan filesystem (eNV25)
  61000. .IP \[bu] 2
  61001. rc
  61002. .RS 2
  61003. .IP \[bu] 2
  61004. Add \f[C]executeId\f[R] to job listings (yuudi)
  61005. .IP \[bu] 2
  61006. Add \f[C]core/du\f[R] to measure local disk usage (Nick Craig-Wood)
  61007. .IP \[bu] 2
  61008. Add \f[C]operations/settier\f[R] to API (Drew Stinnett)
  61009. .RE
  61010. .IP \[bu] 2
  61011. rclone test info: Add \f[C]--check-base32768\f[R] flag to check can
  61012. store all base32768 characters (Nick Craig-Wood)
  61013. .IP \[bu] 2
  61014. rmdirs: Remove directories concurrently controlled by
  61015. \f[C]--checkers\f[R] (Nick Craig-Wood)
  61016. .RE
  61017. .IP \[bu] 2
  61018. Bug Fixes
  61019. .RS 2
  61020. .IP \[bu] 2
  61021. accounting: Don\[aq]t stop calculating average transfer speed until the
  61022. operation is complete (Jacob Hands)
  61023. .IP \[bu] 2
  61024. fs: Fix \f[C]transferTime\f[R] not being set in JSON logs (Jacob Hands)
  61025. .IP \[bu] 2
  61026. fshttp: Fix \f[C]--bind 0.0.0.0\f[R] allowing IPv6 and
  61027. \f[C]--bind ::0\f[R] allowing IPv4 (Nick Craig-Wood)
  61028. .IP \[bu] 2
  61029. operations: Fix overlapping check on case insensitive file systems (Nick
  61030. Craig-Wood)
  61031. .IP \[bu] 2
  61032. serve dlna: Fix MIME type if backend can\[aq]t identify it (Nick
  61033. Craig-Wood)
  61034. .IP \[bu] 2
  61035. serve ftp: Fix race condition when using the auth proxy (Nick
  61036. Craig-Wood)
  61037. .IP \[bu] 2
  61038. serve sftp: Fix hash calculations with \f[C]--vfs-cache-mode full\f[R]
  61039. (Nick Craig-Wood)
  61040. .IP \[bu] 2
  61041. serve webdav: Fix error: Expecting fs.Object or fs.Directory, got
  61042. \f[C]nil\f[R] (Nick Craig-Wood)
  61043. .IP \[bu] 2
  61044. sync: Fix lockup with \f[C]--cutoff-mode=soft\f[R] and
  61045. \f[C]--max-duration\f[R] (Nick Craig-Wood)
  61046. .RE
  61047. .IP \[bu] 2
  61048. Mount
  61049. .RS 2
  61050. .IP \[bu] 2
  61051. fix: Mount parsing for linux (Anagh Kumar Baranwal)
  61052. .RE
  61053. .IP \[bu] 2
  61054. VFS
  61055. .RS 2
  61056. .IP \[bu] 2
  61057. Add \f[C]--vfs-cache-min-free-space\f[R] to control minimum free space
  61058. on the disk containing the cache (Nick Craig-Wood)
  61059. .IP \[bu] 2
  61060. Added cache cleaner for directories to reduce memory usage (Anagh Kumar
  61061. Baranwal)
  61062. .IP \[bu] 2
  61063. Update parent directory modtimes on vfs actions (David Pedersen)
  61064. .IP \[bu] 2
  61065. Keep virtual directory status accurate and reduce deadlock potential
  61066. (Anagh Kumar Baranwal)
  61067. .IP \[bu] 2
  61068. Make sure struct field is aligned for atomic access (Roberto Ricci)
  61069. .RE
  61070. .IP \[bu] 2
  61071. Local
  61072. .RS 2
  61073. .IP \[bu] 2
  61074. Rmdir return an error if the path is not a dir (zjx20)
  61075. .RE
  61076. .IP \[bu] 2
  61077. Azure Blob
  61078. .RS 2
  61079. .IP \[bu] 2
  61080. Implement \f[C]OpenChunkWriter\f[R] and multi-thread uploads (Nick
  61081. Craig-Wood)
  61082. .IP \[bu] 2
  61083. Fix creation of directory markers (Nick Craig-Wood)
  61084. .IP \[bu] 2
  61085. Fix purging with directory markers (Nick Craig-Wood)
  61086. .RE
  61087. .IP \[bu] 2
  61088. B2
  61089. .RS 2
  61090. .IP \[bu] 2
  61091. Implement \f[C]OpenChunkWriter\f[R] and multi-thread uploads (Nick
  61092. Craig-Wood)
  61093. .IP \[bu] 2
  61094. Fix rclone link when object path contains special characters (Alishan
  61095. Ladhani)
  61096. .RE
  61097. .IP \[bu] 2
  61098. Box
  61099. .RS 2
  61100. .IP \[bu] 2
  61101. Add polling support (David Sze)
  61102. .IP \[bu] 2
  61103. Add \f[C]--box-impersonate\f[R] to impersonate a user ID (Nick
  61104. Craig-Wood)
  61105. .IP \[bu] 2
  61106. Fix unhelpful decoding of error messages into decimal numbers (Nick
  61107. Craig-Wood)
  61108. .RE
  61109. .IP \[bu] 2
  61110. Chunker
  61111. .RS 2
  61112. .IP \[bu] 2
  61113. Update documentation to mention issue with small files (Ricardo D\[aq]O.
  61114. Albanus)
  61115. .RE
  61116. .IP \[bu] 2
  61117. Compress
  61118. .RS 2
  61119. .IP \[bu] 2
  61120. Fix ChangeNotify (Nick Craig-Wood)
  61121. .RE
  61122. .IP \[bu] 2
  61123. Drive
  61124. .RS 2
  61125. .IP \[bu] 2
  61126. Add \f[C]--drive-fast-list-bug-fix\f[R] to control ListR bug workaround
  61127. (Nick Craig-Wood)
  61128. .RE
  61129. .IP \[bu] 2
  61130. Fichier
  61131. .RS 2
  61132. .IP \[bu] 2
  61133. Implement \f[C]DirMove\f[R] (Nick Craig-Wood)
  61134. .IP \[bu] 2
  61135. Fix error code parsing (alexia)
  61136. .RE
  61137. .IP \[bu] 2
  61138. FTP
  61139. .RS 2
  61140. .IP \[bu] 2
  61141. Add socks_proxy support for SOCKS5 proxies (Zach)
  61142. .IP \[bu] 2
  61143. Fix 425 \[dq]TLS session of data connection not resumed\[dq] errors
  61144. (Nick Craig-Wood)
  61145. .RE
  61146. .IP \[bu] 2
  61147. Hdfs
  61148. .RS 2
  61149. .IP \[bu] 2
  61150. Retry \[dq]replication in progress\[dq] errors when uploading (Nick
  61151. Craig-Wood)
  61152. .IP \[bu] 2
  61153. Fix uploading to the wrong object on Update with overridden remote name
  61154. (Nick Craig-Wood)
  61155. .RE
  61156. .IP \[bu] 2
  61157. HTTP
  61158. .RS 2
  61159. .IP \[bu] 2
  61160. CORS should not be sent if not set (yuudi)
  61161. .IP \[bu] 2
  61162. Fix webdav OPTIONS response (yuudi)
  61163. .RE
  61164. .IP \[bu] 2
  61165. Opendrive
  61166. .RS 2
  61167. .IP \[bu] 2
  61168. Fix List on a just deleted and remade directory (Nick Craig-Wood)
  61169. .RE
  61170. .IP \[bu] 2
  61171. Oracleobjectstorage
  61172. .RS 2
  61173. .IP \[bu] 2
  61174. Use rclone\[aq]s rate limiter in multipart transfers (Manoj Ghosh)
  61175. .IP \[bu] 2
  61176. Implement \f[C]OpenChunkWriter\f[R] and multi-thread uploads (Manoj
  61177. Ghosh)
  61178. .RE
  61179. .IP \[bu] 2
  61180. S3
  61181. .RS 2
  61182. .IP \[bu] 2
  61183. Refactor multipart upload to use \f[C]OpenChunkWriter\f[R] and
  61184. \f[C]ChunkWriter\f[R] (Vitor Gomes)
  61185. .IP \[bu] 2
  61186. Factor generic multipart upload into \f[C]lib/multipart\f[R] (Nick
  61187. Craig-Wood)
  61188. .IP \[bu] 2
  61189. Fix purging of root directory with \f[C]--s3-directory-markers\f[R]
  61190. (Nick Craig-Wood)
  61191. .IP \[bu] 2
  61192. Add \f[C]rclone backend set\f[R] command to update the running config
  61193. (Nick Craig-Wood)
  61194. .IP \[bu] 2
  61195. Add \f[C]rclone backend restore-status\f[R] command (Nick Craig-Wood)
  61196. .RE
  61197. .IP \[bu] 2
  61198. SFTP
  61199. .RS 2
  61200. .IP \[bu] 2
  61201. Stop uploads re-using the same ssh connection to improve performance
  61202. (Nick Craig-Wood)
  61203. .IP \[bu] 2
  61204. Add \f[C]--sftp-ssh\f[R] to specify an external ssh binary to use (Nick
  61205. Craig-Wood)
  61206. .IP \[bu] 2
  61207. Add socks_proxy support for SOCKS5 proxies (Zach)
  61208. .IP \[bu] 2
  61209. Support dynamic \f[C]--sftp-path-override\f[R] (nielash)
  61210. .IP \[bu] 2
  61211. Fix spurious warning when using \f[C]--sftp-ssh\f[R] (Nick Craig-Wood)
  61212. .RE
  61213. .IP \[bu] 2
  61214. Smb
  61215. .RS 2
  61216. .IP \[bu] 2
  61217. Implement multi-threaded writes for copies to smb (Edwin Mackenzie-Owen)
  61218. .RE
  61219. .IP \[bu] 2
  61220. Storj
  61221. .RS 2
  61222. .IP \[bu] 2
  61223. Performance improvement for large file uploads (Kaloyan Raev)
  61224. .RE
  61225. .IP \[bu] 2
  61226. Swift
  61227. .RS 2
  61228. .IP \[bu] 2
  61229. Fix HEADing 0-length objects when \f[C]--swift-no-large-objects\f[R] set
  61230. (Julian Lepinski)
  61231. .RE
  61232. .IP \[bu] 2
  61233. Union
  61234. .RS 2
  61235. .IP \[bu] 2
  61236. Add \f[C]:writback\f[R] to act as a simple cache (Nick Craig-Wood)
  61237. .RE
  61238. .IP \[bu] 2
  61239. WebDAV
  61240. .RS 2
  61241. .IP \[bu] 2
  61242. Nextcloud: fix segment violation in low-level retry (Paul)
  61243. .RE
  61244. .IP \[bu] 2
  61245. Zoho
  61246. .RS 2
  61247. .IP \[bu] 2
  61248. Remove Range requests workarounds to fix integration tests (Nick
  61249. Craig-Wood)
  61250. .RE
  61251. .SS v1.63.1 - 2023-07-17
  61252. .PP
  61253. See commits (https://github.com/rclone/rclone/compare/v1.63.0...v1.63.1)
  61254. .IP \[bu] 2
  61255. Bug Fixes
  61256. .RS 2
  61257. .IP \[bu] 2
  61258. build: Fix macos builds for versions < 12 (Anagh Kumar Baranwal)
  61259. .IP \[bu] 2
  61260. dirtree: Fix performance with large directories of directories and
  61261. \f[C]--fast-list\f[R] (Nick Craig-Wood)
  61262. .IP \[bu] 2
  61263. operations
  61264. .RS 2
  61265. .IP \[bu] 2
  61266. Fix deadlock when using \f[C]lsd\f[R]/\f[C]ls\f[R] with
  61267. \f[C]--progress\f[R] (Nick Craig-Wood)
  61268. .IP \[bu] 2
  61269. Fix \f[C].rclonelink\f[R] files not being converted back to symlinks
  61270. (Nick Craig-Wood)
  61271. .RE
  61272. .IP \[bu] 2
  61273. doc fixes (Dean Attali, Mahad, Nick Craig-Wood, Sawada Tsunayoshi,
  61274. Vladislav Vorobev)
  61275. .RE
  61276. .IP \[bu] 2
  61277. Local
  61278. .RS 2
  61279. .IP \[bu] 2
  61280. Fix partial directory read for corrupted filesystem (Nick Craig-Wood)
  61281. .RE
  61282. .IP \[bu] 2
  61283. Box
  61284. .RS 2
  61285. .IP \[bu] 2
  61286. Fix reconnect failing with HTTP 400 Bad Request (albertony)
  61287. .RE
  61288. .IP \[bu] 2
  61289. Smb
  61290. .RS 2
  61291. .IP \[bu] 2
  61292. Fix \[dq]Statfs failed: bucket or container name is needed\[dq] when
  61293. mounting (Nick Craig-Wood)
  61294. .RE
  61295. .IP \[bu] 2
  61296. WebDAV
  61297. .RS 2
  61298. .IP \[bu] 2
  61299. Nextcloud: fix must use /dav/files/USER endpoint not /webdav error
  61300. (Paul)
  61301. .IP \[bu] 2
  61302. Nextcloud chunking: add more guidance for the user to check the config
  61303. (darix)
  61304. .RE
  61305. .SS v1.63.0 - 2023-06-30
  61306. .PP
  61307. See commits (https://github.com/rclone/rclone/compare/v1.62.0...v1.63.0)
  61308. .IP \[bu] 2
  61309. New backends
  61310. .RS 2
  61311. .IP \[bu] 2
  61312. Pikpak (https://rclone.org/pikpak/) (wiserain)
  61313. .IP \[bu] 2
  61314. New S3 providers
  61315. .RS 2
  61316. .IP \[bu] 2
  61317. petabox.io (https://rclone.org/s3/#petabox) (Andrei Smirnov)
  61318. .IP \[bu] 2
  61319. Google Cloud Storage (https://rclone.org/s3/#google-cloud-storage)
  61320. (Anthony Pessy)
  61321. .RE
  61322. .IP \[bu] 2
  61323. New WebDAV providers
  61324. .RS 2
  61325. .IP \[bu] 2
  61326. Fastmail (https://rclone.org/webdav/#fastmail-files) (Arnavion)
  61327. .RE
  61328. .RE
  61329. .IP \[bu] 2
  61330. Major changes
  61331. .RS 2
  61332. .IP \[bu] 2
  61333. Files will be copied to a temporary name ending in \f[C].partial\f[R]
  61334. when copying to \f[C]local\f[R],\f[C]ftp\f[R],\f[C]sftp\f[R] then
  61335. renamed at the end of the transfer.
  61336. (Janne Hellsten, Nick Craig-Wood)
  61337. .RS 2
  61338. .IP \[bu] 2
  61339. This helps with data integrity as we don\[aq]t delete the existing file
  61340. until the new one is complete.
  61341. .IP \[bu] 2
  61342. It can be disabled with the --inplace (https://rclone.org/docs/#inplace)
  61343. flag.
  61344. .IP \[bu] 2
  61345. This behaviour will also happen if the backend is wrapped, for example
  61346. \f[C]sftp\f[R] wrapped with \f[C]crypt\f[R].
  61347. .RE
  61348. .IP \[bu] 2
  61349. The s3 (https://rclone.org/s3/#s3-directory-markers), azureblob and gcs
  61350. backends now support directory markers so empty directories are
  61351. supported (J\[u0101]nis Bebr\[u012B]tis, Nick Craig-Wood)
  61352. .IP \[bu] 2
  61353. The --default-time (https://rclone.org/docs/#default-time-time) flag now
  61354. controls the unknown modification time of files/dirs (Nick Craig-Wood)
  61355. .RS 2
  61356. .IP \[bu] 2
  61357. If a file or directory does not have a modification time rclone can read
  61358. then rclone will display this fixed time instead.
  61359. .IP \[bu] 2
  61360. For the old behaviour use \f[C]--default-time 0s\f[R] which will set
  61361. this time to the time rclone started up.
  61362. .RE
  61363. .RE
  61364. .IP \[bu] 2
  61365. New Features
  61366. .RS 2
  61367. .IP \[bu] 2
  61368. build
  61369. .RS 2
  61370. .IP \[bu] 2
  61371. Modernise linters in use and fixup all affected code (albertony)
  61372. .IP \[bu] 2
  61373. Push docker beta to GHCR (GitHub container registry) (Richard Tweed)
  61374. .RE
  61375. .IP \[bu] 2
  61376. cat: Add \f[C]--separator\f[R] option to cat command (Loren Gordon)
  61377. .IP \[bu] 2
  61378. config
  61379. .RS 2
  61380. .IP \[bu] 2
  61381. Do not remove/overwrite other files during config file save (albertony)
  61382. .IP \[bu] 2
  61383. Do not overwrite config file symbolic link (albertony)
  61384. .IP \[bu] 2
  61385. Stop \f[C]config create\f[R] making invalid config files (Nick
  61386. Craig-Wood)
  61387. .RE
  61388. .IP \[bu] 2
  61389. doc updates (Adam K, Aditya Basu, albertony, asdffdsazqqq, Damo,
  61390. danielkrajnik, Dimitri Papadopoulos, dlitster, Drew Parsons, jumbi77,
  61391. kapitainsky, mac-15, Mariusz Suchodolski, Nick Craig-Wood, NickIAm,
  61392. Rintze Zelle, Stanislav Gromov, Tareq Sharafy, URenko, yuudi, Zach Kipp)
  61393. .IP \[bu] 2
  61394. fs
  61395. .RS 2
  61396. .IP \[bu] 2
  61397. Add \f[C]size\f[R] to JSON logs when moving or copying an object (Nick
  61398. Craig-Wood)
  61399. .IP \[bu] 2
  61400. Allow boolean features to be enabled with \f[C]--disable !Feature\f[R]
  61401. (Nick Craig-Wood)
  61402. .RE
  61403. .IP \[bu] 2
  61404. genautocomplete: Rename to \f[C]completion\f[R] with alias to the old
  61405. name (Nick Craig-Wood)
  61406. .IP \[bu] 2
  61407. librclone: Added example on using \f[C]librclone\f[R] with Go (alankrit)
  61408. .IP \[bu] 2
  61409. lsjson: Make \f[C]--stat\f[R] more efficient (Nick Craig-Wood)
  61410. .IP \[bu] 2
  61411. operations
  61412. .RS 2
  61413. .IP \[bu] 2
  61414. Implement \f[C]--multi-thread-write-buffer-size\f[R] for speed
  61415. improvements on downloads (Paulo Schreiner)
  61416. .IP \[bu] 2
  61417. Reopen downloads on error when using \f[C]check --download\f[R] and
  61418. \f[C]cat\f[R] (Nick Craig-Wood)
  61419. .RE
  61420. .IP \[bu] 2
  61421. rc: \f[C]config/listremotes\f[R] includes remotes defined with
  61422. environment variables (kapitainsky)
  61423. .IP \[bu] 2
  61424. selfupdate: Obey \f[C]--no-check-certificate\f[R] flag (Nick Craig-Wood)
  61425. .IP \[bu] 2
  61426. serve restic: Trigger systemd notify (Shyim)
  61427. .IP \[bu] 2
  61428. serve webdav: Implement owncloud checksum and modtime extensions
  61429. (WeidiDeng)
  61430. .IP \[bu] 2
  61431. sync: \f[C]--suffix-keep-extension\f[R] preserve 2 part extensions like
  61432. \&.tar.gz (Nick Craig-Wood)
  61433. .RE
  61434. .IP \[bu] 2
  61435. Bug Fixes
  61436. .RS 2
  61437. .IP \[bu] 2
  61438. accounting
  61439. .RS 2
  61440. .IP \[bu] 2
  61441. Fix Prometheus metrics to be the same as \f[C]core/stats\f[R] (Nick
  61442. Craig-Wood)
  61443. .IP \[bu] 2
  61444. Bwlimit signal handler should always start (Sam Lai)
  61445. .RE
  61446. .IP \[bu] 2
  61447. bisync: Fix \f[C]maxDelete\f[R] parameter being ignored via the rc (Nick
  61448. Craig-Wood)
  61449. .IP \[bu] 2
  61450. cmd/ncdu: Fix screen corruption when logging (eNV25)
  61451. .IP \[bu] 2
  61452. filter: Fix deadlock with errors on \f[C]--files-from\f[R] (douchen)
  61453. .IP \[bu] 2
  61454. fs
  61455. .RS 2
  61456. .IP \[bu] 2
  61457. Fix interaction between \f[C]--progress\f[R] and \f[C]--interactive\f[R]
  61458. (Nick Craig-Wood)
  61459. .IP \[bu] 2
  61460. Fix infinite recursive call in pacer ModifyCalculator (fixes issue
  61461. reported by the staticcheck linter) (albertony)
  61462. .RE
  61463. .IP \[bu] 2
  61464. lib/atexit: Ensure OnError only calls cancel function once (Nick
  61465. Craig-Wood)
  61466. .IP \[bu] 2
  61467. lib/rest: Fix problems re-using HTTP connections (Nick Craig-Wood)
  61468. .IP \[bu] 2
  61469. rc
  61470. .RS 2
  61471. .IP \[bu] 2
  61472. Fix \f[C]operations/stat\f[R] with trailing \f[C]/\f[R] (Nick
  61473. Craig-Wood)
  61474. .IP \[bu] 2
  61475. Fix missing \f[C]--rc\f[R] flags (Nick Craig-Wood)
  61476. .IP \[bu] 2
  61477. Fix output of Time values in \f[C]options/get\f[R] (Nick Craig-Wood)
  61478. .RE
  61479. .IP \[bu] 2
  61480. serve dlna: Fix potential data race (Nick Craig-Wood)
  61481. .IP \[bu] 2
  61482. version: Fix reported os/kernel version for windows (albertony)
  61483. .RE
  61484. .IP \[bu] 2
  61485. Mount
  61486. .RS 2
  61487. .IP \[bu] 2
  61488. Add \f[C]--mount-case-insensitive\f[R] to force the mount to be case
  61489. insensitive (Nick Craig-Wood)
  61490. .IP \[bu] 2
  61491. Removed unnecessary byte slice allocation for reads (Anagh Kumar
  61492. Baranwal)
  61493. .IP \[bu] 2
  61494. Clarify rclone mount error when installed via homebrew (Nick Craig-Wood)
  61495. .IP \[bu] 2
  61496. Added _netdev to the example mount so it gets treated as a remote-fs
  61497. rather than local-fs (Anagh Kumar Baranwal)
  61498. .RE
  61499. .IP \[bu] 2
  61500. Mount2
  61501. .RS 2
  61502. .IP \[bu] 2
  61503. Updated go-fuse version (Anagh Kumar Baranwal)
  61504. .IP \[bu] 2
  61505. Fixed statfs (Anagh Kumar Baranwal)
  61506. .IP \[bu] 2
  61507. Disable xattrs (Anagh Kumar Baranwal)
  61508. .RE
  61509. .IP \[bu] 2
  61510. VFS
  61511. .RS 2
  61512. .IP \[bu] 2
  61513. Add MkdirAll function to make a directory and all beneath (Nick
  61514. Craig-Wood)
  61515. .IP \[bu] 2
  61516. Fix reload: failed to add virtual dir entry: file does not exist (Nick
  61517. Craig-Wood)
  61518. .IP \[bu] 2
  61519. Fix writing to a read only directory creating spurious directory entries
  61520. (WeidiDeng)
  61521. .IP \[bu] 2
  61522. Fix potential data race (Nick Craig-Wood)
  61523. .IP \[bu] 2
  61524. Fix backends being Shutdown too early when startup takes a long time
  61525. (Nick Craig-Wood)
  61526. .RE
  61527. .IP \[bu] 2
  61528. Local
  61529. .RS 2
  61530. .IP \[bu] 2
  61531. Fix filtering of symlinks with \f[C]-l\f[R]/\f[C]--links\f[R] flag (Nick
  61532. Craig-Wood)
  61533. .IP \[bu] 2
  61534. Fix /path/to/file.rclonelink when \f[C]-l\f[R]/\f[C]--links\f[R] is in
  61535. use (Nick Craig-Wood)
  61536. .IP \[bu] 2
  61537. Fix crash with \f[C]--metadata\f[R] on Android (Nick Craig-Wood)
  61538. .RE
  61539. .IP \[bu] 2
  61540. Cache
  61541. .RS 2
  61542. .IP \[bu] 2
  61543. Fix backends shutting down when in use when used via the rc (Nick
  61544. Craig-Wood)
  61545. .RE
  61546. .IP \[bu] 2
  61547. Crypt
  61548. .RS 2
  61549. .IP \[bu] 2
  61550. Add \f[C]--crypt-suffix\f[R] option to set a custom suffix for encrypted
  61551. files (jladbrook)
  61552. .IP \[bu] 2
  61553. Add \f[C]--crypt-pass-bad-blocks\f[R] to allow corrupted file output
  61554. (Nick Craig-Wood)
  61555. .IP \[bu] 2
  61556. Fix reading 0 length files (Nick Craig-Wood)
  61557. .IP \[bu] 2
  61558. Try not to return \[dq]unexpected EOF\[dq] error (Nick Craig-Wood)
  61559. .IP \[bu] 2
  61560. Reduce allocations (albertony)
  61561. .IP \[bu] 2
  61562. Recommend Dropbox for \f[C]base32768\f[R] encoding (Nick Craig-Wood)
  61563. .RE
  61564. .IP \[bu] 2
  61565. Azure Blob
  61566. .RS 2
  61567. .IP \[bu] 2
  61568. Empty directory markers (Nick Craig-Wood)
  61569. .IP \[bu] 2
  61570. Support azure workload identities (Tareq Sharafy)
  61571. .IP \[bu] 2
  61572. Fix azure blob uploads with multiple bits of metadata (Nick Craig-Wood)
  61573. .IP \[bu] 2
  61574. Fix azurite compatibility by sending nil tier if set to empty string
  61575. (Roel Arents)
  61576. .RE
  61577. .IP \[bu] 2
  61578. Combine
  61579. .RS 2
  61580. .IP \[bu] 2
  61581. Implement missing methods (Nick Craig-Wood)
  61582. .IP \[bu] 2
  61583. Fix goroutine stack overflow on bad object (Nick Craig-Wood)
  61584. .RE
  61585. .IP \[bu] 2
  61586. Drive
  61587. .RS 2
  61588. .IP \[bu] 2
  61589. Add \f[C]--drive-env-auth\f[R] to get IAM credentials from runtime
  61590. (Peter Brunner)
  61591. .IP \[bu] 2
  61592. Update drive service account guide (Juang, Yi-Lin)
  61593. .IP \[bu] 2
  61594. Fix change notify picking up files outside the root (Nick Craig-Wood)
  61595. .IP \[bu] 2
  61596. Fix trailing slash mis-identificaton of folder as file (Nick Craig-Wood)
  61597. .IP \[bu] 2
  61598. Fix incorrect remote after Update on object (Nick Craig-Wood)
  61599. .RE
  61600. .IP \[bu] 2
  61601. Dropbox
  61602. .RS 2
  61603. .IP \[bu] 2
  61604. Implement \f[C]--dropbox-pacer-min-sleep\f[R] flag (Nick Craig-Wood)
  61605. .IP \[bu] 2
  61606. Fix the dropbox batcher stalling (Misty)
  61607. .RE
  61608. .IP \[bu] 2
  61609. Fichier
  61610. .RS 2
  61611. .IP \[bu] 2
  61612. Add \f[C]--ficicher-cdn\f[R] option to use the CDN for download (Nick
  61613. Craig-Wood)
  61614. .RE
  61615. .IP \[bu] 2
  61616. FTP
  61617. .RS 2
  61618. .IP \[bu] 2
  61619. Lower log message priority when \f[C]SetModTime\f[R] is not supported to
  61620. debug (Tobias Gion)
  61621. .IP \[bu] 2
  61622. Fix \[dq]unsupported LIST line\[dq] errors on startup (Nick Craig-Wood)
  61623. .IP \[bu] 2
  61624. Fix \[dq]501 Not a valid pathname.\[dq] errors when creating directories
  61625. (Nick Craig-Wood)
  61626. .RE
  61627. .IP \[bu] 2
  61628. Google Cloud Storage
  61629. .RS 2
  61630. .IP \[bu] 2
  61631. Empty directory markers (J\[u0101]nis Bebr\[u012B]tis, Nick Craig-Wood)
  61632. .IP \[bu] 2
  61633. Added \f[C]--gcs-user-project\f[R] needed for requester pays
  61634. (Christopher Merry)
  61635. .RE
  61636. .IP \[bu] 2
  61637. HTTP
  61638. .RS 2
  61639. .IP \[bu] 2
  61640. Add client certificate user auth middleware.
  61641. This can auth \f[C]serve restic\f[R] from the username in the client
  61642. cert.
  61643. (Peter Fern)
  61644. .RE
  61645. .IP \[bu] 2
  61646. Jottacloud
  61647. .RS 2
  61648. .IP \[bu] 2
  61649. Fix vfs writeback stuck in a failed upload loop with file versioning
  61650. disabled (albertony)
  61651. .RE
  61652. .IP \[bu] 2
  61653. Onedrive
  61654. .RS 2
  61655. .IP \[bu] 2
  61656. Add \f[C]--onedrive-av-override\f[R] flag to download files flagged as
  61657. virus (Nick Craig-Wood)
  61658. .IP \[bu] 2
  61659. Fix quickxorhash on 32 bit architectures (Nick Craig-Wood)
  61660. .IP \[bu] 2
  61661. Report any list errors during \f[C]rclone cleanup\f[R] (albertony)
  61662. .RE
  61663. .IP \[bu] 2
  61664. Putio
  61665. .RS 2
  61666. .IP \[bu] 2
  61667. Fix uploading to the wrong object on Update with overridden remote name
  61668. (Nick Craig-Wood)
  61669. .IP \[bu] 2
  61670. Fix modification times not being preserved for server side copy and move
  61671. (Nick Craig-Wood)
  61672. .IP \[bu] 2
  61673. Fix server side copy failures (400 errors) (Nick Craig-Wood)
  61674. .RE
  61675. .IP \[bu] 2
  61676. S3
  61677. .RS 2
  61678. .IP \[bu] 2
  61679. Empty directory markers (J\[u0101]nis Bebr\[u012B]tis, Nick Craig-Wood)
  61680. .IP \[bu] 2
  61681. Update Scaleway storage classes (Brian Starkey)
  61682. .IP \[bu] 2
  61683. Fix \f[C]--s3-versions\f[R] on individual objects (Nick Craig-Wood)
  61684. .IP \[bu] 2
  61685. Fix hang on aborting multipart upload with iDrive e2 (Nick Craig-Wood)
  61686. .IP \[bu] 2
  61687. Fix missing \[dq]tier\[dq] metadata (Nick Craig-Wood)
  61688. .IP \[bu] 2
  61689. Fix V3sign: add missing subresource delete (cc)
  61690. .IP \[bu] 2
  61691. Fix Arvancloud Domain and region changes and alphabetise the provider
  61692. (Ehsan Tadayon)
  61693. .IP \[bu] 2
  61694. Fix Qiniu KODO quirks virtualHostStyle is false (zzq)
  61695. .RE
  61696. .IP \[bu] 2
  61697. SFTP
  61698. .RS 2
  61699. .IP \[bu] 2
  61700. Add \f[C]--sftp-host-key-algorithms\f[R] to allow specifying SSH host
  61701. key algorithms (Joel)
  61702. .IP \[bu] 2
  61703. Fix using \f[C]--sftp-key-use-agent\f[R] and \f[C]--sftp-key-file\f[R]
  61704. together needing private key file (Arnav Singh)
  61705. .IP \[bu] 2
  61706. Fix move to allow overwriting existing files (Nick Craig-Wood)
  61707. .IP \[bu] 2
  61708. Don\[aq]t stat directories before listing them (Nick Craig-Wood)
  61709. .IP \[bu] 2
  61710. Don\[aq]t check remote points to a file if it ends with / (Nick
  61711. Craig-Wood)
  61712. .RE
  61713. .IP \[bu] 2
  61714. Sharefile
  61715. .RS 2
  61716. .IP \[bu] 2
  61717. Disable streamed transfers as they no longer work (Nick Craig-Wood)
  61718. .RE
  61719. .IP \[bu] 2
  61720. Smb
  61721. .RS 2
  61722. .IP \[bu] 2
  61723. Code cleanup to avoid overwriting ctx before first use (fixes issue
  61724. reported by the staticcheck linter) (albertony)
  61725. .RE
  61726. .IP \[bu] 2
  61727. Storj
  61728. .RS 2
  61729. .IP \[bu] 2
  61730. Fix \[dq]uplink: too many requests\[dq] errors when uploading to the
  61731. same file (Nick Craig-Wood)
  61732. .IP \[bu] 2
  61733. Fix uploading to the wrong object on Update with overridden remote name
  61734. (Nick Craig-Wood)
  61735. .RE
  61736. .IP \[bu] 2
  61737. Swift
  61738. .RS 2
  61739. .IP \[bu] 2
  61740. Ignore 404 error when deleting an object (Nick Craig-Wood)
  61741. .RE
  61742. .IP \[bu] 2
  61743. Union
  61744. .RS 2
  61745. .IP \[bu] 2
  61746. Implement missing methods (Nick Craig-Wood)
  61747. .IP \[bu] 2
  61748. Allow errors to be unwrapped for inspection (Nick Craig-Wood)
  61749. .RE
  61750. .IP \[bu] 2
  61751. Uptobox
  61752. .RS 2
  61753. .IP \[bu] 2
  61754. Add \f[C]--uptobox-private\f[R] flag to make all uploaded files private
  61755. (Nick Craig-Wood)
  61756. .IP \[bu] 2
  61757. Fix improper regex (Aaron Gokaslan)
  61758. .IP \[bu] 2
  61759. Fix Update returning the wrong object (Nick Craig-Wood)
  61760. .IP \[bu] 2
  61761. Fix rmdir declaring that directories weren\[aq]t empty (Nick Craig-Wood)
  61762. .RE
  61763. .IP \[bu] 2
  61764. WebDAV
  61765. .RS 2
  61766. .IP \[bu] 2
  61767. nextcloud: Add support for chunked uploads (Paul)
  61768. .IP \[bu] 2
  61769. Set modtime using propset for owncloud and nextcloud (WeidiDeng)
  61770. .IP \[bu] 2
  61771. Make pacer minSleep configurable with \f[C]--webdav-pacer-min-sleep\f[R]
  61772. (ed)
  61773. .IP \[bu] 2
  61774. Fix server side copy/move not overwriting (WeidiDeng)
  61775. .IP \[bu] 2
  61776. Fix modtime on server side copy for owncloud and nextcloud (Nick
  61777. Craig-Wood)
  61778. .RE
  61779. .IP \[bu] 2
  61780. Yandex
  61781. .RS 2
  61782. .IP \[bu] 2
  61783. Fix 400 Bad Request on transfer failure (Nick Craig-Wood)
  61784. .RE
  61785. .IP \[bu] 2
  61786. Zoho
  61787. .RS 2
  61788. .IP \[bu] 2
  61789. Fix downloads with \f[C]Range:\f[R] header returning the wrong data
  61790. (Nick Craig-Wood)
  61791. .RE
  61792. .SS v1.62.2 - 2023-03-16
  61793. .PP
  61794. See commits (https://github.com/rclone/rclone/compare/v1.62.1...v1.62.2)
  61795. .IP \[bu] 2
  61796. Bug Fixes
  61797. .RS 2
  61798. .IP \[bu] 2
  61799. docker volume plugin: Add missing fuse3 dependency (Nick Craig-Wood)
  61800. .IP \[bu] 2
  61801. docs: Fix size documentation (asdffdsazqqq)
  61802. .RE
  61803. .IP \[bu] 2
  61804. FTP
  61805. .RS 2
  61806. .IP \[bu] 2
  61807. Fix 426 errors on downloads with vsftpd (Lesmiscore)
  61808. .RE
  61809. .SS v1.62.1 - 2023-03-15
  61810. .PP
  61811. See commits (https://github.com/rclone/rclone/compare/v1.62.0...v1.62.1)
  61812. .IP \[bu] 2
  61813. Bug Fixes
  61814. .RS 2
  61815. .IP \[bu] 2
  61816. docker: Add missing fuse3 dependency (cycneuramus)
  61817. .IP \[bu] 2
  61818. build: Update release docs to be more careful with the tag (Nick
  61819. Craig-Wood)
  61820. .IP \[bu] 2
  61821. build: Set Github release to draft while uploading binaries (Nick
  61822. Craig-Wood)
  61823. .RE
  61824. .SS v1.62.0 - 2023-03-14
  61825. .PP
  61826. See commits (https://github.com/rclone/rclone/compare/v1.61.0...v1.62.0)
  61827. .IP \[bu] 2
  61828. New Features
  61829. .RS 2
  61830. .IP \[bu] 2
  61831. accounting: Make checkers show what they are doing (Nick Craig-Wood)
  61832. .IP \[bu] 2
  61833. authorize: Add support for custom templates (Hunter Wittenborn)
  61834. .IP \[bu] 2
  61835. build
  61836. .RS 2
  61837. .IP \[bu] 2
  61838. Update to go1.20 (Nick Craig-Wood, Anagh Kumar Baranwal)
  61839. .IP \[bu] 2
  61840. Add winget releaser workflow (Ryan Caezar Itang)
  61841. .IP \[bu] 2
  61842. Add dependabot (Ryan Caezar Itang)
  61843. .RE
  61844. .IP \[bu] 2
  61845. doc updates (albertony, Bryan Kaplan, Gerard Bosch, IMTheNachoMan,
  61846. Justin Winokur, Manoj Ghosh, Nick Craig-Wood, Ole Frost, Peter Brunner,
  61847. piyushgarg, Ryan Caezar Itang, Simmon Li, ToBeFree)
  61848. .IP \[bu] 2
  61849. filter: Emit INFO message when can\[aq]t work out directory filters
  61850. (Nick Craig-Wood)
  61851. .IP \[bu] 2
  61852. fs
  61853. .RS 2
  61854. .IP \[bu] 2
  61855. Added multiple ca certificate support.
  61856. (alankrit)
  61857. .IP \[bu] 2
  61858. Add \f[C]--max-delete-size\f[R] a delete size threshold (Leandro
  61859. Sacchet)
  61860. .RE
  61861. .IP \[bu] 2
  61862. fspath: Allow the symbols \f[C]\[at]\f[R] and \f[C]+\f[R] in remote
  61863. names (albertony)
  61864. .IP \[bu] 2
  61865. lib/terminal: Enable windows console virtual terminal sequences
  61866. processing (ANSI/VT100 colors) (albertony)
  61867. .IP \[bu] 2
  61868. move: If \f[C]--check-first\f[R] and \f[C]--order-by\f[R] are set then
  61869. delete with perfect ordering (Nick Craig-Wood)
  61870. .IP \[bu] 2
  61871. serve http: Support \f[C]--auth-proxy\f[R] (Matthias Baur)
  61872. .RE
  61873. .IP \[bu] 2
  61874. Bug Fixes
  61875. .RS 2
  61876. .IP \[bu] 2
  61877. accounting
  61878. .RS 2
  61879. .IP \[bu] 2
  61880. Avoid negative ETA values for very slow speeds (albertony)
  61881. .IP \[bu] 2
  61882. Limit length of ETA string (albertony)
  61883. .IP \[bu] 2
  61884. Show human readable elapsed time when longer than a day (albertony)
  61885. .RE
  61886. .IP \[bu] 2
  61887. all: Apply codeql fixes (Aaron Gokaslan)
  61888. .IP \[bu] 2
  61889. build
  61890. .RS 2
  61891. .IP \[bu] 2
  61892. Fix condition for manual workflow run (albertony)
  61893. .IP \[bu] 2
  61894. Fix building for ARMv5 and ARMv6 (albertony)
  61895. .RS 2
  61896. .IP \[bu] 2
  61897. selfupdate: Consider ARM version
  61898. .IP \[bu] 2
  61899. install.sh: fix ARMv6 download
  61900. .IP \[bu] 2
  61901. version: Report ARM version
  61902. .RE
  61903. .RE
  61904. .IP \[bu] 2
  61905. deletefile: Return error code 4 if file does not exist (Nick Craig-Wood)
  61906. .IP \[bu] 2
  61907. docker: Fix volume plugin does not remount volume on docker restart
  61908. (logopk)
  61909. .IP \[bu] 2
  61910. fs: Fix race conditions in \f[C]--max-delete\f[R] and
  61911. \f[C]--max-delete-size\f[R] (Nick Craig-Wood)
  61912. .IP \[bu] 2
  61913. lib/oauthutil: Handle fatal errors better (Alex Chen)
  61914. .IP \[bu] 2
  61915. mount2: Fix \f[C]--allow-non-empty\f[R] (Nick Craig-Wood)
  61916. .IP \[bu] 2
  61917. operations: Fix concurrency: use \f[C]--checkers\f[R] unless
  61918. transferring files (Nick Craig-Wood)
  61919. .IP \[bu] 2
  61920. serve ftp: Fix timestamps older than 1 year in listings (Nick
  61921. Craig-Wood)
  61922. .IP \[bu] 2
  61923. sync: Fix concurrency: use \f[C]--checkers\f[R] unless transferring
  61924. files (Nick Craig-Wood)
  61925. .IP \[bu] 2
  61926. tree
  61927. .RS 2
  61928. .IP \[bu] 2
  61929. Fix nil pointer exception on stat failure (Nick Craig-Wood)
  61930. .IP \[bu] 2
  61931. Fix colored output on windows (albertony)
  61932. .IP \[bu] 2
  61933. Fix display of files with illegal Windows file system names (Nick
  61934. Craig-Wood)
  61935. .RE
  61936. .RE
  61937. .IP \[bu] 2
  61938. Mount
  61939. .RS 2
  61940. .IP \[bu] 2
  61941. Fix creating and renaming files on case insensitive backends (Nick
  61942. Craig-Wood)
  61943. .IP \[bu] 2
  61944. Do not treat \f[C]\[rs]\[rs]?\[rs]\f[R] prefixed paths as network share
  61945. paths on windows (albertony)
  61946. .IP \[bu] 2
  61947. Fix check for empty mount point on Linux (Nick Craig-Wood)
  61948. .IP \[bu] 2
  61949. Fix \f[C]--allow-non-empty\f[R] (Nick Craig-Wood)
  61950. .IP \[bu] 2
  61951. Avoid incorrect or premature overlap check on windows (albertony)
  61952. .IP \[bu] 2
  61953. Update to fuse3 after bazil.org/fuse update (Nick Craig-Wood)
  61954. .RE
  61955. .IP \[bu] 2
  61956. VFS
  61957. .RS 2
  61958. .IP \[bu] 2
  61959. Make uploaded files retain modtime with non-modtime backends (Nick
  61960. Craig-Wood)
  61961. .IP \[bu] 2
  61962. Fix incorrect modtime on fs which don\[aq]t support setting modtime
  61963. (Nick Craig-Wood)
  61964. .IP \[bu] 2
  61965. Fix rename of directory containing files to be uploaded (Nick
  61966. Craig-Wood)
  61967. .RE
  61968. .IP \[bu] 2
  61969. Local
  61970. .RS 2
  61971. .IP \[bu] 2
  61972. Fix \f[C]%!w(<nil>)\f[R] in \[dq]failed to read directory\[dq] error
  61973. (Marks Polakovs)
  61974. .IP \[bu] 2
  61975. Fix exclusion of dangling symlinks with -L/--copy-links (Nick
  61976. Craig-Wood)
  61977. .RE
  61978. .IP \[bu] 2
  61979. Crypt
  61980. .RS 2
  61981. .IP \[bu] 2
  61982. Obey \f[C]--ignore-checksum\f[R] (Nick Craig-Wood)
  61983. .IP \[bu] 2
  61984. Fix for unencrypted directory names on case insensitive remotes (Ole
  61985. Frost)
  61986. .RE
  61987. .IP \[bu] 2
  61988. Azure Blob
  61989. .RS 2
  61990. .IP \[bu] 2
  61991. Remove workarounds for SDK bugs after v0.6.1 update (Nick Craig-Wood)
  61992. .RE
  61993. .IP \[bu] 2
  61994. B2
  61995. .RS 2
  61996. .IP \[bu] 2
  61997. Fix uploading files bigger than 1TiB (Nick Craig-Wood)
  61998. .RE
  61999. .IP \[bu] 2
  62000. Drive
  62001. .RS 2
  62002. .IP \[bu] 2
  62003. Note that \f[C]--drive-acknowledge-abuse\f[R] needs SA Manager
  62004. permission (Nick Craig-Wood)
  62005. .IP \[bu] 2
  62006. Make \f[C]--drive-stop-on-upload-limit\f[R] to respond to
  62007. storageQuotaExceeded (Ninh Pham)
  62008. .RE
  62009. .IP \[bu] 2
  62010. FTP
  62011. .RS 2
  62012. .IP \[bu] 2
  62013. Retry 426 errors (Nick Craig-Wood)
  62014. .IP \[bu] 2
  62015. Retry errors when initiating downloads (Nick Craig-Wood)
  62016. .IP \[bu] 2
  62017. Revert to upstream \f[C]github.com/jlaffaye/ftp\f[R] now fix is merged
  62018. (Nick Craig-Wood)
  62019. .RE
  62020. .IP \[bu] 2
  62021. Google Cloud Storage
  62022. .RS 2
  62023. .IP \[bu] 2
  62024. Add \f[C]--gcs-env-auth\f[R] to pick up IAM credentials from
  62025. env/instance (Peter Brunner)
  62026. .RE
  62027. .IP \[bu] 2
  62028. Mega
  62029. .RS 2
  62030. .IP \[bu] 2
  62031. Add \f[C]--mega-use-https\f[R] flag (NodudeWasTaken)
  62032. .RE
  62033. .IP \[bu] 2
  62034. Onedrive
  62035. .RS 2
  62036. .IP \[bu] 2
  62037. Default onedrive personal to QuickXorHash as Microsoft is removing SHA1
  62038. (Nick Craig-Wood)
  62039. .IP \[bu] 2
  62040. Add \f[C]--onedrive-hash-type\f[R] to change the hash in use (Nick
  62041. Craig-Wood)
  62042. .IP \[bu] 2
  62043. Improve speed of QuickXorHash (LXY)
  62044. .RE
  62045. .IP \[bu] 2
  62046. Oracle Object Storage
  62047. .RS 2
  62048. .IP \[bu] 2
  62049. Speed up operations by using S3 pacer and setting minsleep to 10ms
  62050. (Manoj Ghosh)
  62051. .IP \[bu] 2
  62052. Expose the \f[C]storage_tier\f[R] option in config (Manoj Ghosh)
  62053. .IP \[bu] 2
  62054. Bring your own encryption keys (Manoj Ghosh)
  62055. .RE
  62056. .IP \[bu] 2
  62057. S3
  62058. .RS 2
  62059. .IP \[bu] 2
  62060. Check multipart upload ETag when \f[C]--s3-no-head\f[R] is in use (Nick
  62061. Craig-Wood)
  62062. .IP \[bu] 2
  62063. Add \f[C]--s3-sts-endpoint\f[R] to specify STS endpoint (Nick
  62064. Craig-Wood)
  62065. .IP \[bu] 2
  62066. Fix incorrect tier support for StorJ and IDrive when pointing at a file
  62067. (Ole Frost)
  62068. .IP \[bu] 2
  62069. Fix AWS STS failing if \f[C]--s3-endpoint\f[R] is set (Nick Craig-Wood)
  62070. .IP \[bu] 2
  62071. Make purge remove directory markers too (Nick Craig-Wood)
  62072. .RE
  62073. .IP \[bu] 2
  62074. Seafile
  62075. .RS 2
  62076. .IP \[bu] 2
  62077. Renew library password (Fred)
  62078. .RE
  62079. .IP \[bu] 2
  62080. SFTP
  62081. .RS 2
  62082. .IP \[bu] 2
  62083. Fix uploads being 65% slower than they should be with crypt (Nick
  62084. Craig-Wood)
  62085. .RE
  62086. .IP \[bu] 2
  62087. Smb
  62088. .RS 2
  62089. .IP \[bu] 2
  62090. Allow SPN (service principal name) to be configured (Nick Craig-Wood)
  62091. .IP \[bu] 2
  62092. Check smb connection is closed (happyxhw)
  62093. .RE
  62094. .IP \[bu] 2
  62095. Storj
  62096. .RS 2
  62097. .IP \[bu] 2
  62098. Implement \f[C]rclone link\f[R] (Kaloyan Raev)
  62099. .IP \[bu] 2
  62100. Implement \f[C]rclone purge\f[R] (Kaloyan Raev)
  62101. .IP \[bu] 2
  62102. Update satellite urls and labels (Kaloyan Raev)
  62103. .RE
  62104. .IP \[bu] 2
  62105. WebDAV
  62106. .RS 2
  62107. .IP \[bu] 2
  62108. Fix interop with davrods server (Nick Craig-Wood)
  62109. .RE
  62110. .SS v1.61.1 - 2022-12-23
  62111. .PP
  62112. See commits (https://github.com/rclone/rclone/compare/v1.61.0...v1.61.1)
  62113. .IP \[bu] 2
  62114. Bug Fixes
  62115. .RS 2
  62116. .IP \[bu] 2
  62117. docs:
  62118. .RS 2
  62119. .IP \[bu] 2
  62120. Show only significant parts of version number in version introduced
  62121. label (albertony)
  62122. .IP \[bu] 2
  62123. Fix unescaped HTML (Nick Craig-Wood)
  62124. .RE
  62125. .IP \[bu] 2
  62126. lib/http: Shutdown all servers on exit to remove unix socket (Nick
  62127. Craig-Wood)
  62128. .IP \[bu] 2
  62129. rc: Fix \f[C]--rc-addr\f[R] flag (which is an alternate for
  62130. \f[C]--url\f[R]) (Anagh Kumar Baranwal)
  62131. .IP \[bu] 2
  62132. serve restic
  62133. .RS 2
  62134. .IP \[bu] 2
  62135. Don\[aq]t serve via http if serving via \f[C]--stdio\f[R] (Nick
  62136. Craig-Wood)
  62137. .IP \[bu] 2
  62138. Fix immediate exit when not using stdio (Nick Craig-Wood)
  62139. .RE
  62140. .IP \[bu] 2
  62141. serve webdav
  62142. .RS 2
  62143. .IP \[bu] 2
  62144. Fix \f[C]--baseurl\f[R] handling after \f[C]lib/http\f[R] refactor (Nick
  62145. Craig-Wood)
  62146. .IP \[bu] 2
  62147. Fix running duplicate Serve call (Nick Craig-Wood)
  62148. .RE
  62149. .RE
  62150. .IP \[bu] 2
  62151. Azure Blob
  62152. .RS 2
  62153. .IP \[bu] 2
  62154. Fix \[dq]409 Public access is not permitted on this storage account\[dq]
  62155. (Nick Craig-Wood)
  62156. .RE
  62157. .IP \[bu] 2
  62158. S3
  62159. .RS 2
  62160. .IP \[bu] 2
  62161. storj: Update endpoints (Kaloyan Raev)
  62162. .RE
  62163. .SS v1.61.0 - 2022-12-20
  62164. .PP
  62165. See commits (https://github.com/rclone/rclone/compare/v1.60.0...v1.61.0)
  62166. .IP \[bu] 2
  62167. New backends
  62168. .RS 2
  62169. .IP \[bu] 2
  62170. New S3 providers
  62171. .RS 2
  62172. .IP \[bu] 2
  62173. Liara LOS (https://rclone.org/s3/#liara-cloud) (MohammadReza)
  62174. .RE
  62175. .RE
  62176. .IP \[bu] 2
  62177. New Features
  62178. .RS 2
  62179. .IP \[bu] 2
  62180. build: Add vulnerability testing using govulncheck (albertony)
  62181. .IP \[bu] 2
  62182. cmd: Enable \f[C]SIGINFO\f[R] (Ctrl-T) handler on FreeBSD, NetBSD,
  62183. OpenBSD and Dragonfly BSD (x3-apptech)
  62184. .IP \[bu] 2
  62185. config: Add config/setpath (https://rclone.org/rc/#config-setpath) for
  62186. setting config path via rc/librclone (Nick Craig-Wood)
  62187. .IP \[bu] 2
  62188. dedupe
  62189. .RS 2
  62190. .IP \[bu] 2
  62191. Count Checks in the stats while scanning for duplicates (Nick
  62192. Craig-Wood)
  62193. .IP \[bu] 2
  62194. Make dedupe obey the filters (Nick Craig-Wood)
  62195. .RE
  62196. .IP \[bu] 2
  62197. dlna: Properly attribute code used from https://github.com/anacrolix/dms
  62198. (Nick Craig-Wood)
  62199. .IP \[bu] 2
  62200. docs
  62201. .RS 2
  62202. .IP \[bu] 2
  62203. Add minimum versions and status badges to backend and command docs (Nick
  62204. Craig-Wood, albertony)
  62205. .IP \[bu] 2
  62206. Remote names may not start or end with space (albertony)
  62207. .RE
  62208. .IP \[bu] 2
  62209. filter: Add metadata filters
  62210. --metadata-include/exclude/filter (https://rclone.org/filtering/#metadata)
  62211. and friends (Nick Craig-Wood)
  62212. .IP \[bu] 2
  62213. fs
  62214. .RS 2
  62215. .IP \[bu] 2
  62216. Make all duration flags take \f[C]y\f[R], \f[C]M\f[R], \f[C]w\f[R],
  62217. \f[C]d\f[R] etc suffixes (Nick Craig-Wood)
  62218. .IP \[bu] 2
  62219. Add global flag \f[C]--color\f[R] to control terminal colors (Kevin
  62220. Verstaen)
  62221. .RE
  62222. .IP \[bu] 2
  62223. fspath: Allow unicode numbers and letters in remote names (albertony)
  62224. .IP \[bu] 2
  62225. lib/file: Improve error message for creating dir on non-existent network
  62226. host on windows (albertony)
  62227. .IP \[bu] 2
  62228. lib/http: Finish port of rclone servers to \f[C]lib/http\f[R] (Tom
  62229. Mombourquette, Nick Craig-Wood)
  62230. .IP \[bu] 2
  62231. lib/oauthutil: Improved usability of config flows needing web browser
  62232. (Ole Frost)
  62233. .IP \[bu] 2
  62234. ncdu
  62235. .RS 2
  62236. .IP \[bu] 2
  62237. Add support for modification time (albertony)
  62238. .IP \[bu] 2
  62239. Fallback to sort by name also for sort by average size (albertony)
  62240. .IP \[bu] 2
  62241. Rework to use tcell directly instead of the termbox wrapper (eNV25)
  62242. .RE
  62243. .IP \[bu] 2
  62244. rc: Add commands to set GC
  62245. Percent (https://rclone.org/rc/#debug-set-gc-percent) & Memory Limit (go
  62246. 1.19+) (Anagh Kumar Baranwal)
  62247. .IP \[bu] 2
  62248. rcat: Preserve metadata when Copy falls back to Rcat (Nick Craig-Wood)
  62249. .IP \[bu] 2
  62250. rcd: Refactor rclone rc server to use \f[C]lib/http\f[R] (Nick
  62251. Craig-Wood)
  62252. .IP \[bu] 2
  62253. rcserver: Avoid generating default credentials with htpasswd (Kamui)
  62254. .IP \[bu] 2
  62255. restic: Refactor to use \f[C]lib/http\f[R] (Nolan Woods)
  62256. .IP \[bu] 2
  62257. serve http: Support unix sockets and multiple listeners (Tom
  62258. Mombourquette)
  62259. .IP \[bu] 2
  62260. serve webdav: Refactor to use \f[C]lib/http\f[R] (Nick Craig-Wood)
  62261. .IP \[bu] 2
  62262. test: Replace defer cleanup with \f[C]t.Cleanup\f[R] (Eng Zer Jun)
  62263. .IP \[bu] 2
  62264. test memory: Read metadata if \f[C]-M\f[R] flag is specified (Nick
  62265. Craig-Wood)
  62266. .IP \[bu] 2
  62267. wasm: Comply with \f[C]wasm_exec.js\f[R] licence terms (Matthew Vernon)
  62268. .RE
  62269. .IP \[bu] 2
  62270. Bug Fixes
  62271. .RS 2
  62272. .IP \[bu] 2
  62273. build: Update \f[C]golang.org/x/net/http2\f[R] to fix GO-2022-1144 (Nick
  62274. Craig-Wood)
  62275. .IP \[bu] 2
  62276. restic: Fix typo in docs \[aq]remove\[aq] should be \[aq]remote\[aq]
  62277. (asdffdsazqqq)
  62278. .IP \[bu] 2
  62279. serve dlna: Fix panic: Logger uninitialized.
  62280. (Nick Craig-Wood)
  62281. .RE
  62282. .IP \[bu] 2
  62283. Mount
  62284. .RS 2
  62285. .IP \[bu] 2
  62286. Update cgofuse for FUSE-T support for mounting volumes on Mac (Nick
  62287. Craig-Wood)
  62288. .RE
  62289. .IP \[bu] 2
  62290. VFS
  62291. .RS 2
  62292. .IP \[bu] 2
  62293. Windows: fix slow opening of exe files by not truncating files when not
  62294. necessary (Nick Craig-Wood)
  62295. .IP \[bu] 2
  62296. Fix IO Error opening a file with \f[C]O_CREATE|O_RDONLY\f[R] in
  62297. \f[C]--vfs-cache-mode\f[R] not full (Nick Craig-Wood)
  62298. .RE
  62299. .IP \[bu] 2
  62300. Crypt
  62301. .RS 2
  62302. .IP \[bu] 2
  62303. Fix compress wrapping crypt giving upload errors (Nick Craig-Wood)
  62304. .RE
  62305. .IP \[bu] 2
  62306. Azure Blob
  62307. .RS 2
  62308. .IP \[bu] 2
  62309. Port to new SDK (Nick Craig-Wood)
  62310. .RS 2
  62311. .IP \[bu] 2
  62312. Revamp authentication to include all methods and docs (Nick Craig-Wood)
  62313. .IP \[bu] 2
  62314. Port old authentication methods to new SDK (Nick Craig-Wood, Brad
  62315. Ackerman)
  62316. .IP \[bu] 2
  62317. Thanks to Stonebranch (https://www.stonebranch.com/) for sponsoring this
  62318. work.
  62319. .RE
  62320. .IP \[bu] 2
  62321. Add \f[C]--azureblob-no-check-container\f[R] to assume container exists
  62322. (Nick Craig-Wood)
  62323. .IP \[bu] 2
  62324. Add \f[C]--use-server-modtime\f[R] support (Abdullah Saglam)
  62325. .IP \[bu] 2
  62326. Add support for custom upload headers (rkettelerij)
  62327. .IP \[bu] 2
  62328. Allow emulator account/key override (Roel Arents)
  62329. .IP \[bu] 2
  62330. Support simple \[dq]environment credentials\[dq] (Nathaniel Wesley
  62331. Filardo)
  62332. .IP \[bu] 2
  62333. Ignore \f[C]AuthorizationFailure\f[R] when trying to create a create a
  62334. container (Nick Craig-Wood)
  62335. .RE
  62336. .IP \[bu] 2
  62337. Box
  62338. .RS 2
  62339. .IP \[bu] 2
  62340. Added note on Box API rate limits (Ole Frost)
  62341. .RE
  62342. .IP \[bu] 2
  62343. Drive
  62344. .RS 2
  62345. .IP \[bu] 2
  62346. Handle shared drives with leading/trailing space in name (related to)
  62347. (albertony)
  62348. .RE
  62349. .IP \[bu] 2
  62350. FTP
  62351. .RS 2
  62352. .IP \[bu] 2
  62353. Update help text of implicit/explicit TLS options to refer to FTPS
  62354. instead of FTP (ycdtosa)
  62355. .IP \[bu] 2
  62356. Improve performance to speed up \f[C]--files-from\f[R] and
  62357. \f[C]NewObject\f[R] (Anthony Pessy)
  62358. .RE
  62359. .IP \[bu] 2
  62360. HTTP
  62361. .RS 2
  62362. .IP \[bu] 2
  62363. Parse GET responses when \f[C]no_head\f[R] is set (Arnie97)
  62364. .IP \[bu] 2
  62365. Do not update object size based on \f[C]Range\f[R] requests (Arnie97)
  62366. .IP \[bu] 2
  62367. Support \f[C]Content-Range\f[R] response header (Arnie97)
  62368. .RE
  62369. .IP \[bu] 2
  62370. Onedrive
  62371. .RS 2
  62372. .IP \[bu] 2
  62373. Document workaround for shared with me files (vanplus)
  62374. .RE
  62375. .IP \[bu] 2
  62376. S3
  62377. .RS 2
  62378. .IP \[bu] 2
  62379. Add Liara LOS to provider list (MohammadReza)
  62380. .IP \[bu] 2
  62381. Add DigitalOcean Spaces regions \f[C]sfo3\f[R], \f[C]fra1\f[R],
  62382. \f[C]syd1\f[R] (Jack)
  62383. .IP \[bu] 2
  62384. Avoid privileged \f[C]GetBucketLocation\f[R] to resolve s3 region
  62385. (Anthony Pessy)
  62386. .IP \[bu] 2
  62387. Stop setting object and bucket ACL to \f[C]private\f[R] if it is an
  62388. empty string (Philip Harvey)
  62389. .IP \[bu] 2
  62390. If bucket or object ACL is empty string then don\[aq]t add
  62391. \f[C]X-Amz-Acl:\f[R] header (Nick Craig-Wood)
  62392. .IP \[bu] 2
  62393. Reduce memory consumption for s3 objects (Erik Agterdenbos)
  62394. .IP \[bu] 2
  62395. Fix listing loop when using v2 listing on v1 server (Nick Craig-Wood)
  62396. .IP \[bu] 2
  62397. Fix nil pointer exception when using Versions (Nick Craig-Wood)
  62398. .IP \[bu] 2
  62399. Fix excess memory usage when using versions (Nick Craig-Wood)
  62400. .IP \[bu] 2
  62401. Ignore versionIDs from uploads unless using \f[C]--s3-versions\f[R] or
  62402. \f[C]--s3-versions-at\f[R] (Nick Craig-Wood)
  62403. .RE
  62404. .IP \[bu] 2
  62405. SFTP
  62406. .RS 2
  62407. .IP \[bu] 2
  62408. Add configuration options to set ssh Ciphers / MACs / KeyExchange
  62409. (dgouju)
  62410. .IP \[bu] 2
  62411. Auto-detect shell type for fish (albertony)
  62412. .IP \[bu] 2
  62413. Fix NewObject with leading / (Nick Craig-Wood)
  62414. .RE
  62415. .IP \[bu] 2
  62416. Smb
  62417. .RS 2
  62418. .IP \[bu] 2
  62419. Fix issue where spurious dot directory is created (albertony)
  62420. .RE
  62421. .IP \[bu] 2
  62422. Storj
  62423. .RS 2
  62424. .IP \[bu] 2
  62425. Implement server side Copy (Kaloyan Raev)
  62426. .RE
  62427. .SS v1.60.1 - 2022-11-17
  62428. .PP
  62429. See commits (https://github.com/rclone/rclone/compare/v1.60.0...v1.60.1)
  62430. .IP \[bu] 2
  62431. Bug Fixes
  62432. .RS 2
  62433. .IP \[bu] 2
  62434. lib/cache: Fix alias backend shutting down too soon (Nick Craig-Wood)
  62435. .IP \[bu] 2
  62436. wasm: Fix walltime link error by adding up-to-date wasm_exec.js
  62437. (Jo\[~a]o Henrique Franco)
  62438. .IP \[bu] 2
  62439. docs
  62440. .RS 2
  62441. .IP \[bu] 2
  62442. Update faq.md with bisync (Samuel Johnson)
  62443. .IP \[bu] 2
  62444. Corrected download links in windows install docs (coultonluke)
  62445. .IP \[bu] 2
  62446. Add direct download link for windows arm64 (albertony)
  62447. .IP \[bu] 2
  62448. Remove link to rclone slack as it is no longer supported (Nick
  62449. Craig-Wood)
  62450. .IP \[bu] 2
  62451. Faq: how to use a proxy server that requires a username and password
  62452. (asdffdsazqqq)
  62453. .IP \[bu] 2
  62454. Oracle-object-storage: doc fix (Manoj Ghosh)
  62455. .IP \[bu] 2
  62456. Fix typo \f[C]remove\f[R] in rclone_serve_restic command (Joda
  62457. St\[:o]\[ss]er)
  62458. .IP \[bu] 2
  62459. Fix character that was incorrectly interpreted as markdown (Cl\['e]ment
  62460. Notin)
  62461. .RE
  62462. .RE
  62463. .IP \[bu] 2
  62464. VFS
  62465. .RS 2
  62466. .IP \[bu] 2
  62467. Fix deadlock caused by cache cleaner and upload finishing (Nick
  62468. Craig-Wood)
  62469. .RE
  62470. .IP \[bu] 2
  62471. Local
  62472. .RS 2
  62473. .IP \[bu] 2
  62474. Clean absolute paths (albertony)
  62475. .IP \[bu] 2
  62476. Fix -L/--copy-links with filters missing directories (Nick Craig-Wood)
  62477. .RE
  62478. .IP \[bu] 2
  62479. Mailru
  62480. .RS 2
  62481. .IP \[bu] 2
  62482. Note that an app password is now needed (Nick Craig-Wood)
  62483. .IP \[bu] 2
  62484. Allow timestamps to be before the epoch 1970-01-01 (Nick Craig-Wood)
  62485. .RE
  62486. .IP \[bu] 2
  62487. S3
  62488. .RS 2
  62489. .IP \[bu] 2
  62490. Add provider quirk \f[C]--s3-might-gzip\f[R] to fix corrupted on
  62491. transfer: sizes differ (Nick Craig-Wood)
  62492. .IP \[bu] 2
  62493. Allow Storj to server side copy since it seems to work now (Nick
  62494. Craig-Wood)
  62495. .IP \[bu] 2
  62496. Fix for unchecked err value in s3 listv2 (Aaron Gokaslan)
  62497. .IP \[bu] 2
  62498. Add additional Wasabi locations (techknowlogick)
  62499. .RE
  62500. .IP \[bu] 2
  62501. Smb
  62502. .RS 2
  62503. .IP \[bu] 2
  62504. Fix \f[C]Failed to sync: context canceled\f[R] at the end of syncs (Nick
  62505. Craig-Wood)
  62506. .RE
  62507. .IP \[bu] 2
  62508. WebDAV
  62509. .RS 2
  62510. .IP \[bu] 2
  62511. Fix Move/Copy/DirMove when using -server-side-across-configs (Nick
  62512. Craig-Wood)
  62513. .RE
  62514. .SS v1.60.0 - 2022-10-21
  62515. .PP
  62516. See commits (https://github.com/rclone/rclone/compare/v1.59.0...v1.60.0)
  62517. .IP \[bu] 2
  62518. New backends
  62519. .RS 2
  62520. .IP \[bu] 2
  62521. Oracle object storage (https://rclone.org/oracleobjectstorage/) (Manoj
  62522. Ghosh)
  62523. .IP \[bu] 2
  62524. SMB (https://rclone.org/smb/) / CIFS (Windows file sharing) (Lesmiscore)
  62525. .IP \[bu] 2
  62526. New S3 providers
  62527. .RS 2
  62528. .IP \[bu] 2
  62529. IONOS Cloud Storage (https://rclone.org/s3/#ionos) (Dmitry Deniskin)
  62530. .IP \[bu] 2
  62531. Qiniu KODO (https://rclone.org/s3/#qiniu) (Bachue Zhou)
  62532. .RE
  62533. .RE
  62534. .IP \[bu] 2
  62535. New Features
  62536. .RS 2
  62537. .IP \[bu] 2
  62538. build
  62539. .RS 2
  62540. .IP \[bu] 2
  62541. Update to go1.19 and make go1.17 the minimum required version (Nick
  62542. Craig-Wood)
  62543. .IP \[bu] 2
  62544. Install.sh: fix arm-v7 download (Ole Frost)
  62545. .RE
  62546. .IP \[bu] 2
  62547. fs: Warn the user when using an existing remote name without a colon
  62548. (Nick Craig-Wood)
  62549. .IP \[bu] 2
  62550. httplib: Add \f[C]--xxx-min-tls-version\f[R] option to select minimum
  62551. TLS version for HTTP servers (Robert Newson)
  62552. .IP \[bu] 2
  62553. librclone: Add PHP bindings and test program (Jordi Gonzalez Mu\[~n]oz)
  62554. .IP \[bu] 2
  62555. operations
  62556. .RS 2
  62557. .IP \[bu] 2
  62558. Add \f[C]--server-side-across-configs\f[R] global flag for any backend
  62559. (Nick Craig-Wood)
  62560. .IP \[bu] 2
  62561. Optimise \f[C]--copy-dest\f[R] and \f[C]--compare-dest\f[R] (Nick
  62562. Craig-Wood)
  62563. .RE
  62564. .IP \[bu] 2
  62565. rc: add \f[C]job/stopgroup\f[R] to stop group (Evan Spensley)
  62566. .IP \[bu] 2
  62567. serve dlna
  62568. .RS 2
  62569. .IP \[bu] 2
  62570. Add \f[C]--announce-interval\f[R] to control SSDP Announce Interval
  62571. (YanceyChiew)
  62572. .IP \[bu] 2
  62573. Add \f[C]--interface\f[R] to Specify SSDP interface names line (Simon
  62574. Bos)
  62575. .IP \[bu] 2
  62576. Add support for more external subtitles (YanceyChiew)
  62577. .IP \[bu] 2
  62578. Add verification of addresses (YanceyChiew)
  62579. .RE
  62580. .IP \[bu] 2
  62581. sync: Optimise \f[C]--copy-dest\f[R] and \f[C]--compare-dest\f[R] (Nick
  62582. Craig-Wood)
  62583. .IP \[bu] 2
  62584. doc updates (albertony, Alexander Knorr, anonion, Jo\[~a]o Henrique
  62585. Franco, Josh Soref, Lorenzo Milesi, Marco Molteni, Mark Trolley, Ole
  62586. Frost, partev, Ryan Morey, Tom Mombourquette, YFdyh000)
  62587. .RE
  62588. .IP \[bu] 2
  62589. Bug Fixes
  62590. .RS 2
  62591. .IP \[bu] 2
  62592. filter
  62593. .RS 2
  62594. .IP \[bu] 2
  62595. Fix incorrect filtering with \f[C]UseFilter\f[R] context flag and
  62596. wrapping backends (Nick Craig-Wood)
  62597. .IP \[bu] 2
  62598. Make sure we check \f[C]--files-from\f[R] when looking for a single file
  62599. (Nick Craig-Wood)
  62600. .RE
  62601. .IP \[bu] 2
  62602. rc
  62603. .RS 2
  62604. .IP \[bu] 2
  62605. Fix \f[C]mount/listmounts\f[R] not returning the full Fs entered in
  62606. \f[C]mount/mount\f[R] (Tom Mombourquette)
  62607. .IP \[bu] 2
  62608. Handle external unmount when mounting (Isaac Aymerich)
  62609. .IP \[bu] 2
  62610. Validate Daemon option is not set when mounting a volume via RC (Isaac
  62611. Aymerich)
  62612. .RE
  62613. .IP \[bu] 2
  62614. sync: Update docs and error messages to reflect fixes to overlap checks
  62615. (Nick Naumann)
  62616. .RE
  62617. .IP \[bu] 2
  62618. VFS
  62619. .RS 2
  62620. .IP \[bu] 2
  62621. Reduce memory use by embedding \f[C]sync.Cond\f[R] (Nick Craig-Wood)
  62622. .IP \[bu] 2
  62623. Reduce memory usage by re-ordering commonly used structures (Nick
  62624. Craig-Wood)
  62625. .IP \[bu] 2
  62626. Fix excess CPU used by VFS cache cleaner looping (Nick Craig-Wood)
  62627. .RE
  62628. .IP \[bu] 2
  62629. Local
  62630. .RS 2
  62631. .IP \[bu] 2
  62632. Obey file filters in listing to fix errors on excluded files (Nick
  62633. Craig-Wood)
  62634. .IP \[bu] 2
  62635. Fix \[dq]Failed to read metadata: function not implemented\[dq] on old
  62636. Linux kernels (Nick Craig-Wood)
  62637. .RE
  62638. .IP \[bu] 2
  62639. Compress
  62640. .RS 2
  62641. .IP \[bu] 2
  62642. Fix crash due to nil metadata (Nick Craig-Wood)
  62643. .IP \[bu] 2
  62644. Fix error handling to not use or return nil objects (Nick Craig-Wood)
  62645. .RE
  62646. .IP \[bu] 2
  62647. Drive
  62648. .RS 2
  62649. .IP \[bu] 2
  62650. Make \f[C]--drive-stop-on-upload-limit\f[R] obey quota exceeded error
  62651. (Steve Kowalik)
  62652. .RE
  62653. .IP \[bu] 2
  62654. FTP
  62655. .RS 2
  62656. .IP \[bu] 2
  62657. Add \f[C]--ftp-force-list-hidden\f[R] option to show hidden items
  62658. (\[/O]yvind Heddeland Instefjord)
  62659. .IP \[bu] 2
  62660. Fix hang when using ExplicitTLS to certain servers.
  62661. (Nick Craig-Wood)
  62662. .RE
  62663. .IP \[bu] 2
  62664. Google Cloud Storage
  62665. .RS 2
  62666. .IP \[bu] 2
  62667. Add \f[C]--gcs-endpoint\f[R] flag and config parameter (Nick Craig-Wood)
  62668. .RE
  62669. .IP \[bu] 2
  62670. Hubic
  62671. .RS 2
  62672. .IP \[bu] 2
  62673. Remove backend as service has now shut down (Nick Craig-Wood)
  62674. .RE
  62675. .IP \[bu] 2
  62676. Onedrive
  62677. .RS 2
  62678. .IP \[bu] 2
  62679. Rename Onedrive(cn) 21Vianet to Vnet Group (Yen Hu)
  62680. .IP \[bu] 2
  62681. Disable change notify in China region since it is not supported (Nick
  62682. Craig-Wood)
  62683. .RE
  62684. .IP \[bu] 2
  62685. S3
  62686. .RS 2
  62687. .IP \[bu] 2
  62688. Implement \f[C]--s3-versions\f[R] flag to show old versions of objects
  62689. if enabled (Nick Craig-Wood)
  62690. .IP \[bu] 2
  62691. Implement \f[C]--s3-version-at\f[R] flag to show versions of objects at
  62692. a particular time (Nick Craig-Wood)
  62693. .IP \[bu] 2
  62694. Implement \f[C]backend versioning\f[R] command to get/set bucket
  62695. versioning (Nick Craig-Wood)
  62696. .IP \[bu] 2
  62697. Implement \f[C]Purge\f[R] to purge versions and
  62698. \f[C]backend cleanup-hidden\f[R] (Nick Craig-Wood)
  62699. .IP \[bu] 2
  62700. Add \f[C]--s3-decompress\f[R] flag to decompress gzip-encoded files
  62701. (Nick Craig-Wood)
  62702. .IP \[bu] 2
  62703. Add \f[C]--s3-sse-customer-key-base64\f[R] to supply keys with binary
  62704. data (Richard Bateman)
  62705. .IP \[bu] 2
  62706. Try to keep the maximum precision in ModTime with
  62707. \f[C]--user-server-modtime\f[R] (Nick Craig-Wood)
  62708. .IP \[bu] 2
  62709. Drop binary metadata with an ERROR message as it can\[aq]t be stored
  62710. (Nick Craig-Wood)
  62711. .IP \[bu] 2
  62712. Add \f[C]--s3-no-system-metadata\f[R] to suppress read and write of
  62713. system metadata (Nick Craig-Wood)
  62714. .RE
  62715. .IP \[bu] 2
  62716. SFTP
  62717. .RS 2
  62718. .IP \[bu] 2
  62719. Fix directory creation races (Lesmiscore)
  62720. .RE
  62721. .IP \[bu] 2
  62722. Swift
  62723. .RS 2
  62724. .IP \[bu] 2
  62725. Add \f[C]--swift-no-large-objects\f[R] to reduce HEAD requests (Nick
  62726. Craig-Wood)
  62727. .RE
  62728. .IP \[bu] 2
  62729. Union
  62730. .RS 2
  62731. .IP \[bu] 2
  62732. Propagate SlowHash feature to fix hasher interaction (Lesmiscore)
  62733. .RE
  62734. .SS v1.59.2 - 2022-09-15
  62735. .PP
  62736. See commits (https://github.com/rclone/rclone/compare/v1.59.1...v1.59.2)
  62737. .IP \[bu] 2
  62738. Bug Fixes
  62739. .RS 2
  62740. .IP \[bu] 2
  62741. config: Move locking to fix fatal error: concurrent map read and map
  62742. write (Nick Craig-Wood)
  62743. .RE
  62744. .IP \[bu] 2
  62745. Local
  62746. .RS 2
  62747. .IP \[bu] 2
  62748. Disable xattr support if the filesystems indicates it is not supported
  62749. (Nick Craig-Wood)
  62750. .RE
  62751. .IP \[bu] 2
  62752. Azure Blob
  62753. .RS 2
  62754. .IP \[bu] 2
  62755. Fix chunksize calculations producing too many parts (Nick Craig-Wood)
  62756. .RE
  62757. .IP \[bu] 2
  62758. B2
  62759. .RS 2
  62760. .IP \[bu] 2
  62761. Fix chunksize calculations producing too many parts (Nick Craig-Wood)
  62762. .RE
  62763. .IP \[bu] 2
  62764. S3
  62765. .RS 2
  62766. .IP \[bu] 2
  62767. Fix chunksize calculations producing too many parts (Nick Craig-Wood)
  62768. .RE
  62769. .SS v1.59.1 - 2022-08-08
  62770. .PP
  62771. See commits (https://github.com/rclone/rclone/compare/v1.59.0...v1.59.1)
  62772. .IP \[bu] 2
  62773. Bug Fixes
  62774. .RS 2
  62775. .IP \[bu] 2
  62776. accounting: Fix panic in core/stats-reset with unknown group (Nick
  62777. Craig-Wood)
  62778. .IP \[bu] 2
  62779. build: Fix android build after GitHub actions change (Nick Craig-Wood)
  62780. .IP \[bu] 2
  62781. dlna: Fix SOAP action header parsing (Joram Schrijver)
  62782. .IP \[bu] 2
  62783. docs: Fix links to mount command from install docs (albertony)
  62784. .IP \[bu] 2
  62785. dropbox: Fix ChangeNotify was unable to decrypt errors (Nick Craig-Wood)
  62786. .IP \[bu] 2
  62787. fs: Fix parsing of times and durations of the form \[dq]YYYY-MM-DD
  62788. HH:MM:SS\[dq] (Nick Craig-Wood)
  62789. .IP \[bu] 2
  62790. serve sftp: Fix checksum detection (Nick Craig-Wood)
  62791. .IP \[bu] 2
  62792. sync: Add accidentally missed filter-sensitivity to --backup-dir option
  62793. (Nick Naumann)
  62794. .RE
  62795. .IP \[bu] 2
  62796. Combine
  62797. .RS 2
  62798. .IP \[bu] 2
  62799. Fix docs showing \f[C]remote=\f[R] instead of \f[C]upstreams=\f[R] (Nick
  62800. Craig-Wood)
  62801. .IP \[bu] 2
  62802. Throw error if duplicate directory name is specified (Nick Craig-Wood)
  62803. .IP \[bu] 2
  62804. Fix errors with backends shutting down while in use (Nick Craig-Wood)
  62805. .RE
  62806. .IP \[bu] 2
  62807. Dropbox
  62808. .RS 2
  62809. .IP \[bu] 2
  62810. Fix hang on quit with --dropbox-batch-mode off (Nick Craig-Wood)
  62811. .IP \[bu] 2
  62812. Fix infinite loop on uploading a corrupted file (Nick Craig-Wood)
  62813. .RE
  62814. .IP \[bu] 2
  62815. Internetarchive
  62816. .RS 2
  62817. .IP \[bu] 2
  62818. Ignore checksums for files using the different method (Lesmiscore)
  62819. .IP \[bu] 2
  62820. Handle hash symbol in the middle of filename (Lesmiscore)
  62821. .RE
  62822. .IP \[bu] 2
  62823. Jottacloud
  62824. .RS 2
  62825. .IP \[bu] 2
  62826. Fix working with whitelabel Elgiganten Cloud
  62827. .IP \[bu] 2
  62828. Do not store username in config when using standard auth (albertony)
  62829. .RE
  62830. .IP \[bu] 2
  62831. Mega
  62832. .RS 2
  62833. .IP \[bu] 2
  62834. Fix nil pointer exception when bad node received (Nick Craig-Wood)
  62835. .RE
  62836. .IP \[bu] 2
  62837. S3
  62838. .RS 2
  62839. .IP \[bu] 2
  62840. Fix --s3-no-head panic: reflect: Elem of invalid type s3.PutObjectInput
  62841. (Nick Craig-Wood)
  62842. .RE
  62843. .IP \[bu] 2
  62844. SFTP
  62845. .RS 2
  62846. .IP \[bu] 2
  62847. Fix issue with WS_FTP by working around failing RealPath (albertony)
  62848. .RE
  62849. .IP \[bu] 2
  62850. Union
  62851. .RS 2
  62852. .IP \[bu] 2
  62853. Fix duplicated files when using directories with leading / (Nick
  62854. Craig-Wood)
  62855. .IP \[bu] 2
  62856. Fix multiple files being uploaded when roots don\[aq]t exist (Nick
  62857. Craig-Wood)
  62858. .IP \[bu] 2
  62859. Fix panic due to misalignment of struct field in 32 bit architectures
  62860. (r-ricci)
  62861. .RE
  62862. .SS v1.59.0 - 2022-07-09
  62863. .PP
  62864. See commits (https://github.com/rclone/rclone/compare/v1.58.0...v1.59.0)
  62865. .IP \[bu] 2
  62866. New backends
  62867. .RS 2
  62868. .IP \[bu] 2
  62869. Combine multiple remotes in one directory tree (Nick Craig-Wood)
  62870. .IP \[bu] 2
  62871. Hidrive (https://rclone.org/hidrive/) (Ovidiu Victor Tatar)
  62872. .IP \[bu] 2
  62873. Internet Archive (https://rclone.org/internetarchive/) (Lesmiscore
  62874. (Naoya Ozaki))
  62875. .IP \[bu] 2
  62876. New S3 providers
  62877. .RS 2
  62878. .IP \[bu] 2
  62879. ArvanCloud AOS (https://rclone.org/s3/#arvan-cloud) (ehsantdy)
  62880. .IP \[bu] 2
  62881. Cloudflare R2 (https://rclone.org/s3/#cloudflare-r2) (Nick Craig-Wood)
  62882. .IP \[bu] 2
  62883. Huawei OBS (https://rclone.org/s3/#huawei-obs) (m00594701)
  62884. .IP \[bu] 2
  62885. IDrive e2 (https://rclone.org/s3/#idrive-e2) (vyloy)
  62886. .RE
  62887. .RE
  62888. .IP \[bu] 2
  62889. New commands
  62890. .RS 2
  62891. .IP \[bu] 2
  62892. test makefile (https://rclone.org/commands/rclone_test_makefile/):
  62893. Create a single file for testing (Nick Craig-Wood)
  62894. .RE
  62895. .IP \[bu] 2
  62896. New Features
  62897. .RS 2
  62898. .IP \[bu] 2
  62899. Metadata framework (https://rclone.org/docs/#metadata) to read and write
  62900. system and user metadata on backends (Nick Craig-Wood)
  62901. .RS 2
  62902. .IP \[bu] 2
  62903. Implemented initially for \f[C]local\f[R], \f[C]s3\f[R] and
  62904. \f[C]internetarchive\f[R] backends
  62905. .IP \[bu] 2
  62906. \f[C]--metadata\f[R]/\f[C]-M\f[R] flag to control whether metadata is
  62907. copied
  62908. .IP \[bu] 2
  62909. \f[C]--metadata-set\f[R] flag to specify metadata for uploads
  62910. .IP \[bu] 2
  62911. Thanks to Manz Solutions (https://manz-solutions.at/) for sponsoring
  62912. this work.
  62913. .RE
  62914. .IP \[bu] 2
  62915. build
  62916. .RS 2
  62917. .IP \[bu] 2
  62918. Update to go1.18 and make go1.16 the minimum required version (Nick
  62919. Craig-Wood)
  62920. .IP \[bu] 2
  62921. Update android go build to 1.18.x and NDK to 23.1.7779620 (Nick
  62922. Craig-Wood)
  62923. .IP \[bu] 2
  62924. All windows binaries now no longer CGO (Nick Craig-Wood)
  62925. .IP \[bu] 2
  62926. Add \f[C]linux/arm/v6\f[R] to docker images (Nick Craig-Wood)
  62927. .IP \[bu] 2
  62928. A huge number of fixes found with staticcheck (https://staticcheck.io/)
  62929. (albertony)
  62930. .IP \[bu] 2
  62931. Configurable version suffix independent of version number (albertony)
  62932. .RE
  62933. .IP \[bu] 2
  62934. check: Implement \f[C]--no-traverse\f[R] and
  62935. \f[C]--no-unicode-normalization\f[R] (Nick Craig-Wood)
  62936. .IP \[bu] 2
  62937. config: Readability improvements (albertony)
  62938. .IP \[bu] 2
  62939. copyurl: Add \f[C]--header-filename\f[R] to honor the HTTP header
  62940. filename directive (J-P Treen)
  62941. .IP \[bu] 2
  62942. filter: Allow multiple \f[C]--exclude-if-present\f[R] flags (albertony)
  62943. .IP \[bu] 2
  62944. fshttp: Add \f[C]--disable-http-keep-alives\f[R] to disable HTTP Keep
  62945. Alives (Nick Craig-Wood)
  62946. .IP \[bu] 2
  62947. install.sh
  62948. .RS 2
  62949. .IP \[bu] 2
  62950. Set the modes on the files and/or directories on macOS (Michael C
  62951. Tiernan - MIT-Research Computing Project)
  62952. .IP \[bu] 2
  62953. Pre verify sudo authorization \f[C]-v\f[R] before calling curl.
  62954. (Michael C Tiernan - MIT-Research Computing Project)
  62955. .RE
  62956. .IP \[bu] 2
  62957. lib/encoder: Add Semicolon encoding (Nick Craig-Wood)
  62958. .IP \[bu] 2
  62959. lsf: Add metadata support with \f[C]M\f[R] flag (Nick Craig-Wood)
  62960. .IP \[bu] 2
  62961. lsjson: Add \f[C]--metadata\f[R]/\f[C]-M\f[R] flag (Nick Craig-Wood)
  62962. .IP \[bu] 2
  62963. ncdu
  62964. .RS 2
  62965. .IP \[bu] 2
  62966. Implement multi selection (CrossR)
  62967. .IP \[bu] 2
  62968. Replace termbox with tcell\[aq]s termbox wrapper (eNV25)
  62969. .IP \[bu] 2
  62970. Display correct path in delete confirmation dialog (Roberto Ricci)
  62971. .RE
  62972. .IP \[bu] 2
  62973. operations
  62974. .RS 2
  62975. .IP \[bu] 2
  62976. Speed up hash checking by aborting the other hash if first returns
  62977. nothing (Nick Craig-Wood)
  62978. .IP \[bu] 2
  62979. Use correct src/dst in some log messages (zzr93)
  62980. .RE
  62981. .IP \[bu] 2
  62982. rcat: Check checksums by default like copy does (Nick Craig-Wood)
  62983. .IP \[bu] 2
  62984. selfupdate: Replace deprecated \f[C]x/crypto/openpgp\f[R] package with
  62985. \f[C]ProtonMail/go-crypto\f[R] (albertony)
  62986. .IP \[bu] 2
  62987. serve ftp: Check \f[C]--passive-port\f[R] arguments are correct (Nick
  62988. Craig-Wood)
  62989. .IP \[bu] 2
  62990. size: Warn about inaccurate results when objects with unknown size
  62991. (albertony)
  62992. .IP \[bu] 2
  62993. sync: Overlap check is now filter-sensitive so \f[C]--backup-dir\f[R]
  62994. can be in the root provided it is filtered (Nick)
  62995. .IP \[bu] 2
  62996. test info: Check file name lengths using 1,2,3,4 byte unicode characters
  62997. (Nick Craig-Wood)
  62998. .IP \[bu] 2
  62999. test makefile(s): \f[C]--sparse\f[R], \f[C]--zero\f[R],
  63000. \f[C]--pattern\f[R], \f[C]--ascii\f[R], \f[C]--chargen\f[R] flags to
  63001. control file contents (Nick Craig-Wood)
  63002. .IP \[bu] 2
  63003. Make sure we call the \f[C]Shutdown\f[R] method on backends (Martin
  63004. Czygan)
  63005. .RE
  63006. .IP \[bu] 2
  63007. Bug Fixes
  63008. .RS 2
  63009. .IP \[bu] 2
  63010. accounting: Fix unknown length file transfers counting 3 transfers each
  63011. (buda)
  63012. .IP \[bu] 2
  63013. ncdu: Fix issue where dir size is summed when file sizes are -1
  63014. (albertony)
  63015. .IP \[bu] 2
  63016. sync/copy/move
  63017. .RS 2
  63018. .IP \[bu] 2
  63019. Fix \f[C]--fast-list\f[R] \f[C]--create-empty-src-dirs\f[R] and
  63020. \f[C]--exclude\f[R] (Nick Craig-Wood)
  63021. .IP \[bu] 2
  63022. Fix \f[C]--max-duration\f[R] and \f[C]--cutoff-mode soft\f[R] (Nick
  63023. Craig-Wood)
  63024. .RE
  63025. .IP \[bu] 2
  63026. Fix fs cache unpin (Martin Czygan)
  63027. .IP \[bu] 2
  63028. Set proper exit code for errors that are not low-level retried (e.g.
  63029. size/timestamp changing) (albertony)
  63030. .RE
  63031. .IP \[bu] 2
  63032. Mount
  63033. .RS 2
  63034. .IP \[bu] 2
  63035. Support \f[C]windows/arm64\f[R] (may still be problems - see
  63036. #5828 (https://github.com/rclone/rclone/issues/5828)) (Nick Craig-Wood)
  63037. .IP \[bu] 2
  63038. Log IO errors at ERROR level (Nick Craig-Wood)
  63039. .IP \[bu] 2
  63040. Ignore \f[C]_netdev\f[R] mount argument (Hugal31)
  63041. .RE
  63042. .IP \[bu] 2
  63043. VFS
  63044. .RS 2
  63045. .IP \[bu] 2
  63046. Add \f[C]--vfs-fast-fingerprint\f[R] for less accurate but faster
  63047. fingerprints (Nick Craig-Wood)
  63048. .IP \[bu] 2
  63049. Add \f[C]--vfs-disk-space-total-size\f[R] option to manually set the
  63050. total disk space (Claudio Maradonna)
  63051. .IP \[bu] 2
  63052. vfscache: Fix fatal error: sync: unlock of unlocked mutex error (Nick
  63053. Craig-Wood)
  63054. .RE
  63055. .IP \[bu] 2
  63056. Local
  63057. .RS 2
  63058. .IP \[bu] 2
  63059. Fix parsing of \f[C]--local-nounc\f[R] flag (Nick Craig-Wood)
  63060. .IP \[bu] 2
  63061. Add Metadata support (Nick Craig-Wood)
  63062. .RE
  63063. .IP \[bu] 2
  63064. Crypt
  63065. .RS 2
  63066. .IP \[bu] 2
  63067. Support metadata (Nick Craig-Wood)
  63068. .RE
  63069. .IP \[bu] 2
  63070. Azure Blob
  63071. .RS 2
  63072. .IP \[bu] 2
  63073. Calculate Chunksize/blocksize to stay below maxUploadParts (Leroy van
  63074. Logchem)
  63075. .IP \[bu] 2
  63076. Use chunksize lib to determine chunksize dynamically (Derek Battams)
  63077. .IP \[bu] 2
  63078. Case insensitive access tier (Rob Pickerill)
  63079. .IP \[bu] 2
  63080. Allow remote emulator (azurite) (Lorenzo Maiorfi)
  63081. .RE
  63082. .IP \[bu] 2
  63083. B2
  63084. .RS 2
  63085. .IP \[bu] 2
  63086. Add \f[C]--b2-version-at\f[R] flag to show file versions at time
  63087. specified (SwazRGB)
  63088. .IP \[bu] 2
  63089. Use chunksize lib to determine chunksize dynamically (Derek Battams)
  63090. .RE
  63091. .IP \[bu] 2
  63092. Chunker
  63093. .RS 2
  63094. .IP \[bu] 2
  63095. Mark as not supporting metadata (Nick Craig-Wood)
  63096. .RE
  63097. .IP \[bu] 2
  63098. Compress
  63099. .RS 2
  63100. .IP \[bu] 2
  63101. Support metadata (Nick Craig-Wood)
  63102. .RE
  63103. .IP \[bu] 2
  63104. Drive
  63105. .RS 2
  63106. .IP \[bu] 2
  63107. Make \f[C]backend config -o config\f[R] add a combined
  63108. \f[C]AllDrives:\f[R] remote (Nick Craig-Wood)
  63109. .IP \[bu] 2
  63110. Make \f[C]--drive-shared-with-me\f[R] work with shared drives (Nick
  63111. Craig-Wood)
  63112. .IP \[bu] 2
  63113. Add \f[C]--drive-resource-key\f[R] for accessing link-shared files (Nick
  63114. Craig-Wood)
  63115. .IP \[bu] 2
  63116. Add backend commands \f[C]exportformats\f[R] and \f[C]importformats\f[R]
  63117. for debugging (Nick Craig-Wood)
  63118. .IP \[bu] 2
  63119. Fix 404 errors on copy/server side copy objects from public folder (Nick
  63120. Craig-Wood)
  63121. .IP \[bu] 2
  63122. Update Internal OAuth consent screen docs (Phil Shackleton)
  63123. .IP \[bu] 2
  63124. Moved \f[C]root_folder_id\f[R] to advanced section (Abhiraj)
  63125. .RE
  63126. .IP \[bu] 2
  63127. Dropbox
  63128. .RS 2
  63129. .IP \[bu] 2
  63130. Migrate from deprecated api (m8rge)
  63131. .IP \[bu] 2
  63132. Add logs to show when poll interval limits are exceeded (Nick
  63133. Craig-Wood)
  63134. .IP \[bu] 2
  63135. Fix nil pointer exception on dropbox impersonate user not found (Nick
  63136. Craig-Wood)
  63137. .RE
  63138. .IP \[bu] 2
  63139. Fichier
  63140. .RS 2
  63141. .IP \[bu] 2
  63142. Parse api error codes and them accordingly (buengese)
  63143. .RE
  63144. .IP \[bu] 2
  63145. FTP
  63146. .RS 2
  63147. .IP \[bu] 2
  63148. Add support for \f[C]disable_utf8\f[R] option (Jason Zheng)
  63149. .IP \[bu] 2
  63150. Revert to upstream \f[C]github.com/jlaffaye/ftp\f[R] from our fork (Nick
  63151. Craig-Wood)
  63152. .RE
  63153. .IP \[bu] 2
  63154. Google Cloud Storage
  63155. .RS 2
  63156. .IP \[bu] 2
  63157. Add \f[C]--gcs-no-check-bucket\f[R] to minimise transactions and perms
  63158. (Nick Gooding)
  63159. .IP \[bu] 2
  63160. Add \f[C]--gcs-decompress\f[R] flag to decompress gzip-encoded files
  63161. (Nick Craig-Wood)
  63162. .RS 2
  63163. .IP \[bu] 2
  63164. by default these will be downloaded compressed (which previously failed)
  63165. .RE
  63166. .RE
  63167. .IP \[bu] 2
  63168. Hasher
  63169. .RS 2
  63170. .IP \[bu] 2
  63171. Support metadata (Nick Craig-Wood)
  63172. .RE
  63173. .IP \[bu] 2
  63174. HTTP
  63175. .RS 2
  63176. .IP \[bu] 2
  63177. Fix missing response when using custom auth handler (albertony)
  63178. .RE
  63179. .IP \[bu] 2
  63180. Jottacloud
  63181. .RS 2
  63182. .IP \[bu] 2
  63183. Add support for upload to custom device and mountpoint (albertony)
  63184. .IP \[bu] 2
  63185. Always store username in config and use it to avoid initial API request
  63186. (albertony)
  63187. .IP \[bu] 2
  63188. Fix issue with server-side copy when destination is in trash (albertony)
  63189. .IP \[bu] 2
  63190. Fix listing output of remote with special characters (albertony)
  63191. .RE
  63192. .IP \[bu] 2
  63193. Mailru
  63194. .RS 2
  63195. .IP \[bu] 2
  63196. Fix timeout by using int instead of time.Duration for keeping number of
  63197. seconds (albertony)
  63198. .RE
  63199. .IP \[bu] 2
  63200. Mega
  63201. .RS 2
  63202. .IP \[bu] 2
  63203. Document using MEGAcmd to help with login failures (Art M.
  63204. Gallagher)
  63205. .RE
  63206. .IP \[bu] 2
  63207. Onedrive
  63208. .RS 2
  63209. .IP \[bu] 2
  63210. Implement \f[C]--poll-interval\f[R] for onedrive (Hugo Laloge)
  63211. .IP \[bu] 2
  63212. Add access scopes option (Sven Gerber)
  63213. .RE
  63214. .IP \[bu] 2
  63215. Opendrive
  63216. .RS 2
  63217. .IP \[bu] 2
  63218. Resolve lag and truncate bugs (Scott Grimes)
  63219. .RE
  63220. .IP \[bu] 2
  63221. Pcloud
  63222. .RS 2
  63223. .IP \[bu] 2
  63224. Fix about with no free space left (buengese)
  63225. .IP \[bu] 2
  63226. Fix cleanup (buengese)
  63227. .RE
  63228. .IP \[bu] 2
  63229. S3
  63230. .RS 2
  63231. .IP \[bu] 2
  63232. Use PUT Object instead of presigned URLs to upload single part objects
  63233. (Nick Craig-Wood)
  63234. .IP \[bu] 2
  63235. Backend restore command to skip non-GLACIER objects (Vincent Murphy)
  63236. .IP \[bu] 2
  63237. Use chunksize lib to determine chunksize dynamically (Derek Battams)
  63238. .IP \[bu] 2
  63239. Retry RequestTimeout errors (Nick Craig-Wood)
  63240. .IP \[bu] 2
  63241. Implement reading and writing of metadata (Nick Craig-Wood)
  63242. .RE
  63243. .IP \[bu] 2
  63244. SFTP
  63245. .RS 2
  63246. .IP \[bu] 2
  63247. Add support for about and hashsum on windows server (albertony)
  63248. .IP \[bu] 2
  63249. Use vendor-specific VFS statistics extension for about if available
  63250. (albertony)
  63251. .IP \[bu] 2
  63252. Add \f[C]--sftp-chunk-size\f[R] to control packets sizes for high
  63253. latency links (Nick Craig-Wood)
  63254. .IP \[bu] 2
  63255. Add \f[C]--sftp-concurrency\f[R] to improve high latency transfers (Nick
  63256. Craig-Wood)
  63257. .IP \[bu] 2
  63258. Add \f[C]--sftp-set-env\f[R] option to set environment variables (Nick
  63259. Craig-Wood)
  63260. .IP \[bu] 2
  63261. Add Hetzner Storage Boxes to supported sftp backends (Anthrazz)
  63262. .RE
  63263. .IP \[bu] 2
  63264. Storj
  63265. .RS 2
  63266. .IP \[bu] 2
  63267. Fix put which lead to the file being unreadable when using mount (Erik
  63268. van Velzen)
  63269. .RE
  63270. .IP \[bu] 2
  63271. Union
  63272. .RS 2
  63273. .IP \[bu] 2
  63274. Add \f[C]min_free_space\f[R] option for \f[C]lfs\f[R]/\f[C]eplfs\f[R]
  63275. policies (Nick Craig-Wood)
  63276. .IP \[bu] 2
  63277. Fix uploading files to union of all bucket based remotes (Nick
  63278. Craig-Wood)
  63279. .IP \[bu] 2
  63280. Fix get free space for remotes which don\[aq]t support it (Nick
  63281. Craig-Wood)
  63282. .IP \[bu] 2
  63283. Fix \f[C]eplus\f[R] policy to select correct entry for existing files
  63284. (Nick Craig-Wood)
  63285. .IP \[bu] 2
  63286. Support metadata (Nick Craig-Wood)
  63287. .RE
  63288. .IP \[bu] 2
  63289. Uptobox
  63290. .RS 2
  63291. .IP \[bu] 2
  63292. Fix root path handling (buengese)
  63293. .RE
  63294. .IP \[bu] 2
  63295. WebDAV
  63296. .RS 2
  63297. .IP \[bu] 2
  63298. Add SharePoint in other specific regions support (Noah Hsu)
  63299. .RE
  63300. .IP \[bu] 2
  63301. Yandex
  63302. .RS 2
  63303. .IP \[bu] 2
  63304. Handle api error on server-side move (albertony)
  63305. .RE
  63306. .IP \[bu] 2
  63307. Zoho
  63308. .RS 2
  63309. .IP \[bu] 2
  63310. Add Japan and China regions (buengese)
  63311. .RE
  63312. .SS v1.58.1 - 2022-04-29
  63313. .PP
  63314. See commits (https://github.com/rclone/rclone/compare/v1.58.0...v1.58.1)
  63315. .IP \[bu] 2
  63316. Bug Fixes
  63317. .RS 2
  63318. .IP \[bu] 2
  63319. build: Update github.com/billziss-gh to github.com/winfsp (Nick
  63320. Craig-Wood)
  63321. .IP \[bu] 2
  63322. filter: Fix timezone of \f[C]--min-age\f[R]/\f[C]-max-age\f[R] from UTC
  63323. to local as documented (Nick Craig-Wood)
  63324. .IP \[bu] 2
  63325. rc/js: Correct RC method names (S\[u01A1]n Tr\[u1EA7]n-Nguy\[u1EC5]n)
  63326. .IP \[bu] 2
  63327. docs
  63328. .RS 2
  63329. .IP \[bu] 2
  63330. Fix some links to command pages (albertony)
  63331. .IP \[bu] 2
  63332. Add \f[C]--multi-thread-streams\f[R] note to \f[C]--transfers\f[R].
  63333. (Zsolt Ero)
  63334. .RE
  63335. .RE
  63336. .IP \[bu] 2
  63337. Mount
  63338. .RS 2
  63339. .IP \[bu] 2
  63340. Fix \f[C]--devname\f[R] and fusermount: unknown option \[aq]fsname\[aq]
  63341. when mounting via rc (Nick Craig-Wood)
  63342. .RE
  63343. .IP \[bu] 2
  63344. VFS
  63345. .RS 2
  63346. .IP \[bu] 2
  63347. Remove wording which suggests VFS is only for mounting (Nick Craig-Wood)
  63348. .RE
  63349. .IP \[bu] 2
  63350. Dropbox
  63351. .RS 2
  63352. .IP \[bu] 2
  63353. Fix retries of multipart uploads with incorrect_offset error (Nick
  63354. Craig-Wood)
  63355. .RE
  63356. .IP \[bu] 2
  63357. Google Cloud Storage
  63358. .RS 2
  63359. .IP \[bu] 2
  63360. Use the s3 pacer to speed up transactions (Nick Craig-Wood)
  63361. .IP \[bu] 2
  63362. pacer: Default the Google pacer to a burst of 100 to fix gcs pacing
  63363. (Nick Craig-Wood)
  63364. .RE
  63365. .IP \[bu] 2
  63366. Jottacloud
  63367. .RS 2
  63368. .IP \[bu] 2
  63369. Fix scope in token request (albertony)
  63370. .RE
  63371. .IP \[bu] 2
  63372. Netstorage
  63373. .RS 2
  63374. .IP \[bu] 2
  63375. Fix unescaped HTML in documentation (Nick Craig-Wood)
  63376. .IP \[bu] 2
  63377. Make levels of headings consistent (Nick Craig-Wood)
  63378. .IP \[bu] 2
  63379. Add support contacts to netstorage doc (Nil Alexandrov)
  63380. .RE
  63381. .IP \[bu] 2
  63382. Onedrive
  63383. .RS 2
  63384. .IP \[bu] 2
  63385. Note that sharepoint also changes web files (.html, .aspx) (GH)
  63386. .RE
  63387. .IP \[bu] 2
  63388. Putio
  63389. .RS 2
  63390. .IP \[bu] 2
  63391. Handle rate limit errors (Berkan Teber)
  63392. .IP \[bu] 2
  63393. Fix multithread download and other ranged requests (rafma0)
  63394. .RE
  63395. .IP \[bu] 2
  63396. S3
  63397. .RS 2
  63398. .IP \[bu] 2
  63399. Add ChinaMobile EOS to provider list (GuoXingbin)
  63400. .IP \[bu] 2
  63401. Sync providers in config description with providers (Nick Craig-Wood)
  63402. .RE
  63403. .IP \[bu] 2
  63404. SFTP
  63405. .RS 2
  63406. .IP \[bu] 2
  63407. Fix OpenSSH 8.8+ RSA keys incompatibility (KARBOWSKI Piotr)
  63408. .IP \[bu] 2
  63409. Note that Scaleway C14 is deprecating SFTP in favor of S3 (Adrien
  63410. Rey-Jarthon)
  63411. .RE
  63412. .IP \[bu] 2
  63413. Storj
  63414. .RS 2
  63415. .IP \[bu] 2
  63416. Fix bucket creation on Move (Nick Craig-Wood)
  63417. .RE
  63418. .IP \[bu] 2
  63419. WebDAV
  63420. .RS 2
  63421. .IP \[bu] 2
  63422. Don\[aq]t override Referer if user sets it (Nick Craig-Wood)
  63423. .RE
  63424. .SS v1.58.0 - 2022-03-18
  63425. .PP
  63426. See commits (https://github.com/rclone/rclone/compare/v1.57.0...v1.58.0)
  63427. .IP \[bu] 2
  63428. New backends
  63429. .RS 2
  63430. .IP \[bu] 2
  63431. Akamai Netstorage (Nil Alexandrov)
  63432. .IP \[bu] 2
  63433. Seagate Lyve (https://rclone.org/s3/#lyve), SeaweedFS, Storj, RackCorp
  63434. via s3 backend
  63435. .IP \[bu] 2
  63436. Storj (https://rclone.org/storj/) (renamed from Tardigrade - your old
  63437. config files will continue working)
  63438. .RE
  63439. .IP \[bu] 2
  63440. New commands
  63441. .RS 2
  63442. .IP \[bu] 2
  63443. bisync (https://rclone.org/bisync/) - experimental bidirectional cloud
  63444. sync (Ivan Andreev, Chris Nelson)
  63445. .RE
  63446. .IP \[bu] 2
  63447. New Features
  63448. .RS 2
  63449. .IP \[bu] 2
  63450. build
  63451. .RS 2
  63452. .IP \[bu] 2
  63453. Add \f[C]windows/arm64\f[R] build (\f[C]rclone mount\f[R] not supported
  63454. yet) (Nick Craig-Wood)
  63455. .IP \[bu] 2
  63456. Raise minimum go version to go1.15 (Nick Craig-Wood)
  63457. .RE
  63458. .IP \[bu] 2
  63459. config: Allow dot in remote names and improve config editing (albertony)
  63460. .IP \[bu] 2
  63461. dedupe: Add quit as a choice in interactive mode (albertony)
  63462. .IP \[bu] 2
  63463. dlna: Change icons to the newest ones.
  63464. (Alain Nussbaumer)
  63465. .IP \[bu] 2
  63466. filter: Add \f[C]{{ regexp }}\f[R]
  63467. syntax (https://rclone.org/filtering/#regexp) to pattern matches (Nick
  63468. Craig-Wood)
  63469. .IP \[bu] 2
  63470. fshttp: Add prometheus metrics for HTTP status code (Micha\[/l] Matczuk)
  63471. .IP \[bu] 2
  63472. hashsum: Support creating hash from data received on stdin (albertony)
  63473. .IP \[bu] 2
  63474. librclone
  63475. .RS 2
  63476. .IP \[bu] 2
  63477. Allow empty string or null input instead of empty json object
  63478. (albertony)
  63479. .IP \[bu] 2
  63480. Add support for mount commands (albertony)
  63481. .RE
  63482. .IP \[bu] 2
  63483. operations: Add server-side moves to stats (Ole Frost)
  63484. .IP \[bu] 2
  63485. rc: Allow user to disable authentication for web gui (negative0)
  63486. .IP \[bu] 2
  63487. tree: Remove obsolete \f[C]--human\f[R] replaced by global
  63488. \f[C]--human-readable\f[R] (albertony)
  63489. .IP \[bu] 2
  63490. version: Report correct friendly-name for newer Windows 10/11 versions
  63491. (albertony)
  63492. .RE
  63493. .IP \[bu] 2
  63494. Bug Fixes
  63495. .RS 2
  63496. .IP \[bu] 2
  63497. build
  63498. .RS 2
  63499. .IP \[bu] 2
  63500. Fix ARM architecture version in .deb packages after nfpm change (Nick
  63501. Craig-Wood)
  63502. .IP \[bu] 2
  63503. Hard fork \f[C]github.com/jlaffaye/ftp\f[R] to fix
  63504. \f[C]go get github.com/rclone/rclone\f[R] (Nick Craig-Wood)
  63505. .RE
  63506. .IP \[bu] 2
  63507. oauthutil: Fix crash when webbrowser requests \f[C]/robots.txt\f[R]
  63508. (Nick Craig-Wood)
  63509. .IP \[bu] 2
  63510. operations: Fix goroutine leak in case of copy retry (Ankur Gupta)
  63511. .IP \[bu] 2
  63512. rc:
  63513. .RS 2
  63514. .IP \[bu] 2
  63515. Fix \f[C]operations/publiclink\f[R] default for \f[C]expires\f[R]
  63516. parameter (Nick Craig-Wood)
  63517. .IP \[bu] 2
  63518. Fix missing computation of \f[C]transferQueueSize\f[R] when summing up
  63519. statistics group (Carlo Mion)
  63520. .IP \[bu] 2
  63521. Fix missing \f[C]StatsInfo\f[R] fields in the computation of the group
  63522. sum (Carlo Mion)
  63523. .RE
  63524. .IP \[bu] 2
  63525. sync: Fix \f[C]--max-duration\f[R] so it doesn\[aq]t retry when the
  63526. duration is exceeded (Nick Craig-Wood)
  63527. .IP \[bu] 2
  63528. touch: Fix issue where a directory is created instead of a file
  63529. (albertony)
  63530. .RE
  63531. .IP \[bu] 2
  63532. Mount
  63533. .RS 2
  63534. .IP \[bu] 2
  63535. Add \f[C]--devname\f[R] to set the device name sent to FUSE for mount
  63536. display (Nick Craig-Wood)
  63537. .RE
  63538. .IP \[bu] 2
  63539. VFS
  63540. .RS 2
  63541. .IP \[bu] 2
  63542. Add \f[C]vfs/stats\f[R] remote control to show statistics (Nick
  63543. Craig-Wood)
  63544. .IP \[bu] 2
  63545. Fix
  63546. \f[C]failed to _ensure cache internal error: downloaders is nil error\f[R]
  63547. (Nick Craig-Wood)
  63548. .IP \[bu] 2
  63549. Fix handling of special characters in file names (Bumsu Hyeon)
  63550. .RE
  63551. .IP \[bu] 2
  63552. Local
  63553. .RS 2
  63554. .IP \[bu] 2
  63555. Fix hash invalidation which caused errors with local crypt mount (Nick
  63556. Craig-Wood)
  63557. .RE
  63558. .IP \[bu] 2
  63559. Crypt
  63560. .RS 2
  63561. .IP \[bu] 2
  63562. Add \f[C]base64\f[R] and \f[C]base32768\f[R] filename encoding options
  63563. (Max Sum, Sinan Tan)
  63564. .RE
  63565. .IP \[bu] 2
  63566. Azure Blob
  63567. .RS 2
  63568. .IP \[bu] 2
  63569. Implement \f[C]--azureblob-upload-concurrency\f[R] parameter to speed
  63570. uploads (Nick Craig-Wood)
  63571. .IP \[bu] 2
  63572. Remove 100MB upper limit on \f[C]chunk_size\f[R] as it is no longer
  63573. needed (Nick Craig-Wood)
  63574. .IP \[bu] 2
  63575. Raise \f[C]--azureblob-upload-concurrency\f[R] to 16 by default (Nick
  63576. Craig-Wood)
  63577. .IP \[bu] 2
  63578. Fix crash with SAS URL and no container (Nick Craig-Wood)
  63579. .RE
  63580. .IP \[bu] 2
  63581. Compress
  63582. .RS 2
  63583. .IP \[bu] 2
  63584. Fix crash if metadata upload failed (Nick Craig-Wood)
  63585. .IP \[bu] 2
  63586. Fix memory leak (Nick Craig-Wood)
  63587. .RE
  63588. .IP \[bu] 2
  63589. Drive
  63590. .RS 2
  63591. .IP \[bu] 2
  63592. Added \f[C]--drive-copy-shortcut-content\f[R] (Abhiraj)
  63593. .IP \[bu] 2
  63594. Disable OAuth OOB flow (copy a token) due to Google deprecation (Nick
  63595. Craig-Wood)
  63596. .RS 2
  63597. .IP \[bu] 2
  63598. See the deprecation
  63599. note (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob).
  63600. .RE
  63601. .IP \[bu] 2
  63602. Add \f[C]--drive-skip-dangling-shortcuts\f[R] flag (Nick Craig-Wood)
  63603. .IP \[bu] 2
  63604. When using a link type \f[C]--drive-export-formats\f[R] shows all doc
  63605. types (Nick Craig-Wood)
  63606. .RE
  63607. .IP \[bu] 2
  63608. Dropbox
  63609. .RS 2
  63610. .IP \[bu] 2
  63611. Speed up directory listings by specifying 1000 items in a chunk (Nick
  63612. Craig-Wood)
  63613. .IP \[bu] 2
  63614. Save an API request when at the root (Nick Craig-Wood)
  63615. .RE
  63616. .IP \[bu] 2
  63617. Fichier
  63618. .RS 2
  63619. .IP \[bu] 2
  63620. Implemented About functionality (Gourav T)
  63621. .RE
  63622. .IP \[bu] 2
  63623. FTP
  63624. .RS 2
  63625. .IP \[bu] 2
  63626. Add \f[C]--ftp-ask-password\f[R] to prompt for password when needed
  63627. (Borna Butkovic)
  63628. .RE
  63629. .IP \[bu] 2
  63630. Google Cloud Storage
  63631. .RS 2
  63632. .IP \[bu] 2
  63633. Add missing regions (Nick Craig-Wood)
  63634. .IP \[bu] 2
  63635. Disable OAuth OOB flow (copy a token) due to Google deprecation (Nick
  63636. Craig-Wood)
  63637. .RS 2
  63638. .IP \[bu] 2
  63639. See the deprecation
  63640. note (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob).
  63641. .RE
  63642. .RE
  63643. .IP \[bu] 2
  63644. Googlephotos
  63645. .RS 2
  63646. .IP \[bu] 2
  63647. Disable OAuth OOB flow (copy a token) due to Google deprecation (Nick
  63648. Craig-Wood)
  63649. .RS 2
  63650. .IP \[bu] 2
  63651. See the deprecation
  63652. note (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob).
  63653. .RE
  63654. .RE
  63655. .IP \[bu] 2
  63656. Hasher
  63657. .RS 2
  63658. .IP \[bu] 2
  63659. Fix crash on object not found (Nick Craig-Wood)
  63660. .RE
  63661. .IP \[bu] 2
  63662. Hdfs
  63663. .RS 2
  63664. .IP \[bu] 2
  63665. Add file (Move) and directory move (DirMove) support (Andy Jackson)
  63666. .RE
  63667. .IP \[bu] 2
  63668. HTTP
  63669. .RS 2
  63670. .IP \[bu] 2
  63671. Improved recognition of URL pointing to a single file (albertony)
  63672. .RE
  63673. .IP \[bu] 2
  63674. Jottacloud
  63675. .RS 2
  63676. .IP \[bu] 2
  63677. Change API used by recursive list (ListR) (Kim)
  63678. .IP \[bu] 2
  63679. Add support for Tele2 Cloud (Fredric Arklid)
  63680. .RE
  63681. .IP \[bu] 2
  63682. Koofr
  63683. .RS 2
  63684. .IP \[bu] 2
  63685. Add Digistorage service as a Koofr provider.
  63686. (jaKa)
  63687. .RE
  63688. .IP \[bu] 2
  63689. Mailru
  63690. .RS 2
  63691. .IP \[bu] 2
  63692. Fix int32 overflow on arm32 (Ivan Andreev)
  63693. .RE
  63694. .IP \[bu] 2
  63695. Onedrive
  63696. .RS 2
  63697. .IP \[bu] 2
  63698. Add config option for oauth scope \f[C]Sites.Read.All\f[R] (Charlie
  63699. Jiang)
  63700. .IP \[bu] 2
  63701. Minor optimization of quickxorhash (Isaac Levy)
  63702. .IP \[bu] 2
  63703. Add \f[C]--onedrive-root-folder-id\f[R] flag (Nick Craig-Wood)
  63704. .IP \[bu] 2
  63705. Do not retry on \f[C]400 pathIsTooLong\f[R] error (ctrl-q)
  63706. .RE
  63707. .IP \[bu] 2
  63708. Pcloud
  63709. .RS 2
  63710. .IP \[bu] 2
  63711. Add support for recursive list (ListR) (Niels van de Weem)
  63712. .IP \[bu] 2
  63713. Fix pre-1970 time stamps (Nick Craig-Wood)
  63714. .RE
  63715. .IP \[bu] 2
  63716. S3
  63717. .RS 2
  63718. .IP \[bu] 2
  63719. Use \f[C]ListObjectsV2\f[R] for faster listings (Felix Bu\[u0308]nemann)
  63720. .RS 2
  63721. .IP \[bu] 2
  63722. Fallback to \f[C]ListObject\f[R] v1 on unsupported providers (Nick
  63723. Craig-Wood)
  63724. .RE
  63725. .IP \[bu] 2
  63726. Use the \f[C]ETag\f[R] on multipart transfers to verify the transfer was
  63727. OK (Nick Craig-Wood)
  63728. .RS 2
  63729. .IP \[bu] 2
  63730. Add \f[C]--s3-use-multipart-etag\f[R] provider quirk to disable this on
  63731. unsupported providers (Nick Craig-Wood)
  63732. .RE
  63733. .IP \[bu] 2
  63734. New Providers
  63735. .RS 2
  63736. .IP \[bu] 2
  63737. RackCorp object storage (bbabich)
  63738. .IP \[bu] 2
  63739. Seagate Lyve Cloud storage (Nick Craig-Wood)
  63740. .IP \[bu] 2
  63741. SeaweedFS (Chris Lu)
  63742. .IP \[bu] 2
  63743. Storj Shared gateways (M\['a]rton Elek, Nick Craig-Wood)
  63744. .RE
  63745. .IP \[bu] 2
  63746. Add Wasabi AP Northeast 2 endpoint info (lindwurm)
  63747. .IP \[bu] 2
  63748. Add \f[C]GLACIER_IR\f[R] storage class (Yunhai Luo)
  63749. .IP \[bu] 2
  63750. Document \f[C]Content-MD5\f[R] workaround for object-lock enabled
  63751. buckets (Paulo Martins)
  63752. .IP \[bu] 2
  63753. Fix multipart upload with \f[C]--no-head\f[R] flag (Nick Craig-Wood)
  63754. .IP \[bu] 2
  63755. Simplify content length processing in s3 with download url (Logeshwaran
  63756. Murugesan)
  63757. .RE
  63758. .IP \[bu] 2
  63759. SFTP
  63760. .RS 2
  63761. .IP \[bu] 2
  63762. Add rclone to list of supported \f[C]md5sum\f[R]/\f[C]sha1sum\f[R]
  63763. commands to look for (albertony)
  63764. .IP \[bu] 2
  63765. Refactor so we only have one way of running remote commands (Nick
  63766. Craig-Wood)
  63767. .IP \[bu] 2
  63768. Fix timeout on hashing large files by sending keepalives (Nick
  63769. Craig-Wood)
  63770. .IP \[bu] 2
  63771. Fix unnecessary seeking when uploading and downloading files (Nick
  63772. Craig-Wood)
  63773. .IP \[bu] 2
  63774. Update docs on how to create \f[C]known_hosts\f[R] file (Nick
  63775. Craig-Wood)
  63776. .RE
  63777. .IP \[bu] 2
  63778. Storj
  63779. .RS 2
  63780. .IP \[bu] 2
  63781. Rename tardigrade backend to storj backend (Nick Craig-Wood)
  63782. .IP \[bu] 2
  63783. Implement server side Move for files (Nick Craig-Wood)
  63784. .IP \[bu] 2
  63785. Update docs to explain differences between s3 and this backend (Elek,
  63786. M\['a]rton)
  63787. .RE
  63788. .IP \[bu] 2
  63789. Swift
  63790. .RS 2
  63791. .IP \[bu] 2
  63792. Fix About so it shows info about the current container only (Nick
  63793. Craig-Wood)
  63794. .RE
  63795. .IP \[bu] 2
  63796. Union
  63797. .RS 2
  63798. .IP \[bu] 2
  63799. Fix treatment of remotes with \f[C]//\f[R] in (Nick Craig-Wood)
  63800. .IP \[bu] 2
  63801. Fix deadlock when one part of a multi-upload fails (Nick Craig-Wood)
  63802. .IP \[bu] 2
  63803. Fix eplus policy returned nil (Vitor Arruda)
  63804. .RE
  63805. .IP \[bu] 2
  63806. Yandex
  63807. .RS 2
  63808. .IP \[bu] 2
  63809. Add permanent deletion support (deinferno)
  63810. .RE
  63811. .SS v1.57.0 - 2021-11-01
  63812. .PP
  63813. See commits (https://github.com/rclone/rclone/compare/v1.56.0...v1.57.0)
  63814. .IP \[bu] 2
  63815. New backends
  63816. .RS 2
  63817. .IP \[bu] 2
  63818. Sia: for Sia decentralized cloud (Ian Levesque, Matthew Sevey, Ivan
  63819. Andreev)
  63820. .IP \[bu] 2
  63821. Hasher: caches hashes and enable hashes for backends that don\[aq]t
  63822. support them (Ivan Andreev)
  63823. .RE
  63824. .IP \[bu] 2
  63825. New commands
  63826. .RS 2
  63827. .IP \[bu] 2
  63828. lsjson --stat: to get info about a single file/dir and
  63829. \f[C]operations/stat\f[R] api (Nick Craig-Wood)
  63830. .IP \[bu] 2
  63831. config paths: show configured paths (albertony)
  63832. .RE
  63833. .IP \[bu] 2
  63834. New Features
  63835. .RS 2
  63836. .IP \[bu] 2
  63837. about: Make human-readable output more consistent with other commands
  63838. (albertony)
  63839. .IP \[bu] 2
  63840. build
  63841. .RS 2
  63842. .IP \[bu] 2
  63843. Use go1.17 for building and make go1.14 the minimum supported (Nick
  63844. Craig-Wood)
  63845. .IP \[bu] 2
  63846. Update Go to 1.16 and NDK to 22b for Android builds (x0b)
  63847. .RE
  63848. .IP \[bu] 2
  63849. config
  63850. .RS 2
  63851. .IP \[bu] 2
  63852. Support hyphen in remote name from environment variable (albertony)
  63853. .IP \[bu] 2
  63854. Make temporary directory user-configurable (albertony)
  63855. .IP \[bu] 2
  63856. Convert \f[C]--cache-dir\f[R] value to an absolute path (albertony)
  63857. .IP \[bu] 2
  63858. Do not override MIME types from OS defaults (albertony)
  63859. .RE
  63860. .IP \[bu] 2
  63861. docs
  63862. .RS 2
  63863. .IP \[bu] 2
  63864. Toc styling and header levels cleanup (albertony)
  63865. .IP \[bu] 2
  63866. Extend documentation on valid remote names (albertony)
  63867. .IP \[bu] 2
  63868. Mention make for building and cmount tag for macos (Alex Chen)
  63869. .IP \[bu] 2
  63870. \&...and many more contributions to numerous to mention!
  63871. .RE
  63872. .IP \[bu] 2
  63873. fs: Move with \f[C]--ignore-existing\f[R] will not delete skipped files
  63874. (Nathan Collins)
  63875. .IP \[bu] 2
  63876. hashsum
  63877. .RS 2
  63878. .IP \[bu] 2
  63879. Treat hash values in sum file as case insensitive (Ivan Andreev)
  63880. .IP \[bu] 2
  63881. Don\[aq]t put \f[C]ERROR\f[R] or \f[C]UNSUPPORTED\f[R] in output (Ivan
  63882. Andreev)
  63883. .RE
  63884. .IP \[bu] 2
  63885. lib/encoder: Add encoding of square brackets (Ivan Andreev)
  63886. .IP \[bu] 2
  63887. lib/file: Improve error message when attempting to create dir on
  63888. nonexistent drive on windows (albertony)
  63889. .IP \[bu] 2
  63890. lib/http: Factor password hash salt into options with default (Nolan
  63891. Woods)
  63892. .IP \[bu] 2
  63893. lib/kv: Add key-value database api (Ivan Andreev)
  63894. .IP \[bu] 2
  63895. librclone
  63896. .RS 2
  63897. .IP \[bu] 2
  63898. Add \f[C]RcloneFreeString\f[R] function (albertony)
  63899. .IP \[bu] 2
  63900. Free strings in python example (albertony)
  63901. .RE
  63902. .IP \[bu] 2
  63903. log: Optionally print pid in logs (Ivan Andreev)
  63904. .IP \[bu] 2
  63905. ls: Introduce \f[C]--human-readable\f[R] global option to print
  63906. human-readable sizes (albertony)
  63907. .IP \[bu] 2
  63908. ncdu: Introduce key \f[C]u\f[R] to toggle human-readable (albertony)
  63909. .IP \[bu] 2
  63910. operations: Add \f[C]rmdirs -v\f[R] output (Justin Winokur)
  63911. .IP \[bu] 2
  63912. serve sftp
  63913. .RS 2
  63914. .IP \[bu] 2
  63915. Generate an ECDSA server key as well as RSA (Nick Craig-Wood)
  63916. .IP \[bu] 2
  63917. Generate an Ed25519 server key as well as ECDSA and RSA (albertony)
  63918. .RE
  63919. .IP \[bu] 2
  63920. serve docker
  63921. .RS 2
  63922. .IP \[bu] 2
  63923. Allow to customize proxy settings of docker plugin (Ivan Andreev)
  63924. .IP \[bu] 2
  63925. Build docker plugin for multiple platforms (Thomas Stachl)
  63926. .RE
  63927. .IP \[bu] 2
  63928. size: Include human-readable count (albertony)
  63929. .IP \[bu] 2
  63930. touch: Add support for touching files in directory, with recursive
  63931. option, filtering and \f[C]--dry-run\f[R]/\f[C]-i\f[R] (albertony)
  63932. .IP \[bu] 2
  63933. tree: Option to print human-readable sizes removed in favor of global
  63934. option (albertony)
  63935. .RE
  63936. .IP \[bu] 2
  63937. Bug Fixes
  63938. .RS 2
  63939. .IP \[bu] 2
  63940. lib/http
  63941. .RS 2
  63942. .IP \[bu] 2
  63943. Fix bad username check in single auth secret provider (Nolan Woods)
  63944. .IP \[bu] 2
  63945. Fix handling of SSL credentials (Nolan Woods)
  63946. .RE
  63947. .IP \[bu] 2
  63948. serve ftp: Ensure modtime is passed as UTC always to fix timezone
  63949. oddities (Nick Craig-Wood)
  63950. .IP \[bu] 2
  63951. serve sftp: Fix generation of server keys on windows (albertony)
  63952. .IP \[bu] 2
  63953. serve docker: Fix octal umask (Ivan Andreev)
  63954. .RE
  63955. .IP \[bu] 2
  63956. Mount
  63957. .RS 2
  63958. .IP \[bu] 2
  63959. Enable rclone to be run as mount helper direct from the fstab (Ivan
  63960. Andreev)
  63961. .IP \[bu] 2
  63962. Use procfs to validate mount on linux (Ivan Andreev)
  63963. .IP \[bu] 2
  63964. Correctly daemonize for compatibility with automount (Ivan Andreev)
  63965. .RE
  63966. .IP \[bu] 2
  63967. VFS
  63968. .RS 2
  63969. .IP \[bu] 2
  63970. Ensure names used in cache path are legal on current OS (albertony)
  63971. .IP \[bu] 2
  63972. Ignore \f[C]ECLOSED\f[R] when truncating file handles to fix
  63973. intermittent bad file descriptor error (Nick Craig-Wood)
  63974. .RE
  63975. .IP \[bu] 2
  63976. Local
  63977. .RS 2
  63978. .IP \[bu] 2
  63979. Refactor default OS encoding out from local backend into shared encoder
  63980. lib (albertony)
  63981. .RE
  63982. .IP \[bu] 2
  63983. Crypt
  63984. .RS 2
  63985. .IP \[bu] 2
  63986. Return wrapped object even with \f[C]--crypt-no-data-encryption\f[R]
  63987. (Ivan Andreev)
  63988. .IP \[bu] 2
  63989. Fix uploads with \f[C]--crypt-no-data-encryption\f[R] (Nick Craig-Wood)
  63990. .RE
  63991. .IP \[bu] 2
  63992. Azure Blob
  63993. .RS 2
  63994. .IP \[bu] 2
  63995. Add \f[C]--azureblob-no-head-object\f[R] (Tatsuya Noyori)
  63996. .RE
  63997. .IP \[bu] 2
  63998. Box
  63999. .RS 2
  64000. .IP \[bu] 2
  64001. Make listings of heavily used directories more reliable (Nick
  64002. Craig-Wood)
  64003. .IP \[bu] 2
  64004. When doing cleanup delete as much as possible (Nick Craig-Wood)
  64005. .IP \[bu] 2
  64006. Add \f[C]--box-list-chunk\f[R] to control listing chunk size (Nick
  64007. Craig-Wood)
  64008. .IP \[bu] 2
  64009. Delete items in parallel in cleanup using \f[C]--checkers\f[R] threads
  64010. (Nick Craig-Wood)
  64011. .IP \[bu] 2
  64012. Add \f[C]--box-owned-by\f[R] to only show items owned by the login
  64013. passed (Nick Craig-Wood)
  64014. .IP \[bu] 2
  64015. Retry \f[C]operation_blocked_temporary\f[R] errors (Nick Craig-Wood)
  64016. .RE
  64017. .IP \[bu] 2
  64018. Chunker
  64019. .RS 2
  64020. .IP \[bu] 2
  64021. Md5all must create metadata if base hash is slow (Ivan Andreev)
  64022. .RE
  64023. .IP \[bu] 2
  64024. Drive
  64025. .RS 2
  64026. .IP \[bu] 2
  64027. Speed up directory listings by constraining the API listing using the
  64028. current filters (fotile96, Ivan Andreev)
  64029. .IP \[bu] 2
  64030. Fix buffering for single request upload for files smaller than
  64031. \f[C]--drive-upload-cutoff\f[R] (YenForYang)
  64032. .IP \[bu] 2
  64033. Add \f[C]-o config\f[R] option to \f[C]backend drives\f[R] to make
  64034. config for all shared drives (Nick Craig-Wood)
  64035. .RE
  64036. .IP \[bu] 2
  64037. Dropbox
  64038. .RS 2
  64039. .IP \[bu] 2
  64040. Add \f[C]--dropbox-batch-commit-timeout\f[R] to control batch timeout
  64041. (Nick Craig-Wood)
  64042. .RE
  64043. .IP \[bu] 2
  64044. Filefabric
  64045. .RS 2
  64046. .IP \[bu] 2
  64047. Make backoff exponential for error_background to fix errors (Nick
  64048. Craig-Wood)
  64049. .IP \[bu] 2
  64050. Fix directory move after API change (Nick Craig-Wood)
  64051. .RE
  64052. .IP \[bu] 2
  64053. FTP
  64054. .RS 2
  64055. .IP \[bu] 2
  64056. Enable tls session cache by default (Ivan Andreev)
  64057. .IP \[bu] 2
  64058. Add option to disable tls13 (Ivan Andreev)
  64059. .IP \[bu] 2
  64060. Fix timeout after long uploads (Ivan Andreev)
  64061. .IP \[bu] 2
  64062. Add support for precise time (Ivan Andreev)
  64063. .IP \[bu] 2
  64064. Enable CI for ProFtpd, PureFtpd, VsFtpd (Ivan Andreev)
  64065. .RE
  64066. .IP \[bu] 2
  64067. Googlephotos
  64068. .RS 2
  64069. .IP \[bu] 2
  64070. Use encoder for album names to fix albums with control characters (Parth
  64071. Shukla)
  64072. .RE
  64073. .IP \[bu] 2
  64074. Jottacloud
  64075. .RS 2
  64076. .IP \[bu] 2
  64077. Implement \f[C]SetModTime\f[R] to support modtime-only changes
  64078. (albertony)
  64079. .IP \[bu] 2
  64080. Improved error handling with \f[C]SetModTime\f[R] and corrupt files in
  64081. general (albertony)
  64082. .IP \[bu] 2
  64083. Add support for \f[C]UserInfo\f[R] (\f[C]rclone config userinfo\f[R])
  64084. feature (albertony)
  64085. .IP \[bu] 2
  64086. Return direct download link from \f[C]rclone link\f[R] command
  64087. (albertony)
  64088. .RE
  64089. .IP \[bu] 2
  64090. Koofr
  64091. .RS 2
  64092. .IP \[bu] 2
  64093. Create direct share link (Dmitry Bogatov)
  64094. .RE
  64095. .IP \[bu] 2
  64096. Pcloud
  64097. .RS 2
  64098. .IP \[bu] 2
  64099. Add sha256 support (Ken Enrique Morel)
  64100. .RE
  64101. .IP \[bu] 2
  64102. Premiumizeme
  64103. .RS 2
  64104. .IP \[bu] 2
  64105. Fix directory listing after API changes (Nick Craig-Wood)
  64106. .IP \[bu] 2
  64107. Fix server side move after API change (Nick Craig-Wood)
  64108. .IP \[bu] 2
  64109. Fix server side directory move after API changes (Nick Craig-Wood)
  64110. .RE
  64111. .IP \[bu] 2
  64112. S3
  64113. .RS 2
  64114. .IP \[bu] 2
  64115. Add support to use CDN URL to download the file (Logeshwaran)
  64116. .IP \[bu] 2
  64117. Add AWS Snowball Edge to providers examples (r0kk3rz)
  64118. .IP \[bu] 2
  64119. Use a combination of SDK retries and rclone retries (Nick Craig-Wood)
  64120. .IP \[bu] 2
  64121. Fix IAM Role for Service Account not working and other auth problems
  64122. (Nick Craig-Wood)
  64123. .IP \[bu] 2
  64124. Fix \f[C]shared_credentials_file\f[R] auth after reverting incorrect fix
  64125. (Nick Craig-Wood)
  64126. .IP \[bu] 2
  64127. Fix corrupted on transfer: sizes differ 0 vs xxxx with Ceph (Nick
  64128. Craig-Wood)
  64129. .RE
  64130. .IP \[bu] 2
  64131. Seafile
  64132. .RS 2
  64133. .IP \[bu] 2
  64134. Fix error when not configured for 2fa (Fred)
  64135. .RE
  64136. .IP \[bu] 2
  64137. SFTP
  64138. .RS 2
  64139. .IP \[bu] 2
  64140. Fix timeout when doing MD5SUM of large file (Nick Craig-Wood)
  64141. .RE
  64142. .IP \[bu] 2
  64143. Swift
  64144. .RS 2
  64145. .IP \[bu] 2
  64146. Update OCI URL (David Liu)
  64147. .IP \[bu] 2
  64148. Document OVH Cloud Archive (HNGamingUK)
  64149. .RE
  64150. .IP \[bu] 2
  64151. Union
  64152. .RS 2
  64153. .IP \[bu] 2
  64154. Fix rename not working with union of local disk and bucket based remote
  64155. (Nick Craig-Wood)
  64156. .RE
  64157. .SS v1.56.2 - 2021-10-01
  64158. .PP
  64159. See commits (https://github.com/rclone/rclone/compare/v1.56.1...v1.56.2)
  64160. .IP \[bu] 2
  64161. Bug Fixes
  64162. .RS 2
  64163. .IP \[bu] 2
  64164. serve http: Re-add missing auth to http service (Nolan Woods)
  64165. .IP \[bu] 2
  64166. build: Update golang.org/x/sys to fix crash on macOS when compiled with
  64167. go1.17 (Herby Gillot)
  64168. .RE
  64169. .IP \[bu] 2
  64170. FTP
  64171. .RS 2
  64172. .IP \[bu] 2
  64173. Fix deadlock after failed update when concurrency=1 (Ivan Andreev)
  64174. .RE
  64175. .SS v1.56.1 - 2021-09-19
  64176. .PP
  64177. See commits (https://github.com/rclone/rclone/compare/v1.56.0...v1.56.1)
  64178. .IP \[bu] 2
  64179. Bug Fixes
  64180. .RS 2
  64181. .IP \[bu] 2
  64182. accounting: Fix maximum bwlimit by scaling scale max token bucket size
  64183. (Nick Craig-Wood)
  64184. .IP \[bu] 2
  64185. rc: Fix speed does not update in core/stats (negative0)
  64186. .IP \[bu] 2
  64187. selfupdate: Fix \f[C]--quiet\f[R] option, not quite quiet (yedamo)
  64188. .IP \[bu] 2
  64189. serve http: Fix \f[C]serve http\f[R] exiting directly after starting
  64190. (Cnly)
  64191. .IP \[bu] 2
  64192. build
  64193. .RS 2
  64194. .IP \[bu] 2
  64195. Apply gofmt from golang 1.17 (Ivan Andreev)
  64196. .IP \[bu] 2
  64197. Update Go to 1.16 and NDK to 22b for android/any (x0b)
  64198. .RE
  64199. .RE
  64200. .IP \[bu] 2
  64201. Mount
  64202. .RS 2
  64203. .IP \[bu] 2
  64204. Fix \f[C]--daemon\f[R] mode (Ivan Andreev)
  64205. .RE
  64206. .IP \[bu] 2
  64207. VFS
  64208. .RS 2
  64209. .IP \[bu] 2
  64210. Fix duplicates on rename (Nick Craig-Wood)
  64211. .IP \[bu] 2
  64212. Fix crash when truncating a just uploaded object (Nick Craig-Wood)
  64213. .IP \[bu] 2
  64214. Fix issue where empty dirs would build up in cache meta dir (albertony)
  64215. .RE
  64216. .IP \[bu] 2
  64217. Drive
  64218. .RS 2
  64219. .IP \[bu] 2
  64220. Fix instructions for auto config (Greg Sadetsky)
  64221. .IP \[bu] 2
  64222. Fix lsf example without drive-impersonate (Greg Sadetsky)
  64223. .RE
  64224. .IP \[bu] 2
  64225. Onedrive
  64226. .RS 2
  64227. .IP \[bu] 2
  64228. Handle HTTP 400 better in PublicLink (Alex Chen)
  64229. .IP \[bu] 2
  64230. Clarification of the process for creating custom client_id (Mariano
  64231. Absatz)
  64232. .RE
  64233. .IP \[bu] 2
  64234. Pcloud
  64235. .RS 2
  64236. .IP \[bu] 2
  64237. Return an early error when Put is called with an unknown size (Nick
  64238. Craig-Wood)
  64239. .IP \[bu] 2
  64240. Try harder to delete a failed upload (Nick Craig-Wood)
  64241. .RE
  64242. .IP \[bu] 2
  64243. S3
  64244. .RS 2
  64245. .IP \[bu] 2
  64246. Add Wasabi\[aq]s AP-Northeast endpoint info (hota)
  64247. .IP \[bu] 2
  64248. Fix typo in s3 documentation (Greg Sadetsky)
  64249. .RE
  64250. .IP \[bu] 2
  64251. Seafile
  64252. .RS 2
  64253. .IP \[bu] 2
  64254. Fix 2fa config state machine (Fred)
  64255. .RE
  64256. .IP \[bu] 2
  64257. SFTP
  64258. .RS 2
  64259. .IP \[bu] 2
  64260. Remove spurious error message on
  64261. \f[C]--sftp-disable-concurrent-reads\f[R] (Nick Craig-Wood)
  64262. .RE
  64263. .IP \[bu] 2
  64264. Sugarsync
  64265. .RS 2
  64266. .IP \[bu] 2
  64267. Fix initial connection after config re-arrangement (Nick Craig-Wood)
  64268. .RE
  64269. .SS v1.56.0 - 2021-07-20
  64270. .PP
  64271. See commits (https://github.com/rclone/rclone/compare/v1.55.0...v1.56.0)
  64272. .IP \[bu] 2
  64273. New backends
  64274. .RS 2
  64275. .IP \[bu] 2
  64276. Uptobox (https://rclone.org/uptobox/) (buengese)
  64277. .RE
  64278. .IP \[bu] 2
  64279. New commands
  64280. .RS 2
  64281. .IP \[bu] 2
  64282. serve docker (https://rclone.org/commands/rclone_serve_docker/) (Antoine
  64283. GIRARD) (Ivan Andreev)
  64284. .RS 2
  64285. .IP \[bu] 2
  64286. and accompanying docker volume plugin (https://rclone.org/docker/)
  64287. .RE
  64288. .IP \[bu] 2
  64289. checksum (https://rclone.org/commands/rclone_checksum/) to check files
  64290. against a file of checksums (Ivan Andreev)
  64291. .RS 2
  64292. .IP \[bu] 2
  64293. this is also available as \f[C]rclone md5sum -C\f[R] etc
  64294. .RE
  64295. .IP \[bu] 2
  64296. config touch (https://rclone.org/commands/rclone_config_touch/): ensure
  64297. config exists at configured location (albertony)
  64298. .IP \[bu] 2
  64299. test
  64300. changenotify (https://rclone.org/commands/rclone_test_changenotify/):
  64301. command to help debugging changenotify (Nick Craig-Wood)
  64302. .RE
  64303. .IP \[bu] 2
  64304. Deprecations
  64305. .RS 2
  64306. .IP \[bu] 2
  64307. \f[C]dbhashsum\f[R]: Remove command deprecated a year ago (Ivan Andreev)
  64308. .IP \[bu] 2
  64309. \f[C]cache\f[R]: Deprecate cache backend (Ivan Andreev)
  64310. .RE
  64311. .IP \[bu] 2
  64312. New Features
  64313. .RS 2
  64314. .IP \[bu] 2
  64315. rework config system so it can be used non-interactively via cli and rc
  64316. API.
  64317. .RS 2
  64318. .IP \[bu] 2
  64319. See docs in config
  64320. create (https://rclone.org/commands/rclone_config_create/)
  64321. .IP \[bu] 2
  64322. This is a very big change to all the backends so may cause breakages -
  64323. please file bugs!
  64324. .RE
  64325. .IP \[bu] 2
  64326. librclone - export the rclone RC as a C library (lewisxy) (Nick
  64327. Craig-Wood)
  64328. .RS 2
  64329. .IP \[bu] 2
  64330. Link a C-API rclone shared object into your project
  64331. .IP \[bu] 2
  64332. Use the RC as an in memory interface
  64333. .IP \[bu] 2
  64334. Python example supplied
  64335. .IP \[bu] 2
  64336. Also supports Android and gomobile
  64337. .RE
  64338. .IP \[bu] 2
  64339. fs
  64340. .RS 2
  64341. .IP \[bu] 2
  64342. Add \f[C]--disable-http2\f[R] for global http2 disable (Nick Craig-Wood)
  64343. .IP \[bu] 2
  64344. Make \f[C]--dump\f[R] imply \f[C]-vv\f[R] (Alex Chen)
  64345. .IP \[bu] 2
  64346. Use binary prefixes for size and rate units (albertony)
  64347. .IP \[bu] 2
  64348. Use decimal prefixes for counts (albertony)
  64349. .IP \[bu] 2
  64350. Add google search widget to rclone.org (Ivan Andreev)
  64351. .RE
  64352. .IP \[bu] 2
  64353. accounting: Calculate rolling average speed (Haochen Tong)
  64354. .IP \[bu] 2
  64355. atexit: Terminate with non-zero status after receiving signal (Michael
  64356. Hanselmann)
  64357. .IP \[bu] 2
  64358. build
  64359. .RS 2
  64360. .IP \[bu] 2
  64361. Only run event-based workflow scripts under rclone repo with manual
  64362. override (Mathieu Carbou)
  64363. .IP \[bu] 2
  64364. Add Android build with gomobile (x0b)
  64365. .RE
  64366. .IP \[bu] 2
  64367. check: Log the hash in use like cryptcheck does (Nick Craig-Wood)
  64368. .IP \[bu] 2
  64369. version: Print os/version, kernel and bitness (Ivan Andreev)
  64370. .IP \[bu] 2
  64371. config
  64372. .RS 2
  64373. .IP \[bu] 2
  64374. Prevent use of Windows reserved names in config file name (albertony)
  64375. .IP \[bu] 2
  64376. Create config file in windows appdata directory by default (albertony)
  64377. .IP \[bu] 2
  64378. Treat any config file paths with filename notfound as memory-only config
  64379. (albertony)
  64380. .IP \[bu] 2
  64381. Delay load config file (albertony)
  64382. .IP \[bu] 2
  64383. Replace defaultConfig with a thread-safe in-memory implementation (Chris
  64384. Macklin)
  64385. .IP \[bu] 2
  64386. Allow \f[C]config create\f[R] and friends to take \f[C]key=value\f[R]
  64387. parameters (Nick Craig-Wood)
  64388. .IP \[bu] 2
  64389. Fixed issues with flags/options set by environment vars.
  64390. (Ole Frost)
  64391. .RE
  64392. .IP \[bu] 2
  64393. fshttp: Implement graceful DSCP error handling (Tyson Moore)
  64394. .IP \[bu] 2
  64395. lib/http - provides an abstraction for a central http server that
  64396. services can bind routes to (Nolan Woods)
  64397. .RS 2
  64398. .IP \[bu] 2
  64399. Add \f[C]--template\f[R] config and flags to serve/data (Nolan Woods)
  64400. .IP \[bu] 2
  64401. Add default 404 handler (Nolan Woods)
  64402. .RE
  64403. .IP \[bu] 2
  64404. link: Use \[dq]off\[dq] value for unset expiry (Nick Craig-Wood)
  64405. .IP \[bu] 2
  64406. oauthutil: Raise fatal error if token expired without refresh token
  64407. (Alex Chen)
  64408. .IP \[bu] 2
  64409. rcat: Add \f[C]--size\f[R] flag for more efficient uploads of known size
  64410. (Nazar Mishturak)
  64411. .IP \[bu] 2
  64412. serve sftp: Add \f[C]--stdio\f[R] flag to serve via stdio (Tom)
  64413. .IP \[bu] 2
  64414. sync: Don\[aq]t warn about \f[C]--no-traverse\f[R] when
  64415. \f[C]--files-from\f[R] is set (Nick Gaya)
  64416. .IP \[bu] 2
  64417. \f[C]test makefiles\f[R]
  64418. .RS 2
  64419. .IP \[bu] 2
  64420. Add \f[C]--seed\f[R] flag and make data generated repeatable (Nick
  64421. Craig-Wood)
  64422. .IP \[bu] 2
  64423. Add log levels and speed summary (Nick Craig-Wood)
  64424. .RE
  64425. .RE
  64426. .IP \[bu] 2
  64427. Bug Fixes
  64428. .RS 2
  64429. .IP \[bu] 2
  64430. accounting: Fix startTime of statsGroups.sum (Haochen Tong)
  64431. .IP \[bu] 2
  64432. cmd/ncdu: Fix out of range panic in delete (buengese)
  64433. .IP \[bu] 2
  64434. config
  64435. .RS 2
  64436. .IP \[bu] 2
  64437. Fix issues with memory-only config file paths (albertony)
  64438. .IP \[bu] 2
  64439. Fix in memory config not saving on the fly backend config (Nick
  64440. Craig-Wood)
  64441. .RE
  64442. .IP \[bu] 2
  64443. fshttp: Fix address parsing for DSCP (Tyson Moore)
  64444. .IP \[bu] 2
  64445. ncdu: Update termbox-go library to fix crash (Nick Craig-Wood)
  64446. .IP \[bu] 2
  64447. oauthutil: Fix old authorize result not recognised (Cnly)
  64448. .IP \[bu] 2
  64449. operations: Don\[aq]t update timestamps of files in
  64450. \f[C]--compare-dest\f[R] (Nick Gaya)
  64451. .IP \[bu] 2
  64452. selfupdate: fix archive name on macos (Ivan Andreev)
  64453. .RE
  64454. .IP \[bu] 2
  64455. Mount
  64456. .RS 2
  64457. .IP \[bu] 2
  64458. Refactor before adding serve docker (Antoine GIRARD)
  64459. .RE
  64460. .IP \[bu] 2
  64461. VFS
  64462. .RS 2
  64463. .IP \[bu] 2
  64464. Add cache reset for \f[C]--vfs-cache-max-size\f[R] handling at cache
  64465. poll interval (Leo Luan)
  64466. .IP \[bu] 2
  64467. Fix modtime changing when reading file into cache (Nick Craig-Wood)
  64468. .IP \[bu] 2
  64469. Avoid unnecessary subdir in cache path (albertony)
  64470. .IP \[bu] 2
  64471. Fix that umask option cannot be set as environment variable (albertony)
  64472. .IP \[bu] 2
  64473. Do not print notice about missing poll-interval support when set to 0
  64474. (albertony)
  64475. .RE
  64476. .IP \[bu] 2
  64477. Local
  64478. .RS 2
  64479. .IP \[bu] 2
  64480. Always use readlink to read symlink size for better compatibility (Nick
  64481. Craig-Wood)
  64482. .IP \[bu] 2
  64483. Add \f[C]--local-unicode-normalization\f[R] (and remove
  64484. \f[C]--local-no-unicode-normalization\f[R]) (Nick Craig-Wood)
  64485. .IP \[bu] 2
  64486. Skip entries removed concurrently with List() (Ivan Andreev)
  64487. .RE
  64488. .IP \[bu] 2
  64489. Crypt
  64490. .RS 2
  64491. .IP \[bu] 2
  64492. Support timestamped filenames from \f[C]--b2-versions\f[R] (Dominik
  64493. Mydlil)
  64494. .RE
  64495. .IP \[bu] 2
  64496. B2
  64497. .RS 2
  64498. .IP \[bu] 2
  64499. Don\[aq]t include the bucket name in public link file prefixes (Jeffrey
  64500. Tolar)
  64501. .IP \[bu] 2
  64502. Fix versions and .files with no extension (Nick Craig-Wood)
  64503. .IP \[bu] 2
  64504. Factor version handling into lib/version (Dominik Mydlil)
  64505. .RE
  64506. .IP \[bu] 2
  64507. Box
  64508. .RS 2
  64509. .IP \[bu] 2
  64510. Use upload preflight check to avoid listings in file uploads (Nick
  64511. Craig-Wood)
  64512. .IP \[bu] 2
  64513. Return errors instead of calling log.Fatal with them (Nick Craig-Wood)
  64514. .RE
  64515. .IP \[bu] 2
  64516. Drive
  64517. .RS 2
  64518. .IP \[bu] 2
  64519. Switch to the Drives API for looking up shared drives (Nick Craig-Wood)
  64520. .IP \[bu] 2
  64521. Fix some google docs being treated as files (Nick Craig-Wood)
  64522. .RE
  64523. .IP \[bu] 2
  64524. Dropbox
  64525. .RS 2
  64526. .IP \[bu] 2
  64527. Add \f[C]--dropbox-batch-mode\f[R] flag to speed up uploading (Nick
  64528. Craig-Wood)
  64529. .RS 2
  64530. .IP \[bu] 2
  64531. Read the batch mode (https://rclone.org/dropbox/#batch-mode) docs for
  64532. more info
  64533. .RE
  64534. .IP \[bu] 2
  64535. Set visibility in link sharing when \f[C]--expire\f[R] is set (Nick
  64536. Craig-Wood)
  64537. .IP \[bu] 2
  64538. Simplify chunked uploads (Alexey Ivanov)
  64539. .IP \[bu] 2
  64540. Improve \[dq]own App IP\[dq] instructions (Ivan Andreev)
  64541. .RE
  64542. .IP \[bu] 2
  64543. Fichier
  64544. .RS 2
  64545. .IP \[bu] 2
  64546. Check if more than one upload link is returned (Nick Craig-Wood)
  64547. .IP \[bu] 2
  64548. Support downloading password protected files and folders (Florian
  64549. Penzkofer)
  64550. .IP \[bu] 2
  64551. Make error messages report text from the API (Nick Craig-Wood)
  64552. .IP \[bu] 2
  64553. Fix move of files in the same directory (Nick Craig-Wood)
  64554. .IP \[bu] 2
  64555. Check that we actually got a download token and retry if we didn\[aq]t
  64556. (buengese)
  64557. .RE
  64558. .IP \[bu] 2
  64559. Filefabric
  64560. .RS 2
  64561. .IP \[bu] 2
  64562. Fix listing after change of from field from \[dq]int\[dq] to int.
  64563. (Nick Craig-Wood)
  64564. .RE
  64565. .IP \[bu] 2
  64566. FTP
  64567. .RS 2
  64568. .IP \[bu] 2
  64569. Make upload error 250 indicate success (Nick Craig-Wood)
  64570. .RE
  64571. .IP \[bu] 2
  64572. GCS
  64573. .RS 2
  64574. .IP \[bu] 2
  64575. Make compatible with gsutil\[aq]s mtime metadata (database64128)
  64576. .IP \[bu] 2
  64577. Clean up time format constants (database64128)
  64578. .RE
  64579. .IP \[bu] 2
  64580. Google Photos
  64581. .RS 2
  64582. .IP \[bu] 2
  64583. Fix read only scope not being used properly (Nick Craig-Wood)
  64584. .RE
  64585. .IP \[bu] 2
  64586. HTTP
  64587. .RS 2
  64588. .IP \[bu] 2
  64589. Replace httplib with lib/http (Nolan Woods)
  64590. .IP \[bu] 2
  64591. Clean up Bind to better use middleware (Nolan Woods)
  64592. .RE
  64593. .IP \[bu] 2
  64594. Jottacloud
  64595. .RS 2
  64596. .IP \[bu] 2
  64597. Fix legacy auth with state based config system (buengese)
  64598. .IP \[bu] 2
  64599. Fix invalid url in output from link command (albertony)
  64600. .IP \[bu] 2
  64601. Add no versions option (buengese)
  64602. .RE
  64603. .IP \[bu] 2
  64604. Onedrive
  64605. .RS 2
  64606. .IP \[bu] 2
  64607. Add \f[C]list_chunk option\f[R] (Nick Gaya)
  64608. .IP \[bu] 2
  64609. Also report root error if unable to cancel multipart upload (Cnly)
  64610. .IP \[bu] 2
  64611. Fix failed to configure: empty token found error (Nick Craig-Wood)
  64612. .IP \[bu] 2
  64613. Make link return direct download link (Xuanchen Wu)
  64614. .RE
  64615. .IP \[bu] 2
  64616. S3
  64617. .RS 2
  64618. .IP \[bu] 2
  64619. Add \f[C]--s3-no-head-object\f[R] (Tatsuya Noyori)
  64620. .IP \[bu] 2
  64621. Remove WebIdentityRoleProvider to fix crash on auth (Nick Craig-Wood)
  64622. .IP \[bu] 2
  64623. Don\[aq]t check to see if remote is object if it ends with / (Nick
  64624. Craig-Wood)
  64625. .IP \[bu] 2
  64626. Add SeaweedFS (Chris Lu)
  64627. .IP \[bu] 2
  64628. Update Alibaba OSS endpoints (Chuan Zh)
  64629. .RE
  64630. .IP \[bu] 2
  64631. SFTP
  64632. .RS 2
  64633. .IP \[bu] 2
  64634. Fix performance regression by re-enabling concurrent writes (Nick
  64635. Craig-Wood)
  64636. .IP \[bu] 2
  64637. Expand tilde and environment variables in configured
  64638. \f[C]known_hosts_file\f[R] (albertony)
  64639. .RE
  64640. .IP \[bu] 2
  64641. Tardigrade
  64642. .RS 2
  64643. .IP \[bu] 2
  64644. Upgrade to uplink v1.4.6 (Caleb Case)
  64645. .IP \[bu] 2
  64646. Use negative offset (Caleb Case)
  64647. .IP \[bu] 2
  64648. Add warning about \f[C]too many open files\f[R] (acsfer)
  64649. .RE
  64650. .IP \[bu] 2
  64651. WebDAV
  64652. .RS 2
  64653. .IP \[bu] 2
  64654. Fix sharepoint auth over http (Nick Craig-Wood)
  64655. .IP \[bu] 2
  64656. Add headers option (Antoon Prins)
  64657. .RE
  64658. .SS v1.55.1 - 2021-04-26
  64659. .PP
  64660. See commits (https://github.com/rclone/rclone/compare/v1.55.0...v1.55.1)
  64661. .IP \[bu] 2
  64662. Bug Fixes
  64663. .RS 2
  64664. .IP \[bu] 2
  64665. selfupdate
  64666. .RS 2
  64667. .IP \[bu] 2
  64668. Dont detect FUSE if build is static (Ivan Andreev)
  64669. .IP \[bu] 2
  64670. Add build tag noselfupdate (Ivan Andreev)
  64671. .RE
  64672. .IP \[bu] 2
  64673. sync: Fix incorrect error reported by graceful cutoff (Nick Craig-Wood)
  64674. .IP \[bu] 2
  64675. install.sh: fix macOS arm64 download (Nick Craig-Wood)
  64676. .IP \[bu] 2
  64677. build: Fix version numbers in android branch builds (Nick Craig-Wood)
  64678. .IP \[bu] 2
  64679. docs
  64680. .RS 2
  64681. .IP \[bu] 2
  64682. Contributing.md: update setup instructions for go1.16 (Nick Gaya)
  64683. .IP \[bu] 2
  64684. WinFsp 2021 is out of beta (albertony)
  64685. .IP \[bu] 2
  64686. Minor cleanup of space around code section (albertony)
  64687. .IP \[bu] 2
  64688. Fixed some typos (albertony)
  64689. .RE
  64690. .RE
  64691. .IP \[bu] 2
  64692. VFS
  64693. .RS 2
  64694. .IP \[bu] 2
  64695. Fix a code path which allows dirty data to be removed causing data loss
  64696. (Nick Craig-Wood)
  64697. .RE
  64698. .IP \[bu] 2
  64699. Compress
  64700. .RS 2
  64701. .IP \[bu] 2
  64702. Fix compressed name regexp (buengese)
  64703. .RE
  64704. .IP \[bu] 2
  64705. Drive
  64706. .RS 2
  64707. .IP \[bu] 2
  64708. Fix backend copyid of google doc to directory (Nick Craig-Wood)
  64709. .IP \[bu] 2
  64710. Don\[aq]t open browser when service account...
  64711. (Ansh Mittal)
  64712. .RE
  64713. .IP \[bu] 2
  64714. Dropbox
  64715. .RS 2
  64716. .IP \[bu] 2
  64717. Add missing team_data.member scope for use with --impersonate (Nick
  64718. Craig-Wood)
  64719. .IP \[bu] 2
  64720. Fix About after scopes changes - rclone config reconnect needed (Nick
  64721. Craig-Wood)
  64722. .IP \[bu] 2
  64723. Fix Unable to decrypt returned paths from changeNotify (Nick Craig-Wood)
  64724. .RE
  64725. .IP \[bu] 2
  64726. FTP
  64727. .RS 2
  64728. .IP \[bu] 2
  64729. Fix implicit TLS (Ivan Andreev)
  64730. .RE
  64731. .IP \[bu] 2
  64732. Onedrive
  64733. .RS 2
  64734. .IP \[bu] 2
  64735. Work around for random \[dq]Unable to initialize RPS\[dq] errors
  64736. (OleFrost)
  64737. .RE
  64738. .IP \[bu] 2
  64739. SFTP
  64740. .RS 2
  64741. .IP \[bu] 2
  64742. Revert sftp library to v1.12.0 from v1.13.0 to fix performance
  64743. regression (Nick Craig-Wood)
  64744. .IP \[bu] 2
  64745. Fix Update ReadFrom failed: failed to send packet: EOF errors (Nick
  64746. Craig-Wood)
  64747. .RE
  64748. .IP \[bu] 2
  64749. Zoho
  64750. .RS 2
  64751. .IP \[bu] 2
  64752. Fix error when region isn\[aq]t set (buengese)
  64753. .IP \[bu] 2
  64754. Do not ask for mountpoint twice when using headless setup (buengese)
  64755. .RE
  64756. .SS v1.55.0 - 2021-03-31
  64757. .PP
  64758. See commits (https://github.com/rclone/rclone/compare/v1.54.0...v1.55.0)
  64759. .IP \[bu] 2
  64760. New commands
  64761. .RS 2
  64762. .IP \[bu] 2
  64763. selfupdate (https://rclone.org/commands/rclone_selfupdate/) (Ivan
  64764. Andreev)
  64765. .RS 2
  64766. .IP \[bu] 2
  64767. Allows rclone to update itself in-place or via a package (using
  64768. \f[C]--package\f[R] flag)
  64769. .IP \[bu] 2
  64770. Reads cryptographically signed signatures for non beta releases
  64771. .IP \[bu] 2
  64772. Works on all OSes.
  64773. .RE
  64774. .IP \[bu] 2
  64775. test (https://rclone.org/commands/rclone_test/) - these are test
  64776. commands - use with care!
  64777. .RS 2
  64778. .IP \[bu] 2
  64779. \f[C]histogram\f[R] - Makes a histogram of file name characters.
  64780. .IP \[bu] 2
  64781. \f[C]info\f[R] - Discovers file name or other limitations for paths.
  64782. .IP \[bu] 2
  64783. \f[C]makefiles\f[R] - Make a random file hierarchy for testing.
  64784. .IP \[bu] 2
  64785. \f[C]memory\f[R] - Load all the objects at remote:path into memory and
  64786. report memory stats.
  64787. .RE
  64788. .RE
  64789. .IP \[bu] 2
  64790. New Features
  64791. .RS 2
  64792. .IP \[bu] 2
  64793. Connection strings (https://rclone.org/docs/#connection-strings)
  64794. .RS 2
  64795. .IP \[bu] 2
  64796. Config parameters can now be passed as part of the remote name as a
  64797. connection string.
  64798. .IP \[bu] 2
  64799. For example, to do the equivalent of \f[C]--drive-shared-with-me\f[R]
  64800. use \f[C]drive,shared_with_me:\f[R]
  64801. .IP \[bu] 2
  64802. Make sure we don\[aq]t save on the fly remote config to the config file
  64803. (Nick Craig-Wood)
  64804. .IP \[bu] 2
  64805. Make sure backends with additional config have a different name for
  64806. caching (Nick Craig-Wood)
  64807. .IP \[bu] 2
  64808. This work was sponsored by CERN, through the CS3MESH4EOSC
  64809. Project (https://cs3mesh4eosc.eu/).
  64810. .RS 2
  64811. .IP \[bu] 2
  64812. CS3MESH4EOSC has received funding from the European Union\[cq]s Horizon
  64813. 2020
  64814. .IP \[bu] 2
  64815. research and innovation programme under Grant Agreement no.
  64816. 863353.
  64817. .RE
  64818. .RE
  64819. .IP \[bu] 2
  64820. build
  64821. .RS 2
  64822. .IP \[bu] 2
  64823. Update go build version to go1.16 and raise minimum go version to go1.13
  64824. (Nick Craig-Wood)
  64825. .IP \[bu] 2
  64826. Make a macOS ARM64 build to support Apple Silicon (Nick Craig-Wood)
  64827. .IP \[bu] 2
  64828. Install macfuse 4.x instead of osxfuse 3.x (Nick Craig-Wood)
  64829. .IP \[bu] 2
  64830. Use \f[C]GO386=softfloat\f[R] instead of deprecated \f[C]GO386=387\f[R]
  64831. for 386 builds (Nick Craig-Wood)
  64832. .IP \[bu] 2
  64833. Disable IOS builds for the time being (Nick Craig-Wood)
  64834. .IP \[bu] 2
  64835. Androids builds made with up to date NDK (x0b)
  64836. .IP \[bu] 2
  64837. Add an rclone user to the Docker image but don\[aq]t use it by default
  64838. (cynthia kwok)
  64839. .RE
  64840. .IP \[bu] 2
  64841. dedupe: Make largest directory primary to minimize data moved (Saksham
  64842. Khanna)
  64843. .IP \[bu] 2
  64844. config
  64845. .RS 2
  64846. .IP \[bu] 2
  64847. Wrap config library in an interface (Fionera)
  64848. .IP \[bu] 2
  64849. Make config file system pluggable (Nick Craig-Wood)
  64850. .IP \[bu] 2
  64851. \f[C]--config \[dq]\[dq]\f[R] or \f[C]\[dq]/notfound\[dq]\f[R] for in
  64852. memory config only (Nick Craig-Wood)
  64853. .IP \[bu] 2
  64854. Clear fs cache of stale entries when altering config (Nick Craig-Wood)
  64855. .RE
  64856. .IP \[bu] 2
  64857. copyurl: Add option to print resulting auto-filename (albertony)
  64858. .IP \[bu] 2
  64859. delete: Make \f[C]--rmdirs\f[R] obey the filters (Nick Craig-Wood)
  64860. .IP \[bu] 2
  64861. docs - many fixes and reworks from edwardxml, albertony, pvalls, Ivan
  64862. Andreev, Evan Harris, buengese, Alexey Tabakman
  64863. .IP \[bu] 2
  64864. encoder/filename - add SCSU as tables (Klaus Post)
  64865. .IP \[bu] 2
  64866. Add multiple paths support to \f[C]--compare-dest\f[R] and
  64867. \f[C]--copy-dest\f[R] flag (K265)
  64868. .IP \[bu] 2
  64869. filter: Make \f[C]--exclude \[dq]dir/\[dq]\f[R] equivalent to
  64870. \f[C]--exclude \[dq]dir/**\[dq]\f[R] (Nick Craig-Wood)
  64871. .IP \[bu] 2
  64872. fshttp: Add DSCP support with \f[C]--dscp\f[R] for QoS with
  64873. differentiated services (Max Sum)
  64874. .IP \[bu] 2
  64875. lib/cache: Add Delete and DeletePrefix methods (Nick Craig-Wood)
  64876. .IP \[bu] 2
  64877. lib/file
  64878. .RS 2
  64879. .IP \[bu] 2
  64880. Make pre-allocate detect disk full errors and return them (Nick
  64881. Craig-Wood)
  64882. .IP \[bu] 2
  64883. Don\[aq]t run preallocate concurrently (Nick Craig-Wood)
  64884. .IP \[bu] 2
  64885. Retry preallocate on EINTR (Nick Craig-Wood)
  64886. .RE
  64887. .IP \[bu] 2
  64888. operations: Made copy and sync operations obey a RetryAfterError (Ankur
  64889. Gupta)
  64890. .IP \[bu] 2
  64891. rc
  64892. .RS 2
  64893. .IP \[bu] 2
  64894. Add string alternatives for setting options over the rc (Nick
  64895. Craig-Wood)
  64896. .IP \[bu] 2
  64897. Add \f[C]options/local\f[R] to see the options configured in the context
  64898. (Nick Craig-Wood)
  64899. .IP \[bu] 2
  64900. Add \f[C]_config\f[R] parameter to set global config for just this rc
  64901. call (Nick Craig-Wood)
  64902. .IP \[bu] 2
  64903. Implement passing filter config with \f[C]_filter\f[R] parameter (Nick
  64904. Craig-Wood)
  64905. .IP \[bu] 2
  64906. Add \f[C]fscache/clear\f[R] and \f[C]fscache/entries\f[R] to control the
  64907. fs cache (Nick Craig-Wood)
  64908. .IP \[bu] 2
  64909. Avoid +Inf value for speed in \f[C]core/stats\f[R] (albertony)
  64910. .IP \[bu] 2
  64911. Add a full set of stats to \f[C]core/stats\f[R] (Nick Craig-Wood)
  64912. .IP \[bu] 2
  64913. Allow \f[C]fs=\f[R] params to be a JSON blob (Nick Craig-Wood)
  64914. .RE
  64915. .IP \[bu] 2
  64916. rcd: Added systemd notification during the \f[C]rclone rcd\f[R] command.
  64917. (Naveen Honest Raj)
  64918. .IP \[bu] 2
  64919. rmdirs: Make \f[C]--rmdirs\f[R] obey the filters (Nick Craig-Wood)
  64920. .IP \[bu] 2
  64921. version: Show build tags and type of executable (Ivan Andreev)
  64922. .RE
  64923. .IP \[bu] 2
  64924. Bug Fixes
  64925. .RS 2
  64926. .IP \[bu] 2
  64927. install.sh: make it fail on download errors (Ivan Andreev)
  64928. .IP \[bu] 2
  64929. Fix excessive retries missing \f[C]--max-duration\f[R] timeout (Nick
  64930. Craig-Wood)
  64931. .IP \[bu] 2
  64932. Fix crash when \f[C]--low-level-retries=0\f[R] (Nick Craig-Wood)
  64933. .IP \[bu] 2
  64934. Fix failed token refresh on mounts created via the rc (Nick Craig-Wood)
  64935. .IP \[bu] 2
  64936. fshttp: Fix bandwidth limiting after bad merge (Nick Craig-Wood)
  64937. .IP \[bu] 2
  64938. lib/atexit
  64939. .RS 2
  64940. .IP \[bu] 2
  64941. Unregister interrupt handler once it has fired so users can interrupt
  64942. again (Nick Craig-Wood)
  64943. .IP \[bu] 2
  64944. Fix occasional failure to unmount with CTRL-C (Nick Craig-Wood)
  64945. .IP \[bu] 2
  64946. Fix deadlock calling Finalise while Run is running (Nick Craig-Wood)
  64947. .RE
  64948. .IP \[bu] 2
  64949. lib/rest: Fix multipart uploads not stopping on context cancel (Nick
  64950. Craig-Wood)
  64951. .RE
  64952. .IP \[bu] 2
  64953. Mount
  64954. .RS 2
  64955. .IP \[bu] 2
  64956. Allow mounting to root directory on windows (albertony)
  64957. .IP \[bu] 2
  64958. Improved handling of relative paths on windows (albertony)
  64959. .IP \[bu] 2
  64960. Fix unicode issues with accented characters on macOS (Nick Craig-Wood)
  64961. .IP \[bu] 2
  64962. Docs: document the new FileSecurity option in WinFsp 2021 (albertony)
  64963. .IP \[bu] 2
  64964. Docs: add note about volume path syntax on windows (albertony)
  64965. .IP \[bu] 2
  64966. Fix caching of old directories after renaming them (Nick Craig-Wood)
  64967. .IP \[bu] 2
  64968. Update cgofuse to the latest version to bring in macfuse 4 fix (Nick
  64969. Craig-Wood)
  64970. .RE
  64971. .IP \[bu] 2
  64972. VFS
  64973. .RS 2
  64974. .IP \[bu] 2
  64975. \f[C]--vfs-used-is-size\f[R] to report used space using recursive scan
  64976. (tYYGH)
  64977. .IP \[bu] 2
  64978. Don\[aq]t set modification time if it was already correct (Nick
  64979. Craig-Wood)
  64980. .IP \[bu] 2
  64981. Fix Create causing windows explorer to truncate files on CTRL-C CTRL-V
  64982. (Nick Craig-Wood)
  64983. .IP \[bu] 2
  64984. Fix modtimes not updating when writing via cache (Nick Craig-Wood)
  64985. .IP \[bu] 2
  64986. Fix modtimes changing by fractional seconds after upload (Nick
  64987. Craig-Wood)
  64988. .IP \[bu] 2
  64989. Fix modtime set if \f[C]--vfs-cache-mode writes\f[R]/\f[C]full\f[R] and
  64990. no write (Nick Craig-Wood)
  64991. .IP \[bu] 2
  64992. Rename files in cache and cancel uploads on directory rename (Nick
  64993. Craig-Wood)
  64994. .IP \[bu] 2
  64995. Fix directory renaming by renaming dirs cached in memory (Nick
  64996. Craig-Wood)
  64997. .RE
  64998. .IP \[bu] 2
  64999. Local
  65000. .RS 2
  65001. .IP \[bu] 2
  65002. Add flag \f[C]--local-no-preallocate\f[R] (David Sze)
  65003. .IP \[bu] 2
  65004. Make \f[C]nounc\f[R] an advanced option except on Windows (albertony)
  65005. .IP \[bu] 2
  65006. Don\[aq]t ignore preallocate disk full errors (Nick Craig-Wood)
  65007. .RE
  65008. .IP \[bu] 2
  65009. Cache
  65010. .RS 2
  65011. .IP \[bu] 2
  65012. Add \f[C]--fs-cache-expire-duration\f[R] to control the fs cache (Nick
  65013. Craig-Wood)
  65014. .RE
  65015. .IP \[bu] 2
  65016. Crypt
  65017. .RS 2
  65018. .IP \[bu] 2
  65019. Add option to not encrypt data (Vesnyx)
  65020. .IP \[bu] 2
  65021. Log hash ok on upload (albertony)
  65022. .RE
  65023. .IP \[bu] 2
  65024. Azure Blob
  65025. .RS 2
  65026. .IP \[bu] 2
  65027. Add container public access level support.
  65028. (Manish Kumar)
  65029. .RE
  65030. .IP \[bu] 2
  65031. B2
  65032. .RS 2
  65033. .IP \[bu] 2
  65034. Fix HTML files downloaded via cloudflare (Nick Craig-Wood)
  65035. .RE
  65036. .IP \[bu] 2
  65037. Box
  65038. .RS 2
  65039. .IP \[bu] 2
  65040. Fix transfers getting stuck on token expiry after API change (Nick
  65041. Craig-Wood)
  65042. .RE
  65043. .IP \[bu] 2
  65044. Chunker
  65045. .RS 2
  65046. .IP \[bu] 2
  65047. Partially implement no-rename transactions (Maxwell Calman)
  65048. .RE
  65049. .IP \[bu] 2
  65050. Drive
  65051. .RS 2
  65052. .IP \[bu] 2
  65053. Don\[aq]t stop server side copy if couldn\[aq]t read description (Nick
  65054. Craig-Wood)
  65055. .IP \[bu] 2
  65056. Pass context on to drive SDK - to help with cancellation (Nick
  65057. Craig-Wood)
  65058. .RE
  65059. .IP \[bu] 2
  65060. Dropbox
  65061. .RS 2
  65062. .IP \[bu] 2
  65063. Add polling for changes support (Robert Thomas)
  65064. .IP \[bu] 2
  65065. Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood)
  65066. .IP \[bu] 2
  65067. Raise priority of rate limited message to INFO to make it more
  65068. noticeable (Nick Craig-Wood)
  65069. .RE
  65070. .IP \[bu] 2
  65071. Fichier
  65072. .RS 2
  65073. .IP \[bu] 2
  65074. Implement copy & move (buengese)
  65075. .IP \[bu] 2
  65076. Implement public link (buengese)
  65077. .RE
  65078. .IP \[bu] 2
  65079. FTP
  65080. .RS 2
  65081. .IP \[bu] 2
  65082. Implement Shutdown method (Nick Craig-Wood)
  65083. .IP \[bu] 2
  65084. Close idle connections after \f[C]--ftp-idle-timeout\f[R] (1m by
  65085. default) (Nick Craig-Wood)
  65086. .IP \[bu] 2
  65087. Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood)
  65088. .IP \[bu] 2
  65089. Add \f[C]--ftp-close-timeout\f[R] flag for use with awkward ftp servers
  65090. (Nick Craig-Wood)
  65091. .IP \[bu] 2
  65092. Retry connections and logins on 421 errors (Nick Craig-Wood)
  65093. .RE
  65094. .IP \[bu] 2
  65095. Hdfs
  65096. .RS 2
  65097. .IP \[bu] 2
  65098. Fix permissions for when directory is created (Lucas Messenger)
  65099. .RE
  65100. .IP \[bu] 2
  65101. Onedrive
  65102. .RS 2
  65103. .IP \[bu] 2
  65104. Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood)
  65105. .RE
  65106. .IP \[bu] 2
  65107. S3
  65108. .RS 2
  65109. .IP \[bu] 2
  65110. Fix \f[C]--s3-profile\f[R] which wasn\[aq]t working (Nick Craig-Wood)
  65111. .RE
  65112. .IP \[bu] 2
  65113. SFTP
  65114. .RS 2
  65115. .IP \[bu] 2
  65116. Close idle connections after \f[C]--sftp-idle-timeout\f[R] (1m by
  65117. default) (Nick Craig-Wood)
  65118. .IP \[bu] 2
  65119. Fix \[dq]file not found\[dq] errors for read once servers (Nick
  65120. Craig-Wood)
  65121. .IP \[bu] 2
  65122. Fix SetModTime stat failed: object not found with
  65123. \f[C]--sftp-set-modtime=false\f[R] (Nick Craig-Wood)
  65124. .RE
  65125. .IP \[bu] 2
  65126. Swift
  65127. .RS 2
  65128. .IP \[bu] 2
  65129. Update github.com/ncw/swift to v2.0.0 (Nick Craig-Wood)
  65130. .IP \[bu] 2
  65131. Implement copying large objects (nguyenhuuluan434)
  65132. .RE
  65133. .IP \[bu] 2
  65134. Union
  65135. .RS 2
  65136. .IP \[bu] 2
  65137. Fix crash when using epff policy (Nick Craig-Wood)
  65138. .IP \[bu] 2
  65139. Fix union attempting to update files on a read only file system (Nick
  65140. Craig-Wood)
  65141. .IP \[bu] 2
  65142. Refactor to use fspath.SplitFs instead of fs.ParseRemote (Nick
  65143. Craig-Wood)
  65144. .IP \[bu] 2
  65145. Fix initialisation broken in refactor (Nick Craig-Wood)
  65146. .RE
  65147. .IP \[bu] 2
  65148. WebDAV
  65149. .RS 2
  65150. .IP \[bu] 2
  65151. Add support for sharepoint with NTLM authentication (Rauno Ots)
  65152. .IP \[bu] 2
  65153. Make sharepoint-ntlm docs more consistent (Alex Chen)
  65154. .IP \[bu] 2
  65155. Improve terminology in sharepoint-ntlm docs (Ivan Andreev)
  65156. .IP \[bu] 2
  65157. Disable HTTP/2 for NTLM authentication (georne)
  65158. .IP \[bu] 2
  65159. Fix sharepoint-ntlm error 401 for parallel actions (Ivan Andreev)
  65160. .IP \[bu] 2
  65161. Check that purged directory really exists (Ivan Andreev)
  65162. .RE
  65163. .IP \[bu] 2
  65164. Yandex
  65165. .RS 2
  65166. .IP \[bu] 2
  65167. Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood)
  65168. .RE
  65169. .IP \[bu] 2
  65170. Zoho
  65171. .RS 2
  65172. .IP \[bu] 2
  65173. Replace client id - you will need to \f[C]rclone config reconnect\f[R]
  65174. after this (buengese)
  65175. .IP \[bu] 2
  65176. Add forgotten setupRegion() to NewFs - this finally fixes regions other
  65177. than EU (buengese)
  65178. .RE
  65179. .SS v1.54.1 - 2021-03-08
  65180. .PP
  65181. See commits (https://github.com/rclone/rclone/compare/v1.54.0...v1.54.1)
  65182. .IP \[bu] 2
  65183. Bug Fixes
  65184. .RS 2
  65185. .IP \[bu] 2
  65186. accounting: Fix --bwlimit when up or down is off (Nick Craig-Wood)
  65187. .IP \[bu] 2
  65188. docs
  65189. .RS 2
  65190. .IP \[bu] 2
  65191. Fix nesting of brackets and backticks in ftp docs (edwardxml)
  65192. .IP \[bu] 2
  65193. Fix broken link in sftp page (edwardxml)
  65194. .IP \[bu] 2
  65195. Fix typo in crypt.md (Romeo Kienzler)
  65196. .IP \[bu] 2
  65197. Changelog: Correct link to digitalis.io (Alex JOST)
  65198. .IP \[bu] 2
  65199. Replace #file-caching with #vfs-file-caching (Miron Veryanskiy)
  65200. .IP \[bu] 2
  65201. Convert bogus example link to code (edwardxml)
  65202. .IP \[bu] 2
  65203. Remove dead link from rc.md (edwardxml)
  65204. .RE
  65205. .IP \[bu] 2
  65206. rc: Sync,copy,move: document createEmptySrcDirs parameter (Nick
  65207. Craig-Wood)
  65208. .IP \[bu] 2
  65209. lsjson: Fix unterminated JSON in the presence of errors (Nick
  65210. Craig-Wood)
  65211. .RE
  65212. .IP \[bu] 2
  65213. Mount
  65214. .RS 2
  65215. .IP \[bu] 2
  65216. Fix mount dropping on macOS by setting --daemon-timeout 10m (Nick
  65217. Craig-Wood)
  65218. .RE
  65219. .IP \[bu] 2
  65220. VFS
  65221. .RS 2
  65222. .IP \[bu] 2
  65223. Document simultaneous usage with the same cache shouldn\[aq]t be used
  65224. (Nick Craig-Wood)
  65225. .RE
  65226. .IP \[bu] 2
  65227. B2
  65228. .RS 2
  65229. .IP \[bu] 2
  65230. Automatically raise upload cutoff to avoid spurious error (Nick
  65231. Craig-Wood)
  65232. .IP \[bu] 2
  65233. Fix failed to create file system with application key limited to a
  65234. prefix (Nick Craig-Wood)
  65235. .RE
  65236. .IP \[bu] 2
  65237. Drive
  65238. .RS 2
  65239. .IP \[bu] 2
  65240. Refer to Shared Drives instead of Team Drives (Nick Craig-Wood)
  65241. .RE
  65242. .IP \[bu] 2
  65243. Dropbox
  65244. .RS 2
  65245. .IP \[bu] 2
  65246. Add scopes to oauth request and optionally \[dq]members.read\[dq] (Nick
  65247. Craig-Wood)
  65248. .RE
  65249. .IP \[bu] 2
  65250. S3
  65251. .RS 2
  65252. .IP \[bu] 2
  65253. Fix failed to create file system with folder level permissions policy
  65254. (Nick Craig-Wood)
  65255. .IP \[bu] 2
  65256. Fix Wasabi HEAD requests returning stale data by using only 1 transport
  65257. (Nick Craig-Wood)
  65258. .IP \[bu] 2
  65259. Fix shared_credentials_file auth (Dmitry Chepurovskiy)
  65260. .IP \[bu] 2
  65261. Add --s3-no-head to reducing costs docs (Nick Craig-Wood)
  65262. .RE
  65263. .IP \[bu] 2
  65264. Union
  65265. .RS 2
  65266. .IP \[bu] 2
  65267. Fix mkdir at root with remote:/ (Nick Craig-Wood)
  65268. .RE
  65269. .IP \[bu] 2
  65270. Zoho
  65271. .RS 2
  65272. .IP \[bu] 2
  65273. Fix custom client id\[aq]s (buengese)
  65274. .RE
  65275. .SS v1.54.0 - 2021-02-02
  65276. .PP
  65277. See commits (https://github.com/rclone/rclone/compare/v1.53.0...v1.54.0)
  65278. .IP \[bu] 2
  65279. New backends
  65280. .RS 2
  65281. .IP \[bu] 2
  65282. Compression remote (experimental) (buengese)
  65283. .IP \[bu] 2
  65284. Enterprise File Fabric (Nick Craig-Wood)
  65285. .RS 2
  65286. .IP \[bu] 2
  65287. This work was sponsored by Storage Made
  65288. Easy (https://storagemadeeasy.com/)
  65289. .RE
  65290. .IP \[bu] 2
  65291. HDFS (Hadoop Distributed File System) (Yury Stankevich)
  65292. .IP \[bu] 2
  65293. Zoho workdrive (buengese)
  65294. .RE
  65295. .IP \[bu] 2
  65296. New Features
  65297. .RS 2
  65298. .IP \[bu] 2
  65299. Deglobalise the config (Nick Craig-Wood)
  65300. .RS 2
  65301. .IP \[bu] 2
  65302. Global config now read from the context
  65303. .IP \[bu] 2
  65304. This will enable passing of global config via the rc
  65305. .IP \[bu] 2
  65306. This work was sponsored by Digitalis (https://digitalis.io/)
  65307. .RE
  65308. .IP \[bu] 2
  65309. Add \f[C]--bwlimit\f[R] for upload and download (Nick Craig-Wood)
  65310. .RS 2
  65311. .IP \[bu] 2
  65312. Obey bwlimit in http Transport for better limiting
  65313. .RE
  65314. .IP \[bu] 2
  65315. Enhance systemd integration (Hekmon)
  65316. .RS 2
  65317. .IP \[bu] 2
  65318. log level identification, manual activation with flag, automatic systemd
  65319. launch detection
  65320. .IP \[bu] 2
  65321. Don\[aq]t compile systemd log integration for non unix systems (Benjamin
  65322. Gustin)
  65323. .RE
  65324. .IP \[bu] 2
  65325. Add a \f[C]--download\f[R] flag to md5sum/sha1sum/hashsum to force
  65326. rclone to download and hash files locally (lostheli)
  65327. .IP \[bu] 2
  65328. Add \f[C]--progress-terminal-title\f[R] to print ETA to terminal title
  65329. (LaSombra)
  65330. .IP \[bu] 2
  65331. Make backend env vars show in help as the defaults for backend flags
  65332. (Nick Craig-Wood)
  65333. .IP \[bu] 2
  65334. build
  65335. .RS 2
  65336. .IP \[bu] 2
  65337. Raise minimum go version to go1.12 (Nick Craig-Wood)
  65338. .RE
  65339. .IP \[bu] 2
  65340. dedupe
  65341. .RS 2
  65342. .IP \[bu] 2
  65343. Add \f[C]--by-hash\f[R] to dedupe on content hash not file name (Nick
  65344. Craig-Wood)
  65345. .IP \[bu] 2
  65346. Add \f[C]--dedupe-mode list\f[R] to just list dupes, changing nothing
  65347. (Nick Craig-Wood)
  65348. .IP \[bu] 2
  65349. Add warning if used on a remote which can\[aq]t have duplicate names
  65350. (Nick Craig-Wood)
  65351. .RE
  65352. .IP \[bu] 2
  65353. fs
  65354. .RS 2
  65355. .IP \[bu] 2
  65356. Add Shutdown optional method for backends (Nick Craig-Wood)
  65357. .IP \[bu] 2
  65358. When using \f[C]--files-from\f[R] check files concurrently (zhucan)
  65359. .IP \[bu] 2
  65360. Accumulate stats when using \f[C]--dry-run\f[R] (Ingo Weiss)
  65361. .IP \[bu] 2
  65362. Always show stats when using \f[C]--dry-run\f[R] or
  65363. \f[C]--interactive\f[R] (Nick Craig-Wood)
  65364. .IP \[bu] 2
  65365. Add support for flag \f[C]--no-console\f[R] on windows to hide the
  65366. console window (albertony)
  65367. .RE
  65368. .IP \[bu] 2
  65369. genautocomplete: Add support to output to stdout (Ingo)
  65370. .IP \[bu] 2
  65371. ncdu
  65372. .RS 2
  65373. .IP \[bu] 2
  65374. Highlight read errors instead of aborting (Claudio Bantaloukas)
  65375. .IP \[bu] 2
  65376. Add sort by average size in directory (Adam Pl\['a]nsk\['y])
  65377. .IP \[bu] 2
  65378. Add toggle option for average s3ize in directory - key \[aq]a\[aq] (Adam
  65379. Pl\['a]nsk\['y])
  65380. .IP \[bu] 2
  65381. Add empty folder flag into ncdu browser (Adam Pl\['a]nsk\['y])
  65382. .IP \[bu] 2
  65383. Add \f[C]!\f[R] (error) and \f[C].\f[R] (unreadable) file flags to go
  65384. with \f[C]e\f[R] (empty) (Nick Craig-Wood)
  65385. .RE
  65386. .IP \[bu] 2
  65387. obscure: Make \f[C]rclone obscure -\f[R] ignore newline at end of line
  65388. (Nick Craig-Wood)
  65389. .IP \[bu] 2
  65390. operations
  65391. .RS 2
  65392. .IP \[bu] 2
  65393. Add logs when need to upload files to set mod times (Nick Craig-Wood)
  65394. .IP \[bu] 2
  65395. Move and copy log name of the destination object in verbose (Adam
  65396. Pl\['a]nsk\['y])
  65397. .IP \[bu] 2
  65398. Add size if known to skipped items and JSON log (Nick Craig-Wood)
  65399. .RE
  65400. .IP \[bu] 2
  65401. rc
  65402. .RS 2
  65403. .IP \[bu] 2
  65404. Prefer actual listener address if using \[dq]:port\[dq] or
  65405. \[dq]addr:0\[dq] only (Nick Craig-Wood)
  65406. .IP \[bu] 2
  65407. Add listener for finished jobs (Aleksandar Jankovic)
  65408. .RE
  65409. .IP \[bu] 2
  65410. serve ftp: Add options to enable TLS (Deepak Sah)
  65411. .IP \[bu] 2
  65412. serve http/webdav: Redirect requests to the base url without the / (Nick
  65413. Craig-Wood)
  65414. .IP \[bu] 2
  65415. serve restic: Implement object cache (Nick Craig-Wood)
  65416. .IP \[bu] 2
  65417. stats: Add counter for deleted directories (Nick Craig-Wood)
  65418. .IP \[bu] 2
  65419. sync: Only print \[dq]There was nothing to transfer\[dq] if no errors
  65420. (Nick Craig-Wood)
  65421. .IP \[bu] 2
  65422. webui
  65423. .RS 2
  65424. .IP \[bu] 2
  65425. Prompt user for updating webui if an update is available (Chaitanya
  65426. Bankanhal)
  65427. .IP \[bu] 2
  65428. Fix plugins initialization (negative0)
  65429. .RE
  65430. .RE
  65431. .IP \[bu] 2
  65432. Bug Fixes
  65433. .RS 2
  65434. .IP \[bu] 2
  65435. fs
  65436. .RS 2
  65437. .IP \[bu] 2
  65438. Fix nil pointer on copy & move operations directly to remote (Anagh
  65439. Kumar Baranwal)
  65440. .IP \[bu] 2
  65441. Fix parsing of ..
  65442. when joining remotes (Nick Craig-Wood)
  65443. .RE
  65444. .IP \[bu] 2
  65445. log: Fix enabling systemd logging when using \f[C]--log-file\f[R] (Nick
  65446. Craig-Wood)
  65447. .IP \[bu] 2
  65448. check
  65449. .RS 2
  65450. .IP \[bu] 2
  65451. Make the error count match up in the log message (Nick Craig-Wood)
  65452. .RE
  65453. .IP \[bu] 2
  65454. move: Fix data loss when source and destination are the same object
  65455. (Nick Craig-Wood)
  65456. .IP \[bu] 2
  65457. operations
  65458. .RS 2
  65459. .IP \[bu] 2
  65460. Fix \f[C]--cutoff-mode\f[R] hard not cutting off immediately (Nick
  65461. Craig-Wood)
  65462. .IP \[bu] 2
  65463. Fix \f[C]--immutable\f[R] error message (Nick Craig-Wood)
  65464. .RE
  65465. .IP \[bu] 2
  65466. sync
  65467. .RS 2
  65468. .IP \[bu] 2
  65469. Fix \f[C]--cutoff-mode\f[R] soft & cautious so it doesn\[aq]t end the
  65470. transfer early (Nick Craig-Wood)
  65471. .IP \[bu] 2
  65472. Fix \f[C]--immutable\f[R] errors retrying many times (Nick Craig-Wood)
  65473. .RE
  65474. .RE
  65475. .IP \[bu] 2
  65476. Docs
  65477. .RS 2
  65478. .IP \[bu] 2
  65479. Many fixes and a rewrite of the filtering docs (edwardxml)
  65480. .IP \[bu] 2
  65481. Many spelling and grammar fixes (Josh Soref)
  65482. .IP \[bu] 2
  65483. Doc fixes for commands delete, purge, rmdir, rmdirs and mount
  65484. (albertony)
  65485. .IP \[bu] 2
  65486. And thanks to these people for many doc fixes too numerous to list
  65487. .RS 2
  65488. .IP \[bu] 2
  65489. Ameer Dawood, Antoine GIRARD, Bob Bagwill, Christopher Stewart
  65490. .IP \[bu] 2
  65491. CokeMine, David, Dov Murik, Durval Menezes, Evan Harris, gtorelly
  65492. .IP \[bu] 2
  65493. Ilyess Bachiri, Janne Johansson, Kerry Su, Marcin Zelent,
  65494. .IP \[bu] 2
  65495. Martin Michlmayr, Milly, S\[u01A1]n Tr\[u1EA7]n-Nguy\[u1EC5]n
  65496. .RE
  65497. .RE
  65498. .IP \[bu] 2
  65499. Mount
  65500. .RS 2
  65501. .IP \[bu] 2
  65502. Update systemd status with cache stats (Hekmon)
  65503. .IP \[bu] 2
  65504. Disable bazil/fuse based mount on macOS (Nick Craig-Wood)
  65505. .RS 2
  65506. .IP \[bu] 2
  65507. Make \f[C]rclone mount\f[R] actually run \f[C]rclone cmount\f[R] under
  65508. macOS (Nick Craig-Wood)
  65509. .RE
  65510. .IP \[bu] 2
  65511. Implement mknod to make NFS file creation work (Nick Craig-Wood)
  65512. .IP \[bu] 2
  65513. Make sure we don\[aq]t call umount more than once (Nick Craig-Wood)
  65514. .IP \[bu] 2
  65515. More user friendly mounting as network drive on windows (albertony)
  65516. .IP \[bu] 2
  65517. Detect if uid or gid are set in same option string: -o uid=123,gid=456
  65518. (albertony)
  65519. .IP \[bu] 2
  65520. Don\[aq]t attempt to unmount if fs has been destroyed already (Nick
  65521. Craig-Wood)
  65522. .RE
  65523. .IP \[bu] 2
  65524. VFS
  65525. .RS 2
  65526. .IP \[bu] 2
  65527. Fix virtual entries causing deleted files to still appear (Nick
  65528. Craig-Wood)
  65529. .IP \[bu] 2
  65530. Fix \[dq]file already exists\[dq] error for stale cache files (Nick
  65531. Craig-Wood)
  65532. .IP \[bu] 2
  65533. Fix file leaks with \f[C]--vfs-cache-mode\f[R] full and
  65534. \f[C]--buffer-size 0\f[R] (Nick Craig-Wood)
  65535. .IP \[bu] 2
  65536. Fix invalid cache path on windows when using :backend: as remote
  65537. (albertony)
  65538. .RE
  65539. .IP \[bu] 2
  65540. Local
  65541. .RS 2
  65542. .IP \[bu] 2
  65543. Continue listing files/folders when a circular symlink is detected
  65544. (Manish Gupta)
  65545. .IP \[bu] 2
  65546. New flag \f[C]--local-zero-size-links\f[R] to fix sync on some virtual
  65547. filesystems (Riccardo Iaconelli)
  65548. .RE
  65549. .IP \[bu] 2
  65550. Azure Blob
  65551. .RS 2
  65552. .IP \[bu] 2
  65553. Add support for service principals (James Lim)
  65554. .IP \[bu] 2
  65555. Add support for managed identities (Brad Ackerman)
  65556. .IP \[bu] 2
  65557. Add examples for access tier (Bob Pusateri)
  65558. .IP \[bu] 2
  65559. Utilize the streaming capabilities from the SDK for multipart uploads
  65560. (Denis Neuling)
  65561. .IP \[bu] 2
  65562. Fix setting of mime types (Nick Craig-Wood)
  65563. .IP \[bu] 2
  65564. Fix crash when listing outside a SAS URL\[aq]s root (Nick Craig-Wood)
  65565. .IP \[bu] 2
  65566. Delete archive tier blobs before update if
  65567. \f[C]--azureblob-archive-tier-delete\f[R] (Nick Craig-Wood)
  65568. .IP \[bu] 2
  65569. Fix crash on startup (Nick Craig-Wood)
  65570. .IP \[bu] 2
  65571. Fix memory usage by upgrading the SDK to v0.13.0 and implementing a
  65572. TransferManager (Nick Craig-Wood)
  65573. .IP \[bu] 2
  65574. Require go1.14+ to compile due to SDK changes (Nick Craig-Wood)
  65575. .RE
  65576. .IP \[bu] 2
  65577. B2
  65578. .RS 2
  65579. .IP \[bu] 2
  65580. Make NewObject use less expensive API calls (Nick Craig-Wood)
  65581. .RS 2
  65582. .IP \[bu] 2
  65583. This will improve \f[C]--files-from\f[R] and \f[C]restic serve\f[R] in
  65584. particular
  65585. .RE
  65586. .IP \[bu] 2
  65587. Fixed crash on an empty file name (lluuaapp)
  65588. .RE
  65589. .IP \[bu] 2
  65590. Box
  65591. .RS 2
  65592. .IP \[bu] 2
  65593. Fix NewObject for files that differ in case (Nick Craig-Wood)
  65594. .IP \[bu] 2
  65595. Fix finding directories in a case insensitive way (Nick Craig-Wood)
  65596. .RE
  65597. .IP \[bu] 2
  65598. Chunker
  65599. .RS 2
  65600. .IP \[bu] 2
  65601. Skip long local hashing, hash in-transit (fixes) (Ivan Andreev)
  65602. .IP \[bu] 2
  65603. Set Features ReadMimeType to false as Object.MimeType not supported
  65604. (Nick Craig-Wood)
  65605. .IP \[bu] 2
  65606. Fix case-insensitive NewObject, test metadata detection (Ivan Andreev)
  65607. .RE
  65608. .IP \[bu] 2
  65609. Drive
  65610. .RS 2
  65611. .IP \[bu] 2
  65612. Implement \f[C]rclone backend copyid\f[R] command for copying files by
  65613. ID (Nick Craig-Wood)
  65614. .IP \[bu] 2
  65615. Added flag \f[C]--drive-stop-on-download-limit\f[R] to stop transfers
  65616. when the download limit is exceeded (Anagh Kumar Baranwal)
  65617. .IP \[bu] 2
  65618. Implement CleanUp workaround for team drives (buengese)
  65619. .IP \[bu] 2
  65620. Allow shortcut resolution and creation to be retried (Nick Craig-Wood)
  65621. .IP \[bu] 2
  65622. Log that emptying the trash can take some time (Nick Craig-Wood)
  65623. .IP \[bu] 2
  65624. Add xdg office icons to xdg desktop files (Pau Rodriguez-Estivill)
  65625. .RE
  65626. .IP \[bu] 2
  65627. Dropbox
  65628. .RS 2
  65629. .IP \[bu] 2
  65630. Add support for viewing shared files and folders (buengese)
  65631. .IP \[bu] 2
  65632. Enable short lived access tokens (Nick Craig-Wood)
  65633. .IP \[bu] 2
  65634. Implement IDer on Objects so \f[C]rclone lsf\f[R] etc can read the IDs
  65635. (buengese)
  65636. .IP \[bu] 2
  65637. Set Features ReadMimeType to false as Object.MimeType not supported
  65638. (Nick Craig-Wood)
  65639. .IP \[bu] 2
  65640. Make malformed_path errors from too long files not retriable (Nick
  65641. Craig-Wood)
  65642. .IP \[bu] 2
  65643. Test file name length before upload to fix upload loop (Nick Craig-Wood)
  65644. .RE
  65645. .IP \[bu] 2
  65646. Fichier
  65647. .RS 2
  65648. .IP \[bu] 2
  65649. Set Features ReadMimeType to true as Object.MimeType is supported (Nick
  65650. Craig-Wood)
  65651. .RE
  65652. .IP \[bu] 2
  65653. FTP
  65654. .RS 2
  65655. .IP \[bu] 2
  65656. Add \f[C]--ftp-disable-msld\f[R] option to ignore MLSD for really old
  65657. servers (Nick Craig-Wood)
  65658. .IP \[bu] 2
  65659. Make \f[C]--tpslimit apply\f[R] (Nick Craig-Wood)
  65660. .RE
  65661. .IP \[bu] 2
  65662. Google Cloud Storage
  65663. .RS 2
  65664. .IP \[bu] 2
  65665. Storage class object header support (Laurens Janssen)
  65666. .IP \[bu] 2
  65667. Fix anonymous client to use rclone\[aq]s HTTP client (Nick Craig-Wood)
  65668. .IP \[bu] 2
  65669. Fix
  65670. \f[C]Entry doesn\[aq]t belong in directory \[dq]\[dq] (same as directory) - ignoring\f[R]
  65671. (Nick Craig-Wood)
  65672. .RE
  65673. .IP \[bu] 2
  65674. Googlephotos
  65675. .RS 2
  65676. .IP \[bu] 2
  65677. New flag \f[C]--gphotos-include-archived\f[R] to show archived photos as
  65678. well (Nicolas Rueff)
  65679. .RE
  65680. .IP \[bu] 2
  65681. Jottacloud
  65682. .RS 2
  65683. .IP \[bu] 2
  65684. Don\[aq]t erroneously report support for writing mime types (buengese)
  65685. .IP \[bu] 2
  65686. Add support for Telia Cloud (Patrik Nordl\['e]n)
  65687. .RE
  65688. .IP \[bu] 2
  65689. Mailru
  65690. .RS 2
  65691. .IP \[bu] 2
  65692. Accept special folders eg camera-upload (Ivan Andreev)
  65693. .IP \[bu] 2
  65694. Avoid prehashing of large local files (Ivan Andreev)
  65695. .IP \[bu] 2
  65696. Fix uploads after recent changes on server (Ivan Andreev)
  65697. .IP \[bu] 2
  65698. Fix range requests after June 2020 changes on server (Ivan Andreev)
  65699. .IP \[bu] 2
  65700. Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
  65701. .IP \[bu] 2
  65702. Remove deprecated protocol quirks (Ivan Andreev)
  65703. .RE
  65704. .IP \[bu] 2
  65705. Memory
  65706. .RS 2
  65707. .IP \[bu] 2
  65708. Fix setting of mime types (Nick Craig-Wood)
  65709. .RE
  65710. .IP \[bu] 2
  65711. Onedrive
  65712. .RS 2
  65713. .IP \[bu] 2
  65714. Add support for China region operated by 21vianet and other regional
  65715. suppliers (NyaMisty)
  65716. .IP \[bu] 2
  65717. Warn on gateway timeout errors (Nick Craig-Wood)
  65718. .IP \[bu] 2
  65719. Fall back to normal copy if server-side copy unavailable (Alex Chen)
  65720. .IP \[bu] 2
  65721. Fix server-side copy completely disabled on OneDrive for Business (Cnly)
  65722. .IP \[bu] 2
  65723. (business only) workaround to replace existing file on server-side copy
  65724. (Alex Chen)
  65725. .IP \[bu] 2
  65726. Enhance link creation with expiry, scope, type and password (Nick
  65727. Craig-Wood)
  65728. .IP \[bu] 2
  65729. Remove % and # from the set of encoded characters (Alex Chen)
  65730. .IP \[bu] 2
  65731. Support addressing site by server-relative URL (kice)
  65732. .RE
  65733. .IP \[bu] 2
  65734. Opendrive
  65735. .RS 2
  65736. .IP \[bu] 2
  65737. Fix finding directories in a case insensitive way (Nick Craig-Wood)
  65738. .RE
  65739. .IP \[bu] 2
  65740. Pcloud
  65741. .RS 2
  65742. .IP \[bu] 2
  65743. Fix setting of mime types (Nick Craig-Wood)
  65744. .RE
  65745. .IP \[bu] 2
  65746. Premiumizeme
  65747. .RS 2
  65748. .IP \[bu] 2
  65749. Fix finding directories in a case insensitive way (Nick Craig-Wood)
  65750. .RE
  65751. .IP \[bu] 2
  65752. Qingstor
  65753. .RS 2
  65754. .IP \[bu] 2
  65755. Fix error propagation in CleanUp (Nick Craig-Wood)
  65756. .IP \[bu] 2
  65757. Fix rclone cleanup (Nick Craig-Wood)
  65758. .RE
  65759. .IP \[bu] 2
  65760. S3
  65761. .RS 2
  65762. .IP \[bu] 2
  65763. Added \f[C]--s3-disable-http2\f[R] to disable http/2 (Anagh Kumar
  65764. Baranwal)
  65765. .IP \[bu] 2
  65766. Complete SSE-C implementation (Nick Craig-Wood)
  65767. .RS 2
  65768. .IP \[bu] 2
  65769. Fix hashes on small files with AWS:KMS and SSE-C (Nick Craig-Wood)
  65770. .IP \[bu] 2
  65771. Add MD5 metadata to objects uploaded with SSE-AWS/SSE-C (Nick
  65772. Craig-Wood)
  65773. .RE
  65774. .IP \[bu] 2
  65775. Add \f[C]--s3-no-head parameter\f[R] to minimise transactions on upload
  65776. (Nick Craig-Wood)
  65777. .IP \[bu] 2
  65778. Update docs with a Reducing Costs section (Nick Craig-Wood)
  65779. .IP \[bu] 2
  65780. Added error handling for error code 429 indicating too many requests
  65781. (Anagh Kumar Baranwal)
  65782. .IP \[bu] 2
  65783. Add requester pays option (kelv)
  65784. .IP \[bu] 2
  65785. Fix copy multipart with v2 auth failing with
  65786. \[aq]SignatureDoesNotMatch\[aq] (Louis Koo)
  65787. .RE
  65788. .IP \[bu] 2
  65789. SFTP
  65790. .RS 2
  65791. .IP \[bu] 2
  65792. Allow cert based auth via optional pubkey (Stephen Harris)
  65793. .IP \[bu] 2
  65794. Allow user to optionally check server hosts key to add security (Stephen
  65795. Harris)
  65796. .IP \[bu] 2
  65797. Defer asking for user passwords until the SSH connection succeeds
  65798. (Stephen Harris)
  65799. .IP \[bu] 2
  65800. Remember entered password in AskPass mode (Stephen Harris)
  65801. .IP \[bu] 2
  65802. Implement Shutdown method (Nick Craig-Wood)
  65803. .IP \[bu] 2
  65804. Implement keyboard interactive authentication (Nick Craig-Wood)
  65805. .IP \[bu] 2
  65806. Make \f[C]--tpslimit\f[R] apply (Nick Craig-Wood)
  65807. .IP \[bu] 2
  65808. Implement \f[C]--sftp-use-fstat\f[R] for unusual SFTP servers (Nick
  65809. Craig-Wood)
  65810. .RE
  65811. .IP \[bu] 2
  65812. Sugarsync
  65813. .RS 2
  65814. .IP \[bu] 2
  65815. Fix NewObject for files that differ in case (Nick Craig-Wood)
  65816. .IP \[bu] 2
  65817. Fix finding directories in a case insensitive way (Nick Craig-Wood)
  65818. .RE
  65819. .IP \[bu] 2
  65820. Swift
  65821. .RS 2
  65822. .IP \[bu] 2
  65823. Fix deletion of parts of Static Large Object (SLO) (Nguy\[u1EC5]n
  65824. H\[u1EEF]u Lu\[^a]n)
  65825. .IP \[bu] 2
  65826. Ensure partially uploaded large files are uploaded unless
  65827. \f[C]--swift-leave-parts-on-error\f[R] (Nguy\[u1EC5]n H\[u1EEF]u
  65828. Lu\[^a]n)
  65829. .RE
  65830. .IP \[bu] 2
  65831. Tardigrade
  65832. .RS 2
  65833. .IP \[bu] 2
  65834. Upgrade to uplink v1.4.1 (Caleb Case)
  65835. .RE
  65836. .IP \[bu] 2
  65837. WebDAV
  65838. .RS 2
  65839. .IP \[bu] 2
  65840. Updated docs to show streaming to nextcloud is working (Durval Menezes)
  65841. .RE
  65842. .IP \[bu] 2
  65843. Yandex
  65844. .RS 2
  65845. .IP \[bu] 2
  65846. Set Features WriteMimeType to false as Yandex ignores mime types (Nick
  65847. Craig-Wood)
  65848. .RE
  65849. .SS v1.53.4 - 2021-01-20
  65850. .PP
  65851. See commits (https://github.com/rclone/rclone/compare/v1.53.3...v1.53.4)
  65852. .IP \[bu] 2
  65853. Bug Fixes
  65854. .RS 2
  65855. .IP \[bu] 2
  65856. accounting: Fix data race in Transferred() (Maciej Zimnoch)
  65857. .IP \[bu] 2
  65858. build
  65859. .RS 2
  65860. .IP \[bu] 2
  65861. Stop tagged releases making a current beta (Nick Craig-Wood)
  65862. .IP \[bu] 2
  65863. Upgrade docker buildx action (Matteo Pietro Dazzi)
  65864. .IP \[bu] 2
  65865. Add -buildmode to cross-compile.go (Nick Craig-Wood)
  65866. .IP \[bu] 2
  65867. Fix docker build by upgrading ilteoood/docker_buildx (Nick Craig-Wood)
  65868. .IP \[bu] 2
  65869. Revert GitHub actions brew fix since this is now fixed (Nick Craig-Wood)
  65870. .IP \[bu] 2
  65871. Fix brew install --cask syntax for macOS build (Nick Craig-Wood)
  65872. .IP \[bu] 2
  65873. Update nfpm syntax to fix build of .deb/.rpm packages (Nick Craig-Wood)
  65874. .IP \[bu] 2
  65875. Fix for Windows build errors (Ivan Andreev)
  65876. .RE
  65877. .IP \[bu] 2
  65878. fs: Parseduration: fixed tests to use UTC time (Ankur Gupta)
  65879. .IP \[bu] 2
  65880. fshttp: Prevent overlap of HTTP headers in logs (Nathan Collins)
  65881. .IP \[bu] 2
  65882. rc
  65883. .RS 2
  65884. .IP \[bu] 2
  65885. Fix core/command giving 500 internal error (Nick Craig-Wood)
  65886. .IP \[bu] 2
  65887. Add Copy method to rc.Params (Nick Craig-Wood)
  65888. .IP \[bu] 2
  65889. Fix 500 error when marshalling errors from core/command (Nick
  65890. Craig-Wood)
  65891. .IP \[bu] 2
  65892. plugins: Create plugins files only if webui is enabled.
  65893. (negative0)
  65894. .RE
  65895. .IP \[bu] 2
  65896. serve http: Fix serving files of unknown length (Nick Craig-Wood)
  65897. .IP \[bu] 2
  65898. serve sftp: Fix authentication on one connection blocking others (Nick
  65899. Craig-Wood)
  65900. .RE
  65901. .IP \[bu] 2
  65902. Mount
  65903. .RS 2
  65904. .IP \[bu] 2
  65905. Add optional \f[C]brew\f[R] tag to throw an error when using mount in
  65906. the binaries installed via Homebrew (Anagh Kumar Baranwal)
  65907. .IP \[bu] 2
  65908. Add \[dq].\[dq] and \[dq]..\[dq] to directories to match cmount and
  65909. expectations (Nick Craig-Wood)
  65910. .RE
  65911. .IP \[bu] 2
  65912. VFS
  65913. .RS 2
  65914. .IP \[bu] 2
  65915. Make cache dir absolute before using it to fix path too long errors
  65916. (Nick Craig-Wood)
  65917. .RE
  65918. .IP \[bu] 2
  65919. Chunker
  65920. .RS 2
  65921. .IP \[bu] 2
  65922. Improve detection of incompatible metadata (Ivan Andreev)
  65923. .RE
  65924. .IP \[bu] 2
  65925. Google Cloud Storage
  65926. .RS 2
  65927. .IP \[bu] 2
  65928. Fix server side copy of large objects (Nick Craig-Wood)
  65929. .RE
  65930. .IP \[bu] 2
  65931. Jottacloud
  65932. .RS 2
  65933. .IP \[bu] 2
  65934. Fix token renewer to fix long uploads (Nick Craig-Wood)
  65935. .IP \[bu] 2
  65936. Fix token refresh failed: is not a regular file error (Nick Craig-Wood)
  65937. .RE
  65938. .IP \[bu] 2
  65939. Pcloud
  65940. .RS 2
  65941. .IP \[bu] 2
  65942. Only use SHA1 hashes in EU region (Nick Craig-Wood)
  65943. .RE
  65944. .IP \[bu] 2
  65945. Sharefile
  65946. .RS 2
  65947. .IP \[bu] 2
  65948. Undo Fix backend due to API swapping integers for strings (Nick
  65949. Craig-Wood)
  65950. .RE
  65951. .IP \[bu] 2
  65952. WebDAV
  65953. .RS 2
  65954. .IP \[bu] 2
  65955. Fix Open Range requests to fix 4shared mount (Nick Craig-Wood)
  65956. .IP \[bu] 2
  65957. Add \[dq]Depth: 0\[dq] to GET requests to fix bitrix (Nick Craig-Wood)
  65958. .RE
  65959. .SS v1.53.3 - 2020-11-19
  65960. .PP
  65961. See commits (https://github.com/rclone/rclone/compare/v1.53.2...v1.53.3)
  65962. .IP \[bu] 2
  65963. Bug Fixes
  65964. .RS 2
  65965. .IP \[bu] 2
  65966. random: Fix incorrect use of math/rand instead of crypto/rand
  65967. CVE-2020-28924 (Nick Craig-Wood)
  65968. .RS 2
  65969. .IP \[bu] 2
  65970. Passwords you have generated with \f[C]rclone config\f[R] may be
  65971. insecure
  65972. .IP \[bu] 2
  65973. See issue #4783 (https://github.com/rclone/rclone/issues/4783) for more
  65974. details and a checking tool
  65975. .RE
  65976. .IP \[bu] 2
  65977. random: Seed math/rand in one place with crypto strong seed (Nick
  65978. Craig-Wood)
  65979. .RE
  65980. .IP \[bu] 2
  65981. VFS
  65982. .RS 2
  65983. .IP \[bu] 2
  65984. Fix vfs/refresh calls with fs= parameter (Nick Craig-Wood)
  65985. .RE
  65986. .IP \[bu] 2
  65987. Sharefile
  65988. .RS 2
  65989. .IP \[bu] 2
  65990. Fix backend due to API swapping integers for strings (Nick Craig-Wood)
  65991. .RE
  65992. .SS v1.53.2 - 2020-10-26
  65993. .PP
  65994. See commits (https://github.com/rclone/rclone/compare/v1.53.1...v1.53.2)
  65995. .IP \[bu] 2
  65996. Bug Fixes
  65997. .RS 2
  65998. .IP \[bu] 2
  65999. accounting
  66000. .RS 2
  66001. .IP \[bu] 2
  66002. Fix incorrect speed and transferTime in core/stats (Nick Craig-Wood)
  66003. .IP \[bu] 2
  66004. Stabilize display order of transfers on Windows (Nick Craig-Wood)
  66005. .RE
  66006. .IP \[bu] 2
  66007. operations
  66008. .RS 2
  66009. .IP \[bu] 2
  66010. Fix use of --suffix without --backup-dir (Nick Craig-Wood)
  66011. .IP \[bu] 2
  66012. Fix spurious \[dq]--checksum is in use but the source and destination
  66013. have no hashes in common\[dq] (Nick Craig-Wood)
  66014. .RE
  66015. .IP \[bu] 2
  66016. build
  66017. .RS 2
  66018. .IP \[bu] 2
  66019. Work around GitHub actions brew problem (Nick Craig-Wood)
  66020. .IP \[bu] 2
  66021. Stop using set-env and set-path in the GitHub actions (Nick Craig-Wood)
  66022. .RE
  66023. .RE
  66024. .IP \[bu] 2
  66025. Mount
  66026. .RS 2
  66027. .IP \[bu] 2
  66028. mount2: Fix the swapped UID / GID values (Russell Cattelan)
  66029. .RE
  66030. .IP \[bu] 2
  66031. VFS
  66032. .RS 2
  66033. .IP \[bu] 2
  66034. Detect and recover from a file being removed externally from the cache
  66035. (Nick Craig-Wood)
  66036. .IP \[bu] 2
  66037. Fix a deadlock vulnerability in downloaders.Close (Leo Luan)
  66038. .IP \[bu] 2
  66039. Fix a race condition in retryFailedResets (Leo Luan)
  66040. .IP \[bu] 2
  66041. Fix missed concurrency control between some item operations and reset
  66042. (Leo Luan)
  66043. .IP \[bu] 2
  66044. Add exponential backoff during ENOSPC retries (Leo Luan)
  66045. .IP \[bu] 2
  66046. Add a missed update of used cache space (Leo Luan)
  66047. .IP \[bu] 2
  66048. Fix --no-modtime to not attempt to set modtimes (as documented) (Nick
  66049. Craig-Wood)
  66050. .RE
  66051. .IP \[bu] 2
  66052. Local
  66053. .RS 2
  66054. .IP \[bu] 2
  66055. Fix sizes and syncing with --links option on Windows (Nick Craig-Wood)
  66056. .RE
  66057. .IP \[bu] 2
  66058. Chunker
  66059. .RS 2
  66060. .IP \[bu] 2
  66061. Disable ListR to fix missing files on GDrive (workaround) (Ivan Andreev)
  66062. .IP \[bu] 2
  66063. Fix upload over crypt (Ivan Andreev)
  66064. .RE
  66065. .IP \[bu] 2
  66066. Fichier
  66067. .RS 2
  66068. .IP \[bu] 2
  66069. Increase maximum file size from 100GB to 300GB (gyutw)
  66070. .RE
  66071. .IP \[bu] 2
  66072. Jottacloud
  66073. .RS 2
  66074. .IP \[bu] 2
  66075. Remove clientSecret from config when upgrading to token based
  66076. authentication (buengese)
  66077. .IP \[bu] 2
  66078. Avoid double url escaping of device/mountpoint (albertony)
  66079. .IP \[bu] 2
  66080. Remove DirMove workaround as it\[aq]s not required anymore - also
  66081. (buengese)
  66082. .RE
  66083. .IP \[bu] 2
  66084. Mailru
  66085. .RS 2
  66086. .IP \[bu] 2
  66087. Fix uploads after recent changes on server (Ivan Andreev)
  66088. .IP \[bu] 2
  66089. Fix range requests after june changes on server (Ivan Andreev)
  66090. .IP \[bu] 2
  66091. Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
  66092. .RE
  66093. .IP \[bu] 2
  66094. Onedrive
  66095. .RS 2
  66096. .IP \[bu] 2
  66097. Fix disk usage for sharepoint (Nick Craig-Wood)
  66098. .RE
  66099. .IP \[bu] 2
  66100. S3
  66101. .RS 2
  66102. .IP \[bu] 2
  66103. Add missing regions for AWS (Anagh Kumar Baranwal)
  66104. .RE
  66105. .IP \[bu] 2
  66106. Seafile
  66107. .RS 2
  66108. .IP \[bu] 2
  66109. Fix accessing libraries > 2GB on 32 bit systems (Muffin King)
  66110. .RE
  66111. .IP \[bu] 2
  66112. SFTP
  66113. .RS 2
  66114. .IP \[bu] 2
  66115. Always convert the checksum to lower case (buengese)
  66116. .RE
  66117. .IP \[bu] 2
  66118. Union
  66119. .RS 2
  66120. .IP \[bu] 2
  66121. Create root directories if none exist (Nick Craig-Wood)
  66122. .RE
  66123. .SS v1.53.1 - 2020-09-13
  66124. .PP
  66125. See commits (https://github.com/rclone/rclone/compare/v1.53.0...v1.53.1)
  66126. .IP \[bu] 2
  66127. Bug Fixes
  66128. .RS 2
  66129. .IP \[bu] 2
  66130. accounting: Remove new line from end of --stats-one-line display (Nick
  66131. Craig-Wood)
  66132. .IP \[bu] 2
  66133. check
  66134. .RS 2
  66135. .IP \[bu] 2
  66136. Add back missing --download flag (Nick Craig-Wood)
  66137. .IP \[bu] 2
  66138. Fix docs (Nick Craig-Wood)
  66139. .RE
  66140. .IP \[bu] 2
  66141. docs
  66142. .RS 2
  66143. .IP \[bu] 2
  66144. Note --log-file does append (Nick Craig-Wood)
  66145. .IP \[bu] 2
  66146. Add full stops for consistency in rclone --help (edwardxml)
  66147. .IP \[bu] 2
  66148. Add Tencent COS to s3 provider list (wjielai)
  66149. .IP \[bu] 2
  66150. Updated mount command to reflect that it requires Go 1.13 or newer (Evan
  66151. Harris)
  66152. .IP \[bu] 2
  66153. jottacloud: Mention that uploads from local disk will not need to cache
  66154. files to disk for md5 calculation (albertony)
  66155. .IP \[bu] 2
  66156. Fix formatting of rc docs page (Nick Craig-Wood)
  66157. .RE
  66158. .IP \[bu] 2
  66159. build
  66160. .RS 2
  66161. .IP \[bu] 2
  66162. Include vendor tar ball in release and fix startdev (Nick Craig-Wood)
  66163. .IP \[bu] 2
  66164. Fix \[dq]Illegal instruction\[dq] error for ARMv6 builds (Nick
  66165. Craig-Wood)
  66166. .IP \[bu] 2
  66167. Fix architecture name in ARMv7 build (Nick Craig-Wood)
  66168. .RE
  66169. .RE
  66170. .IP \[bu] 2
  66171. VFS
  66172. .RS 2
  66173. .IP \[bu] 2
  66174. Fix spurious error \[dq]vfs cache: failed to _ensure cache EOF\[dq]
  66175. (Nick Craig-Wood)
  66176. .IP \[bu] 2
  66177. Log an ERROR if we fail to set the file to be sparse (Nick Craig-Wood)
  66178. .RE
  66179. .IP \[bu] 2
  66180. Local
  66181. .RS 2
  66182. .IP \[bu] 2
  66183. Log an ERROR if we fail to set the file to be sparse (Nick Craig-Wood)
  66184. .RE
  66185. .IP \[bu] 2
  66186. Drive
  66187. .RS 2
  66188. .IP \[bu] 2
  66189. Re-adds special oauth help text (Tim Gallant)
  66190. .RE
  66191. .IP \[bu] 2
  66192. Opendrive
  66193. .RS 2
  66194. .IP \[bu] 2
  66195. Do not retry 400 errors (Evan Harris)
  66196. .RE
  66197. .SS v1.53.0 - 2020-09-02
  66198. .PP
  66199. See commits (https://github.com/rclone/rclone/compare/v1.52.0...v1.53.0)
  66200. .IP \[bu] 2
  66201. New Features
  66202. .RS 2
  66203. .IP \[bu] 2
  66204. The VFS
  66205. layer (https://rclone.org/commands/rclone_mount/#vfs-virtual-file-system)
  66206. was heavily reworked for this release - see below for more details
  66207. .IP \[bu] 2
  66208. Interactive mode -i/--interactive (https://rclone.org/docs/#interactive)
  66209. for destructive operations (fishbullet)
  66210. .IP \[bu] 2
  66211. Add
  66212. --bwlimit-file (https://rclone.org/docs/#bwlimit-file-bandwidth-spec)
  66213. flag to limit speeds of individual file transfers (Nick Craig-Wood)
  66214. .IP \[bu] 2
  66215. Transfers are sorted by start time in the stats and progress output (Max
  66216. Sum)
  66217. .IP \[bu] 2
  66218. Make sure backends expand \f[C]\[ti]\f[R] and environment vars in file
  66219. names they use (Nick Craig-Wood)
  66220. .IP \[bu] 2
  66221. Add --refresh-times (https://rclone.org/docs/#refresh-times) flag to set
  66222. modtimes on hashless backends (Nick Craig-Wood)
  66223. .IP \[bu] 2
  66224. build
  66225. .RS 2
  66226. .IP \[bu] 2
  66227. Remove vendor directory in favour of Go modules (Nick Craig-Wood)
  66228. .IP \[bu] 2
  66229. Build with go1.15.x by default (Nick Craig-Wood)
  66230. .IP \[bu] 2
  66231. Drop macOS 386 build as it is no longer supported by go1.15 (Nick
  66232. Craig-Wood)
  66233. .IP \[bu] 2
  66234. Add ARMv7 to the supported builds (Nick Craig-Wood)
  66235. .IP \[bu] 2
  66236. Enable \f[C]rclone cmount\f[R] on macOS (Nick Craig-Wood)
  66237. .IP \[bu] 2
  66238. Make rclone build with gccgo (Nick Craig-Wood)
  66239. .IP \[bu] 2
  66240. Make rclone build with wasm (Nick Craig-Wood)
  66241. .IP \[bu] 2
  66242. Change beta numbering to be semver compatible (Nick Craig-Wood)
  66243. .IP \[bu] 2
  66244. Add file properties and icon to Windows executable (albertony)
  66245. .IP \[bu] 2
  66246. Add experimental interface for integrating rclone into browsers (Nick
  66247. Craig-Wood)
  66248. .RE
  66249. .IP \[bu] 2
  66250. lib: Add file name compression (Klaus Post)
  66251. .IP \[bu] 2
  66252. rc
  66253. .RS 2
  66254. .IP \[bu] 2
  66255. Allow installation and use of plugins and test plugins with rclone-webui
  66256. (Chaitanya Bankanhal)
  66257. .IP \[bu] 2
  66258. Add reverse proxy pluginsHandler for serving plugins (Chaitanya
  66259. Bankanhal)
  66260. .IP \[bu] 2
  66261. Add \f[C]mount/listmounts\f[R] option for listing current mounts
  66262. (Chaitanya Bankanhal)
  66263. .IP \[bu] 2
  66264. Add \f[C]operations/uploadfile\f[R] to upload a file through rc using
  66265. encoding multipart/form-data (Chaitanya Bankanhal)
  66266. .IP \[bu] 2
  66267. Add \f[C]core/command\f[R] to execute rclone terminal commands.
  66268. (Chaitanya Bankanhal)
  66269. .RE
  66270. .IP \[bu] 2
  66271. \f[C]rclone check\f[R]
  66272. .RS 2
  66273. .IP \[bu] 2
  66274. Add reporting of filenames for same/missing/changed (Nick Craig-Wood)
  66275. .IP \[bu] 2
  66276. Make check command obey
  66277. \f[C]--dry-run\f[R]/\f[C]-i\f[R]/\f[C]--interactive\f[R] (Nick
  66278. Craig-Wood)
  66279. .IP \[bu] 2
  66280. Make check do \f[C]--checkers\f[R] files concurrently (Nick Craig-Wood)
  66281. .IP \[bu] 2
  66282. Retry downloads if they fail when using the \f[C]--download\f[R] flag
  66283. (Nick Craig-Wood)
  66284. .IP \[bu] 2
  66285. Make it show stats by default (Nick Craig-Wood)
  66286. .RE
  66287. .IP \[bu] 2
  66288. \f[C]rclone obscure\f[R]: Allow obscure command to accept password on
  66289. STDIN (David Ibarra)
  66290. .IP \[bu] 2
  66291. \f[C]rclone config\f[R]
  66292. .RS 2
  66293. .IP \[bu] 2
  66294. Set RCLONE_CONFIG_DIR for use in config files and subprocesses (Nick
  66295. Craig-Wood)
  66296. .IP \[bu] 2
  66297. Reject remote names starting with a dash.
  66298. (jtagcat)
  66299. .RE
  66300. .IP \[bu] 2
  66301. \f[C]rclone cryptcheck\f[R]: Add reporting of filenames for
  66302. same/missing/changed (Nick Craig-Wood)
  66303. .IP \[bu] 2
  66304. \f[C]rclone dedupe\f[R]: Make it obey the \f[C]--size-only\f[R] flag for
  66305. duplicate detection (Nick Craig-Wood)
  66306. .IP \[bu] 2
  66307. \f[C]rclone link\f[R]: Add \f[C]--expire\f[R] and \f[C]--unlink\f[R]
  66308. flags (Roman Kredentser)
  66309. .IP \[bu] 2
  66310. \f[C]rclone mkdir\f[R]: Warn when using mkdir on remotes which can\[aq]t
  66311. have empty directories (Nick Craig-Wood)
  66312. .IP \[bu] 2
  66313. \f[C]rclone rc\f[R]: Allow JSON parameters to simplify command line
  66314. usage (Nick Craig-Wood)
  66315. .IP \[bu] 2
  66316. \f[C]rclone serve ftp\f[R]
  66317. .RS 2
  66318. .IP \[bu] 2
  66319. Don\[aq]t compile on < go1.13 after dependency update (Nick Craig-Wood)
  66320. .IP \[bu] 2
  66321. Add error message if auth proxy fails (Nick Craig-Wood)
  66322. .IP \[bu] 2
  66323. Use refactored goftp.io/server library for binary shrink (Nick
  66324. Craig-Wood)
  66325. .RE
  66326. .IP \[bu] 2
  66327. \f[C]rclone serve restic\f[R]: Expose interfaces so that rclone can be
  66328. used as a library from within restic (Jack)
  66329. .IP \[bu] 2
  66330. \f[C]rclone sync\f[R]: Add \f[C]--track-renames-strategy leaf\f[R] (Nick
  66331. Craig-Wood)
  66332. .IP \[bu] 2
  66333. \f[C]rclone touch\f[R]: Add ability to set nanosecond resolution times
  66334. (Nick Craig-Wood)
  66335. .IP \[bu] 2
  66336. \f[C]rclone tree\f[R]: Remove \f[C]-i\f[R] shorthand for
  66337. \f[C]--noindent\f[R] as it conflicts with
  66338. \f[C]-i\f[R]/\f[C]--interactive\f[R] (Nick Craig-Wood)
  66339. .RE
  66340. .IP \[bu] 2
  66341. Bug Fixes
  66342. .RS 2
  66343. .IP \[bu] 2
  66344. accounting
  66345. .RS 2
  66346. .IP \[bu] 2
  66347. Fix documentation for \f[C]speed\f[R]/\f[C]speedAvg\f[R] (Nick
  66348. Craig-Wood)
  66349. .IP \[bu] 2
  66350. Fix elapsed time not show actual time since beginning (Chaitanya
  66351. Bankanhal)
  66352. .IP \[bu] 2
  66353. Fix deadlock in stats printing (Nick Craig-Wood)
  66354. .RE
  66355. .IP \[bu] 2
  66356. build
  66357. .RS 2
  66358. .IP \[bu] 2
  66359. Fix file handle leak in GitHub release tool (Garrett Squire)
  66360. .RE
  66361. .IP \[bu] 2
  66362. \f[C]rclone check\f[R]: Fix successful retries with \f[C]--download\f[R]
  66363. counting errors (Nick Craig-Wood)
  66364. .IP \[bu] 2
  66365. \f[C]rclone dedupe\f[R]: Fix logging to be easier to understand (Nick
  66366. Craig-Wood)
  66367. .RE
  66368. .IP \[bu] 2
  66369. Mount
  66370. .RS 2
  66371. .IP \[bu] 2
  66372. Warn macOS users that mount implementation is changing (Nick Craig-Wood)
  66373. .RS 2
  66374. .IP \[bu] 2
  66375. to test the new implementation use \f[C]rclone cmount\f[R] instead of
  66376. \f[C]rclone mount\f[R]
  66377. .IP \[bu] 2
  66378. this is because the library rclone uses has dropped macOS support
  66379. .RE
  66380. .IP \[bu] 2
  66381. rc interface
  66382. .RS 2
  66383. .IP \[bu] 2
  66384. Add call for unmount all (Chaitanya Bankanhal)
  66385. .IP \[bu] 2
  66386. Make \f[C]mount/mount\f[R] remote control take vfsOpt option (Nick
  66387. Craig-Wood)
  66388. .IP \[bu] 2
  66389. Add mountOpt to \f[C]mount/mount\f[R] (Nick Craig-Wood)
  66390. .IP \[bu] 2
  66391. Add VFS and Mount options to \f[C]mount/listmounts\f[R] (Nick
  66392. Craig-Wood)
  66393. .RE
  66394. .IP \[bu] 2
  66395. Catch panics in cgofuse initialization and turn into error messages
  66396. (Nick Craig-Wood)
  66397. .IP \[bu] 2
  66398. Always supply stat information in Readdir (Nick Craig-Wood)
  66399. .IP \[bu] 2
  66400. Add support for reading unknown length files using direct IO (Windows)
  66401. (Nick Craig-Wood)
  66402. .IP \[bu] 2
  66403. Fix On Windows don\[aq]t add \f[C]-o uid/gid=-1\f[R] if user supplies
  66404. \f[C]-o uid/gid\f[R].
  66405. (Nick Craig-Wood)
  66406. .IP \[bu] 2
  66407. Fix macOS losing directory contents in cmount (Nick Craig-Wood)
  66408. .IP \[bu] 2
  66409. Fix volume name broken in recent refactor (Nick Craig-Wood)
  66410. .RE
  66411. .IP \[bu] 2
  66412. VFS
  66413. .RS 2
  66414. .IP \[bu] 2
  66415. Implement partial reads for \f[C]--vfs-cache-mode full\f[R] (Nick
  66416. Craig-Wood)
  66417. .IP \[bu] 2
  66418. Add \f[C]--vfs-writeback\f[R] option to delay writes back to cloud
  66419. storage (Nick Craig-Wood)
  66420. .IP \[bu] 2
  66421. Add \f[C]--vfs-read-ahead\f[R] parameter for use with
  66422. \f[C]--vfs-cache-mode full\f[R] (Nick Craig-Wood)
  66423. .IP \[bu] 2
  66424. Restart pending uploads on restart of the cache (Nick Craig-Wood)
  66425. .IP \[bu] 2
  66426. Support synchronous cache space recovery upon ENOSPC (Leo Luan)
  66427. .IP \[bu] 2
  66428. Allow ReadAt and WriteAt to run concurrently with themselves (Nick
  66429. Craig-Wood)
  66430. .IP \[bu] 2
  66431. Change modtime of file before upload to current (Rob Calistri)
  66432. .IP \[bu] 2
  66433. Recommend \f[C]--vfs-cache-modes writes\f[R] on backends which can\[aq]t
  66434. stream (Nick Craig-Wood)
  66435. .IP \[bu] 2
  66436. Add an optional \f[C]fs\f[R] parameter to vfs rc methods (Nick
  66437. Craig-Wood)
  66438. .IP \[bu] 2
  66439. Fix errors when using > 260 char files in the cache in Windows (Nick
  66440. Craig-Wood)
  66441. .IP \[bu] 2
  66442. Fix renaming of items while they are being uploaded (Nick Craig-Wood)
  66443. .IP \[bu] 2
  66444. Fix very high load caused by slow directory listings (Nick Craig-Wood)
  66445. .IP \[bu] 2
  66446. Fix renamed files not being uploaded with
  66447. \f[C]--vfs-cache-mode minimal\f[R] (Nick Craig-Wood)
  66448. .IP \[bu] 2
  66449. Fix directory locking caused by slow directory listings (Nick
  66450. Craig-Wood)
  66451. .IP \[bu] 2
  66452. Fix saving from chrome without \f[C]--vfs-cache-mode writes\f[R] (Nick
  66453. Craig-Wood)
  66454. .RE
  66455. .IP \[bu] 2
  66456. Local
  66457. .RS 2
  66458. .IP \[bu] 2
  66459. Add \f[C]--local-no-updated\f[R] to provide a consistent view of
  66460. changing objects (Nick Craig-Wood)
  66461. .IP \[bu] 2
  66462. Add \f[C]--local-no-set-modtime\f[R] option to prevent modtime changes
  66463. (tyhuber1)
  66464. .IP \[bu] 2
  66465. Fix race conditions updating and reading Object metadata (Nick
  66466. Craig-Wood)
  66467. .RE
  66468. .IP \[bu] 2
  66469. Cache
  66470. .RS 2
  66471. .IP \[bu] 2
  66472. Make any created backends be cached to fix rc problems (Nick Craig-Wood)
  66473. .IP \[bu] 2
  66474. Fix dedupe on caches wrapping drives (Nick Craig-Wood)
  66475. .RE
  66476. .IP \[bu] 2
  66477. Crypt
  66478. .RS 2
  66479. .IP \[bu] 2
  66480. Add \f[C]--crypt-server-side-across-configs\f[R] flag (Nick Craig-Wood)
  66481. .IP \[bu] 2
  66482. Make any created backends be cached to fix rc problems (Nick Craig-Wood)
  66483. .RE
  66484. .IP \[bu] 2
  66485. Alias
  66486. .RS 2
  66487. .IP \[bu] 2
  66488. Make any created backends be cached to fix rc problems (Nick Craig-Wood)
  66489. .RE
  66490. .IP \[bu] 2
  66491. Azure Blob
  66492. .RS 2
  66493. .IP \[bu] 2
  66494. Don\[aq]t compile on < go1.13 after dependency update (Nick Craig-Wood)
  66495. .RE
  66496. .IP \[bu] 2
  66497. B2
  66498. .RS 2
  66499. .IP \[bu] 2
  66500. Implement server-side copy for files > 5GB (Nick Craig-Wood)
  66501. .IP \[bu] 2
  66502. Cancel in progress multipart uploads and copies on rclone exit (Nick
  66503. Craig-Wood)
  66504. .IP \[bu] 2
  66505. Note that b2\[aq]s encoding now allows \ but rclone\[aq]s hasn\[aq]t
  66506. changed (Nick Craig-Wood)
  66507. .IP \[bu] 2
  66508. Fix transfers when using download_url (Nick Craig-Wood)
  66509. .RE
  66510. .IP \[bu] 2
  66511. Box
  66512. .RS 2
  66513. .IP \[bu] 2
  66514. Implement rclone cleanup (buengese)
  66515. .IP \[bu] 2
  66516. Cancel in progress multipart uploads and copies on rclone exit (Nick
  66517. Craig-Wood)
  66518. .IP \[bu] 2
  66519. Allow authentication with access token (David)
  66520. .RE
  66521. .IP \[bu] 2
  66522. Chunker
  66523. .RS 2
  66524. .IP \[bu] 2
  66525. Make any created backends be cached to fix rc problems (Nick Craig-Wood)
  66526. .RE
  66527. .IP \[bu] 2
  66528. Drive
  66529. .RS 2
  66530. .IP \[bu] 2
  66531. Add \f[C]rclone backend drives\f[R] to list shared drives (teamdrives)
  66532. (Nick Craig-Wood)
  66533. .IP \[bu] 2
  66534. Implement \f[C]rclone backend untrash\f[R] (Nick Craig-Wood)
  66535. .IP \[bu] 2
  66536. Work around drive bug which didn\[aq]t set modtime of copied docs (Nick
  66537. Craig-Wood)
  66538. .IP \[bu] 2
  66539. Added \f[C]--drive-starred-only\f[R] to only show starred files (Jay
  66540. McEntire)
  66541. .IP \[bu] 2
  66542. Deprecate \f[C]--drive-alternate-export\f[R] as it is no longer needed
  66543. (themylogin)
  66544. .IP \[bu] 2
  66545. Fix duplication of Google docs on server-side copy (Nick Craig-Wood)
  66546. .IP \[bu] 2
  66547. Fix \[dq]panic: send on closed channel\[dq] when recycling dir entries
  66548. (Nick Craig-Wood)
  66549. .RE
  66550. .IP \[bu] 2
  66551. Dropbox
  66552. .RS 2
  66553. .IP \[bu] 2
  66554. Add copyright detector info in limitations section in the docs (Alex
  66555. Guerrero)
  66556. .IP \[bu] 2
  66557. Fix \f[C]rclone link\f[R] by removing expires parameter (Nick
  66558. Craig-Wood)
  66559. .RE
  66560. .IP \[bu] 2
  66561. Fichier
  66562. .RS 2
  66563. .IP \[bu] 2
  66564. Detect Flood detected: IP Locked error and sleep for 30s (Nick
  66565. Craig-Wood)
  66566. .RE
  66567. .IP \[bu] 2
  66568. FTP
  66569. .RS 2
  66570. .IP \[bu] 2
  66571. Add explicit TLS support (Heiko Bornholdt)
  66572. .IP \[bu] 2
  66573. Add support for \f[C]--dump bodies\f[R] and \f[C]--dump auth\f[R] for
  66574. debugging (Nick Craig-Wood)
  66575. .IP \[bu] 2
  66576. Fix interoperation with pure-ftpd (Nick Craig-Wood)
  66577. .RE
  66578. .IP \[bu] 2
  66579. Google Cloud Storage
  66580. .RS 2
  66581. .IP \[bu] 2
  66582. Add support for anonymous access (Kai L\[:u]ke)
  66583. .RE
  66584. .IP \[bu] 2
  66585. Jottacloud
  66586. .RS 2
  66587. .IP \[bu] 2
  66588. Bring back legacy authentication for use with whitelabel versions
  66589. (buengese)
  66590. .IP \[bu] 2
  66591. Switch to new api root - also implement a very ugly workaround for the
  66592. DirMove failures (buengese)
  66593. .RE
  66594. .IP \[bu] 2
  66595. Onedrive
  66596. .RS 2
  66597. .IP \[bu] 2
  66598. Rework cancel of multipart uploads on rclone exit (Nick Craig-Wood)
  66599. .IP \[bu] 2
  66600. Implement rclone cleanup (Nick Craig-Wood)
  66601. .IP \[bu] 2
  66602. Add \f[C]--onedrive-no-versions\f[R] flag to remove old versions (Nick
  66603. Craig-Wood)
  66604. .RE
  66605. .IP \[bu] 2
  66606. Pcloud
  66607. .RS 2
  66608. .IP \[bu] 2
  66609. Implement \f[C]rclone link\f[R] for public link creation (buengese)
  66610. .RE
  66611. .IP \[bu] 2
  66612. Qingstor
  66613. .RS 2
  66614. .IP \[bu] 2
  66615. Cancel in progress multipart uploads on rclone exit (Nick Craig-Wood)
  66616. .RE
  66617. .IP \[bu] 2
  66618. S3
  66619. .RS 2
  66620. .IP \[bu] 2
  66621. Preserve metadata when doing multipart copy (Nick Craig-Wood)
  66622. .IP \[bu] 2
  66623. Cancel in progress multipart uploads and copies on rclone exit (Nick
  66624. Craig-Wood)
  66625. .IP \[bu] 2
  66626. Add \f[C]rclone link\f[R] for public link sharing (Roman Kredentser)
  66627. .IP \[bu] 2
  66628. Add \f[C]rclone backend restore\f[R] command to restore objects from
  66629. GLACIER (Nick Craig-Wood)
  66630. .IP \[bu] 2
  66631. Add \f[C]rclone cleanup\f[R] and \f[C]rclone backend cleanup\f[R] to
  66632. clean unfinished multipart uploads (Nick Craig-Wood)
  66633. .IP \[bu] 2
  66634. Add \f[C]rclone backend list-multipart-uploads\f[R] to list unfinished
  66635. multipart uploads (Nick Craig-Wood)
  66636. .IP \[bu] 2
  66637. Add \f[C]--s3-max-upload-parts\f[R] support (Kamil Trzci\[u0144]ski)
  66638. .IP \[bu] 2
  66639. Add \f[C]--s3-no-check-bucket\f[R] for minimising rclone transactions
  66640. and perms (Nick Craig-Wood)
  66641. .IP \[bu] 2
  66642. Add \f[C]--s3-profile\f[R] and \f[C]--s3-shared-credentials-file\f[R]
  66643. options (Nick Craig-Wood)
  66644. .IP \[bu] 2
  66645. Use regional s3 us-east-1 endpoint (David)
  66646. .IP \[bu] 2
  66647. Add Scaleway provider (Vincent Feltz)
  66648. .IP \[bu] 2
  66649. Update IBM COS endpoints (Egor Margineanu)
  66650. .IP \[bu] 2
  66651. Reduce the default \f[C]--s3-copy-cutoff\f[R] to < 5GB for Backblaze S3
  66652. compatibility (Nick Craig-Wood)
  66653. .IP \[bu] 2
  66654. Fix detection of bucket existing (Nick Craig-Wood)
  66655. .RE
  66656. .IP \[bu] 2
  66657. SFTP
  66658. .RS 2
  66659. .IP \[bu] 2
  66660. Use the absolute path instead of the relative path for listing for
  66661. improved compatibility (Nick Craig-Wood)
  66662. .IP \[bu] 2
  66663. Add \f[C]--sftp-subsystem\f[R] and \f[C]--sftp-server-command\f[R]
  66664. options (aus)
  66665. .RE
  66666. .IP \[bu] 2
  66667. Swift
  66668. .RS 2
  66669. .IP \[bu] 2
  66670. Fix dangling large objects breaking the listing (Nick Craig-Wood)
  66671. .IP \[bu] 2
  66672. Fix purge not deleting directory markers (Nick Craig-Wood)
  66673. .IP \[bu] 2
  66674. Fix update multipart object removing all of its own parts (Nick
  66675. Craig-Wood)
  66676. .IP \[bu] 2
  66677. Fix missing hash from object returned from upload (Nick Craig-Wood)
  66678. .RE
  66679. .IP \[bu] 2
  66680. Tardigrade
  66681. .RS 2
  66682. .IP \[bu] 2
  66683. Upgrade to uplink v1.2.0 (Kaloyan Raev)
  66684. .RE
  66685. .IP \[bu] 2
  66686. Union
  66687. .RS 2
  66688. .IP \[bu] 2
  66689. Fix writing with the all policy (Nick Craig-Wood)
  66690. .RE
  66691. .IP \[bu] 2
  66692. WebDAV
  66693. .RS 2
  66694. .IP \[bu] 2
  66695. Fix directory creation with 4shared (Nick Craig-Wood)
  66696. .RE
  66697. .SS v1.52.3 - 2020-08-07
  66698. .PP
  66699. See commits (https://github.com/rclone/rclone/compare/v1.52.2...v1.52.3)
  66700. .IP \[bu] 2
  66701. Bug Fixes
  66702. .RS 2
  66703. .IP \[bu] 2
  66704. docs
  66705. .RS 2
  66706. .IP \[bu] 2
  66707. Disable smart typography (e.g.
  66708. en-dash) in MANUAL.* and man page (Nick Craig-Wood)
  66709. .IP \[bu] 2
  66710. Update install.md to reflect minimum Go version (Evan Harris)
  66711. .IP \[bu] 2
  66712. Update install from source instructions (Nick Craig-Wood)
  66713. .IP \[bu] 2
  66714. make_manual: Support SOURCE_DATE_EPOCH (Morten Linderud)
  66715. .RE
  66716. .IP \[bu] 2
  66717. log: Fix --use-json-log going to stderr not --log-file on Windows (Nick
  66718. Craig-Wood)
  66719. .IP \[bu] 2
  66720. serve dlna: Fix file list on Samsung Series 6+ TVs (Matteo Pietro Dazzi)
  66721. .IP \[bu] 2
  66722. sync: Fix deadlock with --track-renames-strategy modtime (Nick
  66723. Craig-Wood)
  66724. .RE
  66725. .IP \[bu] 2
  66726. Cache
  66727. .RS 2
  66728. .IP \[bu] 2
  66729. Fix moveto/copyto remote:file remote:file2 (Nick Craig-Wood)
  66730. .RE
  66731. .IP \[bu] 2
  66732. Drive
  66733. .RS 2
  66734. .IP \[bu] 2
  66735. Stop using root_folder_id as a cache (Nick Craig-Wood)
  66736. .IP \[bu] 2
  66737. Make dangling shortcuts appear in listings (Nick Craig-Wood)
  66738. .IP \[bu] 2
  66739. Drop \[dq]Disabling ListR\[dq] messages down to debug (Nick Craig-Wood)
  66740. .IP \[bu] 2
  66741. Workaround and policy for Google Drive API (Dmitry Ustalov)
  66742. .RE
  66743. .IP \[bu] 2
  66744. FTP
  66745. .RS 2
  66746. .IP \[bu] 2
  66747. Add note to docs about home vs root directory selection (Nick
  66748. Craig-Wood)
  66749. .RE
  66750. .IP \[bu] 2
  66751. Onedrive
  66752. .RS 2
  66753. .IP \[bu] 2
  66754. Fix reverting to Copy when Move would have worked (Nick Craig-Wood)
  66755. .IP \[bu] 2
  66756. Avoid comma rendered in URL in onedrive.md (Kevin)
  66757. .RE
  66758. .IP \[bu] 2
  66759. Pcloud
  66760. .RS 2
  66761. .IP \[bu] 2
  66762. Fix oauth on European region \[dq]eapi.pcloud.com\[dq] (Nick Craig-Wood)
  66763. .RE
  66764. .IP \[bu] 2
  66765. S3
  66766. .RS 2
  66767. .IP \[bu] 2
  66768. Fix bucket Region auto detection when Region unset in config (Nick
  66769. Craig-Wood)
  66770. .RE
  66771. .SS v1.52.2 - 2020-06-24
  66772. .PP
  66773. See commits (https://github.com/rclone/rclone/compare/v1.52.1...v1.52.2)
  66774. .IP \[bu] 2
  66775. Bug Fixes
  66776. .RS 2
  66777. .IP \[bu] 2
  66778. build
  66779. .RS 2
  66780. .IP \[bu] 2
  66781. Fix docker release build action (Nick Craig-Wood)
  66782. .IP \[bu] 2
  66783. Fix custom timezone in Docker image (NoLooseEnds)
  66784. .RE
  66785. .IP \[bu] 2
  66786. check: Fix misleading message which printed errors instead of
  66787. differences (Nick Craig-Wood)
  66788. .IP \[bu] 2
  66789. errors: Add WSAECONNREFUSED and more to the list of retriable Windows
  66790. errors (Nick Craig-Wood)
  66791. .IP \[bu] 2
  66792. rcd: Fix incorrect prometheus metrics (Gary Kim)
  66793. .IP \[bu] 2
  66794. serve restic: Fix flags so they use environment variables (Nick
  66795. Craig-Wood)
  66796. .IP \[bu] 2
  66797. serve webdav: Fix flags so they use environment variables (Nick
  66798. Craig-Wood)
  66799. .IP \[bu] 2
  66800. sync: Fix --track-renames-strategy modtime (Nick Craig-Wood)
  66801. .RE
  66802. .IP \[bu] 2
  66803. Drive
  66804. .RS 2
  66805. .IP \[bu] 2
  66806. Fix not being able to delete a directory with a trashed shortcut (Nick
  66807. Craig-Wood)
  66808. .IP \[bu] 2
  66809. Fix creating a directory inside a shortcut (Nick Craig-Wood)
  66810. .IP \[bu] 2
  66811. Fix --drive-impersonate with cached root_folder_id (Nick Craig-Wood)
  66812. .RE
  66813. .IP \[bu] 2
  66814. SFTP
  66815. .RS 2
  66816. .IP \[bu] 2
  66817. Fix SSH key PEM loading (Zac Rubin)
  66818. .RE
  66819. .IP \[bu] 2
  66820. Swift
  66821. .RS 2
  66822. .IP \[bu] 2
  66823. Speed up deletes by not retrying segment container deletes (Nick
  66824. Craig-Wood)
  66825. .RE
  66826. .IP \[bu] 2
  66827. Tardigrade
  66828. .RS 2
  66829. .IP \[bu] 2
  66830. Upgrade to uplink v1.1.1 (Caleb Case)
  66831. .RE
  66832. .IP \[bu] 2
  66833. WebDAV
  66834. .RS 2
  66835. .IP \[bu] 2
  66836. Fix free/used display for rclone about/df for certain backends (Nick
  66837. Craig-Wood)
  66838. .RE
  66839. .SS v1.52.1 - 2020-06-10
  66840. .PP
  66841. See commits (https://github.com/rclone/rclone/compare/v1.52.0...v1.52.1)
  66842. .IP \[bu] 2
  66843. Bug Fixes
  66844. .RS 2
  66845. .IP \[bu] 2
  66846. lib/file: Fix SetSparse on Windows 7 which fixes downloads of files >
  66847. 250MB (Nick Craig-Wood)
  66848. .IP \[bu] 2
  66849. build
  66850. .RS 2
  66851. .IP \[bu] 2
  66852. Update go.mod to go1.14 to enable -mod=vendor build (Nick Craig-Wood)
  66853. .IP \[bu] 2
  66854. Remove quicktest from Dockerfile (Nick Craig-Wood)
  66855. .IP \[bu] 2
  66856. Build Docker images with GitHub actions (Matteo Pietro Dazzi)
  66857. .IP \[bu] 2
  66858. Update Docker build workflows (Nick Craig-Wood)
  66859. .IP \[bu] 2
  66860. Set user_allow_other in /etc/fuse.conf in the Docker image (Nick
  66861. Craig-Wood)
  66862. .IP \[bu] 2
  66863. Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
  66864. .RE
  66865. .IP \[bu] 2
  66866. docs
  66867. .RS 2
  66868. .IP \[bu] 2
  66869. Add link to source and modified time to footer of every page (Nick
  66870. Craig-Wood)
  66871. .IP \[bu] 2
  66872. Remove manually set dates and use git dates instead (Nick Craig-Wood)
  66873. .IP \[bu] 2
  66874. Minor tense, punctuation, brevity and positivity changes for the home
  66875. page (edwardxml)
  66876. .IP \[bu] 2
  66877. Remove leading slash in page reference in footer when present (Nick
  66878. Craig-Wood)
  66879. .IP \[bu] 2
  66880. Note commands which need obscured input in the docs (Nick Craig-Wood)
  66881. .IP \[bu] 2
  66882. obscure: Write more help as we are referencing it elsewhere (Nick
  66883. Craig-Wood)
  66884. .RE
  66885. .RE
  66886. .IP \[bu] 2
  66887. VFS
  66888. .RS 2
  66889. .IP \[bu] 2
  66890. Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick
  66891. Craig-Wood)
  66892. .RE
  66893. .IP \[bu] 2
  66894. Drive
  66895. .RS 2
  66896. .IP \[bu] 2
  66897. Fix missing items when listing using --fast-list / ListR (Nick
  66898. Craig-Wood)
  66899. .RE
  66900. .IP \[bu] 2
  66901. Putio
  66902. .RS 2
  66903. .IP \[bu] 2
  66904. Fix panic on Object.Open (Cenk Alti)
  66905. .RE
  66906. .IP \[bu] 2
  66907. S3
  66908. .RS 2
  66909. .IP \[bu] 2
  66910. Fix upload of single files into buckets without create permission (Nick
  66911. Craig-Wood)
  66912. .IP \[bu] 2
  66913. Fix --header-upload (Nick Craig-Wood)
  66914. .RE
  66915. .IP \[bu] 2
  66916. Tardigrade
  66917. .RS 2
  66918. .IP \[bu] 2
  66919. Fix listing bug by upgrading to v1.0.7
  66920. .IP \[bu] 2
  66921. Set UserAgent to rclone (Caleb Case)
  66922. .RE
  66923. .SS v1.52.0 - 2020-05-27
  66924. .PP
  66925. Special thanks to Martin Michlmayr for proof reading and correcting all
  66926. the docs and Edward Barker for helping re-write the front page.
  66927. .PP
  66928. See commits (https://github.com/rclone/rclone/compare/v1.51.0...v1.52.0)
  66929. .IP \[bu] 2
  66930. New backends
  66931. .RS 2
  66932. .IP \[bu] 2
  66933. Tardigrade (https://rclone.org/tardigrade/) backend for use with
  66934. storj.io (Caleb Case)
  66935. .IP \[bu] 2
  66936. Union (https://rclone.org/union/) re-write to have multiple writable
  66937. remotes (Max Sum)
  66938. .IP \[bu] 2
  66939. Seafile for Seafile server (Fred \[at]creativeprojects)
  66940. .RE
  66941. .IP \[bu] 2
  66942. New commands
  66943. .RS 2
  66944. .IP \[bu] 2
  66945. backend: command for backend-specific commands (see backends) (Nick
  66946. Craig-Wood)
  66947. .IP \[bu] 2
  66948. cachestats: Deprecate in favour of \f[C]rclone backend stats cache:\f[R]
  66949. (Nick Craig-Wood)
  66950. .IP \[bu] 2
  66951. dbhashsum: Deprecate in favour of \f[C]rclone hashsum DropboxHash\f[R]
  66952. (Nick Craig-Wood)
  66953. .RE
  66954. .IP \[bu] 2
  66955. New Features
  66956. .RS 2
  66957. .IP \[bu] 2
  66958. Add \f[C]--header-download\f[R] and \f[C]--header-upload\f[R] flags for
  66959. setting HTTP headers when uploading/downloading (Tim Gallant)
  66960. .IP \[bu] 2
  66961. Add \f[C]--header\f[R] flag to add HTTP headers to every HTTP
  66962. transaction (Nick Craig-Wood)
  66963. .IP \[bu] 2
  66964. Add \f[C]--check-first\f[R] to do all checking before starting transfers
  66965. (Nick Craig-Wood)
  66966. .IP \[bu] 2
  66967. Add \f[C]--track-renames-strategy\f[R] for configurable matching
  66968. criteria for \f[C]--track-renames\f[R] (Bernd Schoolmann)
  66969. .IP \[bu] 2
  66970. Add \f[C]--cutoff-mode\f[R] hard,soft,cautious (Shing Kit Chan &
  66971. Franklyn Tackitt)
  66972. .IP \[bu] 2
  66973. Filter flags (e.g.
  66974. \f[C]--files-from -\f[R]) can read from stdin (fishbullet)
  66975. .IP \[bu] 2
  66976. Add \f[C]--error-on-no-transfer\f[R] option (Jon Fautley)
  66977. .IP \[bu] 2
  66978. Implement \f[C]--order-by xxx,mixed\f[R] for copying some small and some
  66979. big files (Nick Craig-Wood)
  66980. .IP \[bu] 2
  66981. Allow \f[C]--max-backlog\f[R] to be negative meaning as large as
  66982. possible (Nick Craig-Wood)
  66983. .IP \[bu] 2
  66984. Added \f[C]--no-unicode-normalization\f[R] flag to allow Unicode
  66985. filenames to remain unique (Ben Zenker)
  66986. .IP \[bu] 2
  66987. Allow \f[C]--min-age\f[R]/\f[C]--max-age\f[R] to take a date as well as
  66988. a duration (Nick Craig-Wood)
  66989. .IP \[bu] 2
  66990. Add rename statistics for file and directory renames (Nick Craig-Wood)
  66991. .IP \[bu] 2
  66992. Add statistics output to JSON log (reddi)
  66993. .IP \[bu] 2
  66994. Make stats be printed on non-zero exit code (Nick Craig-Wood)
  66995. .IP \[bu] 2
  66996. When running \f[C]--password-command\f[R] allow use of stdin
  66997. (S\['e]bastien Gross)
  66998. .IP \[bu] 2
  66999. Stop empty strings being a valid remote path (Nick Craig-Wood)
  67000. .IP \[bu] 2
  67001. accounting: support WriterTo for less memory copying (Nick Craig-Wood)
  67002. .IP \[bu] 2
  67003. build
  67004. .RS 2
  67005. .IP \[bu] 2
  67006. Update to use go1.14 for the build (Nick Craig-Wood)
  67007. .IP \[bu] 2
  67008. Add \f[C]-trimpath\f[R] to release build for reproduceable builds (Nick
  67009. Craig-Wood)
  67010. .IP \[bu] 2
  67011. Remove GOOS and GOARCH from Dockerfile (Brandon Philips)
  67012. .RE
  67013. .IP \[bu] 2
  67014. config
  67015. .RS 2
  67016. .IP \[bu] 2
  67017. Fsync the config file after writing to save more reliably (Nick
  67018. Craig-Wood)
  67019. .IP \[bu] 2
  67020. Add \f[C]--obscure\f[R] and \f[C]--no-obscure\f[R] flags to
  67021. \f[C]config create\f[R]/\f[C]update\f[R] (Nick Craig-Wood)
  67022. .IP \[bu] 2
  67023. Make \f[C]config show\f[R] take \f[C]remote:\f[R] as well as
  67024. \f[C]remote\f[R] (Nick Craig-Wood)
  67025. .RE
  67026. .IP \[bu] 2
  67027. copyurl: Add \f[C]--no-clobber\f[R] flag (Denis)
  67028. .IP \[bu] 2
  67029. delete: Added \f[C]--rmdirs\f[R] flag to delete directories as well
  67030. (Kush)
  67031. .IP \[bu] 2
  67032. filter: Added \f[C]--files-from-raw\f[R] flag (Ankur Gupta)
  67033. .IP \[bu] 2
  67034. genautocomplete: Add support for fish shell (Matan Rosenberg)
  67035. .IP \[bu] 2
  67036. log: Add support for syslog LOCAL facilities (Patryk Jakuszew)
  67037. .IP \[bu] 2
  67038. lsjson: Add \f[C]--hash-type\f[R] parameter and use it in lsf to speed
  67039. up hashing (Nick Craig-Wood)
  67040. .IP \[bu] 2
  67041. rc
  67042. .RS 2
  67043. .IP \[bu] 2
  67044. Add \f[C]-o\f[R]/\f[C]--opt\f[R] and \f[C]-a\f[R]/\f[C]--arg\f[R] for
  67045. more structured input (Nick Craig-Wood)
  67046. .IP \[bu] 2
  67047. Implement \f[C]backend/command\f[R] for running backend-specific
  67048. commands remotely (Nick Craig-Wood)
  67049. .IP \[bu] 2
  67050. Add \f[C]mount/mount\f[R] command for starting \f[C]rclone mount\f[R]
  67051. via the API (Chaitanya)
  67052. .RE
  67053. .IP \[bu] 2
  67054. rcd: Add Prometheus metrics support (Gary Kim)
  67055. .IP \[bu] 2
  67056. serve http
  67057. .RS 2
  67058. .IP \[bu] 2
  67059. Added a \f[C]--template\f[R] flag for user defined markup (calistri)
  67060. .IP \[bu] 2
  67061. Add Last-Modified headers to files and directories (Nick Craig-Wood)
  67062. .RE
  67063. .IP \[bu] 2
  67064. serve sftp: Add support for multiple host keys by repeating
  67065. \f[C]--key\f[R] flag (Maxime Suret)
  67066. .IP \[bu] 2
  67067. touch: Add \f[C]--localtime\f[R] flag to make \f[C]--timestamp\f[R]
  67068. localtime not UTC (Nick Craig-Wood)
  67069. .RE
  67070. .IP \[bu] 2
  67071. Bug Fixes
  67072. .RS 2
  67073. .IP \[bu] 2
  67074. accounting
  67075. .RS 2
  67076. .IP \[bu] 2
  67077. Restore \[dq]Max number of stats groups reached\[dq] log line
  67078. (Micha\[/l] Matczuk)
  67079. .IP \[bu] 2
  67080. Correct exitcode on Transfer Limit Exceeded flag.
  67081. (Anuar Serdaliyev)
  67082. .IP \[bu] 2
  67083. Reset bytes read during copy retry (Ankur Gupta)
  67084. .IP \[bu] 2
  67085. Fix race clearing stats (Nick Craig-Wood)
  67086. .RE
  67087. .IP \[bu] 2
  67088. copy: Only create empty directories when they don\[aq]t exist on the
  67089. remote (Ishuah Kariuki)
  67090. .IP \[bu] 2
  67091. dedupe: Stop dedupe deleting files with identical IDs (Nick Craig-Wood)
  67092. .IP \[bu] 2
  67093. oauth
  67094. .RS 2
  67095. .IP \[bu] 2
  67096. Use custom http client so that \f[C]--no-check-certificate\f[R] is
  67097. honored by oauth token fetch (Mark Spieth)
  67098. .IP \[bu] 2
  67099. Replace deprecated oauth2.NoContext (Lars Lehtonen)
  67100. .RE
  67101. .IP \[bu] 2
  67102. operations
  67103. .RS 2
  67104. .IP \[bu] 2
  67105. Fix setting the timestamp on Windows for multithread copy (Nick
  67106. Craig-Wood)
  67107. .IP \[bu] 2
  67108. Make rcat obey \f[C]--ignore-checksum\f[R] (Nick Craig-Wood)
  67109. .IP \[bu] 2
  67110. Make \f[C]--max-transfer\f[R] more accurate (Nick Craig-Wood)
  67111. .RE
  67112. .IP \[bu] 2
  67113. rc
  67114. .RS 2
  67115. .IP \[bu] 2
  67116. Fix dropped error (Lars Lehtonen)
  67117. .IP \[bu] 2
  67118. Fix misplaced http server config (Xiaoxing Ye)
  67119. .IP \[bu] 2
  67120. Disable duplicate log (ElonH)
  67121. .RE
  67122. .IP \[bu] 2
  67123. serve dlna
  67124. .RS 2
  67125. .IP \[bu] 2
  67126. Cds: don\[aq]t specify childCount at all when unknown (Dan Walters)
  67127. .IP \[bu] 2
  67128. Cds: use modification time as date in dlna metadata (Dan Walters)
  67129. .RE
  67130. .IP \[bu] 2
  67131. serve restic: Fix tests after restic project removed vendoring (Nick
  67132. Craig-Wood)
  67133. .IP \[bu] 2
  67134. sync
  67135. .RS 2
  67136. .IP \[bu] 2
  67137. Fix incorrect \[dq]nothing to transfer\[dq] message using
  67138. \f[C]--delete-before\f[R] (Nick Craig-Wood)
  67139. .IP \[bu] 2
  67140. Only create empty directories when they don\[aq]t exist on the remote
  67141. (Ishuah Kariuki)
  67142. .RE
  67143. .RE
  67144. .IP \[bu] 2
  67145. Mount
  67146. .RS 2
  67147. .IP \[bu] 2
  67148. Add \f[C]--async-read\f[R] flag to disable asynchronous reads (Nick
  67149. Craig-Wood)
  67150. .IP \[bu] 2
  67151. Ignore \f[C]--allow-root\f[R] flag with a warning as it has been removed
  67152. upstream (Nick Craig-Wood)
  67153. .IP \[bu] 2
  67154. Warn if \f[C]--allow-non-empty\f[R] used on Windows and clarify docs
  67155. (Nick Craig-Wood)
  67156. .IP \[bu] 2
  67157. Constrain to go1.13 or above otherwise bazil.org/fuse fails to compile
  67158. (Nick Craig-Wood)
  67159. .IP \[bu] 2
  67160. Fix fail because of too long volume name (evileye)
  67161. .IP \[bu] 2
  67162. Report 1PB free for unknown disk sizes (Nick Craig-Wood)
  67163. .IP \[bu] 2
  67164. Map more rclone errors into file systems errors (Nick Craig-Wood)
  67165. .IP \[bu] 2
  67166. Fix disappearing cwd problem (Nick Craig-Wood)
  67167. .IP \[bu] 2
  67168. Use ReaddirPlus on Windows to improve directory listing performance
  67169. (Nick Craig-Wood)
  67170. .IP \[bu] 2
  67171. Send a hint as to whether the filesystem is case insensitive or not
  67172. (Nick Craig-Wood)
  67173. .IP \[bu] 2
  67174. Add rc command \f[C]mount/types\f[R] (Nick Craig-Wood)
  67175. .IP \[bu] 2
  67176. Change maximum leaf name length to 1024 bytes (Nick Craig-Wood)
  67177. .RE
  67178. .IP \[bu] 2
  67179. VFS
  67180. .RS 2
  67181. .IP \[bu] 2
  67182. Add \f[C]--vfs-read-wait\f[R] and \f[C]--vfs-write-wait\f[R] flags to
  67183. control time waiting for a sequential read/write (Nick Craig-Wood)
  67184. .IP \[bu] 2
  67185. Change default \f[C]--vfs-read-wait\f[R] to 20ms (it was 5ms and not
  67186. configurable) (Nick Craig-Wood)
  67187. .IP \[bu] 2
  67188. Make \f[C]df\f[R] output more consistent on a rclone mount.
  67189. (Yves G)
  67190. .IP \[bu] 2
  67191. Report 1PB free for unknown disk sizes (Nick Craig-Wood)
  67192. .IP \[bu] 2
  67193. Fix race condition caused by unlocked reading of Dir.path (Nick
  67194. Craig-Wood)
  67195. .IP \[bu] 2
  67196. Make File lock and Dir lock not overlap to avoid deadlock (Nick
  67197. Craig-Wood)
  67198. .IP \[bu] 2
  67199. Implement lock ordering between File and Dir to eliminate deadlocks
  67200. (Nick Craig-Wood)
  67201. .IP \[bu] 2
  67202. Factor the vfs cache into its own package (Nick Craig-Wood)
  67203. .IP \[bu] 2
  67204. Pin the Fs in use in the Fs cache (Nick Craig-Wood)
  67205. .IP \[bu] 2
  67206. Add SetSys() methods to Node to allow caching stuff on a node (Nick
  67207. Craig-Wood)
  67208. .IP \[bu] 2
  67209. Ignore file not found errors from Hash in Read.Release (Nick Craig-Wood)
  67210. .IP \[bu] 2
  67211. Fix hang in read wait code (Nick Craig-Wood)
  67212. .RE
  67213. .IP \[bu] 2
  67214. Local
  67215. .RS 2
  67216. .IP \[bu] 2
  67217. Speed up multi thread downloads by using sparse files on Windows (Nick
  67218. Craig-Wood)
  67219. .IP \[bu] 2
  67220. Implement \f[C]--local-no-sparse\f[R] flag for disabling sparse files
  67221. (Nick Craig-Wood)
  67222. .IP \[bu] 2
  67223. Implement \f[C]rclone backend noop\f[R] for testing purposes (Nick
  67224. Craig-Wood)
  67225. .IP \[bu] 2
  67226. Fix \[dq]file not found\[dq] errors on post transfer Hash calculation
  67227. (Nick Craig-Wood)
  67228. .RE
  67229. .IP \[bu] 2
  67230. Cache
  67231. .RS 2
  67232. .IP \[bu] 2
  67233. Implement \f[C]rclone backend stats\f[R] command (Nick Craig-Wood)
  67234. .IP \[bu] 2
  67235. Fix Server Side Copy with Temp Upload (Brandon McNama)
  67236. .IP \[bu] 2
  67237. Remove Unused Functions (Lars Lehtonen)
  67238. .IP \[bu] 2
  67239. Disable race tests until bbolt is fixed (Nick Craig-Wood)
  67240. .IP \[bu] 2
  67241. Move methods used for testing into test file (greatroar)
  67242. .IP \[bu] 2
  67243. Add Pin and Unpin and canonicalised lookup (Nick Craig-Wood)
  67244. .IP \[bu] 2
  67245. Use proper import path go.etcd.io/bbolt (Robert-Andr\['e] Mauchin)
  67246. .RE
  67247. .IP \[bu] 2
  67248. Crypt
  67249. .RS 2
  67250. .IP \[bu] 2
  67251. Calculate hashes for uploads from local disk (Nick Craig-Wood)
  67252. .RS 2
  67253. .IP \[bu] 2
  67254. This allows encrypted Jottacloud uploads without using local disk
  67255. .IP \[bu] 2
  67256. This means encrypted s3/b2 uploads will now have hashes
  67257. .RE
  67258. .IP \[bu] 2
  67259. Added \f[C]rclone backend decode\f[R]/\f[C]encode\f[R] commands to
  67260. replicate functionality of \f[C]cryptdecode\f[R] (Anagh Kumar Baranwal)
  67261. .IP \[bu] 2
  67262. Get rid of the unused Cipher interface as it obfuscated the code (Nick
  67263. Craig-Wood)
  67264. .RE
  67265. .IP \[bu] 2
  67266. Azure Blob
  67267. .RS 2
  67268. .IP \[bu] 2
  67269. Implement streaming of unknown sized files so \f[C]rcat\f[R] is now
  67270. supported (Nick Craig-Wood)
  67271. .IP \[bu] 2
  67272. Implement memory pooling to control memory use (Nick Craig-Wood)
  67273. .IP \[bu] 2
  67274. Add \f[C]--azureblob-disable-checksum\f[R] flag (Nick Craig-Wood)
  67275. .IP \[bu] 2
  67276. Retry \f[C]InvalidBlobOrBlock\f[R] error as it may indicate block
  67277. concurrency problems (Nick Craig-Wood)
  67278. .IP \[bu] 2
  67279. Remove unused \f[C]Object.parseTimeString()\f[R] (Lars Lehtonen)
  67280. .IP \[bu] 2
  67281. Fix permission error on SAS URL limited to container (Nick Craig-Wood)
  67282. .RE
  67283. .IP \[bu] 2
  67284. B2
  67285. .RS 2
  67286. .IP \[bu] 2
  67287. Add support for \f[C]--header-upload\f[R] and
  67288. \f[C]--header-download\f[R] (Tim Gallant)
  67289. .IP \[bu] 2
  67290. Ignore directory markers at the root also (Nick Craig-Wood)
  67291. .IP \[bu] 2
  67292. Force the case of the SHA1 to lowercase (Nick Craig-Wood)
  67293. .IP \[bu] 2
  67294. Remove unused \f[C]largeUpload.clearUploadURL()\f[R] (Lars Lehtonen)
  67295. .RE
  67296. .IP \[bu] 2
  67297. Box
  67298. .RS 2
  67299. .IP \[bu] 2
  67300. Add support for \f[C]--header-upload\f[R] and
  67301. \f[C]--header-download\f[R] (Tim Gallant)
  67302. .IP \[bu] 2
  67303. Implement About to read size used (Nick Craig-Wood)
  67304. .IP \[bu] 2
  67305. Add token renew function for jwt auth (David Bramwell)
  67306. .IP \[bu] 2
  67307. Added support for interchangeable root folder for Box backend (Sunil
  67308. Patra)
  67309. .IP \[bu] 2
  67310. Remove unnecessary iat from jws claims (David)
  67311. .RE
  67312. .IP \[bu] 2
  67313. Drive
  67314. .RS 2
  67315. .IP \[bu] 2
  67316. Follow shortcuts by default, skip with \f[C]--drive-skip-shortcuts\f[R]
  67317. (Nick Craig-Wood)
  67318. .IP \[bu] 2
  67319. Implement \f[C]rclone backend shortcut\f[R] command for creating
  67320. shortcuts (Nick Craig-Wood)
  67321. .IP \[bu] 2
  67322. Added \f[C]rclone backend\f[R] command to change
  67323. \f[C]service_account_file\f[R] and \f[C]chunk_size\f[R] (Anagh Kumar
  67324. Baranwal)
  67325. .IP \[bu] 2
  67326. Fix missing files when using \f[C]--fast-list\f[R] and
  67327. \f[C]--drive-shared-with-me\f[R] (Nick Craig-Wood)
  67328. .IP \[bu] 2
  67329. Fix duplicate items when using \f[C]--drive-shared-with-me\f[R] (Nick
  67330. Craig-Wood)
  67331. .IP \[bu] 2
  67332. Extend \f[C]--drive-stop-on-upload-limit\f[R] to respond to
  67333. \f[C]teamDriveFileLimitExceeded\f[R].
  67334. (harry)
  67335. .IP \[bu] 2
  67336. Don\[aq]t delete files with multiple parents to avoid data loss (Nick
  67337. Craig-Wood)
  67338. .IP \[bu] 2
  67339. Server side copy docs use default description if empty (Nick Craig-Wood)
  67340. .RE
  67341. .IP \[bu] 2
  67342. Dropbox
  67343. .RS 2
  67344. .IP \[bu] 2
  67345. Make error insufficient space to be fatal (harry)
  67346. .IP \[bu] 2
  67347. Add info about required redirect url (Elan Ruusam\[:a]e)
  67348. .RE
  67349. .IP \[bu] 2
  67350. Fichier
  67351. .RS 2
  67352. .IP \[bu] 2
  67353. Add support for \f[C]--header-upload\f[R] and
  67354. \f[C]--header-download\f[R] (Tim Gallant)
  67355. .IP \[bu] 2
  67356. Implement custom pacer to deal with the new rate limiting (buengese)
  67357. .RE
  67358. .IP \[bu] 2
  67359. FTP
  67360. .RS 2
  67361. .IP \[bu] 2
  67362. Fix lockup when using concurrency limit on failed connections (Nick
  67363. Craig-Wood)
  67364. .IP \[bu] 2
  67365. Fix lockup on failed upload when using concurrency limit (Nick
  67366. Craig-Wood)
  67367. .IP \[bu] 2
  67368. Fix lockup on Close failures when using concurrency limit (Nick
  67369. Craig-Wood)
  67370. .IP \[bu] 2
  67371. Work around pureftp sending spurious 150 messages (Nick Craig-Wood)
  67372. .RE
  67373. .IP \[bu] 2
  67374. Google Cloud Storage
  67375. .RS 2
  67376. .IP \[bu] 2
  67377. Add support for \f[C]--header-upload\f[R] and
  67378. \f[C]--header-download\f[R] (Nick Craig-Wood)
  67379. .IP \[bu] 2
  67380. Add \f[C]ARCHIVE\f[R] storage class to help (Adam Stroud)
  67381. .IP \[bu] 2
  67382. Ignore directory markers at the root (Nick Craig-Wood)
  67383. .RE
  67384. .IP \[bu] 2
  67385. Googlephotos
  67386. .RS 2
  67387. .IP \[bu] 2
  67388. Make the start year configurable (Daven)
  67389. .IP \[bu] 2
  67390. Add support for \f[C]--header-upload\f[R] and
  67391. \f[C]--header-download\f[R] (Tim Gallant)
  67392. .IP \[bu] 2
  67393. Create feature/favorites directory (Brandon Philips)
  67394. .IP \[bu] 2
  67395. Fix \[dq]concurrent map write\[dq] error (Nick Craig-Wood)
  67396. .IP \[bu] 2
  67397. Don\[aq]t put an image in error message (Nick Craig-Wood)
  67398. .RE
  67399. .IP \[bu] 2
  67400. HTTP
  67401. .RS 2
  67402. .IP \[bu] 2
  67403. Improved directory listing with new template from Caddy project
  67404. (calisro)
  67405. .RE
  67406. .IP \[bu] 2
  67407. Jottacloud
  67408. .RS 2
  67409. .IP \[bu] 2
  67410. Implement \f[C]--jottacloud-trashed-only\f[R] (buengese)
  67411. .IP \[bu] 2
  67412. Add support for \f[C]--header-upload\f[R] and
  67413. \f[C]--header-download\f[R] (Tim Gallant)
  67414. .IP \[bu] 2
  67415. Use \f[C]RawURLEncoding\f[R] when decoding base64 encoded login token
  67416. (buengese)
  67417. .IP \[bu] 2
  67418. Implement cleanup (buengese)
  67419. .IP \[bu] 2
  67420. Update docs regarding cleanup, removed remains from old auth, and added
  67421. warning about special mountpoints.
  67422. (albertony)
  67423. .RE
  67424. .IP \[bu] 2
  67425. Mailru
  67426. .RS 2
  67427. .IP \[bu] 2
  67428. Describe 2FA requirements (valery1707)
  67429. .RE
  67430. .IP \[bu] 2
  67431. Onedrive
  67432. .RS 2
  67433. .IP \[bu] 2
  67434. Implement \f[C]--onedrive-server-side-across-configs\f[R] (Nick
  67435. Craig-Wood)
  67436. .IP \[bu] 2
  67437. Add support for \f[C]--header-upload\f[R] and
  67438. \f[C]--header-download\f[R] (Tim Gallant)
  67439. .IP \[bu] 2
  67440. Fix occasional 416 errors on multipart uploads (Nick Craig-Wood)
  67441. .IP \[bu] 2
  67442. Added maximum chunk size limit warning in the docs (Harry)
  67443. .IP \[bu] 2
  67444. Fix missing drive on config (Nick Craig-Wood)
  67445. .IP \[bu] 2
  67446. Make error \f[C]quotaLimitReached\f[R] to be fatal (harry)
  67447. .RE
  67448. .IP \[bu] 2
  67449. Opendrive
  67450. .RS 2
  67451. .IP \[bu] 2
  67452. Add support for \f[C]--header-upload\f[R] and
  67453. \f[C]--header-download\f[R] (Tim Gallant)
  67454. .RE
  67455. .IP \[bu] 2
  67456. Pcloud
  67457. .RS 2
  67458. .IP \[bu] 2
  67459. Added support for interchangeable root folder for pCloud backend (Sunil
  67460. Patra)
  67461. .IP \[bu] 2
  67462. Add support for \f[C]--header-upload\f[R] and
  67463. \f[C]--header-download\f[R] (Tim Gallant)
  67464. .IP \[bu] 2
  67465. Fix initial config \[dq]Auth state doesn\[aq]t match\[dq] message (Nick
  67466. Craig-Wood)
  67467. .RE
  67468. .IP \[bu] 2
  67469. Premiumizeme
  67470. .RS 2
  67471. .IP \[bu] 2
  67472. Add support for \f[C]--header-upload\f[R] and
  67473. \f[C]--header-download\f[R] (Tim Gallant)
  67474. .IP \[bu] 2
  67475. Prune unused functions (Lars Lehtonen)
  67476. .RE
  67477. .IP \[bu] 2
  67478. Putio
  67479. .RS 2
  67480. .IP \[bu] 2
  67481. Add support for \f[C]--header-upload\f[R] and
  67482. \f[C]--header-download\f[R] (Nick Craig-Wood)
  67483. .IP \[bu] 2
  67484. Make downloading files use the rclone http Client (Nick Craig-Wood)
  67485. .IP \[bu] 2
  67486. Fix parsing of remotes with leading and trailing / (Nick Craig-Wood)
  67487. .RE
  67488. .IP \[bu] 2
  67489. Qingstor
  67490. .RS 2
  67491. .IP \[bu] 2
  67492. Make \f[C]rclone cleanup\f[R] remove pending multipart uploads older
  67493. than 24h (Nick Craig-Wood)
  67494. .IP \[bu] 2
  67495. Try harder to cancel failed multipart uploads (Nick Craig-Wood)
  67496. .IP \[bu] 2
  67497. Prune \f[C]multiUploader.list()\f[R] (Lars Lehtonen)
  67498. .IP \[bu] 2
  67499. Lint fix (Lars Lehtonen)
  67500. .RE
  67501. .IP \[bu] 2
  67502. S3
  67503. .RS 2
  67504. .IP \[bu] 2
  67505. Add support for \f[C]--header-upload\f[R] and
  67506. \f[C]--header-download\f[R] (Tim Gallant)
  67507. .IP \[bu] 2
  67508. Use memory pool for buffer allocations (Maciej Zimnoch)
  67509. .IP \[bu] 2
  67510. Add SSE-C support for AWS, Ceph, and MinIO (Jack Anderson)
  67511. .IP \[bu] 2
  67512. Fail fast multipart upload (Micha\[/l] Matczuk)
  67513. .IP \[bu] 2
  67514. Report errors on bucket creation (mkdir) correctly (Nick Craig-Wood)
  67515. .IP \[bu] 2
  67516. Specify that Minio supports URL encoding in listings (Nick Craig-Wood)
  67517. .IP \[bu] 2
  67518. Added 500 as retryErrorCode (Micha\[/l] Matczuk)
  67519. .IP \[bu] 2
  67520. Use \f[C]--low-level-retries\f[R] as the number of SDK retries
  67521. (Aleksandar Jankovi\['c])
  67522. .IP \[bu] 2
  67523. Fix multipart abort context (Aleksandar Jankovic)
  67524. .IP \[bu] 2
  67525. Replace deprecated \f[C]session.New()\f[R] with
  67526. \f[C]session.NewSession()\f[R] (Lars Lehtonen)
  67527. .IP \[bu] 2
  67528. Use the provided size parameter when allocating a new memory pool
  67529. (Joachim Brandon LeBlanc)
  67530. .IP \[bu] 2
  67531. Use rclone\[aq]s low level retries instead of AWS SDK to fix listing
  67532. retries (Nick Craig-Wood)
  67533. .IP \[bu] 2
  67534. Ignore directory markers at the root also (Nick Craig-Wood)
  67535. .IP \[bu] 2
  67536. Use single memory pool (Micha\[/l] Matczuk)
  67537. .IP \[bu] 2
  67538. Do not resize buf on put to memBuf (Micha\[/l] Matczuk)
  67539. .IP \[bu] 2
  67540. Improve docs for \f[C]--s3-disable-checksum\f[R] (Nick Craig-Wood)
  67541. .IP \[bu] 2
  67542. Don\[aq]t leak memory or tokens in edge cases for multipart upload (Nick
  67543. Craig-Wood)
  67544. .RE
  67545. .IP \[bu] 2
  67546. Seafile
  67547. .RS 2
  67548. .IP \[bu] 2
  67549. Implement 2FA (Fred)
  67550. .RE
  67551. .IP \[bu] 2
  67552. SFTP
  67553. .RS 2
  67554. .IP \[bu] 2
  67555. Added \f[C]--sftp-pem-key\f[R] to support inline key files (calisro)
  67556. .IP \[bu] 2
  67557. Fix post transfer copies failing with 0 size when using
  67558. \f[C]set_modtime=false\f[R] (Nick Craig-Wood)
  67559. .RE
  67560. .IP \[bu] 2
  67561. Sharefile
  67562. .RS 2
  67563. .IP \[bu] 2
  67564. Add support for \f[C]--header-upload\f[R] and
  67565. \f[C]--header-download\f[R] (Tim Gallant)
  67566. .RE
  67567. .IP \[bu] 2
  67568. Sugarsync
  67569. .RS 2
  67570. .IP \[bu] 2
  67571. Add support for \f[C]--header-upload\f[R] and
  67572. \f[C]--header-download\f[R] (Tim Gallant)
  67573. .RE
  67574. .IP \[bu] 2
  67575. Swift
  67576. .RS 2
  67577. .IP \[bu] 2
  67578. Add support for \f[C]--header-upload\f[R] and
  67579. \f[C]--header-download\f[R] (Nick Craig-Wood)
  67580. .IP \[bu] 2
  67581. Fix cosmetic issue in error message (Martin Michlmayr)
  67582. .RE
  67583. .IP \[bu] 2
  67584. Union
  67585. .RS 2
  67586. .IP \[bu] 2
  67587. Implement multiple writable remotes (Max Sum)
  67588. .IP \[bu] 2
  67589. Fix server-side copy (Max Sum)
  67590. .IP \[bu] 2
  67591. Implement ListR (Max Sum)
  67592. .IP \[bu] 2
  67593. Enable ListR when upstreams contain local (Max Sum)
  67594. .RE
  67595. .IP \[bu] 2
  67596. WebDAV
  67597. .RS 2
  67598. .IP \[bu] 2
  67599. Add support for \f[C]--header-upload\f[R] and
  67600. \f[C]--header-download\f[R] (Tim Gallant)
  67601. .IP \[bu] 2
  67602. Fix \f[C]X-OC-Mtime\f[R] header for Transip compatibility (Nick
  67603. Craig-Wood)
  67604. .IP \[bu] 2
  67605. Report full and consistent usage with \f[C]about\f[R] (Yves G)
  67606. .RE
  67607. .IP \[bu] 2
  67608. Yandex
  67609. .RS 2
  67610. .IP \[bu] 2
  67611. Add support for \f[C]--header-upload\f[R] and
  67612. \f[C]--header-download\f[R] (Tim Gallant)
  67613. .RE
  67614. .SS v1.51.0 - 2020-02-01
  67615. .IP \[bu] 2
  67616. New backends
  67617. .RS 2
  67618. .IP \[bu] 2
  67619. Memory (https://rclone.org/memory/) (Nick Craig-Wood)
  67620. .IP \[bu] 2
  67621. Sugarsync (https://rclone.org/sugarsync/) (Nick Craig-Wood)
  67622. .RE
  67623. .IP \[bu] 2
  67624. New Features
  67625. .RS 2
  67626. .IP \[bu] 2
  67627. Adjust all backends to have \f[C]--backend-encoding\f[R] parameter (Nick
  67628. Craig-Wood)
  67629. .RS 2
  67630. .IP \[bu] 2
  67631. this enables the encoding for special characters to be adjusted or
  67632. disabled
  67633. .RE
  67634. .IP \[bu] 2
  67635. Add \f[C]--max-duration\f[R] flag to control the maximum duration of a
  67636. transfer session (boosh)
  67637. .IP \[bu] 2
  67638. Add \f[C]--expect-continue-timeout\f[R] flag, default 1s (Nick
  67639. Craig-Wood)
  67640. .IP \[bu] 2
  67641. Add \f[C]--no-check-dest\f[R] flag for copying without testing the
  67642. destination (Nick Craig-Wood)
  67643. .IP \[bu] 2
  67644. Implement \f[C]--order-by\f[R] flag to order transfers (Nick Craig-Wood)
  67645. .IP \[bu] 2
  67646. accounting
  67647. .RS 2
  67648. .IP \[bu] 2
  67649. Don\[aq]t show entries in both transferring and checking (Nick
  67650. Craig-Wood)
  67651. .IP \[bu] 2
  67652. Add option to delete stats (Aleksandar Jankovic)
  67653. .RE
  67654. .IP \[bu] 2
  67655. build
  67656. .RS 2
  67657. .IP \[bu] 2
  67658. Compress the test builds with gzip (Nick Craig-Wood)
  67659. .IP \[bu] 2
  67660. Implement a framework for starting test servers during tests (Nick
  67661. Craig-Wood)
  67662. .RE
  67663. .IP \[bu] 2
  67664. cmd: Always print elapsed time to tenth place seconds in progress (Gary
  67665. Kim)
  67666. .IP \[bu] 2
  67667. config
  67668. .RS 2
  67669. .IP \[bu] 2
  67670. Add \f[C]--password-command\f[R] to allow dynamic config password (Damon
  67671. Permezel)
  67672. .IP \[bu] 2
  67673. Give config questions default values (Nick Craig-Wood)
  67674. .IP \[bu] 2
  67675. Check a remote exists when creating a new one (Nick Craig-Wood)
  67676. .RE
  67677. .IP \[bu] 2
  67678. copyurl: Add \f[C]--stdout\f[R] flag to write to stdout (Nick
  67679. Craig-Wood)
  67680. .IP \[bu] 2
  67681. dedupe: Implement keep smallest too (Nick Craig-Wood)
  67682. .IP \[bu] 2
  67683. hashsum: Add flag \f[C]--base64\f[R] flag (landall)
  67684. .IP \[bu] 2
  67685. lsf: Speed up on s3/swift/etc by not reading mimetype by default (Nick
  67686. Craig-Wood)
  67687. .IP \[bu] 2
  67688. lsjson: Add \f[C]--no-mimetype\f[R] flag (Nick Craig-Wood)
  67689. .IP \[bu] 2
  67690. rc: Add methods to turn on blocking and mutex profiling (Nick
  67691. Craig-Wood)
  67692. .IP \[bu] 2
  67693. rcd
  67694. .RS 2
  67695. .IP \[bu] 2
  67696. Adding group parameter to stats (Chaitanya)
  67697. .IP \[bu] 2
  67698. Move webgui apart; option to disable browser (Xiaoxing Ye)
  67699. .RE
  67700. .IP \[bu] 2
  67701. serve sftp: Add support for public key with auth proxy (Paul Tinsley)
  67702. .IP \[bu] 2
  67703. stats: Show deletes in stats and hide zero stats (anuar45)
  67704. .RE
  67705. .IP \[bu] 2
  67706. Bug Fixes
  67707. .RS 2
  67708. .IP \[bu] 2
  67709. accounting
  67710. .RS 2
  67711. .IP \[bu] 2
  67712. Fix error counter counting multiple times (Ankur Gupta)
  67713. .IP \[bu] 2
  67714. Fix error count shown as checks (Cnly)
  67715. .IP \[bu] 2
  67716. Clear finished transfer in stats-reset (Maciej Zimnoch)
  67717. .IP \[bu] 2
  67718. Added StatsInfo locking in statsGroups sum function (Micha\[/l] Matczuk)
  67719. .RE
  67720. .IP \[bu] 2
  67721. asyncreader: Fix EOF error (buengese)
  67722. .IP \[bu] 2
  67723. check: Fix \f[C]--one-way\f[R] recursing more directories than it needs
  67724. to (Nick Craig-Wood)
  67725. .IP \[bu] 2
  67726. chunkedreader: Disable hash calculation for first segment (Nick
  67727. Craig-Wood)
  67728. .IP \[bu] 2
  67729. config
  67730. .RS 2
  67731. .IP \[bu] 2
  67732. Do not open browser on headless on drive/gcs/google photos (Xiaoxing Ye)
  67733. .IP \[bu] 2
  67734. SetValueAndSave ignore error if config section does not exist yet
  67735. (buengese)
  67736. .RE
  67737. .IP \[bu] 2
  67738. cmd: Fix completion with an encrypted config (Danil Semelenov)
  67739. .IP \[bu] 2
  67740. dbhashsum: Stop it returning UNSUPPORTED on dropbox (Nick Craig-Wood)
  67741. .IP \[bu] 2
  67742. dedupe: Add missing modes to help string (Nick Craig-Wood)
  67743. .IP \[bu] 2
  67744. operations
  67745. .RS 2
  67746. .IP \[bu] 2
  67747. Fix dedupe continuing on errors like insufficientFilePersimmon
  67748. (SezalAgrawal)
  67749. .IP \[bu] 2
  67750. Clear accounting before low level retry (Maciej Zimnoch)
  67751. .IP \[bu] 2
  67752. Write debug message when hashes could not be checked (Ole Sch\[:u]tt)
  67753. .IP \[bu] 2
  67754. Move interface assertion to tests to remove pflag dependency (Nick
  67755. Craig-Wood)
  67756. .IP \[bu] 2
  67757. Make NewOverrideObjectInfo public and factor uses (Nick Craig-Wood)
  67758. .RE
  67759. .IP \[bu] 2
  67760. proxy: Replace use of bcrypt with sha256 (Nick Craig-Wood)
  67761. .IP \[bu] 2
  67762. vendor
  67763. .RS 2
  67764. .IP \[bu] 2
  67765. Update bazil.org/fuse to fix FreeBSD 12.1 (Nick Craig-Wood)
  67766. .IP \[bu] 2
  67767. Update github.com/t3rm1n4l/go-mega to fix mega \[dq]illegal base64 data
  67768. at input byte 22\[dq] (Nick Craig-Wood)
  67769. .IP \[bu] 2
  67770. Update termbox-go to fix ncdu command on FreeBSD (Kuang-che Wu)
  67771. .IP \[bu] 2
  67772. Update t3rm1n4l/go-mega - fixes mega: couldn\[aq]t login: crypto/aes:
  67773. invalid key size 0 (Nick Craig-Wood)
  67774. .RE
  67775. .RE
  67776. .IP \[bu] 2
  67777. Mount
  67778. .RS 2
  67779. .IP \[bu] 2
  67780. Enable async reads for a 20% speedup (Nick Craig-Wood)
  67781. .IP \[bu] 2
  67782. Replace use of WriteAt with Write for cache mode >= writes and O_APPEND
  67783. (Brett Dutro)
  67784. .IP \[bu] 2
  67785. Make sure we call unmount when exiting (Nick Craig-Wood)
  67786. .IP \[bu] 2
  67787. Don\[aq]t build on go1.10 as bazil/fuse no longer supports it (Nick
  67788. Craig-Wood)
  67789. .IP \[bu] 2
  67790. When setting dates discard out of range dates (Nick Craig-Wood)
  67791. .RE
  67792. .IP \[bu] 2
  67793. VFS
  67794. .RS 2
  67795. .IP \[bu] 2
  67796. Add a newly created file straight into the directory (Nick Craig-Wood)
  67797. .IP \[bu] 2
  67798. Only calculate one hash for reads for a speedup (Nick Craig-Wood)
  67799. .IP \[bu] 2
  67800. Make ReadAt for non cached files work better with non-sequential reads
  67801. (Nick Craig-Wood)
  67802. .IP \[bu] 2
  67803. Fix edge cases when reading ModTime from file (Nick Craig-Wood)
  67804. .IP \[bu] 2
  67805. Make sure existing files opened for write show correct size (Nick
  67806. Craig-Wood)
  67807. .IP \[bu] 2
  67808. Don\[aq]t cache the path in RW file objects to fix renaming (Nick
  67809. Craig-Wood)
  67810. .IP \[bu] 2
  67811. Fix rename of open files when using the VFS cache (Nick Craig-Wood)
  67812. .IP \[bu] 2
  67813. When renaming files in the cache, rename the cache item in memory too
  67814. (Nick Craig-Wood)
  67815. .IP \[bu] 2
  67816. Fix open file renaming on drive when using
  67817. \f[C]--vfs-cache-mode writes\f[R] (Nick Craig-Wood)
  67818. .IP \[bu] 2
  67819. Fix incorrect modtime for mv into mount with
  67820. \f[C]--vfs-cache-modes writes\f[R] (Nick Craig-Wood)
  67821. .IP \[bu] 2
  67822. On rename, rename in cache too if the file exists (Anagh Kumar Baranwal)
  67823. .RE
  67824. .IP \[bu] 2
  67825. Local
  67826. .RS 2
  67827. .IP \[bu] 2
  67828. Make source file being updated errors be NoLowLevelRetry errors (Nick
  67829. Craig-Wood)
  67830. .IP \[bu] 2
  67831. Fix update of hidden files on Windows (Nick Craig-Wood)
  67832. .RE
  67833. .IP \[bu] 2
  67834. Cache
  67835. .RS 2
  67836. .IP \[bu] 2
  67837. Follow move of upstream library github.com/coreos/bbolt
  67838. github.com/etcd-io/bbolt (Nick Craig-Wood)
  67839. .IP \[bu] 2
  67840. Fix \f[C]fatal error: concurrent map writes\f[R] (Nick Craig-Wood)
  67841. .RE
  67842. .IP \[bu] 2
  67843. Crypt
  67844. .RS 2
  67845. .IP \[bu] 2
  67846. Reorder the filename encryption options (Thomas Eales)
  67847. .IP \[bu] 2
  67848. Correctly handle trailing dot (buengese)
  67849. .RE
  67850. .IP \[bu] 2
  67851. Chunker
  67852. .RS 2
  67853. .IP \[bu] 2
  67854. Reduce length of temporary suffix (Ivan Andreev)
  67855. .RE
  67856. .IP \[bu] 2
  67857. Drive
  67858. .RS 2
  67859. .IP \[bu] 2
  67860. Add \f[C]--drive-stop-on-upload-limit\f[R] flag to stop syncs when
  67861. upload limit reached (Nick Craig-Wood)
  67862. .IP \[bu] 2
  67863. Add \f[C]--drive-use-shared-date\f[R] to use date file was shared
  67864. instead of modified date (Garry McNulty)
  67865. .IP \[bu] 2
  67866. Make sure invalid auth for teamdrives always reports an error (Nick
  67867. Craig-Wood)
  67868. .IP \[bu] 2
  67869. Fix \f[C]--fast-list\f[R] when using appDataFolder (Nick Craig-Wood)
  67870. .IP \[bu] 2
  67871. Use multipart resumable uploads for streaming and uploads in mount (Nick
  67872. Craig-Wood)
  67873. .IP \[bu] 2
  67874. Log an ERROR if an incomplete search is returned (Nick Craig-Wood)
  67875. .IP \[bu] 2
  67876. Hide dangerous config from the configurator (Nick Craig-Wood)
  67877. .RE
  67878. .IP \[bu] 2
  67879. Dropbox
  67880. .RS 2
  67881. .IP \[bu] 2
  67882. Treat \f[C]insufficient_space\f[R] errors as non retriable errors (Nick
  67883. Craig-Wood)
  67884. .RE
  67885. .IP \[bu] 2
  67886. Jottacloud
  67887. .RS 2
  67888. .IP \[bu] 2
  67889. Use new auth method used by official client (buengese)
  67890. .IP \[bu] 2
  67891. Add URL to generate Login Token to config wizard (Nick Craig-Wood)
  67892. .IP \[bu] 2
  67893. Add support whitelabel versions (buengese)
  67894. .RE
  67895. .IP \[bu] 2
  67896. Koofr
  67897. .RS 2
  67898. .IP \[bu] 2
  67899. Use rclone HTTP client.
  67900. (jaKa)
  67901. .RE
  67902. .IP \[bu] 2
  67903. Onedrive
  67904. .RS 2
  67905. .IP \[bu] 2
  67906. Add Sites.Read.All permission (Benjamin Richter)
  67907. .IP \[bu] 2
  67908. Add support \[dq]Retry-After\[dq] header (Motonori IWAMURO)
  67909. .RE
  67910. .IP \[bu] 2
  67911. Opendrive
  67912. .RS 2
  67913. .IP \[bu] 2
  67914. Implement \f[C]--opendrive-chunk-size\f[R] (Nick Craig-Wood)
  67915. .RE
  67916. .IP \[bu] 2
  67917. S3
  67918. .RS 2
  67919. .IP \[bu] 2
  67920. Re-implement multipart upload to fix memory issues (Nick Craig-Wood)
  67921. .IP \[bu] 2
  67922. Add \f[C]--s3-copy-cutoff\f[R] for size to switch to multipart copy
  67923. (Nick Craig-Wood)
  67924. .IP \[bu] 2
  67925. Add new region Asia Pacific (Hong Kong) (Outvi V)
  67926. .IP \[bu] 2
  67927. Reduce memory usage streaming files by reducing max stream upload size
  67928. (Nick Craig-Wood)
  67929. .IP \[bu] 2
  67930. Add \f[C]--s3-list-chunk\f[R] option for bucket listing (Thomas
  67931. Kriechbaumer)
  67932. .IP \[bu] 2
  67933. Force path style bucket access to off for AWS deprecation (Nick
  67934. Craig-Wood)
  67935. .IP \[bu] 2
  67936. Use AWS web identity role provider if available (Tennix)
  67937. .IP \[bu] 2
  67938. Add StackPath Object Storage Support (Dave Koston)
  67939. .IP \[bu] 2
  67940. Fix ExpiryWindow value (Aleksandar Jankovic)
  67941. .IP \[bu] 2
  67942. Fix DisableChecksum condition (Aleksandar Jankovi\['c])
  67943. .IP \[bu] 2
  67944. Fix URL decoding of NextMarker (Nick Craig-Wood)
  67945. .RE
  67946. .IP \[bu] 2
  67947. SFTP
  67948. .RS 2
  67949. .IP \[bu] 2
  67950. Add \f[C]--sftp-skip-links\f[R] to skip symlinks and non regular files
  67951. (Nick Craig-Wood)
  67952. .IP \[bu] 2
  67953. Retry Creation of Connection (Sebastian Brandt)
  67954. .IP \[bu] 2
  67955. Fix \[dq]failed to parse private key file: ssh: not an encrypted
  67956. key\[dq] error (Nick Craig-Wood)
  67957. .IP \[bu] 2
  67958. Open files for update write only to fix AWS SFTP interop (Nick
  67959. Craig-Wood)
  67960. .RE
  67961. .IP \[bu] 2
  67962. Swift
  67963. .RS 2
  67964. .IP \[bu] 2
  67965. Reserve segments of dynamic large object when delete objects in
  67966. container what was enabled versioning.
  67967. (Nguy\[u1EC5]n H\[u1EEF]u Lu\[^a]n)
  67968. .IP \[bu] 2
  67969. Fix parsing of X-Object-Manifest (Nick Craig-Wood)
  67970. .IP \[bu] 2
  67971. Update OVH API endpoint (unbelauscht)
  67972. .RE
  67973. .IP \[bu] 2
  67974. WebDAV
  67975. .RS 2
  67976. .IP \[bu] 2
  67977. Make nextcloud only upload SHA1 checksums (Nick Craig-Wood)
  67978. .IP \[bu] 2
  67979. Fix case of \[dq]Bearer\[dq] in Authorization: header to agree with RFC
  67980. (Nick Craig-Wood)
  67981. .IP \[bu] 2
  67982. Add Referer header to fix problems with WAFs (Nick Craig-Wood)
  67983. .RE
  67984. .SS v1.50.2 - 2019-11-19
  67985. .IP \[bu] 2
  67986. Bug Fixes
  67987. .RS 2
  67988. .IP \[bu] 2
  67989. accounting: Fix memory leak on retries operations (Nick Craig-Wood)
  67990. .RE
  67991. .IP \[bu] 2
  67992. Drive
  67993. .RS 2
  67994. .IP \[bu] 2
  67995. Fix listing of the root directory with drive.files scope (Nick
  67996. Craig-Wood)
  67997. .IP \[bu] 2
  67998. Fix --drive-root-folder-id with team/shared drives (Nick Craig-Wood)
  67999. .RE
  68000. .SS v1.50.1 - 2019-11-02
  68001. .IP \[bu] 2
  68002. Bug Fixes
  68003. .RS 2
  68004. .IP \[bu] 2
  68005. hash: Fix accidentally changed hash names for \f[C]DropboxHash\f[R] and
  68006. \f[C]CRC-32\f[R] (Nick Craig-Wood)
  68007. .IP \[bu] 2
  68008. fshttp: Fix error reporting on tpslimit token bucket errors (Nick
  68009. Craig-Wood)
  68010. .IP \[bu] 2
  68011. fshttp: Don\[aq]t print token bucket errors on context cancelled (Nick
  68012. Craig-Wood)
  68013. .RE
  68014. .IP \[bu] 2
  68015. Local
  68016. .RS 2
  68017. .IP \[bu] 2
  68018. Fix listings of .
  68019. on Windows (Nick Craig-Wood)
  68020. .RE
  68021. .IP \[bu] 2
  68022. Onedrive
  68023. .RS 2
  68024. .IP \[bu] 2
  68025. Fix DirMove/Move after Onedrive change (Xiaoxing Ye)
  68026. .RE
  68027. .SS v1.50.0 - 2019-10-26
  68028. .IP \[bu] 2
  68029. New backends
  68030. .RS 2
  68031. .IP \[bu] 2
  68032. Citrix Sharefile (https://rclone.org/sharefile/) (Nick Craig-Wood)
  68033. .IP \[bu] 2
  68034. Chunker (https://rclone.org/chunker/) - an overlay backend to split
  68035. files into smaller parts (Ivan Andreev)
  68036. .IP \[bu] 2
  68037. Mail.ru Cloud (https://rclone.org/mailru/) (Ivan Andreev)
  68038. .RE
  68039. .IP \[bu] 2
  68040. New Features
  68041. .RS 2
  68042. .IP \[bu] 2
  68043. encodings (Fabian M\[:o]ller & Nick Craig-Wood)
  68044. .RS 2
  68045. .IP \[bu] 2
  68046. All backends now use file name encoding to ensure any file name can be
  68047. written to any backend.
  68048. .IP \[bu] 2
  68049. See the restricted file name
  68050. docs (https://rclone.org/overview/#restricted-filenames) for more info
  68051. and the local backend docs.
  68052. .IP \[bu] 2
  68053. Some file names may look different in rclone if you are using any
  68054. control characters in names or unicode FULLWIDTH
  68055. symbols (https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)).
  68056. .RE
  68057. .IP \[bu] 2
  68058. build
  68059. .RS 2
  68060. .IP \[bu] 2
  68061. Update to use go1.13 for the build (Nick Craig-Wood)
  68062. .IP \[bu] 2
  68063. Drop support for go1.9 (Nick Craig-Wood)
  68064. .IP \[bu] 2
  68065. Build rclone with GitHub actions (Nick Craig-Wood)
  68066. .IP \[bu] 2
  68067. Convert python scripts to python3 (Nick Craig-Wood)
  68068. .IP \[bu] 2
  68069. Swap Azure/go-ansiterm for mattn/go-colorable (Nick Craig-Wood)
  68070. .IP \[bu] 2
  68071. Dockerfile fixes (Matei David)
  68072. .IP \[bu] 2
  68073. Add plugin
  68074. support (https://github.com/rclone/rclone/blob/master/CONTRIBUTING.md#writing-a-plugin)
  68075. for backends and commands (Richard Patel)
  68076. .RE
  68077. .IP \[bu] 2
  68078. config
  68079. .RS 2
  68080. .IP \[bu] 2
  68081. Use alternating Red/Green in config to make more obvious (Nick
  68082. Craig-Wood)
  68083. .RE
  68084. .IP \[bu] 2
  68085. contrib
  68086. .RS 2
  68087. .IP \[bu] 2
  68088. Add sample DLNA server Docker Compose manifest.
  68089. (pataquets)
  68090. .IP \[bu] 2
  68091. Add sample WebDAV server Docker Compose manifest.
  68092. (pataquets)
  68093. .RE
  68094. .IP \[bu] 2
  68095. copyurl
  68096. .RS 2
  68097. .IP \[bu] 2
  68098. Add \f[C]--auto-filename\f[R] flag for using file name from URL in
  68099. destination path (Denis)
  68100. .RE
  68101. .IP \[bu] 2
  68102. serve dlna:
  68103. .RS 2
  68104. .IP \[bu] 2
  68105. Many compatibility improvements (Dan Walters)
  68106. .IP \[bu] 2
  68107. Support for external srt subtitles (Dan Walters)
  68108. .RE
  68109. .IP \[bu] 2
  68110. rc
  68111. .RS 2
  68112. .IP \[bu] 2
  68113. Added command core/quit (Saksham Khanna)
  68114. .RE
  68115. .RE
  68116. .IP \[bu] 2
  68117. Bug Fixes
  68118. .RS 2
  68119. .IP \[bu] 2
  68120. sync
  68121. .RS 2
  68122. .IP \[bu] 2
  68123. Make \f[C]--update\f[R]/\f[C]-u\f[R] not transfer files that haven\[aq]t
  68124. changed (Nick Craig-Wood)
  68125. .IP \[bu] 2
  68126. Free objects after they come out of the transfer pipe to save memory
  68127. (Nick Craig-Wood)
  68128. .IP \[bu] 2
  68129. Fix \f[C]--files-from without --no-traverse\f[R] doing a recursive scan
  68130. (Nick Craig-Wood)
  68131. .RE
  68132. .IP \[bu] 2
  68133. operations
  68134. .RS 2
  68135. .IP \[bu] 2
  68136. Fix accounting for server-side copies (Nick Craig-Wood)
  68137. .IP \[bu] 2
  68138. Display \[aq]All duplicates removed\[aq] only if dedupe successful
  68139. (Sezal Agrawal)
  68140. .IP \[bu] 2
  68141. Display \[aq]Deleted X extra copies\[aq] only if dedupe successful
  68142. (Sezal Agrawal)
  68143. .RE
  68144. .IP \[bu] 2
  68145. accounting
  68146. .RS 2
  68147. .IP \[bu] 2
  68148. Only allow up to 100 completed transfers in the accounting list to save
  68149. memory (Nick Craig-Wood)
  68150. .IP \[bu] 2
  68151. Cull the old time ranges when possible to save memory (Nick Craig-Wood)
  68152. .IP \[bu] 2
  68153. Fix panic due to server-side copy fallback (Ivan Andreev)
  68154. .IP \[bu] 2
  68155. Fix memory leak noticeable for transfers of large numbers of objects
  68156. (Nick Craig-Wood)
  68157. .IP \[bu] 2
  68158. Fix total duration calculation (Nick Craig-Wood)
  68159. .RE
  68160. .IP \[bu] 2
  68161. cmd
  68162. .RS 2
  68163. .IP \[bu] 2
  68164. Fix environment variables not setting command line flags (Nick
  68165. Craig-Wood)
  68166. .IP \[bu] 2
  68167. Make autocomplete compatible with bash\[aq]s posix mode for macOS (Danil
  68168. Semelenov)
  68169. .IP \[bu] 2
  68170. Make \f[C]--progress\f[R] work in git bash on Windows (Nick Craig-Wood)
  68171. .IP \[bu] 2
  68172. Fix \[aq]compopt: command not found\[aq] on autocomplete on macOS (Danil
  68173. Semelenov)
  68174. .RE
  68175. .IP \[bu] 2
  68176. config
  68177. .RS 2
  68178. .IP \[bu] 2
  68179. Fix setting of non top level flags from environment variables (Nick
  68180. Craig-Wood)
  68181. .IP \[bu] 2
  68182. Check config names more carefully and report errors (Nick Craig-Wood)
  68183. .IP \[bu] 2
  68184. Remove error: can\[aq]t use \f[C]--size-only\f[R] and
  68185. \f[C]--ignore-size\f[R] together.
  68186. (Nick Craig-Wood)
  68187. .RE
  68188. .IP \[bu] 2
  68189. filter: Prevent mixing options when \f[C]--files-from\f[R] is in use
  68190. (Michele Caci)
  68191. .IP \[bu] 2
  68192. serve sftp: Fix crash on unsupported operations (e.g.
  68193. Readlink) (Nick Craig-Wood)
  68194. .RE
  68195. .IP \[bu] 2
  68196. Mount
  68197. .RS 2
  68198. .IP \[bu] 2
  68199. Allow files of unknown size to be read properly (Nick Craig-Wood)
  68200. .IP \[bu] 2
  68201. Skip tests on <= 2 CPUs to avoid lockup (Nick Craig-Wood)
  68202. .IP \[bu] 2
  68203. Fix panic on File.Open (Nick Craig-Wood)
  68204. .IP \[bu] 2
  68205. Fix \[dq]mount_fusefs: -o timeout=: option not supported\[dq] on FreeBSD
  68206. (Nick Craig-Wood)
  68207. .IP \[bu] 2
  68208. Don\[aq]t pass huge filenames (>4k) to FUSE as it can\[aq]t cope (Nick
  68209. Craig-Wood)
  68210. .RE
  68211. .IP \[bu] 2
  68212. VFS
  68213. .RS 2
  68214. .IP \[bu] 2
  68215. Add flag \f[C]--vfs-case-insensitive\f[R] for windows/macOS mounts (Ivan
  68216. Andreev)
  68217. .IP \[bu] 2
  68218. Make objects of unknown size readable through the VFS (Nick Craig-Wood)
  68219. .IP \[bu] 2
  68220. Move writeback of dirty data out of close() method into its own method
  68221. (FlushWrites) and remove close() call from Flush() (Brett Dutro)
  68222. .IP \[bu] 2
  68223. Stop empty dirs disappearing when renamed on bucket-based remotes (Nick
  68224. Craig-Wood)
  68225. .IP \[bu] 2
  68226. Stop change notify polling clearing so much of the directory cache (Nick
  68227. Craig-Wood)
  68228. .RE
  68229. .IP \[bu] 2
  68230. Azure Blob
  68231. .RS 2
  68232. .IP \[bu] 2
  68233. Disable logging to the Windows event log (Nick Craig-Wood)
  68234. .RE
  68235. .IP \[bu] 2
  68236. B2
  68237. .RS 2
  68238. .IP \[bu] 2
  68239. Remove \f[C]unverified:\f[R] prefix on sha1 to improve interop (e.g.
  68240. with CyberDuck) (Nick Craig-Wood)
  68241. .RE
  68242. .IP \[bu] 2
  68243. Box
  68244. .RS 2
  68245. .IP \[bu] 2
  68246. Add options to get access token via JWT auth (David)
  68247. .RE
  68248. .IP \[bu] 2
  68249. Drive
  68250. .RS 2
  68251. .IP \[bu] 2
  68252. Disable HTTP/2 by default to work around INTERNAL_ERROR problems (Nick
  68253. Craig-Wood)
  68254. .IP \[bu] 2
  68255. Make sure that drive root ID is always canonical (Nick Craig-Wood)
  68256. .IP \[bu] 2
  68257. Fix \f[C]--drive-shared-with-me\f[R] from the root with lsand
  68258. \f[C]--fast-list\f[R] (Nick Craig-Wood)
  68259. .IP \[bu] 2
  68260. Fix ChangeNotify polling for shared drives (Nick Craig-Wood)
  68261. .IP \[bu] 2
  68262. Fix change notify polling when using appDataFolder (Nick Craig-Wood)
  68263. .RE
  68264. .IP \[bu] 2
  68265. Dropbox
  68266. .RS 2
  68267. .IP \[bu] 2
  68268. Make disallowed filenames errors not retry (Nick Craig-Wood)
  68269. .IP \[bu] 2
  68270. Fix nil pointer exception on restricted files (Nick Craig-Wood)
  68271. .RE
  68272. .IP \[bu] 2
  68273. Fichier
  68274. .RS 2
  68275. .IP \[bu] 2
  68276. Fix accessing files > 2GB on 32 bit systems (Nick Craig-Wood)
  68277. .RE
  68278. .IP \[bu] 2
  68279. FTP
  68280. .RS 2
  68281. .IP \[bu] 2
  68282. Allow disabling EPSV mode (Jon Fautley)
  68283. .RE
  68284. .IP \[bu] 2
  68285. HTTP
  68286. .RS 2
  68287. .IP \[bu] 2
  68288. HEAD directory entries in parallel to speedup (Nick Craig-Wood)
  68289. .IP \[bu] 2
  68290. Add \f[C]--http-no-head\f[R] to stop rclone doing HEAD in listings (Nick
  68291. Craig-Wood)
  68292. .RE
  68293. .IP \[bu] 2
  68294. Putio
  68295. .RS 2
  68296. .IP \[bu] 2
  68297. Add ability to resume uploads (Cenk Alti)
  68298. .RE
  68299. .IP \[bu] 2
  68300. S3
  68301. .RS 2
  68302. .IP \[bu] 2
  68303. Fix signature v2_auth headers (Anthony Rusdi)
  68304. .IP \[bu] 2
  68305. Fix encoding for control characters (Nick Craig-Wood)
  68306. .IP \[bu] 2
  68307. Only ask for URL encoded directory listings if we need them on Ceph
  68308. (Nick Craig-Wood)
  68309. .IP \[bu] 2
  68310. Add option for multipart failure behaviour (Aleksandar Jankovic)
  68311. .IP \[bu] 2
  68312. Support for multipart copy (\[u5E84]\[u5929]\[u7FFC])
  68313. .IP \[bu] 2
  68314. Fix nil pointer reference if no metadata returned for object (Nick
  68315. Craig-Wood)
  68316. .RE
  68317. .IP \[bu] 2
  68318. SFTP
  68319. .RS 2
  68320. .IP \[bu] 2
  68321. Fix \f[C]--sftp-ask-password\f[R] trying to contact the ssh agent (Nick
  68322. Craig-Wood)
  68323. .IP \[bu] 2
  68324. Fix hashes of files with backslashes (Nick Craig-Wood)
  68325. .IP \[bu] 2
  68326. Include more ciphers with \f[C]--sftp-use-insecure-cipher\f[R] (Carlos
  68327. Ferreyra)
  68328. .RE
  68329. .IP \[bu] 2
  68330. WebDAV
  68331. .RS 2
  68332. .IP \[bu] 2
  68333. Parse and return Sharepoint error response (Henning Surmeier)
  68334. .RE
  68335. .SS v1.49.5 - 2019-10-05
  68336. .IP \[bu] 2
  68337. Bug Fixes
  68338. .RS 2
  68339. .IP \[bu] 2
  68340. Revert back to go1.12.x for the v1.49.x builds as go1.13.x was causing
  68341. issues (Nick Craig-Wood)
  68342. .IP \[bu] 2
  68343. Fix rpm packages by using master builds of nfpm (Nick Craig-Wood)
  68344. .IP \[bu] 2
  68345. Fix macOS build after brew changes (Nick Craig-Wood)
  68346. .RE
  68347. .SS v1.49.4 - 2019-09-29
  68348. .IP \[bu] 2
  68349. Bug Fixes
  68350. .RS 2
  68351. .IP \[bu] 2
  68352. cmd/rcd: Address ZipSlip vulnerability (Richard Patel)
  68353. .IP \[bu] 2
  68354. accounting: Fix file handle leak on errors (Nick Craig-Wood)
  68355. .IP \[bu] 2
  68356. oauthutil: Fix security problem when running with two users on the same
  68357. machine (Nick Craig-Wood)
  68358. .RE
  68359. .IP \[bu] 2
  68360. FTP
  68361. .RS 2
  68362. .IP \[bu] 2
  68363. Fix listing of an empty root returning: error dir not found (Nick
  68364. Craig-Wood)
  68365. .RE
  68366. .IP \[bu] 2
  68367. S3
  68368. .RS 2
  68369. .IP \[bu] 2
  68370. Fix SetModTime on GLACIER/ARCHIVE objects and implement set/get tier
  68371. (Nick Craig-Wood)
  68372. .RE
  68373. .SS v1.49.3 - 2019-09-15
  68374. .IP \[bu] 2
  68375. Bug Fixes
  68376. .RS 2
  68377. .IP \[bu] 2
  68378. accounting
  68379. .RS 2
  68380. .IP \[bu] 2
  68381. Fix total duration calculation (Aleksandar Jankovic)
  68382. .IP \[bu] 2
  68383. Fix \[dq]file already closed\[dq] on transfer retries (Nick Craig-Wood)
  68384. .RE
  68385. .RE
  68386. .SS v1.49.2 - 2019-09-08
  68387. .IP \[bu] 2
  68388. New Features
  68389. .RS 2
  68390. .IP \[bu] 2
  68391. build: Add Docker workflow support (Alfonso Montero)
  68392. .RE
  68393. .IP \[bu] 2
  68394. Bug Fixes
  68395. .RS 2
  68396. .IP \[bu] 2
  68397. accounting: Fix locking in Transfer to avoid deadlock with
  68398. \f[C]--progress\f[R] (Nick Craig-Wood)
  68399. .IP \[bu] 2
  68400. docs: Fix template argument for mktemp in install.sh (Cnly)
  68401. .IP \[bu] 2
  68402. operations: Fix \f[C]-u\f[R]/\f[C]--update\f[R] with google photos /
  68403. files of unknown size (Nick Craig-Wood)
  68404. .IP \[bu] 2
  68405. rc: Fix docs for config/create /update /password (Nick Craig-Wood)
  68406. .RE
  68407. .IP \[bu] 2
  68408. Google Cloud Storage
  68409. .RS 2
  68410. .IP \[bu] 2
  68411. Fix need for elevated permissions on SetModTime (Nick Craig-Wood)
  68412. .RE
  68413. .SS v1.49.1 - 2019-08-28
  68414. .IP \[bu] 2
  68415. Bug Fixes
  68416. .RS 2
  68417. .IP \[bu] 2
  68418. config: Fix generated passwords being stored as empty password (Nick
  68419. Craig-Wood)
  68420. .IP \[bu] 2
  68421. rcd: Added missing parameter for web-gui info logs.
  68422. (Chaitanya)
  68423. .RE
  68424. .IP \[bu] 2
  68425. Googlephotos
  68426. .RS 2
  68427. .IP \[bu] 2
  68428. Fix crash on error response (Nick Craig-Wood)
  68429. .RE
  68430. .IP \[bu] 2
  68431. Onedrive
  68432. .RS 2
  68433. .IP \[bu] 2
  68434. Fix crash on error response (Nick Craig-Wood)
  68435. .RE
  68436. .SS v1.49.0 - 2019-08-26
  68437. .IP \[bu] 2
  68438. New backends
  68439. .RS 2
  68440. .IP \[bu] 2
  68441. 1fichier (https://rclone.org/fichier/) (Laura Hausmann)
  68442. .IP \[bu] 2
  68443. Google Photos (https://rclone.org/googlephotos/) (Nick Craig-Wood)
  68444. .IP \[bu] 2
  68445. Putio (https://rclone.org/putio/) (Cenk Alti)
  68446. .IP \[bu] 2
  68447. premiumize.me (https://rclone.org/premiumizeme/) (Nick Craig-Wood)
  68448. .RE
  68449. .IP \[bu] 2
  68450. New Features
  68451. .RS 2
  68452. .IP \[bu] 2
  68453. Experimental web GUI (https://rclone.org/gui/) (Chaitanya Bankanhal)
  68454. .IP \[bu] 2
  68455. Implement \f[C]--compare-dest\f[R] & \f[C]--copy-dest\f[R] (yparitcher)
  68456. .IP \[bu] 2
  68457. Implement \f[C]--suffix\f[R] without \f[C]--backup-dir\f[R] for backup
  68458. to current dir (yparitcher)
  68459. .IP \[bu] 2
  68460. \f[C]config reconnect\f[R] to re-login (re-run the oauth login) for the
  68461. backend.
  68462. (Nick Craig-Wood)
  68463. .IP \[bu] 2
  68464. \f[C]config userinfo\f[R] to discover which user you are logged in as.
  68465. (Nick Craig-Wood)
  68466. .IP \[bu] 2
  68467. \f[C]config disconnect\f[R] to disconnect you (log out) from the
  68468. backend.
  68469. (Nick Craig-Wood)
  68470. .IP \[bu] 2
  68471. Add \f[C]--use-json-log\f[R] for JSON logging (justinalin)
  68472. .IP \[bu] 2
  68473. Add context propagation to rclone (Aleksandar Jankovic)
  68474. .IP \[bu] 2
  68475. Reworking internal statistics interfaces so they work with rc jobs
  68476. (Aleksandar Jankovic)
  68477. .IP \[bu] 2
  68478. Add Higher units for ETA (AbelThar)
  68479. .IP \[bu] 2
  68480. Update rclone logos to new design (Andreas Chlupka)
  68481. .IP \[bu] 2
  68482. hash: Add CRC-32 support (Cenk Alti)
  68483. .IP \[bu] 2
  68484. help showbackend: Fixed advanced option category when there are no
  68485. standard options (buengese)
  68486. .IP \[bu] 2
  68487. ncdu: Display/Copy to Clipboard Current Path (Gary Kim)
  68488. .IP \[bu] 2
  68489. operations:
  68490. .RS 2
  68491. .IP \[bu] 2
  68492. Run hashing operations in parallel (Nick Craig-Wood)
  68493. .IP \[bu] 2
  68494. Don\[aq]t calculate checksums when using \f[C]--ignore-checksum\f[R]
  68495. (Nick Craig-Wood)
  68496. .IP \[bu] 2
  68497. Check transfer hashes when using \f[C]--size-only\f[R] mode (Nick
  68498. Craig-Wood)
  68499. .IP \[bu] 2
  68500. Disable multi thread copy for local to local copies (Nick Craig-Wood)
  68501. .IP \[bu] 2
  68502. Debug successful hashes as well as failures (Nick Craig-Wood)
  68503. .RE
  68504. .IP \[bu] 2
  68505. rc
  68506. .RS 2
  68507. .IP \[bu] 2
  68508. Add ability to stop async jobs (Aleksandar Jankovic)
  68509. .IP \[bu] 2
  68510. Return current settings if core/bwlimit called without parameters (Nick
  68511. Craig-Wood)
  68512. .IP \[bu] 2
  68513. Rclone-WebUI integration with rclone (Chaitanya Bankanhal)
  68514. .IP \[bu] 2
  68515. Added command line parameter to control the cross origin resource
  68516. sharing (CORS) in the rcd.
  68517. (Security Improvement) (Chaitanya Bankanhal)
  68518. .IP \[bu] 2
  68519. Add anchor tags to the docs so links are consistent (Nick Craig-Wood)
  68520. .IP \[bu] 2
  68521. Remove _async key from input parameters after parsing so later
  68522. operations won\[aq]t get confused (buengese)
  68523. .IP \[bu] 2
  68524. Add call to clear stats (Aleksandar Jankovic)
  68525. .RE
  68526. .IP \[bu] 2
  68527. rcd
  68528. .RS 2
  68529. .IP \[bu] 2
  68530. Auto-login for web-gui (Chaitanya Bankanhal)
  68531. .IP \[bu] 2
  68532. Implement \f[C]--baseurl\f[R] for rcd and web-gui (Chaitanya Bankanhal)
  68533. .RE
  68534. .IP \[bu] 2
  68535. serve dlna
  68536. .RS 2
  68537. .IP \[bu] 2
  68538. Only select interfaces which can multicast for SSDP (Nick Craig-Wood)
  68539. .IP \[bu] 2
  68540. Add more builtin mime types to cover standard audio/video (Nick
  68541. Craig-Wood)
  68542. .IP \[bu] 2
  68543. Fix missing mime types on Android causing missing videos (Nick
  68544. Craig-Wood)
  68545. .RE
  68546. .IP \[bu] 2
  68547. serve ftp
  68548. .RS 2
  68549. .IP \[bu] 2
  68550. Refactor to bring into line with other serve commands (Nick Craig-Wood)
  68551. .IP \[bu] 2
  68552. Implement \f[C]--auth-proxy\f[R] (Nick Craig-Wood)
  68553. .RE
  68554. .IP \[bu] 2
  68555. serve http: Implement \f[C]--baseurl\f[R] (Nick Craig-Wood)
  68556. .IP \[bu] 2
  68557. serve restic: Implement \f[C]--baseurl\f[R] (Nick Craig-Wood)
  68558. .IP \[bu] 2
  68559. serve sftp
  68560. .RS 2
  68561. .IP \[bu] 2
  68562. Implement auth proxy (Nick Craig-Wood)
  68563. .IP \[bu] 2
  68564. Fix detection of whether server is authorized (Nick Craig-Wood)
  68565. .RE
  68566. .IP \[bu] 2
  68567. serve webdav
  68568. .RS 2
  68569. .IP \[bu] 2
  68570. Implement \f[C]--baseurl\f[R] (Nick Craig-Wood)
  68571. .IP \[bu] 2
  68572. Support \f[C]--auth-proxy\f[R] (Nick Craig-Wood)
  68573. .RE
  68574. .RE
  68575. .IP \[bu] 2
  68576. Bug Fixes
  68577. .RS 2
  68578. .IP \[bu] 2
  68579. Make \[dq]bad record MAC\[dq] a retriable error (Nick Craig-Wood)
  68580. .IP \[bu] 2
  68581. copyurl: Fix copying files that return HTTP errors (Nick Craig-Wood)
  68582. .IP \[bu] 2
  68583. march: Fix checking sub-directories when using \f[C]--no-traverse\f[R]
  68584. (buengese)
  68585. .IP \[bu] 2
  68586. rc
  68587. .RS 2
  68588. .IP \[bu] 2
  68589. Fix unmarshalable http.AuthFn in options and put in test for
  68590. marshalability (Nick Craig-Wood)
  68591. .IP \[bu] 2
  68592. Move job expire flags to rc to fix initialization problem (Nick
  68593. Craig-Wood)
  68594. .IP \[bu] 2
  68595. Fix \f[C]--loopback\f[R] with rc/list and others (Nick Craig-Wood)
  68596. .RE
  68597. .IP \[bu] 2
  68598. rcat: Fix slowdown on systems with multiple hashes (Nick Craig-Wood)
  68599. .IP \[bu] 2
  68600. rcd: Fix permissions problems on cache directory with web gui download
  68601. (Nick Craig-Wood)
  68602. .RE
  68603. .IP \[bu] 2
  68604. Mount
  68605. .RS 2
  68606. .IP \[bu] 2
  68607. Default \f[C]--daemon-timeout\f[R] to 15 minutes on macOS and FreeBSD
  68608. (Nick Craig-Wood)
  68609. .IP \[bu] 2
  68610. Update docs to show mounting from root OK for bucket-based (Nick
  68611. Craig-Wood)
  68612. .IP \[bu] 2
  68613. Remove nonseekable flag from write files (Nick Craig-Wood)
  68614. .RE
  68615. .IP \[bu] 2
  68616. VFS
  68617. .RS 2
  68618. .IP \[bu] 2
  68619. Make write without cache more efficient (Nick Craig-Wood)
  68620. .IP \[bu] 2
  68621. Fix \f[C]--vfs-cache-mode minimal\f[R] and \f[C]writes\f[R] ignoring
  68622. cached files (Nick Craig-Wood)
  68623. .RE
  68624. .IP \[bu] 2
  68625. Local
  68626. .RS 2
  68627. .IP \[bu] 2
  68628. Add \f[C]--local-case-sensitive\f[R] and
  68629. \f[C]--local-case-insensitive\f[R] (Nick Craig-Wood)
  68630. .IP \[bu] 2
  68631. Avoid polluting page cache when uploading local files to remote backends
  68632. (Micha\[/l] Matczuk)
  68633. .IP \[bu] 2
  68634. Don\[aq]t calculate any hashes by default (Nick Craig-Wood)
  68635. .IP \[bu] 2
  68636. Fadvise run syscall on a dedicated go routine (Micha\[/l] Matczuk)
  68637. .RE
  68638. .IP \[bu] 2
  68639. Azure Blob
  68640. .RS 2
  68641. .IP \[bu] 2
  68642. Azure Storage Emulator support (Sandeep)
  68643. .IP \[bu] 2
  68644. Updated config help details to remove connection string references
  68645. (Sandeep)
  68646. .IP \[bu] 2
  68647. Make all operations work from the root (Nick Craig-Wood)
  68648. .RE
  68649. .IP \[bu] 2
  68650. B2
  68651. .RS 2
  68652. .IP \[bu] 2
  68653. Implement link sharing (yparitcher)
  68654. .IP \[bu] 2
  68655. Enable server-side copy to copy between buckets (Nick Craig-Wood)
  68656. .IP \[bu] 2
  68657. Make all operations work from the root (Nick Craig-Wood)
  68658. .RE
  68659. .IP \[bu] 2
  68660. Drive
  68661. .RS 2
  68662. .IP \[bu] 2
  68663. Fix server-side copy of big files (Nick Craig-Wood)
  68664. .IP \[bu] 2
  68665. Update API for teamdrive use (Nick Craig-Wood)
  68666. .IP \[bu] 2
  68667. Add error for purge with \f[C]--drive-trashed-only\f[R] (ginvine)
  68668. .RE
  68669. .IP \[bu] 2
  68670. Fichier
  68671. .RS 2
  68672. .IP \[bu] 2
  68673. Make FolderID int and adjust related code (buengese)
  68674. .RE
  68675. .IP \[bu] 2
  68676. Google Cloud Storage
  68677. .RS 2
  68678. .IP \[bu] 2
  68679. Reduce oauth scope requested as suggested by Google (Nick Craig-Wood)
  68680. .IP \[bu] 2
  68681. Make all operations work from the root (Nick Craig-Wood)
  68682. .RE
  68683. .IP \[bu] 2
  68684. HTTP
  68685. .RS 2
  68686. .IP \[bu] 2
  68687. Add \f[C]--http-headers\f[R] flag for setting arbitrary headers (Nick
  68688. Craig-Wood)
  68689. .RE
  68690. .IP \[bu] 2
  68691. Jottacloud
  68692. .RS 2
  68693. .IP \[bu] 2
  68694. Use new api for retrieving internal username (buengese)
  68695. .IP \[bu] 2
  68696. Refactor configuration and minor cleanup (buengese)
  68697. .RE
  68698. .IP \[bu] 2
  68699. Koofr
  68700. .RS 2
  68701. .IP \[bu] 2
  68702. Support setting modification times on Koofr backend.
  68703. (jaKa)
  68704. .RE
  68705. .IP \[bu] 2
  68706. Opendrive
  68707. .RS 2
  68708. .IP \[bu] 2
  68709. Refactor to use existing lib/rest facilities for uploads (Nick
  68710. Craig-Wood)
  68711. .RE
  68712. .IP \[bu] 2
  68713. Qingstor
  68714. .RS 2
  68715. .IP \[bu] 2
  68716. Upgrade to v3 SDK and fix listing loop (Nick Craig-Wood)
  68717. .IP \[bu] 2
  68718. Make all operations work from the root (Nick Craig-Wood)
  68719. .RE
  68720. .IP \[bu] 2
  68721. S3
  68722. .RS 2
  68723. .IP \[bu] 2
  68724. Add INTELLIGENT_TIERING storage class (Matti Niemenmaa)
  68725. .IP \[bu] 2
  68726. Make all operations work from the root (Nick Craig-Wood)
  68727. .RE
  68728. .IP \[bu] 2
  68729. SFTP
  68730. .RS 2
  68731. .IP \[bu] 2
  68732. Add missing interface check and fix About (Nick Craig-Wood)
  68733. .IP \[bu] 2
  68734. Completely ignore all modtime checks if SetModTime=false (Jon Fautley)
  68735. .IP \[bu] 2
  68736. Support md5/sha1 with rsync.net (Nick Craig-Wood)
  68737. .IP \[bu] 2
  68738. Save the md5/sha1 command in use to the config file for efficiency (Nick
  68739. Craig-Wood)
  68740. .IP \[bu] 2
  68741. Opt-in support for diffie-hellman-group-exchange-sha256
  68742. diffie-hellman-group-exchange-sha1 (Yi FU)
  68743. .RE
  68744. .IP \[bu] 2
  68745. Swift
  68746. .RS 2
  68747. .IP \[bu] 2
  68748. Use FixRangeOption to fix 0 length files via the VFS (Nick Craig-Wood)
  68749. .IP \[bu] 2
  68750. Fix upload when using no_chunk to return the correct size (Nick
  68751. Craig-Wood)
  68752. .IP \[bu] 2
  68753. Make all operations work from the root (Nick Craig-Wood)
  68754. .IP \[bu] 2
  68755. Fix segments leak during failed large file uploads.
  68756. (nguyenhuuluan434)
  68757. .RE
  68758. .IP \[bu] 2
  68759. WebDAV
  68760. .RS 2
  68761. .IP \[bu] 2
  68762. Add \f[C]--webdav-bearer-token-command\f[R] (Nick Craig-Wood)
  68763. .IP \[bu] 2
  68764. Refresh token when it expires with
  68765. \f[C]--webdav-bearer-token-command\f[R] (Nick Craig-Wood)
  68766. .IP \[bu] 2
  68767. Add docs for using bearer_token_command with oidc-agent (Paul Millar)
  68768. .RE
  68769. .SS v1.48.0 - 2019-06-15
  68770. .IP \[bu] 2
  68771. New commands
  68772. .RS 2
  68773. .IP \[bu] 2
  68774. serve sftp: Serve an rclone remote over SFTP (Nick Craig-Wood)
  68775. .RE
  68776. .IP \[bu] 2
  68777. New Features
  68778. .RS 2
  68779. .IP \[bu] 2
  68780. Multi threaded downloads to local storage (Nick Craig-Wood)
  68781. .RS 2
  68782. .IP \[bu] 2
  68783. controlled with \f[C]--multi-thread-cutoff\f[R] and
  68784. \f[C]--multi-thread-streams\f[R]
  68785. .RE
  68786. .IP \[bu] 2
  68787. Use rclone.conf from rclone executable directory to enable portable use
  68788. (albertony)
  68789. .IP \[bu] 2
  68790. Allow sync of a file and a directory with the same name (forgems)
  68791. .RS 2
  68792. .IP \[bu] 2
  68793. this is common on bucket-based remotes, e.g.
  68794. s3, gcs
  68795. .RE
  68796. .IP \[bu] 2
  68797. Add \f[C]--ignore-case-sync\f[R] for forced case insensitivity
  68798. (garry415)
  68799. .IP \[bu] 2
  68800. Implement \f[C]--stats-one-line-date\f[R] and
  68801. \f[C]--stats-one-line-date-format\f[R] (Peter Berbec)
  68802. .IP \[bu] 2
  68803. Log an ERROR for all commands which exit with non-zero status (Nick
  68804. Craig-Wood)
  68805. .IP \[bu] 2
  68806. Use go-homedir to read the home directory more reliably (Nick
  68807. Craig-Wood)
  68808. .IP \[bu] 2
  68809. Enable creating encrypted config through external script invocation
  68810. (Wojciech Smigielski)
  68811. .IP \[bu] 2
  68812. build: Drop support for go1.8 (Nick Craig-Wood)
  68813. .IP \[bu] 2
  68814. config: Make config create/update encrypt passwords where necessary
  68815. (Nick Craig-Wood)
  68816. .IP \[bu] 2
  68817. copyurl: Honor \f[C]--no-check-certificate\f[R] (Stefan Breunig)
  68818. .IP \[bu] 2
  68819. install: Linux skip man pages if no mandb (didil)
  68820. .IP \[bu] 2
  68821. lsf: Support showing the Tier of the object (Nick Craig-Wood)
  68822. .IP \[bu] 2
  68823. lsjson
  68824. .RS 2
  68825. .IP \[bu] 2
  68826. Added EncryptedPath to output (calisro)
  68827. .IP \[bu] 2
  68828. Support showing the Tier of the object (Nick Craig-Wood)
  68829. .IP \[bu] 2
  68830. Add IsBucket field for bucket-based remote listing of the root (Nick
  68831. Craig-Wood)
  68832. .RE
  68833. .IP \[bu] 2
  68834. rc
  68835. .RS 2
  68836. .IP \[bu] 2
  68837. Add \f[C]--loopback\f[R] flag to run commands directly without a server
  68838. (Nick Craig-Wood)
  68839. .IP \[bu] 2
  68840. Add operations/fsinfo: Return information about the remote (Nick
  68841. Craig-Wood)
  68842. .IP \[bu] 2
  68843. Skip auth for OPTIONS request (Nick Craig-Wood)
  68844. .IP \[bu] 2
  68845. cmd/providers: Add DefaultStr, ValueStr and Type fields (Nick
  68846. Craig-Wood)
  68847. .IP \[bu] 2
  68848. jobs: Make job expiry timeouts configurable (Aleksandar Jankovic)
  68849. .RE
  68850. .IP \[bu] 2
  68851. serve dlna reworked and improved (Dan Walters)
  68852. .IP \[bu] 2
  68853. serve ftp: add \f[C]--ftp-public-ip\f[R] flag to specify public IP
  68854. (calistri)
  68855. .IP \[bu] 2
  68856. serve restic: Add support for \f[C]--private-repos\f[R] in
  68857. \f[C]serve restic\f[R] (Florian Apolloner)
  68858. .IP \[bu] 2
  68859. serve webdav: Combine serve webdav and serve http (Gary Kim)
  68860. .IP \[bu] 2
  68861. size: Ignore negative sizes when calculating total (Garry McNulty)
  68862. .RE
  68863. .IP \[bu] 2
  68864. Bug Fixes
  68865. .RS 2
  68866. .IP \[bu] 2
  68867. Make move and copy individual files obey \f[C]--backup-dir\f[R] (Nick
  68868. Craig-Wood)
  68869. .IP \[bu] 2
  68870. If \f[C]--ignore-checksum\f[R] is in effect, don\[aq]t calculate
  68871. checksum (Nick Craig-Wood)
  68872. .IP \[bu] 2
  68873. moveto: Fix case-insensitive same remote move (Gary Kim)
  68874. .IP \[bu] 2
  68875. rc: Fix serving bucket-based objects with \f[C]--rc-serve\f[R] (Nick
  68876. Craig-Wood)
  68877. .IP \[bu] 2
  68878. serve webdav: Fix serveDir not being updated with changes from webdav
  68879. (Gary Kim)
  68880. .RE
  68881. .IP \[bu] 2
  68882. Mount
  68883. .RS 2
  68884. .IP \[bu] 2
  68885. Fix poll interval documentation (Animosity022)
  68886. .RE
  68887. .IP \[bu] 2
  68888. VFS
  68889. .RS 2
  68890. .IP \[bu] 2
  68891. Make WriteAt for non cached files work with non-sequential writes (Nick
  68892. Craig-Wood)
  68893. .RE
  68894. .IP \[bu] 2
  68895. Local
  68896. .RS 2
  68897. .IP \[bu] 2
  68898. Only calculate the required hashes for big speedup (Nick Craig-Wood)
  68899. .IP \[bu] 2
  68900. Log errors when listing instead of returning an error (Nick Craig-Wood)
  68901. .IP \[bu] 2
  68902. Fix preallocate warning on Linux with ZFS (Nick Craig-Wood)
  68903. .RE
  68904. .IP \[bu] 2
  68905. Crypt
  68906. .RS 2
  68907. .IP \[bu] 2
  68908. Make rclone dedupe work through crypt (Nick Craig-Wood)
  68909. .IP \[bu] 2
  68910. Fix wrapping of ChangeNotify to decrypt directories properly (Nick
  68911. Craig-Wood)
  68912. .IP \[bu] 2
  68913. Support PublicLink (rclone link) of underlying backend (Nick Craig-Wood)
  68914. .IP \[bu] 2
  68915. Implement Optional methods SetTier, GetTier (Nick Craig-Wood)
  68916. .RE
  68917. .IP \[bu] 2
  68918. B2
  68919. .RS 2
  68920. .IP \[bu] 2
  68921. Implement server-side copy (Nick Craig-Wood)
  68922. .IP \[bu] 2
  68923. Implement SetModTime (Nick Craig-Wood)
  68924. .RE
  68925. .IP \[bu] 2
  68926. Drive
  68927. .RS 2
  68928. .IP \[bu] 2
  68929. Fix move and copy from TeamDrive to GDrive (Fionera)
  68930. .IP \[bu] 2
  68931. Add notes that cleanup works in the background on drive (Nick
  68932. Craig-Wood)
  68933. .IP \[bu] 2
  68934. Add \f[C]--drive-server-side-across-configs\f[R] to default back to old
  68935. server-side copy semantics by default (Nick Craig-Wood)
  68936. .IP \[bu] 2
  68937. Add \f[C]--drive-size-as-quota\f[R] to show storage quota usage for file
  68938. size (Garry McNulty)
  68939. .RE
  68940. .IP \[bu] 2
  68941. FTP
  68942. .RS 2
  68943. .IP \[bu] 2
  68944. Add FTP List timeout (Jeff Quinn)
  68945. .IP \[bu] 2
  68946. Add FTP over TLS support (Gary Kim)
  68947. .IP \[bu] 2
  68948. Add \f[C]--ftp-no-check-certificate\f[R] option for FTPS (Gary Kim)
  68949. .RE
  68950. .IP \[bu] 2
  68951. Google Cloud Storage
  68952. .RS 2
  68953. .IP \[bu] 2
  68954. Fix upload errors when uploading pre 1970 files (Nick Craig-Wood)
  68955. .RE
  68956. .IP \[bu] 2
  68957. Jottacloud
  68958. .RS 2
  68959. .IP \[bu] 2
  68960. Add support for selecting device and mountpoint.
  68961. (buengese)
  68962. .RE
  68963. .IP \[bu] 2
  68964. Mega
  68965. .RS 2
  68966. .IP \[bu] 2
  68967. Add cleanup support (Gary Kim)
  68968. .RE
  68969. .IP \[bu] 2
  68970. Onedrive
  68971. .RS 2
  68972. .IP \[bu] 2
  68973. More accurately check if root is found (Cnly)
  68974. .RE
  68975. .IP \[bu] 2
  68976. S3
  68977. .RS 2
  68978. .IP \[bu] 2
  68979. Support S3 Accelerated endpoints with
  68980. \f[C]--s3-use-accelerate-endpoint\f[R] (Nick Craig-Wood)
  68981. .IP \[bu] 2
  68982. Add config info for Wasabi\[aq]s EU Central endpoint (Robert Marko)
  68983. .IP \[bu] 2
  68984. Make SetModTime work for GLACIER while syncing (Philip Harvey)
  68985. .RE
  68986. .IP \[bu] 2
  68987. SFTP
  68988. .RS 2
  68989. .IP \[bu] 2
  68990. Add About support (Gary Kim)
  68991. .IP \[bu] 2
  68992. Fix about parsing of \f[C]df\f[R] results so it can cope with -ve
  68993. results (Nick Craig-Wood)
  68994. .IP \[bu] 2
  68995. Send custom client version and debug server version (Nick Craig-Wood)
  68996. .RE
  68997. .IP \[bu] 2
  68998. WebDAV
  68999. .RS 2
  69000. .IP \[bu] 2
  69001. Retry on 423 Locked errors (Nick Craig-Wood)
  69002. .RE
  69003. .SS v1.47.0 - 2019-04-13
  69004. .IP \[bu] 2
  69005. New backends
  69006. .RS 2
  69007. .IP \[bu] 2
  69008. Backend for Koofr cloud storage service.
  69009. (jaKa)
  69010. .RE
  69011. .IP \[bu] 2
  69012. New Features
  69013. .RS 2
  69014. .IP \[bu] 2
  69015. Resume downloads if the reader fails in copy (Nick Craig-Wood)
  69016. .RS 2
  69017. .IP \[bu] 2
  69018. this means rclone will restart transfers if the source has an error
  69019. .IP \[bu] 2
  69020. this is most useful for downloads or cloud to cloud copies
  69021. .RE
  69022. .IP \[bu] 2
  69023. Use \f[C]--fast-list\f[R] for listing operations where it won\[aq]t use
  69024. more memory (Nick Craig-Wood)
  69025. .RS 2
  69026. .IP \[bu] 2
  69027. this should speed up the following operations on remotes which support
  69028. \f[C]ListR\f[R]
  69029. .IP \[bu] 2
  69030. \f[C]dedupe\f[R], \f[C]serve restic\f[R] \f[C]lsf\f[R], \f[C]ls\f[R],
  69031. \f[C]lsl\f[R], \f[C]lsjson\f[R], \f[C]lsd\f[R], \f[C]md5sum\f[R],
  69032. \f[C]sha1sum\f[R], \f[C]hashsum\f[R], \f[C]size\f[R], \f[C]delete\f[R],
  69033. \f[C]cat\f[R], \f[C]settier\f[R]
  69034. .IP \[bu] 2
  69035. use \f[C]--disable ListR\f[R] to get old behaviour if required
  69036. .RE
  69037. .IP \[bu] 2
  69038. Make \f[C]--files-from\f[R] traverse the destination unless
  69039. \f[C]--no-traverse\f[R] is set (Nick Craig-Wood)
  69040. .RS 2
  69041. .IP \[bu] 2
  69042. this fixes \f[C]--files-from\f[R] with Google drive and excessive API
  69043. use in general.
  69044. .RE
  69045. .IP \[bu] 2
  69046. Make server-side copy account bytes and obey \f[C]--max-transfer\f[R]
  69047. (Nick Craig-Wood)
  69048. .IP \[bu] 2
  69049. Add \f[C]--create-empty-src-dirs\f[R] flag and default to not creating
  69050. empty dirs (ishuah)
  69051. .IP \[bu] 2
  69052. Add client side TLS/SSL flags
  69053. \f[C]--ca-cert\f[R]/\f[C]--client-cert\f[R]/\f[C]--client-key\f[R] (Nick
  69054. Craig-Wood)
  69055. .IP \[bu] 2
  69056. Implement \f[C]--suffix-keep-extension\f[R] for use with
  69057. \f[C]--suffix\f[R] (Nick Craig-Wood)
  69058. .IP \[bu] 2
  69059. build:
  69060. .RS 2
  69061. .IP \[bu] 2
  69062. Switch to semver compliant version tags to be go modules compliant (Nick
  69063. Craig-Wood)
  69064. .IP \[bu] 2
  69065. Update to use go1.12.x for the build (Nick Craig-Wood)
  69066. .RE
  69067. .IP \[bu] 2
  69068. serve dlna: Add connection manager service description to improve
  69069. compatibility (Dan Walters)
  69070. .IP \[bu] 2
  69071. lsf: Add \[aq]e\[aq] format to show encrypted names and \[aq]o\[aq] for
  69072. original IDs (Nick Craig-Wood)
  69073. .IP \[bu] 2
  69074. lsjson: Added \f[C]--files-only\f[R] and \f[C]--dirs-only\f[R] flags
  69075. (calistri)
  69076. .IP \[bu] 2
  69077. rc: Implement operations/publiclink the equivalent of
  69078. \f[C]rclone link\f[R] (Nick Craig-Wood)
  69079. .RE
  69080. .IP \[bu] 2
  69081. Bug Fixes
  69082. .RS 2
  69083. .IP \[bu] 2
  69084. accounting: Fix total ETA when \f[C]--stats-unit bits\f[R] is in effect
  69085. (Nick Craig-Wood)
  69086. .IP \[bu] 2
  69087. Bash TAB completion
  69088. .RS 2
  69089. .IP \[bu] 2
  69090. Use private custom func to fix clash between rclone and kubectl (Nick
  69091. Craig-Wood)
  69092. .IP \[bu] 2
  69093. Fix for remotes with underscores in their names (Six)
  69094. .IP \[bu] 2
  69095. Fix completion of remotes (Florian Gamb\[:o]ck)
  69096. .IP \[bu] 2
  69097. Fix autocompletion of remote paths with spaces (Danil Semelenov)
  69098. .RE
  69099. .IP \[bu] 2
  69100. serve dlna: Fix root XML service descriptor (Dan Walters)
  69101. .IP \[bu] 2
  69102. ncdu: Fix display corruption with Chinese characters (Nick Craig-Wood)
  69103. .IP \[bu] 2
  69104. Add SIGTERM to signals which run the exit handlers on unix (Nick
  69105. Craig-Wood)
  69106. .IP \[bu] 2
  69107. rc: Reload filter when the options are set via the rc (Nick Craig-Wood)
  69108. .RE
  69109. .IP \[bu] 2
  69110. VFS / Mount
  69111. .RS 2
  69112. .IP \[bu] 2
  69113. Fix FreeBSD: Ignore Truncate if called with no readers and already the
  69114. correct size (Nick Craig-Wood)
  69115. .IP \[bu] 2
  69116. Read directory and check for a file before mkdir (Nick Craig-Wood)
  69117. .IP \[bu] 2
  69118. Shorten the locking window for vfs/refresh (Nick Craig-Wood)
  69119. .RE
  69120. .IP \[bu] 2
  69121. Azure Blob
  69122. .RS 2
  69123. .IP \[bu] 2
  69124. Enable MD5 checksums when uploading files bigger than the
  69125. \[dq]Cutoff\[dq] (Dr.Rx)
  69126. .IP \[bu] 2
  69127. Fix SAS URL support (Nick Craig-Wood)
  69128. .RE
  69129. .IP \[bu] 2
  69130. B2
  69131. .RS 2
  69132. .IP \[bu] 2
  69133. Allow manual configuration of backblaze downloadUrl (Vince)
  69134. .IP \[bu] 2
  69135. Ignore already_hidden error on remove (Nick Craig-Wood)
  69136. .IP \[bu] 2
  69137. Ignore malformed \f[C]src_last_modified_millis\f[R] (Nick Craig-Wood)
  69138. .RE
  69139. .IP \[bu] 2
  69140. Drive
  69141. .RS 2
  69142. .IP \[bu] 2
  69143. Add \f[C]--skip-checksum-gphotos\f[R] to ignore incorrect checksums on
  69144. Google Photos (Nick Craig-Wood)
  69145. .IP \[bu] 2
  69146. Allow server-side move/copy between different remotes.
  69147. (Fionera)
  69148. .IP \[bu] 2
  69149. Add docs on team drives and \f[C]--fast-list\f[R] eventual consistency
  69150. (Nestar47)
  69151. .IP \[bu] 2
  69152. Fix imports of text files (Nick Craig-Wood)
  69153. .IP \[bu] 2
  69154. Fix range requests on 0 length files (Nick Craig-Wood)
  69155. .IP \[bu] 2
  69156. Fix creation of duplicates with server-side copy (Nick Craig-Wood)
  69157. .RE
  69158. .IP \[bu] 2
  69159. Dropbox
  69160. .RS 2
  69161. .IP \[bu] 2
  69162. Retry blank errors to fix long listings (Nick Craig-Wood)
  69163. .RE
  69164. .IP \[bu] 2
  69165. FTP
  69166. .RS 2
  69167. .IP \[bu] 2
  69168. Add \f[C]--ftp-concurrency\f[R] to limit maximum number of connections
  69169. (Nick Craig-Wood)
  69170. .RE
  69171. .IP \[bu] 2
  69172. Google Cloud Storage
  69173. .RS 2
  69174. .IP \[bu] 2
  69175. Fall back to default application credentials (marcintustin)
  69176. .IP \[bu] 2
  69177. Allow bucket policy only buckets (Nick Craig-Wood)
  69178. .RE
  69179. .IP \[bu] 2
  69180. HTTP
  69181. .RS 2
  69182. .IP \[bu] 2
  69183. Add \f[C]--http-no-slash\f[R] for websites with directories with no
  69184. slashes (Nick Craig-Wood)
  69185. .IP \[bu] 2
  69186. Remove duplicates from listings (Nick Craig-Wood)
  69187. .IP \[bu] 2
  69188. Fix socket leak on 404 errors (Nick Craig-Wood)
  69189. .RE
  69190. .IP \[bu] 2
  69191. Jottacloud
  69192. .RS 2
  69193. .IP \[bu] 2
  69194. Fix token refresh (Sebastian B\[:u]nger)
  69195. .IP \[bu] 2
  69196. Add device registration (Oliver Heyme)
  69197. .RE
  69198. .IP \[bu] 2
  69199. Onedrive
  69200. .RS 2
  69201. .IP \[bu] 2
  69202. Implement graceful cancel of multipart uploads if rclone is interrupted
  69203. (Cnly)
  69204. .IP \[bu] 2
  69205. Always add trailing colon to path when addressing items, (Cnly)
  69206. .IP \[bu] 2
  69207. Return errors instead of panic for invalid uploads (Fabian M\[:o]ller)
  69208. .RE
  69209. .IP \[bu] 2
  69210. S3
  69211. .RS 2
  69212. .IP \[bu] 2
  69213. Add support for \[dq]Glacier Deep Archive\[dq] storage class (Manu)
  69214. .IP \[bu] 2
  69215. Update Dreamhost endpoint (Nick Craig-Wood)
  69216. .IP \[bu] 2
  69217. Note incompatibility with CEPH Jewel (Nick Craig-Wood)
  69218. .RE
  69219. .IP \[bu] 2
  69220. SFTP
  69221. .RS 2
  69222. .IP \[bu] 2
  69223. Allow custom ssh client config (Alexandru Bumbacea)
  69224. .RE
  69225. .IP \[bu] 2
  69226. Swift
  69227. .RS 2
  69228. .IP \[bu] 2
  69229. Obey Retry-After to enable OVH restore from cold storage (Nick
  69230. Craig-Wood)
  69231. .IP \[bu] 2
  69232. Work around token expiry on CEPH (Nick Craig-Wood)
  69233. .RE
  69234. .IP \[bu] 2
  69235. WebDAV
  69236. .RS 2
  69237. .IP \[bu] 2
  69238. Allow IsCollection property to be integer or boolean (Nick Craig-Wood)
  69239. .IP \[bu] 2
  69240. Fix race when creating directories (Nick Craig-Wood)
  69241. .IP \[bu] 2
  69242. Fix About/df when reading the available/total returns 0 (Nick
  69243. Craig-Wood)
  69244. .RE
  69245. .SS v1.46 - 2019-02-09
  69246. .IP \[bu] 2
  69247. New backends
  69248. .RS 2
  69249. .IP \[bu] 2
  69250. Support Alibaba Cloud (Aliyun) OSS via the s3 backend (Nick Craig-Wood)
  69251. .RE
  69252. .IP \[bu] 2
  69253. New commands
  69254. .RS 2
  69255. .IP \[bu] 2
  69256. serve dlna: serves a remove via DLNA for the local network (nicolov)
  69257. .RE
  69258. .IP \[bu] 2
  69259. New Features
  69260. .RS 2
  69261. .IP \[bu] 2
  69262. copy, move: Restore deprecated \f[C]--no-traverse\f[R] flag (Nick
  69263. Craig-Wood)
  69264. .RS 2
  69265. .IP \[bu] 2
  69266. This is useful for when transferring a small number of files into a
  69267. large destination
  69268. .RE
  69269. .IP \[bu] 2
  69270. genautocomplete: Add remote path completion for bash completion
  69271. (Christopher Peterson & Danil Semelenov)
  69272. .IP \[bu] 2
  69273. Buffer memory handling reworked to return memory to the OS better (Nick
  69274. Craig-Wood)
  69275. .RS 2
  69276. .IP \[bu] 2
  69277. Buffer recycling library to replace sync.Pool
  69278. .IP \[bu] 2
  69279. Optionally use memory mapped memory for better memory shrinking
  69280. .IP \[bu] 2
  69281. Enable with \f[C]--use-mmap\f[R] if having memory problems - not default
  69282. yet
  69283. .RE
  69284. .IP \[bu] 2
  69285. Parallelise reading of files specified by \f[C]--files-from\f[R] (Nick
  69286. Craig-Wood)
  69287. .IP \[bu] 2
  69288. check: Add stats showing total files matched.
  69289. (Dario Guzik)
  69290. .IP \[bu] 2
  69291. Allow rename/delete open files under Windows (Nick Craig-Wood)
  69292. .IP \[bu] 2
  69293. lsjson: Use exactly the correct number of decimal places in the seconds
  69294. (Nick Craig-Wood)
  69295. .IP \[bu] 2
  69296. Add cookie support with cmdline switch \f[C]--use-cookies\f[R] for all
  69297. HTTP based remotes (qip)
  69298. .IP \[bu] 2
  69299. Warn if \f[C]--checksum\f[R] is set but there are no hashes available
  69300. (Nick Craig-Wood)
  69301. .IP \[bu] 2
  69302. Rework rate limiting (pacer) to be more accurate and allow bursting
  69303. (Nick Craig-Wood)
  69304. .IP \[bu] 2
  69305. Improve error reporting for too many/few arguments in commands (Nick
  69306. Craig-Wood)
  69307. .IP \[bu] 2
  69308. listremotes: Remove \f[C]-l\f[R] short flag as it conflicts with the new
  69309. global flag (weetmuts)
  69310. .IP \[bu] 2
  69311. Make http serving with auth generate INFO messages on auth fail (Nick
  69312. Craig-Wood)
  69313. .RE
  69314. .IP \[bu] 2
  69315. Bug Fixes
  69316. .RS 2
  69317. .IP \[bu] 2
  69318. Fix layout of stats (Nick Craig-Wood)
  69319. .IP \[bu] 2
  69320. Fix \f[C]--progress\f[R] crash under Windows Jenkins (Nick Craig-Wood)
  69321. .IP \[bu] 2
  69322. Fix transfer of google/onedrive docs by calling Rcat in Copy when size
  69323. is -1 (Cnly)
  69324. .IP \[bu] 2
  69325. copyurl: Fix checking of \f[C]--dry-run\f[R] (Denis Skovpen)
  69326. .RE
  69327. .IP \[bu] 2
  69328. Mount
  69329. .RS 2
  69330. .IP \[bu] 2
  69331. Check that mountpoint and local directory to mount don\[aq]t overlap
  69332. (Nick Craig-Wood)
  69333. .IP \[bu] 2
  69334. Fix mount size under 32 bit Windows (Nick Craig-Wood)
  69335. .RE
  69336. .IP \[bu] 2
  69337. VFS
  69338. .RS 2
  69339. .IP \[bu] 2
  69340. Implement renaming of directories for backends without DirMove (Nick
  69341. Craig-Wood)
  69342. .RS 2
  69343. .IP \[bu] 2
  69344. now all backends except b2 support renaming directories
  69345. .RE
  69346. .IP \[bu] 2
  69347. Implement \f[C]--vfs-cache-max-size\f[R] to limit the total size of the
  69348. cache (Nick Craig-Wood)
  69349. .IP \[bu] 2
  69350. Add \f[C]--dir-perms\f[R] and \f[C]--file-perms\f[R] flags to set
  69351. default permissions (Nick Craig-Wood)
  69352. .IP \[bu] 2
  69353. Fix deadlock on concurrent operations on a directory (Nick Craig-Wood)
  69354. .IP \[bu] 2
  69355. Fix deadlock between RWFileHandle.close and File.Remove (Nick
  69356. Craig-Wood)
  69357. .IP \[bu] 2
  69358. Fix renaming/deleting open files with cache mode \[dq]writes\[dq] under
  69359. Windows (Nick Craig-Wood)
  69360. .IP \[bu] 2
  69361. Fix panic on rename with \f[C]--dry-run\f[R] set (Nick Craig-Wood)
  69362. .IP \[bu] 2
  69363. Fix vfs/refresh with recurse=true needing the \f[C]--fast-list\f[R] flag
  69364. .RE
  69365. .IP \[bu] 2
  69366. Local
  69367. .RS 2
  69368. .IP \[bu] 2
  69369. Add support for \f[C]-l\f[R]/\f[C]--links\f[R] (symbolic link
  69370. translation) (yair\[at]unicorn)
  69371. .RS 2
  69372. .IP \[bu] 2
  69373. this works by showing links as \f[C]link.rclonelink\f[R] - see local
  69374. backend docs for more info
  69375. .IP \[bu] 2
  69376. this errors if used with \f[C]-L\f[R]/\f[C]--copy-links\f[R]
  69377. .RE
  69378. .IP \[bu] 2
  69379. Fix renaming/deleting open files on Windows (Nick Craig-Wood)
  69380. .RE
  69381. .IP \[bu] 2
  69382. Crypt
  69383. .RS 2
  69384. .IP \[bu] 2
  69385. Check for maximum length before decrypting filename to fix panic (Garry
  69386. McNulty)
  69387. .RE
  69388. .IP \[bu] 2
  69389. Azure Blob
  69390. .RS 2
  69391. .IP \[bu] 2
  69392. Allow building azureblob backend on *BSD (themylogin)
  69393. .IP \[bu] 2
  69394. Use the rclone HTTP client to support \f[C]--dump headers\f[R],
  69395. \f[C]--tpslimit\f[R], etc.
  69396. (Nick Craig-Wood)
  69397. .IP \[bu] 2
  69398. Use the s3 pacer for 0 delay in non error conditions (Nick Craig-Wood)
  69399. .IP \[bu] 2
  69400. Ignore directory markers (Nick Craig-Wood)
  69401. .IP \[bu] 2
  69402. Stop Mkdir attempting to create existing containers (Nick Craig-Wood)
  69403. .RE
  69404. .IP \[bu] 2
  69405. B2
  69406. .RS 2
  69407. .IP \[bu] 2
  69408. cleanup: will remove unfinished large files >24hrs old (Garry McNulty)
  69409. .IP \[bu] 2
  69410. For a bucket limited application key check the bucket name (Nick
  69411. Craig-Wood)
  69412. .RS 2
  69413. .IP \[bu] 2
  69414. before this, rclone would use the authorised bucket regardless of what
  69415. you put on the command line
  69416. .RE
  69417. .IP \[bu] 2
  69418. Added \f[C]--b2-disable-checksum\f[R] flag (Wojciech Smigielski)
  69419. .RS 2
  69420. .IP \[bu] 2
  69421. this enables large files to be uploaded without a SHA-1 hash for speed
  69422. reasons
  69423. .RE
  69424. .RE
  69425. .IP \[bu] 2
  69426. Drive
  69427. .RS 2
  69428. .IP \[bu] 2
  69429. Set default pacer to 100ms for 10 tps (Nick Craig-Wood)
  69430. .RS 2
  69431. .IP \[bu] 2
  69432. This fits the Google defaults much better and reduces the 403 errors
  69433. massively
  69434. .IP \[bu] 2
  69435. Add \f[C]--drive-pacer-min-sleep\f[R] and \f[C]--drive-pacer-burst\f[R]
  69436. to control the pacer
  69437. .RE
  69438. .IP \[bu] 2
  69439. Improve ChangeNotify support for items with multiple parents (Fabian
  69440. M\[:o]ller)
  69441. .IP \[bu] 2
  69442. Fix ListR for items with multiple parents - this fixes oddities with
  69443. \f[C]vfs/refresh\f[R] (Fabian M\[:o]ller)
  69444. .IP \[bu] 2
  69445. Fix using \f[C]--drive-impersonate\f[R] and appfolders (Nick Craig-Wood)
  69446. .IP \[bu] 2
  69447. Fix google docs in rclone mount for some (not all) applications (Nick
  69448. Craig-Wood)
  69449. .RE
  69450. .IP \[bu] 2
  69451. Dropbox
  69452. .RS 2
  69453. .IP \[bu] 2
  69454. Retry-After support for Dropbox backend (Mathieu Carbou)
  69455. .RE
  69456. .IP \[bu] 2
  69457. FTP
  69458. .RS 2
  69459. .IP \[bu] 2
  69460. Wait for 60 seconds for a connection to Close then declare it dead (Nick
  69461. Craig-Wood)
  69462. .RS 2
  69463. .IP \[bu] 2
  69464. helps with indefinite hangs on some FTP servers
  69465. .RE
  69466. .RE
  69467. .IP \[bu] 2
  69468. Google Cloud Storage
  69469. .RS 2
  69470. .IP \[bu] 2
  69471. Update google cloud storage endpoints (weetmuts)
  69472. .RE
  69473. .IP \[bu] 2
  69474. HTTP
  69475. .RS 2
  69476. .IP \[bu] 2
  69477. Add an example with username and password which is supported but
  69478. wasn\[aq]t documented (Nick Craig-Wood)
  69479. .IP \[bu] 2
  69480. Fix backend with \f[C]--files-from\f[R] and nonexistent files (Nick
  69481. Craig-Wood)
  69482. .RE
  69483. .IP \[bu] 2
  69484. Hubic
  69485. .RS 2
  69486. .IP \[bu] 2
  69487. Make error message more informative if authentication fails (Nick
  69488. Craig-Wood)
  69489. .RE
  69490. .IP \[bu] 2
  69491. Jottacloud
  69492. .RS 2
  69493. .IP \[bu] 2
  69494. Resume and deduplication support (Oliver Heyme)
  69495. .IP \[bu] 2
  69496. Use token auth for all API requests Don\[aq]t store password anymore
  69497. (Sebastian B\[:u]nger)
  69498. .IP \[bu] 2
  69499. Add support for 2-factor authentication (Sebastian B\[:u]nger)
  69500. .RE
  69501. .IP \[bu] 2
  69502. Mega
  69503. .RS 2
  69504. .IP \[bu] 2
  69505. Implement v2 account login which fixes logins for newer Mega accounts
  69506. (Nick Craig-Wood)
  69507. .IP \[bu] 2
  69508. Return error if an unknown length file is attempted to be uploaded (Nick
  69509. Craig-Wood)
  69510. .IP \[bu] 2
  69511. Add new error codes for better error reporting (Nick Craig-Wood)
  69512. .RE
  69513. .IP \[bu] 2
  69514. Onedrive
  69515. .RS 2
  69516. .IP \[bu] 2
  69517. Fix broken support for \[dq]shared with me\[dq] folders (Alex Chen)
  69518. .IP \[bu] 2
  69519. Fix root ID not normalised (Cnly)
  69520. .IP \[bu] 2
  69521. Return err instead of panic on unknown-sized uploads (Cnly)
  69522. .RE
  69523. .IP \[bu] 2
  69524. Qingstor
  69525. .RS 2
  69526. .IP \[bu] 2
  69527. Fix go routine leak on multipart upload errors (Nick Craig-Wood)
  69528. .IP \[bu] 2
  69529. Add upload chunk size/concurrency/cutoff control (Nick Craig-Wood)
  69530. .IP \[bu] 2
  69531. Default \f[C]--qingstor-upload-concurrency\f[R] to 1 to work around bug
  69532. (Nick Craig-Wood)
  69533. .RE
  69534. .IP \[bu] 2
  69535. S3
  69536. .RS 2
  69537. .IP \[bu] 2
  69538. Implement \f[C]--s3-upload-cutoff\f[R] for single part uploads below
  69539. this (Nick Craig-Wood)
  69540. .IP \[bu] 2
  69541. Change \f[C]--s3-upload-concurrency\f[R] default to 4 to increase
  69542. performance (Nick Craig-Wood)
  69543. .IP \[bu] 2
  69544. Add \f[C]--s3-bucket-acl\f[R] to control bucket ACL (Nick Craig-Wood)
  69545. .IP \[bu] 2
  69546. Auto detect region for buckets on operation failure (Nick Craig-Wood)
  69547. .IP \[bu] 2
  69548. Add GLACIER storage class (William Cocker)
  69549. .IP \[bu] 2
  69550. Add Scaleway to s3 documentation (R\['e]my L\['e]one)
  69551. .IP \[bu] 2
  69552. Add AWS endpoint eu-north-1 (weetmuts)
  69553. .RE
  69554. .IP \[bu] 2
  69555. SFTP
  69556. .RS 2
  69557. .IP \[bu] 2
  69558. Add support for PEM encrypted private keys (Fabian M\[:o]ller)
  69559. .IP \[bu] 2
  69560. Add option to force the usage of an ssh-agent (Fabian M\[:o]ller)
  69561. .IP \[bu] 2
  69562. Perform environment variable expansion on key-file (Fabian M\[:o]ller)
  69563. .IP \[bu] 2
  69564. Fix rmdir on Windows based servers (e.g.
  69565. CrushFTP) (Nick Craig-Wood)
  69566. .IP \[bu] 2
  69567. Fix rmdir deleting directory contents on some SFTP servers (Nick
  69568. Craig-Wood)
  69569. .IP \[bu] 2
  69570. Fix error on dangling symlinks (Nick Craig-Wood)
  69571. .RE
  69572. .IP \[bu] 2
  69573. Swift
  69574. .RS 2
  69575. .IP \[bu] 2
  69576. Add \f[C]--swift-no-chunk\f[R] to disable segmented uploads in
  69577. rcat/mount (Nick Craig-Wood)
  69578. .IP \[bu] 2
  69579. Introduce application credential auth support (kayrus)
  69580. .IP \[bu] 2
  69581. Fix memory usage by slimming Object (Nick Craig-Wood)
  69582. .IP \[bu] 2
  69583. Fix extra requests on upload (Nick Craig-Wood)
  69584. .IP \[bu] 2
  69585. Fix reauth on big files (Nick Craig-Wood)
  69586. .RE
  69587. .IP \[bu] 2
  69588. Union
  69589. .RS 2
  69590. .IP \[bu] 2
  69591. Fix poll-interval not working (Nick Craig-Wood)
  69592. .RE
  69593. .IP \[bu] 2
  69594. WebDAV
  69595. .RS 2
  69596. .IP \[bu] 2
  69597. Support About which means rclone mount will show the correct disk size
  69598. (Nick Craig-Wood)
  69599. .IP \[bu] 2
  69600. Support MD5 and SHA1 hashes with Owncloud and Nextcloud (Nick
  69601. Craig-Wood)
  69602. .IP \[bu] 2
  69603. Fail soft on time parsing errors (Nick Craig-Wood)
  69604. .IP \[bu] 2
  69605. Fix infinite loop on failed directory creation (Nick Craig-Wood)
  69606. .IP \[bu] 2
  69607. Fix identification of directories for Bitrix Site Manager (Nick
  69608. Craig-Wood)
  69609. .IP \[bu] 2
  69610. Fix upload of 0 length files on some servers (Nick Craig-Wood)
  69611. .IP \[bu] 2
  69612. Fix if MKCOL fails with 423 Locked assume the directory exists (Nick
  69613. Craig-Wood)
  69614. .RE
  69615. .SS v1.45 - 2018-11-24
  69616. .IP \[bu] 2
  69617. New backends
  69618. .RS 2
  69619. .IP \[bu] 2
  69620. The Yandex backend was re-written - see below for details (Sebastian
  69621. B\[:u]nger)
  69622. .RE
  69623. .IP \[bu] 2
  69624. New commands
  69625. .RS 2
  69626. .IP \[bu] 2
  69627. rcd: New command just to serve the remote control API (Nick Craig-Wood)
  69628. .RE
  69629. .IP \[bu] 2
  69630. New Features
  69631. .RS 2
  69632. .IP \[bu] 2
  69633. The remote control API (rc) was greatly expanded to allow full control
  69634. over rclone (Nick Craig-Wood)
  69635. .RS 2
  69636. .IP \[bu] 2
  69637. sensitive operations require authorization or the \f[C]--rc-no-auth\f[R]
  69638. flag
  69639. .IP \[bu] 2
  69640. config/* operations to configure rclone
  69641. .IP \[bu] 2
  69642. options/* for reading/setting command line flags
  69643. .IP \[bu] 2
  69644. operations/* for all low level operations, e.g.
  69645. copy file, list directory
  69646. .IP \[bu] 2
  69647. sync/* for sync, copy and move
  69648. .IP \[bu] 2
  69649. \f[C]--rc-files\f[R] flag to serve files on the rc http server
  69650. .RS 2
  69651. .IP \[bu] 2
  69652. this is for building web native GUIs for rclone
  69653. .RE
  69654. .IP \[bu] 2
  69655. Optionally serving objects on the rc http server
  69656. .IP \[bu] 2
  69657. Ensure rclone fails to start up if the \f[C]--rc\f[R] port is in use
  69658. already
  69659. .IP \[bu] 2
  69660. See the rc docs (https://rclone.org/rc/) for more info
  69661. .RE
  69662. .IP \[bu] 2
  69663. sync/copy/move
  69664. .RS 2
  69665. .IP \[bu] 2
  69666. Make \f[C]--files-from\f[R] only read the objects specified and
  69667. don\[aq]t scan directories (Nick Craig-Wood)
  69668. .RS 2
  69669. .IP \[bu] 2
  69670. This is a huge speed improvement for destinations with lots of files
  69671. .RE
  69672. .RE
  69673. .IP \[bu] 2
  69674. filter: Add \f[C]--ignore-case\f[R] flag (Nick Craig-Wood)
  69675. .IP \[bu] 2
  69676. ncdu: Add remove function (\[aq]d\[aq] key) (Henning Surmeier)
  69677. .IP \[bu] 2
  69678. rc command
  69679. .RS 2
  69680. .IP \[bu] 2
  69681. Add \f[C]--json\f[R] flag for structured JSON input (Nick Craig-Wood)
  69682. .IP \[bu] 2
  69683. Add \f[C]--user\f[R] and \f[C]--pass\f[R] flags and interpret
  69684. \f[C]--rc-user\f[R], \f[C]--rc-pass\f[R], \f[C]--rc-addr\f[R] (Nick
  69685. Craig-Wood)
  69686. .RE
  69687. .IP \[bu] 2
  69688. build
  69689. .RS 2
  69690. .IP \[bu] 2
  69691. Require go1.8 or later for compilation (Nick Craig-Wood)
  69692. .IP \[bu] 2
  69693. Enable softfloat on MIPS arch (Scott Edlund)
  69694. .IP \[bu] 2
  69695. Integration test framework revamped with a better report and better
  69696. retries (Nick Craig-Wood)
  69697. .RE
  69698. .RE
  69699. .IP \[bu] 2
  69700. Bug Fixes
  69701. .RS 2
  69702. .IP \[bu] 2
  69703. cmd: Make \f[C]--progress\f[R] update the stats correctly at the end
  69704. (Nick Craig-Wood)
  69705. .IP \[bu] 2
  69706. config: Create config directory on save if it is missing (Nick
  69707. Craig-Wood)
  69708. .IP \[bu] 2
  69709. dedupe: Check for existing filename before renaming a dupe file (ssaqua)
  69710. .IP \[bu] 2
  69711. move: Don\[aq]t create directories with \f[C]--dry-run\f[R] (Nick
  69712. Craig-Wood)
  69713. .IP \[bu] 2
  69714. operations: Fix Purge and Rmdirs when dir is not the root (Nick
  69715. Craig-Wood)
  69716. .IP \[bu] 2
  69717. serve http/webdav/restic: Ensure rclone exits if the port is in use
  69718. (Nick Craig-Wood)
  69719. .RE
  69720. .IP \[bu] 2
  69721. Mount
  69722. .RS 2
  69723. .IP \[bu] 2
  69724. Make \f[C]--volname\f[R] work for Windows and macOS (Nick Craig-Wood)
  69725. .RE
  69726. .IP \[bu] 2
  69727. Azure Blob
  69728. .RS 2
  69729. .IP \[bu] 2
  69730. Avoid context deadline exceeded error by setting a large TryTimeout
  69731. value (brused27)
  69732. .IP \[bu] 2
  69733. Fix erroneous Rmdir error \[dq]directory not empty\[dq] (Nick
  69734. Craig-Wood)
  69735. .IP \[bu] 2
  69736. Wait for up to 60s to create a just deleted container (Nick Craig-Wood)
  69737. .RE
  69738. .IP \[bu] 2
  69739. Dropbox
  69740. .RS 2
  69741. .IP \[bu] 2
  69742. Add dropbox impersonate support (Jake Coggiano)
  69743. .RE
  69744. .IP \[bu] 2
  69745. Jottacloud
  69746. .RS 2
  69747. .IP \[bu] 2
  69748. Fix bug in \f[C]--fast-list\f[R] handing of empty folders (albertony)
  69749. .RE
  69750. .IP \[bu] 2
  69751. Opendrive
  69752. .RS 2
  69753. .IP \[bu] 2
  69754. Fix transfer of files with \f[C]+\f[R] and \f[C]&\f[R] in (Nick
  69755. Craig-Wood)
  69756. .IP \[bu] 2
  69757. Fix retries of upload chunks (Nick Craig-Wood)
  69758. .RE
  69759. .IP \[bu] 2
  69760. S3
  69761. .RS 2
  69762. .IP \[bu] 2
  69763. Set ACL for server-side copies to that provided by the user (Nick
  69764. Craig-Wood)
  69765. .IP \[bu] 2
  69766. Fix role_arn, credential_source, ...
  69767. (Erik Swanson)
  69768. .IP \[bu] 2
  69769. Add config info for Wasabi\[aq]s US-West endpoint (Henry Ptasinski)
  69770. .RE
  69771. .IP \[bu] 2
  69772. SFTP
  69773. .RS 2
  69774. .IP \[bu] 2
  69775. Ensure file hash checking is really disabled (Jon Fautley)
  69776. .RE
  69777. .IP \[bu] 2
  69778. Swift
  69779. .RS 2
  69780. .IP \[bu] 2
  69781. Add pacer for retries to make swift more reliable (Nick Craig-Wood)
  69782. .RE
  69783. .IP \[bu] 2
  69784. WebDAV
  69785. .RS 2
  69786. .IP \[bu] 2
  69787. Add Content-Type to PUT requests (Nick Craig-Wood)
  69788. .IP \[bu] 2
  69789. Fix config parsing so \f[C]--webdav-user\f[R] and
  69790. \f[C]--webdav-pass\f[R] flags work (Nick Craig-Wood)
  69791. .IP \[bu] 2
  69792. Add RFC3339 date format (Ralf Hemberger)
  69793. .RE
  69794. .IP \[bu] 2
  69795. Yandex
  69796. .RS 2
  69797. .IP \[bu] 2
  69798. The yandex backend was re-written (Sebastian B\[:u]nger)
  69799. .RS 2
  69800. .IP \[bu] 2
  69801. This implements low level retries (Sebastian B\[:u]nger)
  69802. .IP \[bu] 2
  69803. Copy, Move, DirMove, PublicLink and About optional interfaces (Sebastian
  69804. B\[:u]nger)
  69805. .IP \[bu] 2
  69806. Improved general error handling (Sebastian B\[:u]nger)
  69807. .IP \[bu] 2
  69808. Removed ListR for now due to inconsistent behaviour (Sebastian
  69809. B\[:u]nger)
  69810. .RE
  69811. .RE
  69812. .SS v1.44 - 2018-10-15
  69813. .IP \[bu] 2
  69814. New commands
  69815. .RS 2
  69816. .IP \[bu] 2
  69817. serve ftp: Add ftp server (Antoine GIRARD)
  69818. .IP \[bu] 2
  69819. settier: perform storage tier changes on supported remotes (sandeepkru)
  69820. .RE
  69821. .IP \[bu] 2
  69822. New Features
  69823. .RS 2
  69824. .IP \[bu] 2
  69825. Reworked command line help
  69826. .RS 2
  69827. .IP \[bu] 2
  69828. Make default help less verbose (Nick Craig-Wood)
  69829. .IP \[bu] 2
  69830. Split flags up into global and backend flags (Nick Craig-Wood)
  69831. .IP \[bu] 2
  69832. Implement specialised help for flags and backends (Nick Craig-Wood)
  69833. .IP \[bu] 2
  69834. Show URL of backend help page when starting config (Nick Craig-Wood)
  69835. .RE
  69836. .IP \[bu] 2
  69837. stats: Long names now split in center (Joanna Marek)
  69838. .IP \[bu] 2
  69839. Add \f[C]--log-format\f[R] flag for more control over log output (dcpu)
  69840. .IP \[bu] 2
  69841. rc: Add support for OPTIONS and basic CORS (frenos)
  69842. .IP \[bu] 2
  69843. stats: show FatalErrors and NoRetryErrors in stats (C\['e]dric Connes)
  69844. .RE
  69845. .IP \[bu] 2
  69846. Bug Fixes
  69847. .RS 2
  69848. .IP \[bu] 2
  69849. Fix -P not ending with a new line (Nick Craig-Wood)
  69850. .IP \[bu] 2
  69851. config: don\[aq]t create default config dir when user supplies
  69852. \f[C]--config\f[R] (albertony)
  69853. .IP \[bu] 2
  69854. Don\[aq]t print non-ASCII characters with \f[C]--progress\f[R] on
  69855. windows (Nick Craig-Wood)
  69856. .IP \[bu] 2
  69857. Correct logs for excluded items (ssaqua)
  69858. .RE
  69859. .IP \[bu] 2
  69860. Mount
  69861. .RS 2
  69862. .IP \[bu] 2
  69863. Remove EXPERIMENTAL tags (Nick Craig-Wood)
  69864. .RE
  69865. .IP \[bu] 2
  69866. VFS
  69867. .RS 2
  69868. .IP \[bu] 2
  69869. Fix race condition detected by serve ftp tests (Nick Craig-Wood)
  69870. .IP \[bu] 2
  69871. Add vfs/poll-interval rc command (Fabian M\[:o]ller)
  69872. .IP \[bu] 2
  69873. Enable rename for nearly all remotes using server-side Move or Copy
  69874. (Nick Craig-Wood)
  69875. .IP \[bu] 2
  69876. Reduce directory cache cleared by poll-interval (Fabian M\[:o]ller)
  69877. .IP \[bu] 2
  69878. Remove EXPERIMENTAL tags (Nick Craig-Wood)
  69879. .RE
  69880. .IP \[bu] 2
  69881. Local
  69882. .RS 2
  69883. .IP \[bu] 2
  69884. Skip bad symlinks in dir listing with -L enabled (C\['e]dric Connes)
  69885. .IP \[bu] 2
  69886. Preallocate files on Windows to reduce fragmentation (Nick Craig-Wood)
  69887. .IP \[bu] 2
  69888. Preallocate files on linux with fallocate(2) (Nick Craig-Wood)
  69889. .RE
  69890. .IP \[bu] 2
  69891. Cache
  69892. .RS 2
  69893. .IP \[bu] 2
  69894. Add cache/fetch rc function (Fabian M\[:o]ller)
  69895. .IP \[bu] 2
  69896. Fix worker scale down (Fabian M\[:o]ller)
  69897. .IP \[bu] 2
  69898. Improve performance by not sending info requests for cached chunks
  69899. (dcpu)
  69900. .IP \[bu] 2
  69901. Fix error return value of cache/fetch rc method (Fabian M\[:o]ller)
  69902. .IP \[bu] 2
  69903. Documentation fix for cache-chunk-total-size (Anagh Kumar Baranwal)
  69904. .IP \[bu] 2
  69905. Preserve leading / in wrapped remote path (Fabian M\[:o]ller)
  69906. .IP \[bu] 2
  69907. Add plex_insecure option to skip certificate validation (Fabian
  69908. M\[:o]ller)
  69909. .IP \[bu] 2
  69910. Remove entries that no longer exist in the source (dcpu)
  69911. .RE
  69912. .IP \[bu] 2
  69913. Crypt
  69914. .RS 2
  69915. .IP \[bu] 2
  69916. Preserve leading / in wrapped remote path (Fabian M\[:o]ller)
  69917. .RE
  69918. .IP \[bu] 2
  69919. Alias
  69920. .RS 2
  69921. .IP \[bu] 2
  69922. Fix handling of Windows network paths (Nick Craig-Wood)
  69923. .RE
  69924. .IP \[bu] 2
  69925. Azure Blob
  69926. .RS 2
  69927. .IP \[bu] 2
  69928. Add \f[C]--azureblob-list-chunk\f[R] parameter (Santiago Rodr\['i]guez)
  69929. .IP \[bu] 2
  69930. Implemented settier command support on azureblob remote.
  69931. (sandeepkru)
  69932. .IP \[bu] 2
  69933. Work around SDK bug which causes errors for chunk-sized files (Nick
  69934. Craig-Wood)
  69935. .RE
  69936. .IP \[bu] 2
  69937. Box
  69938. .RS 2
  69939. .IP \[bu] 2
  69940. Implement link sharing.
  69941. (Sebastian B\[:u]nger)
  69942. .RE
  69943. .IP \[bu] 2
  69944. Drive
  69945. .RS 2
  69946. .IP \[bu] 2
  69947. Add \f[C]--drive-import-formats\f[R] - google docs can now be imported
  69948. (Fabian M\[:o]ller)
  69949. .RS 2
  69950. .IP \[bu] 2
  69951. Rewrite mime type and extension handling (Fabian M\[:o]ller)
  69952. .IP \[bu] 2
  69953. Add document links (Fabian M\[:o]ller)
  69954. .IP \[bu] 2
  69955. Add support for multipart document extensions (Fabian M\[:o]ller)
  69956. .IP \[bu] 2
  69957. Add support for apps-script to json export (Fabian M\[:o]ller)
  69958. .IP \[bu] 2
  69959. Fix escaped chars in documents during list (Fabian M\[:o]ller)
  69960. .RE
  69961. .IP \[bu] 2
  69962. Add \f[C]--drive-v2-download-min-size\f[R] a workaround for slow
  69963. downloads (Fabian M\[:o]ller)
  69964. .IP \[bu] 2
  69965. Improve directory notifications in ChangeNotify (Fabian M\[:o]ller)
  69966. .IP \[bu] 2
  69967. When listing team drives in config, continue on failure (Nick
  69968. Craig-Wood)
  69969. .RE
  69970. .IP \[bu] 2
  69971. FTP
  69972. .RS 2
  69973. .IP \[bu] 2
  69974. Add a small pause after failed upload before deleting file (Nick
  69975. Craig-Wood)
  69976. .RE
  69977. .IP \[bu] 2
  69978. Google Cloud Storage
  69979. .RS 2
  69980. .IP \[bu] 2
  69981. Fix service_account_file being ignored (Fabian M\[:o]ller)
  69982. .RE
  69983. .IP \[bu] 2
  69984. Jottacloud
  69985. .RS 2
  69986. .IP \[bu] 2
  69987. Minor improvement in quota info (omit if unlimited) (albertony)
  69988. .IP \[bu] 2
  69989. Add \f[C]--fast-list\f[R] support (albertony)
  69990. .IP \[bu] 2
  69991. Add permanent delete support: \f[C]--jottacloud-hard-delete\f[R]
  69992. (albertony)
  69993. .IP \[bu] 2
  69994. Add link sharing support (albertony)
  69995. .IP \[bu] 2
  69996. Fix handling of reserved characters.
  69997. (Sebastian B\[:u]nger)
  69998. .IP \[bu] 2
  69999. Fix socket leak on Object.Remove (Nick Craig-Wood)
  70000. .RE
  70001. .IP \[bu] 2
  70002. Onedrive
  70003. .RS 2
  70004. .IP \[bu] 2
  70005. Rework to support Microsoft Graph (Cnly)
  70006. .RS 2
  70007. .IP \[bu] 2
  70008. \f[B]NB\f[R] this will require re-authenticating the remote
  70009. .RE
  70010. .IP \[bu] 2
  70011. Removed upload cutoff and always do session uploads (Oliver Heyme)
  70012. .IP \[bu] 2
  70013. Use single-part upload for empty files (Cnly)
  70014. .IP \[bu] 2
  70015. Fix new fields not saved when editing old config (Alex Chen)
  70016. .IP \[bu] 2
  70017. Fix sometimes special chars in filenames not replaced (Alex Chen)
  70018. .IP \[bu] 2
  70019. Ignore OneNote files by default (Alex Chen)
  70020. .IP \[bu] 2
  70021. Add link sharing support (jackyzy823)
  70022. .RE
  70023. .IP \[bu] 2
  70024. S3
  70025. .RS 2
  70026. .IP \[bu] 2
  70027. Use custom pacer, to retry operations when reasonable (Craig Miskell)
  70028. .IP \[bu] 2
  70029. Use configured server-side-encryption and storage class options when
  70030. calling CopyObject() (Paul Kohout)
  70031. .IP \[bu] 2
  70032. Make \f[C]--s3-v2-auth\f[R] flag (Nick Craig-Wood)
  70033. .IP \[bu] 2
  70034. Fix v2 auth on files with spaces (Nick Craig-Wood)
  70035. .RE
  70036. .IP \[bu] 2
  70037. Union
  70038. .RS 2
  70039. .IP \[bu] 2
  70040. Implement union backend which reads from multiple backends (Felix
  70041. Brucker)
  70042. .IP \[bu] 2
  70043. Implement optional interfaces (Move, DirMove, Copy, etc.) (Nick
  70044. Craig-Wood)
  70045. .IP \[bu] 2
  70046. Fix ChangeNotify to support multiple remotes (Fabian M\[:o]ller)
  70047. .IP \[bu] 2
  70048. Fix \f[C]--backup-dir\f[R] on union backend (Nick Craig-Wood)
  70049. .RE
  70050. .IP \[bu] 2
  70051. WebDAV
  70052. .RS 2
  70053. .IP \[bu] 2
  70054. Add another time format (Nick Craig-Wood)
  70055. .IP \[bu] 2
  70056. Add a small pause after failed upload before deleting file (Nick
  70057. Craig-Wood)
  70058. .IP \[bu] 2
  70059. Add workaround for missing mtime (buergi)
  70060. .IP \[bu] 2
  70061. Sharepoint: Renew cookies after 12hrs (Henning Surmeier)
  70062. .RE
  70063. .IP \[bu] 2
  70064. Yandex
  70065. .RS 2
  70066. .IP \[bu] 2
  70067. Remove redundant nil checks (teresy)
  70068. .RE
  70069. .SS v1.43.1 - 2018-09-07
  70070. .PP
  70071. Point release to fix hubic and azureblob backends.
  70072. .IP \[bu] 2
  70073. Bug Fixes
  70074. .RS 2
  70075. .IP \[bu] 2
  70076. ncdu: Return error instead of log.Fatal in Show (Fabian M\[:o]ller)
  70077. .IP \[bu] 2
  70078. cmd: Fix crash with \f[C]--progress\f[R] and \f[C]--stats 0\f[R] (Nick
  70079. Craig-Wood)
  70080. .IP \[bu] 2
  70081. docs: Tidy website display (Anagh Kumar Baranwal)
  70082. .RE
  70083. .IP \[bu] 2
  70084. Azure Blob:
  70085. .RS 2
  70086. .IP \[bu] 2
  70087. Fix multi-part uploads.
  70088. (sandeepkru)
  70089. .RE
  70090. .IP \[bu] 2
  70091. Hubic
  70092. .RS 2
  70093. .IP \[bu] 2
  70094. Fix uploads (Nick Craig-Wood)
  70095. .IP \[bu] 2
  70096. Retry auth fetching if it fails to make hubic more reliable (Nick
  70097. Craig-Wood)
  70098. .RE
  70099. .SS v1.43 - 2018-09-01
  70100. .IP \[bu] 2
  70101. New backends
  70102. .RS 2
  70103. .IP \[bu] 2
  70104. Jottacloud (Sebastian B\[:u]nger)
  70105. .RE
  70106. .IP \[bu] 2
  70107. New commands
  70108. .RS 2
  70109. .IP \[bu] 2
  70110. copyurl: copies a URL to a remote (Denis)
  70111. .RE
  70112. .IP \[bu] 2
  70113. New Features
  70114. .RS 2
  70115. .IP \[bu] 2
  70116. Reworked config for backends (Nick Craig-Wood)
  70117. .RS 2
  70118. .IP \[bu] 2
  70119. All backend config can now be supplied by command line, env var or
  70120. config file
  70121. .IP \[bu] 2
  70122. Advanced section in the config wizard for the optional items
  70123. .IP \[bu] 2
  70124. A large step towards rclone backends being usable in other go software
  70125. .IP \[bu] 2
  70126. Allow on the fly remotes with :backend: syntax
  70127. .RE
  70128. .IP \[bu] 2
  70129. Stats revamp
  70130. .RS 2
  70131. .IP \[bu] 2
  70132. Add \f[C]--progress\f[R]/\f[C]-P\f[R] flag to show interactive progress
  70133. (Nick Craig-Wood)
  70134. .IP \[bu] 2
  70135. Show the total progress of the sync in the stats (Nick Craig-Wood)
  70136. .IP \[bu] 2
  70137. Add \f[C]--stats-one-line\f[R] flag for single line stats (Nick
  70138. Craig-Wood)
  70139. .RE
  70140. .IP \[bu] 2
  70141. Added weekday schedule into \f[C]--bwlimit\f[R] (Mateusz)
  70142. .IP \[bu] 2
  70143. lsjson: Add option to show the original object IDs (Fabian M\[:o]ller)
  70144. .IP \[bu] 2
  70145. serve webdav: Make Content-Type without reading the file and add
  70146. \f[C]--etag-hash\f[R] (Nick Craig-Wood)
  70147. .IP \[bu] 2
  70148. build
  70149. .RS 2
  70150. .IP \[bu] 2
  70151. Build macOS with native compiler (Nick Craig-Wood)
  70152. .IP \[bu] 2
  70153. Update to use go1.11 for the build (Nick Craig-Wood)
  70154. .RE
  70155. .IP \[bu] 2
  70156. rc
  70157. .RS 2
  70158. .IP \[bu] 2
  70159. Added core/stats to return the stats (reddi1)
  70160. .RE
  70161. .IP \[bu] 2
  70162. \f[C]version --check\f[R]: Prints the current release and beta versions
  70163. (Nick Craig-Wood)
  70164. .RE
  70165. .IP \[bu] 2
  70166. Bug Fixes
  70167. .RS 2
  70168. .IP \[bu] 2
  70169. accounting
  70170. .RS 2
  70171. .IP \[bu] 2
  70172. Fix time to completion estimates (Nick Craig-Wood)
  70173. .IP \[bu] 2
  70174. Fix moving average speed for file stats (Nick Craig-Wood)
  70175. .RE
  70176. .IP \[bu] 2
  70177. config: Fix error reading password from piped input (Nick Craig-Wood)
  70178. .IP \[bu] 2
  70179. move: Fix \f[C]--delete-empty-src-dirs\f[R] flag to delete all empty
  70180. dirs on move (ishuah)
  70181. .RE
  70182. .IP \[bu] 2
  70183. Mount
  70184. .RS 2
  70185. .IP \[bu] 2
  70186. Implement \f[C]--daemon-timeout\f[R] flag for OSXFUSE (Nick Craig-Wood)
  70187. .IP \[bu] 2
  70188. Fix mount \f[C]--daemon\f[R] not working with encrypted config (Alex
  70189. Chen)
  70190. .IP \[bu] 2
  70191. Clip the number of blocks to 2\[ha]32-1 on macOS - fixes borg backup
  70192. (Nick Craig-Wood)
  70193. .RE
  70194. .IP \[bu] 2
  70195. VFS
  70196. .RS 2
  70197. .IP \[bu] 2
  70198. Enable vfs-read-chunk-size by default (Fabian M\[:o]ller)
  70199. .IP \[bu] 2
  70200. Add the vfs/refresh rc command (Fabian M\[:o]ller)
  70201. .IP \[bu] 2
  70202. Add non recursive mode to vfs/refresh rc command (Fabian M\[:o]ller)
  70203. .IP \[bu] 2
  70204. Try to seek buffer on read only files (Fabian M\[:o]ller)
  70205. .RE
  70206. .IP \[bu] 2
  70207. Local
  70208. .RS 2
  70209. .IP \[bu] 2
  70210. Fix crash when deprecated \f[C]--local-no-unicode-normalization\f[R] is
  70211. supplied (Nick Craig-Wood)
  70212. .IP \[bu] 2
  70213. Fix mkdir error when trying to copy files to the root of a drive on
  70214. windows (Nick Craig-Wood)
  70215. .RE
  70216. .IP \[bu] 2
  70217. Cache
  70218. .RS 2
  70219. .IP \[bu] 2
  70220. Fix nil pointer deref when using lsjson on cached directory (Nick
  70221. Craig-Wood)
  70222. .IP \[bu] 2
  70223. Fix nil pointer deref for occasional crash on playback (Nick Craig-Wood)
  70224. .RE
  70225. .IP \[bu] 2
  70226. Crypt
  70227. .RS 2
  70228. .IP \[bu] 2
  70229. Fix accounting when checking hashes on upload (Nick Craig-Wood)
  70230. .RE
  70231. .IP \[bu] 2
  70232. Amazon Cloud Drive
  70233. .RS 2
  70234. .IP \[bu] 2
  70235. Make very clear in the docs that rclone has no ACD keys (Nick
  70236. Craig-Wood)
  70237. .RE
  70238. .IP \[bu] 2
  70239. Azure Blob
  70240. .RS 2
  70241. .IP \[bu] 2
  70242. Add connection string and SAS URL auth (Nick Craig-Wood)
  70243. .IP \[bu] 2
  70244. List the container to see if it exists (Nick Craig-Wood)
  70245. .IP \[bu] 2
  70246. Port new Azure Blob Storage SDK (sandeepkru)
  70247. .IP \[bu] 2
  70248. Added blob tier, tier between Hot, Cool and Archive.
  70249. (sandeepkru)
  70250. .IP \[bu] 2
  70251. Remove leading / from paths (Nick Craig-Wood)
  70252. .RE
  70253. .IP \[bu] 2
  70254. B2
  70255. .RS 2
  70256. .IP \[bu] 2
  70257. Support Application Keys (Nick Craig-Wood)
  70258. .IP \[bu] 2
  70259. Remove leading / from paths (Nick Craig-Wood)
  70260. .RE
  70261. .IP \[bu] 2
  70262. Box
  70263. .RS 2
  70264. .IP \[bu] 2
  70265. Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood)
  70266. .IP \[bu] 2
  70267. Make \f[C]--box-commit-retries\f[R] flag defaulting to 100 to fix large
  70268. uploads (Nick Craig-Wood)
  70269. .RE
  70270. .IP \[bu] 2
  70271. Drive
  70272. .RS 2
  70273. .IP \[bu] 2
  70274. Add \f[C]--drive-keep-revision-forever\f[R] flag (lewapm)
  70275. .IP \[bu] 2
  70276. Handle gdocs when filtering file names in list (Fabian M\[:o]ller)
  70277. .IP \[bu] 2
  70278. Support using \f[C]--fast-list\f[R] for large speedups (Fabian
  70279. M\[:o]ller)
  70280. .RE
  70281. .IP \[bu] 2
  70282. FTP
  70283. .RS 2
  70284. .IP \[bu] 2
  70285. Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood)
  70286. .RE
  70287. .IP \[bu] 2
  70288. Google Cloud Storage
  70289. .RS 2
  70290. .IP \[bu] 2
  70291. Fix index out of range error with \f[C]--fast-list\f[R] (Nick
  70292. Craig-Wood)
  70293. .RE
  70294. .IP \[bu] 2
  70295. Jottacloud
  70296. .RS 2
  70297. .IP \[bu] 2
  70298. Fix MD5 error check (Oliver Heyme)
  70299. .IP \[bu] 2
  70300. Handle empty time values (Martin Polden)
  70301. .IP \[bu] 2
  70302. Calculate missing MD5s (Oliver Heyme)
  70303. .IP \[bu] 2
  70304. Docs, fixes and tests for MD5 calculation (Nick Craig-Wood)
  70305. .IP \[bu] 2
  70306. Add optional MimeTyper interface.
  70307. (Sebastian B\[:u]nger)
  70308. .IP \[bu] 2
  70309. Implement optional About interface (for \f[C]df\f[R] support).
  70310. (Sebastian B\[:u]nger)
  70311. .RE
  70312. .IP \[bu] 2
  70313. Mega
  70314. .RS 2
  70315. .IP \[bu] 2
  70316. Wait for events instead of arbitrary sleeping (Nick Craig-Wood)
  70317. .IP \[bu] 2
  70318. Add \f[C]--mega-hard-delete\f[R] flag (Nick Craig-Wood)
  70319. .IP \[bu] 2
  70320. Fix failed logins with upper case chars in email (Nick Craig-Wood)
  70321. .RE
  70322. .IP \[bu] 2
  70323. Onedrive
  70324. .RS 2
  70325. .IP \[bu] 2
  70326. Shared folder support (Yoni Jah)
  70327. .IP \[bu] 2
  70328. Implement DirMove (Cnly)
  70329. .IP \[bu] 2
  70330. Fix rmdir sometimes deleting directories with contents (Nick Craig-Wood)
  70331. .RE
  70332. .IP \[bu] 2
  70333. Pcloud
  70334. .RS 2
  70335. .IP \[bu] 2
  70336. Delete half uploaded files on upload error (Nick Craig-Wood)
  70337. .RE
  70338. .IP \[bu] 2
  70339. Qingstor
  70340. .RS 2
  70341. .IP \[bu] 2
  70342. Remove leading / from paths (Nick Craig-Wood)
  70343. .RE
  70344. .IP \[bu] 2
  70345. S3
  70346. .RS 2
  70347. .IP \[bu] 2
  70348. Fix index out of range error with \f[C]--fast-list\f[R] (Nick
  70349. Craig-Wood)
  70350. .IP \[bu] 2
  70351. Add \f[C]--s3-force-path-style\f[R] (Nick Craig-Wood)
  70352. .IP \[bu] 2
  70353. Add support for KMS Key ID (bsteiss)
  70354. .IP \[bu] 2
  70355. Remove leading / from paths (Nick Craig-Wood)
  70356. .RE
  70357. .IP \[bu] 2
  70358. Swift
  70359. .RS 2
  70360. .IP \[bu] 2
  70361. Add \f[C]storage_policy\f[R] (Ruben Vandamme)
  70362. .IP \[bu] 2
  70363. Make it so just \f[C]storage_url\f[R] or \f[C]auth_token\f[R] can be
  70364. overridden (Nick Craig-Wood)
  70365. .IP \[bu] 2
  70366. Fix server-side copy bug for unusual file names (Nick Craig-Wood)
  70367. .IP \[bu] 2
  70368. Remove leading / from paths (Nick Craig-Wood)
  70369. .RE
  70370. .IP \[bu] 2
  70371. WebDAV
  70372. .RS 2
  70373. .IP \[bu] 2
  70374. Ensure we call MKCOL with a URL with a trailing / for QNAP interop (Nick
  70375. Craig-Wood)
  70376. .IP \[bu] 2
  70377. If root ends with / then don\[aq]t check if it is a file (Nick
  70378. Craig-Wood)
  70379. .IP \[bu] 2
  70380. Don\[aq]t accept redirects when reading metadata (Nick Craig-Wood)
  70381. .IP \[bu] 2
  70382. Add bearer token (Macaroon) support for dCache (Nick Craig-Wood)
  70383. .IP \[bu] 2
  70384. Document dCache and Macaroons (Onno Zweers)
  70385. .IP \[bu] 2
  70386. Sharepoint recursion with different depth (Henning)
  70387. .IP \[bu] 2
  70388. Attempt to remove failed uploads (Nick Craig-Wood)
  70389. .RE
  70390. .IP \[bu] 2
  70391. Yandex
  70392. .RS 2
  70393. .IP \[bu] 2
  70394. Fix listing/deleting files in the root (Nick Craig-Wood)
  70395. .RE
  70396. .SS v1.42 - 2018-06-16
  70397. .IP \[bu] 2
  70398. New backends
  70399. .RS 2
  70400. .IP \[bu] 2
  70401. OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
  70402. .RE
  70403. .IP \[bu] 2
  70404. New commands
  70405. .RS 2
  70406. .IP \[bu] 2
  70407. deletefile command (Filip Bartodziej)
  70408. .RE
  70409. .IP \[bu] 2
  70410. New Features
  70411. .RS 2
  70412. .IP \[bu] 2
  70413. copy, move: Copy single files directly, don\[aq]t use
  70414. \f[C]--files-from\f[R] work-around
  70415. .RS 2
  70416. .IP \[bu] 2
  70417. this makes them much more efficient
  70418. .RE
  70419. .IP \[bu] 2
  70420. Implement \f[C]--max-transfer\f[R] flag to quit transferring at a limit
  70421. .RS 2
  70422. .IP \[bu] 2
  70423. make exit code 8 for \f[C]--max-transfer\f[R] exceeded
  70424. .RE
  70425. .IP \[bu] 2
  70426. copy: copy empty source directories to destination (Ishuah Kariuki)
  70427. .IP \[bu] 2
  70428. check: Add \f[C]--one-way\f[R] flag (Kasper Byrdal Nielsen)
  70429. .IP \[bu] 2
  70430. Add siginfo handler for macOS for ctrl-T stats (kubatasiemski)
  70431. .IP \[bu] 2
  70432. rc
  70433. .RS 2
  70434. .IP \[bu] 2
  70435. add core/gc to run a garbage collection on demand
  70436. .IP \[bu] 2
  70437. enable go profiling by default on the \f[C]--rc\f[R] port
  70438. .IP \[bu] 2
  70439. return error from remote on failure
  70440. .RE
  70441. .IP \[bu] 2
  70442. lsf
  70443. .RS 2
  70444. .IP \[bu] 2
  70445. Add \f[C]--absolute\f[R] flag to add a leading / onto path names
  70446. .IP \[bu] 2
  70447. Add \f[C]--csv\f[R] flag for compliant CSV output
  70448. .IP \[bu] 2
  70449. Add \[aq]m\[aq] format specifier to show the MimeType
  70450. .IP \[bu] 2
  70451. Implement \[aq]i\[aq] format for showing object ID
  70452. .RE
  70453. .IP \[bu] 2
  70454. lsjson
  70455. .RS 2
  70456. .IP \[bu] 2
  70457. Add MimeType to the output
  70458. .IP \[bu] 2
  70459. Add ID field to output to show Object ID
  70460. .RE
  70461. .IP \[bu] 2
  70462. Add \f[C]--retries-sleep\f[R] flag (Benjamin Joseph Dag)
  70463. .IP \[bu] 2
  70464. Oauth tidy up web page and error handling (Henning Surmeier)
  70465. .RE
  70466. .IP \[bu] 2
  70467. Bug Fixes
  70468. .RS 2
  70469. .IP \[bu] 2
  70470. Password prompt output with \f[C]--log-file\f[R] fixed for unix (Filip
  70471. Bartodziej)
  70472. .IP \[bu] 2
  70473. Calculate ModifyWindow each time on the fly to fix various problems
  70474. (Stefan Breunig)
  70475. .RE
  70476. .IP \[bu] 2
  70477. Mount
  70478. .RS 2
  70479. .IP \[bu] 2
  70480. Only print \[dq]File.rename error\[dq] if there actually is an error
  70481. (Stefan Breunig)
  70482. .IP \[bu] 2
  70483. Delay rename if file has open writers instead of failing outright
  70484. (Stefan Breunig)
  70485. .IP \[bu] 2
  70486. Ensure atexit gets run on interrupt
  70487. .IP \[bu] 2
  70488. macOS enhancements
  70489. .RS 2
  70490. .IP \[bu] 2
  70491. Make \f[C]--noappledouble\f[R] \f[C]--noapplexattr\f[R]
  70492. .IP \[bu] 2
  70493. Add \f[C]--volname\f[R] flag and remove special chars from it
  70494. .IP \[bu] 2
  70495. Make Get/List/Set/Remove xattr return ENOSYS for efficiency
  70496. .IP \[bu] 2
  70497. Make \f[C]--daemon\f[R] work for macOS without CGO
  70498. .RE
  70499. .RE
  70500. .IP \[bu] 2
  70501. VFS
  70502. .RS 2
  70503. .IP \[bu] 2
  70504. Add \f[C]--vfs-read-chunk-size\f[R] and
  70505. \f[C]--vfs-read-chunk-size-limit\f[R] (Fabian M\[:o]ller)
  70506. .IP \[bu] 2
  70507. Fix ChangeNotify for new or changed folders (Fabian M\[:o]ller)
  70508. .RE
  70509. .IP \[bu] 2
  70510. Local
  70511. .RS 2
  70512. .IP \[bu] 2
  70513. Fix symlink/junction point directory handling under Windows
  70514. .RS 2
  70515. .IP \[bu] 2
  70516. \f[B]NB\f[R] you will need to add \f[C]-L\f[R] to your command line to
  70517. copy files with reparse points
  70518. .RE
  70519. .RE
  70520. .IP \[bu] 2
  70521. Cache
  70522. .RS 2
  70523. .IP \[bu] 2
  70524. Add non cached dirs on notifications (Remus Bunduc)
  70525. .IP \[bu] 2
  70526. Allow root to be expired from rc (Remus Bunduc)
  70527. .IP \[bu] 2
  70528. Clean remaining empty folders from temp upload path (Remus Bunduc)
  70529. .IP \[bu] 2
  70530. Cache lists using batch writes (Remus Bunduc)
  70531. .IP \[bu] 2
  70532. Use secure websockets for HTTPS Plex addresses (John Clayton)
  70533. .IP \[bu] 2
  70534. Reconnect plex websocket on failures (Remus Bunduc)
  70535. .IP \[bu] 2
  70536. Fix panic when running without plex configs (Remus Bunduc)
  70537. .IP \[bu] 2
  70538. Fix root folder caching (Remus Bunduc)
  70539. .RE
  70540. .IP \[bu] 2
  70541. Crypt
  70542. .RS 2
  70543. .IP \[bu] 2
  70544. Check the encrypted hash of files when uploading for extra data security
  70545. .RE
  70546. .IP \[bu] 2
  70547. Dropbox
  70548. .RS 2
  70549. .IP \[bu] 2
  70550. Make Dropbox for business folders accessible using an initial
  70551. \f[C]/\f[R] in the path
  70552. .RE
  70553. .IP \[bu] 2
  70554. Google Cloud Storage
  70555. .RS 2
  70556. .IP \[bu] 2
  70557. Low level retry all operations if necessary
  70558. .RE
  70559. .IP \[bu] 2
  70560. Google Drive
  70561. .RS 2
  70562. .IP \[bu] 2
  70563. Add \f[C]--drive-acknowledge-abuse\f[R] to download flagged files
  70564. .IP \[bu] 2
  70565. Add \f[C]--drive-alternate-export\f[R] to fix large doc export
  70566. .IP \[bu] 2
  70567. Don\[aq]t attempt to choose Team Drives when using rclone config create
  70568. .IP \[bu] 2
  70569. Fix change list polling with team drives
  70570. .IP \[bu] 2
  70571. Fix ChangeNotify for folders (Fabian M\[:o]ller)
  70572. .IP \[bu] 2
  70573. Fix about (and df on a mount) for team drives
  70574. .RE
  70575. .IP \[bu] 2
  70576. Onedrive
  70577. .RS 2
  70578. .IP \[bu] 2
  70579. Errorhandler for onedrive for business requests (Henning Surmeier)
  70580. .RE
  70581. .IP \[bu] 2
  70582. S3
  70583. .RS 2
  70584. .IP \[bu] 2
  70585. Adjust upload concurrency with \f[C]--s3-upload-concurrency\f[R]
  70586. (themylogin)
  70587. .IP \[bu] 2
  70588. Fix \f[C]--s3-chunk-size\f[R] which was always using the minimum
  70589. .RE
  70590. .IP \[bu] 2
  70591. SFTP
  70592. .RS 2
  70593. .IP \[bu] 2
  70594. Add \f[C]--ssh-path-override\f[R] flag (Piotr Oleszczyk)
  70595. .IP \[bu] 2
  70596. Fix slow downloads for long latency connections
  70597. .RE
  70598. .IP \[bu] 2
  70599. Webdav
  70600. .RS 2
  70601. .IP \[bu] 2
  70602. Add workarounds for biz.mail.ru
  70603. .IP \[bu] 2
  70604. Ignore Reason-Phrase in status line to fix 4shared (Rodrigo)
  70605. .IP \[bu] 2
  70606. Better error message generation
  70607. .RE
  70608. .SS v1.41 - 2018-04-28
  70609. .IP \[bu] 2
  70610. New backends
  70611. .RS 2
  70612. .IP \[bu] 2
  70613. Mega support added
  70614. .IP \[bu] 2
  70615. Webdav now supports SharePoint cookie authentication (hensur)
  70616. .RE
  70617. .IP \[bu] 2
  70618. New commands
  70619. .RS 2
  70620. .IP \[bu] 2
  70621. link: create public link to files and folders (Stefan Breunig)
  70622. .IP \[bu] 2
  70623. about: gets quota info from a remote (a-roussos, ncw)
  70624. .IP \[bu] 2
  70625. hashsum: a generic tool for any hash to produce md5sum like output
  70626. .RE
  70627. .IP \[bu] 2
  70628. New Features
  70629. .RS 2
  70630. .IP \[bu] 2
  70631. lsd: Add -R flag and fix and update docs for all ls commands
  70632. .IP \[bu] 2
  70633. ncdu: added a \[dq]refresh\[dq] key - CTRL-L (Keith Goldfarb)
  70634. .IP \[bu] 2
  70635. serve restic: Add append-only mode (Steve Kriss)
  70636. .IP \[bu] 2
  70637. serve restic: Disallow overwriting files in append-only mode (Alexander
  70638. Neumann)
  70639. .IP \[bu] 2
  70640. serve restic: Print actual listener address (Matt Holt)
  70641. .IP \[bu] 2
  70642. size: Add --json flag (Matthew Holt)
  70643. .IP \[bu] 2
  70644. sync: implement --ignore-errors (Mateusz Pabian)
  70645. .IP \[bu] 2
  70646. dedupe: Add dedupe largest functionality (Richard Yang)
  70647. .IP \[bu] 2
  70648. fs: Extend SizeSuffix to include TB and PB for rclone about
  70649. .IP \[bu] 2
  70650. fs: add --dump goroutines and --dump openfiles for debugging
  70651. .IP \[bu] 2
  70652. rc: implement core/memstats to print internal memory usage info
  70653. .IP \[bu] 2
  70654. rc: new call rc/pid (Michael P.
  70655. Dubner)
  70656. .RE
  70657. .IP \[bu] 2
  70658. Compile
  70659. .RS 2
  70660. .IP \[bu] 2
  70661. Drop support for go1.6
  70662. .RE
  70663. .IP \[bu] 2
  70664. Release
  70665. .RS 2
  70666. .IP \[bu] 2
  70667. Fix \f[C]make tarball\f[R] (Chih-Hsuan Yen)
  70668. .RE
  70669. .IP \[bu] 2
  70670. Bug Fixes
  70671. .RS 2
  70672. .IP \[bu] 2
  70673. filter: fix --min-age and --max-age together check
  70674. .IP \[bu] 2
  70675. fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport
  70676. .IP \[bu] 2
  70677. lsd,lsf: make sure all times we output are in local time
  70678. .IP \[bu] 2
  70679. rc: fix setting bwlimit to unlimited
  70680. .IP \[bu] 2
  70681. rc: take note of the --rc-addr flag too as per the docs
  70682. .RE
  70683. .IP \[bu] 2
  70684. Mount
  70685. .RS 2
  70686. .IP \[bu] 2
  70687. Use About to return the correct disk total/used/free (e.g.
  70688. in \f[C]df\f[R])
  70689. .IP \[bu] 2
  70690. Set \f[C]--attr-timeout default\f[R] to \f[C]1s\f[R] - fixes:
  70691. .RS 2
  70692. .IP \[bu] 2
  70693. rclone using too much memory
  70694. .IP \[bu] 2
  70695. rclone not serving files to samba
  70696. .IP \[bu] 2
  70697. excessive time listing directories
  70698. .RE
  70699. .IP \[bu] 2
  70700. Fix \f[C]df -i\f[R] (upstream fix)
  70701. .RE
  70702. .IP \[bu] 2
  70703. VFS
  70704. .RS 2
  70705. .IP \[bu] 2
  70706. Filter files \f[C].\f[R] and \f[C]..\f[R] from directory listing
  70707. .IP \[bu] 2
  70708. Only make the VFS cache if --vfs-cache-mode > Off
  70709. .RE
  70710. .IP \[bu] 2
  70711. Local
  70712. .RS 2
  70713. .IP \[bu] 2
  70714. Add --local-no-check-updated to disable updated file checks
  70715. .IP \[bu] 2
  70716. Retry remove on Windows sharing violation error
  70717. .RE
  70718. .IP \[bu] 2
  70719. Cache
  70720. .RS 2
  70721. .IP \[bu] 2
  70722. Flush the memory cache after close
  70723. .IP \[bu] 2
  70724. Purge file data on notification
  70725. .IP \[bu] 2
  70726. Always forget parent dir for notifications
  70727. .IP \[bu] 2
  70728. Integrate with Plex websocket
  70729. .IP \[bu] 2
  70730. Add rc cache/stats (seuffert)
  70731. .IP \[bu] 2
  70732. Add info log on notification
  70733. .RE
  70734. .IP \[bu] 2
  70735. Box
  70736. .RS 2
  70737. .IP \[bu] 2
  70738. Fix failure reading large directories - parse file/directory size as
  70739. float
  70740. .RE
  70741. .IP \[bu] 2
  70742. Dropbox
  70743. .RS 2
  70744. .IP \[bu] 2
  70745. Fix crypt+obfuscate on dropbox
  70746. .IP \[bu] 2
  70747. Fix repeatedly uploading the same files
  70748. .RE
  70749. .IP \[bu] 2
  70750. FTP
  70751. .RS 2
  70752. .IP \[bu] 2
  70753. Work around strange response from box FTP server
  70754. .IP \[bu] 2
  70755. More workarounds for FTP servers to fix mkParentDir error
  70756. .IP \[bu] 2
  70757. Fix no error on listing nonexistent directory
  70758. .RE
  70759. .IP \[bu] 2
  70760. Google Cloud Storage
  70761. .RS 2
  70762. .IP \[bu] 2
  70763. Add service_account_credentials (Matt Holt)
  70764. .IP \[bu] 2
  70765. Detect bucket presence by listing it - minimises permissions needed
  70766. .IP \[bu] 2
  70767. Ignore zero length directory markers
  70768. .RE
  70769. .IP \[bu] 2
  70770. Google Drive
  70771. .RS 2
  70772. .IP \[bu] 2
  70773. Add service_account_credentials (Matt Holt)
  70774. .IP \[bu] 2
  70775. Fix directory move leaving a hardlinked directory behind
  70776. .IP \[bu] 2
  70777. Return proper google errors when Opening files
  70778. .IP \[bu] 2
  70779. When initialized with a filepath, optional features used incorrect root
  70780. path (Stefan Breunig)
  70781. .RE
  70782. .IP \[bu] 2
  70783. HTTP
  70784. .RS 2
  70785. .IP \[bu] 2
  70786. Fix sync for servers which don\[aq]t return Content-Length in HEAD
  70787. .RE
  70788. .IP \[bu] 2
  70789. Onedrive
  70790. .RS 2
  70791. .IP \[bu] 2
  70792. Add QuickXorHash support for OneDrive for business
  70793. .IP \[bu] 2
  70794. Fix socket leak in multipart session upload
  70795. .RE
  70796. .IP \[bu] 2
  70797. S3
  70798. .RS 2
  70799. .IP \[bu] 2
  70800. Look in S3 named profile files for credentials
  70801. .IP \[bu] 2
  70802. Add \f[C]--s3-disable-checksum\f[R] to disable checksum uploading (Chris
  70803. Redekop)
  70804. .IP \[bu] 2
  70805. Hierarchical configuration support (Giri Badanahatti)
  70806. .IP \[bu] 2
  70807. Add in config for all the supported S3 providers
  70808. .IP \[bu] 2
  70809. Add One Zone Infrequent Access storage class (Craig Rachel)
  70810. .IP \[bu] 2
  70811. Add --use-server-modtime support (Peter Baumgartner)
  70812. .IP \[bu] 2
  70813. Add --s3-chunk-size option to control multipart uploads
  70814. .IP \[bu] 2
  70815. Ignore zero length directory markers
  70816. .RE
  70817. .IP \[bu] 2
  70818. SFTP
  70819. .RS 2
  70820. .IP \[bu] 2
  70821. Update docs to match code, fix typos and clarify disable_hashcheck
  70822. prompt (Michael G.
  70823. Noll)
  70824. .IP \[bu] 2
  70825. Update docs with Synology quirks
  70826. .IP \[bu] 2
  70827. Fail soft with a debug on hash failure
  70828. .RE
  70829. .IP \[bu] 2
  70830. Swift
  70831. .RS 2
  70832. .IP \[bu] 2
  70833. Add --use-server-modtime support (Peter Baumgartner)
  70834. .RE
  70835. .IP \[bu] 2
  70836. Webdav
  70837. .RS 2
  70838. .IP \[bu] 2
  70839. Support SharePoint cookie authentication (hensur)
  70840. .IP \[bu] 2
  70841. Strip leading and trailing / off root
  70842. .RE
  70843. .SS v1.40 - 2018-03-19
  70844. .IP \[bu] 2
  70845. New backends
  70846. .RS 2
  70847. .IP \[bu] 2
  70848. Alias backend to create aliases for existing remote names (Fabian
  70849. M\[:o]ller)
  70850. .RE
  70851. .IP \[bu] 2
  70852. New commands
  70853. .RS 2
  70854. .IP \[bu] 2
  70855. \f[C]lsf\f[R]: list for parsing purposes (Jakub Tasiemski)
  70856. .RS 2
  70857. .IP \[bu] 2
  70858. by default this is a simple non recursive list of files and directories
  70859. .IP \[bu] 2
  70860. it can be configured to add more info in an easy to parse way
  70861. .RE
  70862. .IP \[bu] 2
  70863. \f[C]serve restic\f[R]: for serving a remote as a Restic REST endpoint
  70864. .RS 2
  70865. .IP \[bu] 2
  70866. This enables restic to use any backends that rclone can access
  70867. .IP \[bu] 2
  70868. Thanks Alexander Neumann for help, patches and review
  70869. .RE
  70870. .IP \[bu] 2
  70871. \f[C]rc\f[R]: enable the remote control of a running rclone
  70872. .RS 2
  70873. .IP \[bu] 2
  70874. The running rclone must be started with --rc and related flags.
  70875. .IP \[bu] 2
  70876. Currently there is support for bwlimit, and flushing for mount and
  70877. cache.
  70878. .RE
  70879. .RE
  70880. .IP \[bu] 2
  70881. New Features
  70882. .RS 2
  70883. .IP \[bu] 2
  70884. \f[C]--max-delete\f[R] flag to add a delete threshold (Bj\[/o]rn Erik
  70885. Pedersen)
  70886. .IP \[bu] 2
  70887. All backends now support RangeOption for ranged Open
  70888. .RS 2
  70889. .IP \[bu] 2
  70890. \f[C]cat\f[R]: Use RangeOption for limited fetches to make more
  70891. efficient
  70892. .IP \[bu] 2
  70893. \f[C]cryptcheck\f[R]: make reading of nonce more efficient with
  70894. RangeOption
  70895. .RE
  70896. .IP \[bu] 2
  70897. serve http/webdav/restic
  70898. .RS 2
  70899. .IP \[bu] 2
  70900. support SSL/TLS
  70901. .IP \[bu] 2
  70902. add \f[C]--user\f[R] \f[C]--pass\f[R] and \f[C]--htpasswd\f[R] for
  70903. authentication
  70904. .RE
  70905. .IP \[bu] 2
  70906. \f[C]copy\f[R]/\f[C]move\f[R]: detect file size change during copy/move
  70907. and abort transfer (ishuah)
  70908. .IP \[bu] 2
  70909. \f[C]cryptdecode\f[R]: added option to return encrypted file names.
  70910. (ishuah)
  70911. .IP \[bu] 2
  70912. \f[C]lsjson\f[R]: add \f[C]--encrypted\f[R] to show encrypted name
  70913. (Jakub Tasiemski)
  70914. .IP \[bu] 2
  70915. Add \f[C]--stats-file-name-length\f[R] to specify the printed file name
  70916. length for stats (Will Gunn)
  70917. .RE
  70918. .IP \[bu] 2
  70919. Compile
  70920. .RS 2
  70921. .IP \[bu] 2
  70922. Code base was shuffled and factored
  70923. .RS 2
  70924. .IP \[bu] 2
  70925. backends moved into a backend directory
  70926. .IP \[bu] 2
  70927. large packages split up
  70928. .IP \[bu] 2
  70929. See the CONTRIBUTING.md doc for info as to what lives where now
  70930. .RE
  70931. .IP \[bu] 2
  70932. Update to using go1.10 as the default go version
  70933. .IP \[bu] 2
  70934. Implement daily full integration
  70935. tests (https://pub.rclone.org/integration-tests/)
  70936. .RE
  70937. .IP \[bu] 2
  70938. Release
  70939. .RS 2
  70940. .IP \[bu] 2
  70941. Include a source tarball and sign it and the binaries
  70942. .IP \[bu] 2
  70943. Sign the git tags as part of the release process
  70944. .IP \[bu] 2
  70945. Add .deb and .rpm packages as part of the build
  70946. .IP \[bu] 2
  70947. Make a beta release for all branches on the main repo (but not pull
  70948. requests)
  70949. .RE
  70950. .IP \[bu] 2
  70951. Bug Fixes
  70952. .RS 2
  70953. .IP \[bu] 2
  70954. config: fixes errors on nonexistent config by loading config file only
  70955. on first access
  70956. .IP \[bu] 2
  70957. config: retry saving the config after failure (Mateusz)
  70958. .IP \[bu] 2
  70959. sync: when using \f[C]--backup-dir\f[R] don\[aq]t delete files if we
  70960. can\[aq]t set their modtime
  70961. .RS 2
  70962. .IP \[bu] 2
  70963. this fixes odd behaviour with Dropbox and \f[C]--backup-dir\f[R]
  70964. .RE
  70965. .IP \[bu] 2
  70966. fshttp: fix idle timeouts for HTTP connections
  70967. .IP \[bu] 2
  70968. \f[C]serve http\f[R]: fix serving files with : in - fixes
  70969. .IP \[bu] 2
  70970. Fix \f[C]--exclude-if-present\f[R] to ignore directories which it
  70971. doesn\[aq]t have permission for (Iakov Davydov)
  70972. .IP \[bu] 2
  70973. Make accounting work properly with crypt and b2
  70974. .IP \[bu] 2
  70975. remove \f[C]--no-traverse\f[R] flag because it is obsolete
  70976. .RE
  70977. .IP \[bu] 2
  70978. Mount
  70979. .RS 2
  70980. .IP \[bu] 2
  70981. Add \f[C]--attr-timeout\f[R] flag to control attribute caching in kernel
  70982. .RS 2
  70983. .IP \[bu] 2
  70984. this now defaults to 0 which is correct but less efficient
  70985. .IP \[bu] 2
  70986. see the mount
  70987. docs (https://rclone.org/commands/rclone_mount/#attribute-caching) for
  70988. more info
  70989. .RE
  70990. .IP \[bu] 2
  70991. Add \f[C]--daemon\f[R] flag to allow mount to run in the background
  70992. (ishuah)
  70993. .IP \[bu] 2
  70994. Fix: Return ENOSYS rather than EIO on attempted link
  70995. .RS 2
  70996. .IP \[bu] 2
  70997. This fixes FileZilla accessing an rclone mount served over sftp.
  70998. .RE
  70999. .IP \[bu] 2
  71000. Fix setting modtime twice
  71001. .IP \[bu] 2
  71002. Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows
  71003. .IP \[bu] 2
  71004. Many bugs fixed in the VFS layer - see below
  71005. .RE
  71006. .IP \[bu] 2
  71007. VFS
  71008. .RS 2
  71009. .IP \[bu] 2
  71010. Many fixes for \f[C]--vfs-cache-mode\f[R] writes and above
  71011. .RS 2
  71012. .IP \[bu] 2
  71013. Update cached copy if we know it has changed (fixes stale data)
  71014. .IP \[bu] 2
  71015. Clean path names before using them in the cache
  71016. .IP \[bu] 2
  71017. Disable cache cleaner if \f[C]--vfs-cache-poll-interval=0\f[R]
  71018. .IP \[bu] 2
  71019. Fill and clean the cache immediately on startup
  71020. .RE
  71021. .IP \[bu] 2
  71022. Fix Windows opening every file when it stats the file
  71023. .IP \[bu] 2
  71024. Fix applying modtime for an open Write Handle
  71025. .IP \[bu] 2
  71026. Fix creation of files when truncating
  71027. .IP \[bu] 2
  71028. Write 0 bytes when flushing unwritten handles to avoid race conditions
  71029. in FUSE
  71030. .IP \[bu] 2
  71031. Downgrade \[dq]poll-interval is not supported\[dq] message to Info
  71032. .IP \[bu] 2
  71033. Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
  71034. .RE
  71035. .IP \[bu] 2
  71036. Local
  71037. .RS 2
  71038. .IP \[bu] 2
  71039. Downgrade \[dq]invalid cross-device link: trying copy\[dq] to debug
  71040. .IP \[bu] 2
  71041. Make DirMove return fs.ErrorCantDirMove to allow fallback to Copy for
  71042. cross device
  71043. .IP \[bu] 2
  71044. Fix race conditions updating the hashes
  71045. .RE
  71046. .IP \[bu] 2
  71047. Cache
  71048. .RS 2
  71049. .IP \[bu] 2
  71050. Add support for polling - cache will update when remote changes on
  71051. supported backends
  71052. .IP \[bu] 2
  71053. Reduce log level for Plex api
  71054. .IP \[bu] 2
  71055. Fix dir cache issue
  71056. .IP \[bu] 2
  71057. Implement \f[C]--cache-db-wait-time\f[R] flag
  71058. .IP \[bu] 2
  71059. Improve efficiency with RangeOption and RangeSeek
  71060. .IP \[bu] 2
  71061. Fix dirmove with temp fs enabled
  71062. .IP \[bu] 2
  71063. Notify vfs when using temp fs
  71064. .IP \[bu] 2
  71065. Offline uploading
  71066. .IP \[bu] 2
  71067. Remote control support for path flushing
  71068. .RE
  71069. .IP \[bu] 2
  71070. Amazon cloud drive
  71071. .RS 2
  71072. .IP \[bu] 2
  71073. Rclone no longer has any working keys - disable integration tests
  71074. .IP \[bu] 2
  71075. Implement DirChangeNotify to notify cache/vfs/mount of changes
  71076. .RE
  71077. .IP \[bu] 2
  71078. Azureblob
  71079. .RS 2
  71080. .IP \[bu] 2
  71081. Don\[aq]t check for bucket/container presence if listing was OK
  71082. .RS 2
  71083. .IP \[bu] 2
  71084. this makes rclone do one less request per invocation
  71085. .RE
  71086. .IP \[bu] 2
  71087. Improve accounting for chunked uploads
  71088. .RE
  71089. .IP \[bu] 2
  71090. Backblaze B2
  71091. .RS 2
  71092. .IP \[bu] 2
  71093. Don\[aq]t check for bucket/container presence if listing was OK
  71094. .RS 2
  71095. .IP \[bu] 2
  71096. this makes rclone do one less request per invocation
  71097. .RE
  71098. .RE
  71099. .IP \[bu] 2
  71100. Box
  71101. .RS 2
  71102. .IP \[bu] 2
  71103. Improve accounting for chunked uploads
  71104. .RE
  71105. .IP \[bu] 2
  71106. Dropbox
  71107. .RS 2
  71108. .IP \[bu] 2
  71109. Fix custom oauth client parameters
  71110. .RE
  71111. .IP \[bu] 2
  71112. Google Cloud Storage
  71113. .RS 2
  71114. .IP \[bu] 2
  71115. Don\[aq]t check for bucket/container presence if listing was OK
  71116. .RS 2
  71117. .IP \[bu] 2
  71118. this makes rclone do one less request per invocation
  71119. .RE
  71120. .RE
  71121. .IP \[bu] 2
  71122. Google Drive
  71123. .RS 2
  71124. .IP \[bu] 2
  71125. Migrate to api v3 (Fabian M\[:o]ller)
  71126. .IP \[bu] 2
  71127. Add scope configuration and root folder selection
  71128. .IP \[bu] 2
  71129. Add \f[C]--drive-impersonate\f[R] for service accounts
  71130. .RS 2
  71131. .IP \[bu] 2
  71132. thanks to everyone who tested, explored and contributed docs
  71133. .RE
  71134. .IP \[bu] 2
  71135. Add \f[C]--drive-use-created-date\f[R] to use created date as modified
  71136. date (nbuchanan)
  71137. .IP \[bu] 2
  71138. Request the export formats only when required
  71139. .RS 2
  71140. .IP \[bu] 2
  71141. This makes rclone quicker when there are no google docs
  71142. .RE
  71143. .IP \[bu] 2
  71144. Fix finding paths with latin1 chars (a workaround for a drive bug)
  71145. .IP \[bu] 2
  71146. Fix copying of a single Google doc file
  71147. .IP \[bu] 2
  71148. Fix \f[C]--drive-auth-owner-only\f[R] to look in all directories
  71149. .RE
  71150. .IP \[bu] 2
  71151. HTTP
  71152. .RS 2
  71153. .IP \[bu] 2
  71154. Fix handling of directories with & in
  71155. .RE
  71156. .IP \[bu] 2
  71157. Onedrive
  71158. .RS 2
  71159. .IP \[bu] 2
  71160. Removed upload cutoff and always do session uploads
  71161. .RS 2
  71162. .IP \[bu] 2
  71163. this stops the creation of multiple versions on business onedrive
  71164. .RE
  71165. .IP \[bu] 2
  71166. Overwrite object size value with real size when reading file.
  71167. (Victor)
  71168. .RS 2
  71169. .IP \[bu] 2
  71170. this fixes oddities when onedrive misreports the size of images
  71171. .RE
  71172. .RE
  71173. .IP \[bu] 2
  71174. Pcloud
  71175. .RS 2
  71176. .IP \[bu] 2
  71177. Remove unused chunked upload flag and code
  71178. .RE
  71179. .IP \[bu] 2
  71180. Qingstor
  71181. .RS 2
  71182. .IP \[bu] 2
  71183. Don\[aq]t check for bucket/container presence if listing was OK
  71184. .RS 2
  71185. .IP \[bu] 2
  71186. this makes rclone do one less request per invocation
  71187. .RE
  71188. .RE
  71189. .IP \[bu] 2
  71190. S3
  71191. .RS 2
  71192. .IP \[bu] 2
  71193. Support hashes for multipart files (Chris Redekop)
  71194. .IP \[bu] 2
  71195. Initial support for IBM COS (S3) (Giri Badanahatti)
  71196. .IP \[bu] 2
  71197. Update docs to discourage use of v2 auth with CEPH and others
  71198. .IP \[bu] 2
  71199. Don\[aq]t check for bucket/container presence if listing was OK
  71200. .RS 2
  71201. .IP \[bu] 2
  71202. this makes rclone do one less request per invocation
  71203. .RE
  71204. .IP \[bu] 2
  71205. Fix server-side copy and set modtime on files with + in
  71206. .RE
  71207. .IP \[bu] 2
  71208. SFTP
  71209. .RS 2
  71210. .IP \[bu] 2
  71211. Add option to disable remote hash check command execution (Jon Fautley)
  71212. .IP \[bu] 2
  71213. Add \f[C]--sftp-ask-password\f[R] flag to prompt for password when
  71214. needed (Leo R.
  71215. Lundgren)
  71216. .IP \[bu] 2
  71217. Add \f[C]set_modtime\f[R] configuration option
  71218. .IP \[bu] 2
  71219. Fix following of symlinks
  71220. .IP \[bu] 2
  71221. Fix reading config file outside of Fs setup
  71222. .IP \[bu] 2
  71223. Fix reading $USER in username fallback not $HOME
  71224. .IP \[bu] 2
  71225. Fix running under crontab - Use correct OS way of reading username
  71226. .RE
  71227. .IP \[bu] 2
  71228. Swift
  71229. .RS 2
  71230. .IP \[bu] 2
  71231. Fix refresh of authentication token
  71232. .RS 2
  71233. .IP \[bu] 2
  71234. in v1.39 a bug was introduced which ignored new tokens - this fixes it
  71235. .RE
  71236. .IP \[bu] 2
  71237. Fix extra HEAD transaction when uploading a new file
  71238. .IP \[bu] 2
  71239. Don\[aq]t check for bucket/container presence if listing was OK
  71240. .RS 2
  71241. .IP \[bu] 2
  71242. this makes rclone do one less request per invocation
  71243. .RE
  71244. .RE
  71245. .IP \[bu] 2
  71246. Webdav
  71247. .RS 2
  71248. .IP \[bu] 2
  71249. Add new time formats to support mydrive.ch and others
  71250. .RE
  71251. .SS v1.39 - 2017-12-23
  71252. .IP \[bu] 2
  71253. New backends
  71254. .RS 2
  71255. .IP \[bu] 2
  71256. WebDAV
  71257. .RS 2
  71258. .IP \[bu] 2
  71259. tested with nextcloud, owncloud, put.io and others!
  71260. .RE
  71261. .IP \[bu] 2
  71262. Pcloud
  71263. .IP \[bu] 2
  71264. cache - wraps a cache around other backends (Remus Bunduc)
  71265. .RS 2
  71266. .IP \[bu] 2
  71267. useful in combination with mount
  71268. .IP \[bu] 2
  71269. NB this feature is in beta so use with care
  71270. .RE
  71271. .RE
  71272. .IP \[bu] 2
  71273. New commands
  71274. .RS 2
  71275. .IP \[bu] 2
  71276. serve command with subcommands:
  71277. .RS 2
  71278. .IP \[bu] 2
  71279. serve webdav: this implements a webdav server for any rclone remote.
  71280. .IP \[bu] 2
  71281. serve http: command to serve a remote over HTTP
  71282. .RE
  71283. .IP \[bu] 2
  71284. config: add sub commands for full config file management
  71285. .RS 2
  71286. .IP \[bu] 2
  71287. create/delete/dump/edit/file/password/providers/show/update
  71288. .RE
  71289. .IP \[bu] 2
  71290. touch: to create or update the timestamp of a file (Jakub Tasiemski)
  71291. .RE
  71292. .IP \[bu] 2
  71293. New Features
  71294. .RS 2
  71295. .IP \[bu] 2
  71296. curl install for rclone (Filip Bartodziej)
  71297. .IP \[bu] 2
  71298. --stats now shows percentage, size, rate and ETA in condensed form
  71299. (Ishuah Kariuki)
  71300. .IP \[bu] 2
  71301. --exclude-if-present to exclude a directory if a file is present (Iakov
  71302. Davydov)
  71303. .IP \[bu] 2
  71304. rmdirs: add --leave-root flag (lewapm)
  71305. .IP \[bu] 2
  71306. move: add --delete-empty-src-dirs flag to remove dirs after move (Ishuah
  71307. Kariuki)
  71308. .IP \[bu] 2
  71309. Add --dump flag, introduce --dump requests, responses and remove
  71310. --dump-auth, --dump-filters
  71311. .RS 2
  71312. .IP \[bu] 2
  71313. Obscure X-Auth-Token: from headers when dumping too
  71314. .RE
  71315. .IP \[bu] 2
  71316. Document and implement exit codes for different failure modes (Ishuah
  71317. Kariuki)
  71318. .RE
  71319. .IP \[bu] 2
  71320. Compile
  71321. .IP \[bu] 2
  71322. Bug Fixes
  71323. .RS 2
  71324. .IP \[bu] 2
  71325. Retry lots more different types of errors to make multipart transfers
  71326. more reliable
  71327. .IP \[bu] 2
  71328. Save the config before asking for a token, fixes disappearing oauth
  71329. config
  71330. .IP \[bu] 2
  71331. Warn the user if --include and --exclude are used together (Ernest
  71332. Borowski)
  71333. .IP \[bu] 2
  71334. Fix duplicate files (e.g.
  71335. on Google drive) causing spurious copies
  71336. .IP \[bu] 2
  71337. Allow trailing and leading whitespace for passwords (Jason Rose)
  71338. .IP \[bu] 2
  71339. ncdu: fix crashes on empty directories
  71340. .IP \[bu] 2
  71341. rcat: fix goroutine leak
  71342. .IP \[bu] 2
  71343. moveto/copyto: Fix to allow copying to the same name
  71344. .RE
  71345. .IP \[bu] 2
  71346. Mount
  71347. .RS 2
  71348. .IP \[bu] 2
  71349. --vfs-cache mode to make writes into mounts more reliable.
  71350. .RS 2
  71351. .IP \[bu] 2
  71352. this requires caching files on the disk (see --cache-dir)
  71353. .IP \[bu] 2
  71354. As this is a new feature, use with care
  71355. .RE
  71356. .IP \[bu] 2
  71357. Use sdnotify to signal systemd the mount is ready (Fabian M\[:o]ller)
  71358. .IP \[bu] 2
  71359. Check if directory is not empty before mounting (Ernest Borowski)
  71360. .RE
  71361. .IP \[bu] 2
  71362. Local
  71363. .RS 2
  71364. .IP \[bu] 2
  71365. Add error message for cross file system moves
  71366. .IP \[bu] 2
  71367. Fix equality check for times
  71368. .RE
  71369. .IP \[bu] 2
  71370. Dropbox
  71371. .RS 2
  71372. .IP \[bu] 2
  71373. Rework multipart upload
  71374. .RS 2
  71375. .IP \[bu] 2
  71376. buffer the chunks when uploading large files so they can be retried
  71377. .IP \[bu] 2
  71378. change default chunk size to 48MB now we are buffering them in memory
  71379. .IP \[bu] 2
  71380. retry every error after the first chunk is done successfully
  71381. .RE
  71382. .IP \[bu] 2
  71383. Fix error when renaming directories
  71384. .RE
  71385. .IP \[bu] 2
  71386. Swift
  71387. .RS 2
  71388. .IP \[bu] 2
  71389. Fix crash on bad authentication
  71390. .RE
  71391. .IP \[bu] 2
  71392. Google Drive
  71393. .RS 2
  71394. .IP \[bu] 2
  71395. Add service account support (Tim Cooijmans)
  71396. .RE
  71397. .IP \[bu] 2
  71398. S3
  71399. .RS 2
  71400. .IP \[bu] 2
  71401. Make it work properly with Digital Ocean Spaces (Andrew
  71402. Starr-Bochicchio)
  71403. .IP \[bu] 2
  71404. Fix crash if a bad listing is received
  71405. .IP \[bu] 2
  71406. Add support for ECS task IAM roles (David Minor)
  71407. .RE
  71408. .IP \[bu] 2
  71409. Backblaze B2
  71410. .RS 2
  71411. .IP \[bu] 2
  71412. Fix multipart upload retries
  71413. .IP \[bu] 2
  71414. Fix --hard-delete to make it work 100% of the time
  71415. .RE
  71416. .IP \[bu] 2
  71417. Swift
  71418. .RS 2
  71419. .IP \[bu] 2
  71420. Allow authentication with storage URL and auth key (Giovanni Pizzi)
  71421. .IP \[bu] 2
  71422. Add new fields for swift configuration to support IBM Bluemix Swift
  71423. (Pierre Carlson)
  71424. .IP \[bu] 2
  71425. Add OS_TENANT_ID and OS_USER_ID to config
  71426. .IP \[bu] 2
  71427. Allow configs with user id instead of user name
  71428. .IP \[bu] 2
  71429. Check if swift segments container exists before creating (John Leach)
  71430. .IP \[bu] 2
  71431. Fix memory leak in swift transfers (upstream fix)
  71432. .RE
  71433. .IP \[bu] 2
  71434. SFTP
  71435. .RS 2
  71436. .IP \[bu] 2
  71437. Add option to enable the use of aes128-cbc cipher (Jon Fautley)
  71438. .RE
  71439. .IP \[bu] 2
  71440. Amazon cloud drive
  71441. .RS 2
  71442. .IP \[bu] 2
  71443. Fix download of large files failing with \[dq]Only one auth mechanism
  71444. allowed\[dq]
  71445. .RE
  71446. .IP \[bu] 2
  71447. crypt
  71448. .RS 2
  71449. .IP \[bu] 2
  71450. Option to encrypt directory names or leave them intact
  71451. .IP \[bu] 2
  71452. Implement DirChangeNotify (Fabian M\[:o]ller)
  71453. .RE
  71454. .IP \[bu] 2
  71455. onedrive
  71456. .RS 2
  71457. .IP \[bu] 2
  71458. Add option to choose resourceURL during setup of OneDrive Business
  71459. account if more than one is available for user
  71460. .RE
  71461. .SS v1.38 - 2017-09-30
  71462. .IP \[bu] 2
  71463. New backends
  71464. .RS 2
  71465. .IP \[bu] 2
  71466. Azure Blob Storage (thanks Andrei Dragomir)
  71467. .IP \[bu] 2
  71468. Box
  71469. .IP \[bu] 2
  71470. Onedrive for Business (thanks Oliver Heyme)
  71471. .IP \[bu] 2
  71472. QingStor from QingCloud (thanks wuyu)
  71473. .RE
  71474. .IP \[bu] 2
  71475. New commands
  71476. .RS 2
  71477. .IP \[bu] 2
  71478. \f[C]rcat\f[R] - read from standard input and stream upload
  71479. .IP \[bu] 2
  71480. \f[C]tree\f[R] - shows a nicely formatted recursive listing
  71481. .IP \[bu] 2
  71482. \f[C]cryptdecode\f[R] - decode encrypted file names (thanks ishuah)
  71483. .IP \[bu] 2
  71484. \f[C]config show\f[R] - print the config file
  71485. .IP \[bu] 2
  71486. \f[C]config file\f[R] - print the config file location
  71487. .RE
  71488. .IP \[bu] 2
  71489. New Features
  71490. .RS 2
  71491. .IP \[bu] 2
  71492. Empty directories are deleted on \f[C]sync\f[R]
  71493. .IP \[bu] 2
  71494. \f[C]dedupe\f[R] - implement merging of duplicate directories
  71495. .IP \[bu] 2
  71496. \f[C]check\f[R] and \f[C]cryptcheck\f[R] made more consistent and use
  71497. less memory
  71498. .IP \[bu] 2
  71499. \f[C]cleanup\f[R] for remaining remotes (thanks ishuah)
  71500. .IP \[bu] 2
  71501. \f[C]--immutable\f[R] for ensuring that files don\[aq]t change (thanks
  71502. Jacob McNamee)
  71503. .IP \[bu] 2
  71504. \f[C]--user-agent\f[R] option (thanks Alex McGrath Kraak)
  71505. .IP \[bu] 2
  71506. \f[C]--disable\f[R] flag to disable optional features
  71507. .IP \[bu] 2
  71508. \f[C]--bind\f[R] flag for choosing the local addr on outgoing
  71509. connections
  71510. .IP \[bu] 2
  71511. Support for zsh auto-completion (thanks bpicode)
  71512. .IP \[bu] 2
  71513. Stop normalizing file names but do a normalized compare in
  71514. \f[C]sync\f[R]
  71515. .RE
  71516. .IP \[bu] 2
  71517. Compile
  71518. .RS 2
  71519. .IP \[bu] 2
  71520. Update to using go1.9 as the default go version
  71521. .IP \[bu] 2
  71522. Remove snapd build due to maintenance problems
  71523. .RE
  71524. .IP \[bu] 2
  71525. Bug Fixes
  71526. .RS 2
  71527. .IP \[bu] 2
  71528. Improve retriable error detection which makes multipart uploads better
  71529. .IP \[bu] 2
  71530. Make \f[C]check\f[R] obey \f[C]--ignore-size\f[R]
  71531. .IP \[bu] 2
  71532. Fix bwlimit toggle in conjunction with schedules (thanks cbruegg)
  71533. .IP \[bu] 2
  71534. \f[C]config\f[R] ensures newly written config is on the same mount
  71535. .RE
  71536. .IP \[bu] 2
  71537. Local
  71538. .RS 2
  71539. .IP \[bu] 2
  71540. Revert to copy when moving file across file system boundaries
  71541. .IP \[bu] 2
  71542. \f[C]--skip-links\f[R] to suppress symlink warnings (thanks Zhiming
  71543. Wang)
  71544. .RE
  71545. .IP \[bu] 2
  71546. Mount
  71547. .RS 2
  71548. .IP \[bu] 2
  71549. Reuse \f[C]rcat\f[R] internals to support uploads from all remotes
  71550. .RE
  71551. .IP \[bu] 2
  71552. Dropbox
  71553. .RS 2
  71554. .IP \[bu] 2
  71555. Fix \[dq]entry doesn\[aq]t belong in directory\[dq] error
  71556. .IP \[bu] 2
  71557. Stop using deprecated API methods
  71558. .RE
  71559. .IP \[bu] 2
  71560. Swift
  71561. .RS 2
  71562. .IP \[bu] 2
  71563. Fix server-side copy to empty container with \f[C]--fast-list\f[R]
  71564. .RE
  71565. .IP \[bu] 2
  71566. Google Drive
  71567. .RS 2
  71568. .IP \[bu] 2
  71569. Change the default for \f[C]--drive-use-trash\f[R] to \f[C]true\f[R]
  71570. .RE
  71571. .IP \[bu] 2
  71572. S3
  71573. .RS 2
  71574. .IP \[bu] 2
  71575. Set session token when using STS (thanks Girish Ramakrishnan)
  71576. .IP \[bu] 2
  71577. Glacier docs and error messages (thanks Jan Varho)
  71578. .IP \[bu] 2
  71579. Read 1000 (not 1024) items in dir listings to fix Wasabi
  71580. .RE
  71581. .IP \[bu] 2
  71582. Backblaze B2
  71583. .RS 2
  71584. .IP \[bu] 2
  71585. Fix SHA1 mismatch when downloading files with no SHA1
  71586. .IP \[bu] 2
  71587. Calculate missing hashes on the fly instead of spooling
  71588. .IP \[bu] 2
  71589. \f[C]--b2-hard-delete\f[R] to permanently delete (not hide) files
  71590. (thanks John Papandriopoulos)
  71591. .RE
  71592. .IP \[bu] 2
  71593. Hubic
  71594. .RS 2
  71595. .IP \[bu] 2
  71596. Fix creating containers - no longer have to use the \f[C]default\f[R]
  71597. container
  71598. .RE
  71599. .IP \[bu] 2
  71600. Swift
  71601. .RS 2
  71602. .IP \[bu] 2
  71603. Optionally configure from a standard set of OpenStack environment vars
  71604. .IP \[bu] 2
  71605. Add \f[C]endpoint_type\f[R] config
  71606. .RE
  71607. .IP \[bu] 2
  71608. Google Cloud Storage
  71609. .RS 2
  71610. .IP \[bu] 2
  71611. Fix bucket creation to work with limited permission users
  71612. .RE
  71613. .IP \[bu] 2
  71614. SFTP
  71615. .RS 2
  71616. .IP \[bu] 2
  71617. Implement connection pooling for multiple ssh connections
  71618. .IP \[bu] 2
  71619. Limit new connections per second
  71620. .IP \[bu] 2
  71621. Add support for MD5 and SHA1 hashes where available (thanks Christian
  71622. Br\[:u]ggemann)
  71623. .RE
  71624. .IP \[bu] 2
  71625. HTTP
  71626. .RS 2
  71627. .IP \[bu] 2
  71628. Fix URL encoding issues
  71629. .IP \[bu] 2
  71630. Fix directories with \f[C]:\f[R] in
  71631. .IP \[bu] 2
  71632. Fix panic with URL encoded content
  71633. .RE
  71634. .SS v1.37 - 2017-07-22
  71635. .IP \[bu] 2
  71636. New backends
  71637. .RS 2
  71638. .IP \[bu] 2
  71639. FTP - thanks to Antonio Messina
  71640. .IP \[bu] 2
  71641. HTTP - thanks to Vasiliy Tolstov
  71642. .RE
  71643. .IP \[bu] 2
  71644. New commands
  71645. .RS 2
  71646. .IP \[bu] 2
  71647. rclone ncdu - for exploring a remote with a text based user interface.
  71648. .IP \[bu] 2
  71649. rclone lsjson - for listing with a machine-readable output
  71650. .IP \[bu] 2
  71651. rclone dbhashsum - to show Dropbox style hashes of files (local or
  71652. Dropbox)
  71653. .RE
  71654. .IP \[bu] 2
  71655. New Features
  71656. .RS 2
  71657. .IP \[bu] 2
  71658. Implement --fast-list flag
  71659. .RS 2
  71660. .IP \[bu] 2
  71661. This allows remotes to list recursively if they can
  71662. .IP \[bu] 2
  71663. This uses less transactions (important if you pay for them)
  71664. .IP \[bu] 2
  71665. This may or may not be quicker
  71666. .IP \[bu] 2
  71667. This will use more memory as it has to hold the listing in memory
  71668. .IP \[bu] 2
  71669. --old-sync-method deprecated - the remaining uses are covered by
  71670. --fast-list
  71671. .IP \[bu] 2
  71672. This involved a major re-write of all the listing code
  71673. .RE
  71674. .IP \[bu] 2
  71675. Add --tpslimit and --tpslimit-burst to limit transactions per second
  71676. .RS 2
  71677. .IP \[bu] 2
  71678. this is useful in conjunction with \f[C]rclone mount\f[R] to limit
  71679. external apps
  71680. .RE
  71681. .IP \[bu] 2
  71682. Add --stats-log-level so can see --stats without -v
  71683. .IP \[bu] 2
  71684. Print password prompts to stderr - Hraban Luyat
  71685. .IP \[bu] 2
  71686. Warn about duplicate files when syncing
  71687. .IP \[bu] 2
  71688. Oauth improvements
  71689. .RS 2
  71690. .IP \[bu] 2
  71691. allow auth_url and token_url to be set in the config file
  71692. .IP \[bu] 2
  71693. Print redirection URI if using own credentials.
  71694. .RE
  71695. .IP \[bu] 2
  71696. Don\[aq]t Mkdir at the start of sync to save transactions
  71697. .RE
  71698. .IP \[bu] 2
  71699. Compile
  71700. .RS 2
  71701. .IP \[bu] 2
  71702. Update build to go1.8.3
  71703. .IP \[bu] 2
  71704. Require go1.6 for building rclone
  71705. .IP \[bu] 2
  71706. Compile 386 builds with \[dq]GO386=387\[dq] for maximum compatibility
  71707. .RE
  71708. .IP \[bu] 2
  71709. Bug Fixes
  71710. .RS 2
  71711. .IP \[bu] 2
  71712. Fix menu selection when no remotes
  71713. .IP \[bu] 2
  71714. Config saving reworked to not kill the file if disk gets full
  71715. .IP \[bu] 2
  71716. Don\[aq]t delete remote if name does not change while renaming
  71717. .IP \[bu] 2
  71718. moveto, copyto: report transfers and checks as per move and copy
  71719. .RE
  71720. .IP \[bu] 2
  71721. Local
  71722. .RS 2
  71723. .IP \[bu] 2
  71724. Add --local-no-unicode-normalization flag - Bob Potter
  71725. .RE
  71726. .IP \[bu] 2
  71727. Mount
  71728. .RS 2
  71729. .IP \[bu] 2
  71730. Now supported on Windows using cgofuse and WinFsp - thanks to Bill
  71731. Zissimopoulos for much help
  71732. .IP \[bu] 2
  71733. Compare checksums on upload/download via FUSE
  71734. .IP \[bu] 2
  71735. Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM -
  71736. J\['e]r\[^o]me Vizcaino
  71737. .IP \[bu] 2
  71738. On read only open of file, make open pending until first read
  71739. .IP \[bu] 2
  71740. Make --read-only reject modify operations
  71741. .IP \[bu] 2
  71742. Implement ModTime via FUSE for remotes that support it
  71743. .IP \[bu] 2
  71744. Allow modTime to be changed even before all writers are closed
  71745. .IP \[bu] 2
  71746. Fix panic on renames
  71747. .IP \[bu] 2
  71748. Fix hang on errored upload
  71749. .RE
  71750. .IP \[bu] 2
  71751. Crypt
  71752. .RS 2
  71753. .IP \[bu] 2
  71754. Report the name:root as specified by the user
  71755. .IP \[bu] 2
  71756. Add an \[dq]obfuscate\[dq] option for filename encryption - Stephen
  71757. Harris
  71758. .RE
  71759. .IP \[bu] 2
  71760. Amazon Drive
  71761. .RS 2
  71762. .IP \[bu] 2
  71763. Fix initialization order for token renewer
  71764. .IP \[bu] 2
  71765. Remove revoked credentials, allow oauth proxy config and update docs
  71766. .RE
  71767. .IP \[bu] 2
  71768. B2
  71769. .RS 2
  71770. .IP \[bu] 2
  71771. Reduce minimum chunk size to 5MB
  71772. .RE
  71773. .IP \[bu] 2
  71774. Drive
  71775. .RS 2
  71776. .IP \[bu] 2
  71777. Add team drive support
  71778. .IP \[bu] 2
  71779. Reduce bandwidth by adding fields for partial responses - Martin
  71780. Kristensen
  71781. .IP \[bu] 2
  71782. Implement --drive-shared-with-me flag to view shared with me files -
  71783. Danny Tsai
  71784. .IP \[bu] 2
  71785. Add --drive-trashed-only to read only the files in the trash
  71786. .IP \[bu] 2
  71787. Remove obsolete --drive-full-list
  71788. .IP \[bu] 2
  71789. Add missing seek to start on retries of chunked uploads
  71790. .IP \[bu] 2
  71791. Fix stats accounting for upload
  71792. .IP \[bu] 2
  71793. Convert / in names to a unicode equivalent (\[uFF0F])
  71794. .IP \[bu] 2
  71795. Poll for Google Drive changes when mounted
  71796. .RE
  71797. .IP \[bu] 2
  71798. OneDrive
  71799. .RS 2
  71800. .IP \[bu] 2
  71801. Fix the uploading of files with spaces
  71802. .IP \[bu] 2
  71803. Fix initialization order for token renewer
  71804. .IP \[bu] 2
  71805. Display speeds accurately when uploading - Yoni Jah
  71806. .IP \[bu] 2
  71807. Swap to using http://localhost:53682/ as redirect URL - Michael Ledin
  71808. .IP \[bu] 2
  71809. Retry on token expired error, reset upload body on retry - Yoni Jah
  71810. .RE
  71811. .IP \[bu] 2
  71812. Google Cloud Storage
  71813. .RS 2
  71814. .IP \[bu] 2
  71815. Add ability to specify location and storage class via config and command
  71816. line - thanks gdm85
  71817. .IP \[bu] 2
  71818. Create container if necessary on server-side copy
  71819. .IP \[bu] 2
  71820. Increase directory listing chunk to 1000 to increase performance
  71821. .IP \[bu] 2
  71822. Obtain a refresh token for GCS - Steven Lu
  71823. .RE
  71824. .IP \[bu] 2
  71825. Yandex
  71826. .RS 2
  71827. .IP \[bu] 2
  71828. Fix the name reported in log messages (was empty)
  71829. .IP \[bu] 2
  71830. Correct error return for listing empty directory
  71831. .RE
  71832. .IP \[bu] 2
  71833. Dropbox
  71834. .RS 2
  71835. .IP \[bu] 2
  71836. Rewritten to use the v2 API
  71837. .RS 2
  71838. .IP \[bu] 2
  71839. Now supports ModTime
  71840. .RS 2
  71841. .IP \[bu] 2
  71842. Can only set by uploading the file again
  71843. .IP \[bu] 2
  71844. If you uploaded with an old rclone, rclone may upload everything again
  71845. .IP \[bu] 2
  71846. Use \f[C]--size-only\f[R] or \f[C]--checksum\f[R] to avoid this
  71847. .RE
  71848. .IP \[bu] 2
  71849. Now supports the Dropbox content hashing scheme
  71850. .IP \[bu] 2
  71851. Now supports low level retries
  71852. .RE
  71853. .RE
  71854. .IP \[bu] 2
  71855. S3
  71856. .RS 2
  71857. .IP \[bu] 2
  71858. Work around eventual consistency in bucket creation
  71859. .IP \[bu] 2
  71860. Create container if necessary on server-side copy
  71861. .IP \[bu] 2
  71862. Add us-east-2 (Ohio) and eu-west-2 (London) S3 regions - Zahiar Ahmed
  71863. .RE
  71864. .IP \[bu] 2
  71865. Swift, Hubic
  71866. .RS 2
  71867. .IP \[bu] 2
  71868. Fix zero length directory markers showing in the subdirectory listing
  71869. .RS 2
  71870. .IP \[bu] 2
  71871. this caused lots of duplicate transfers
  71872. .RE
  71873. .IP \[bu] 2
  71874. Fix paged directory listings
  71875. .RS 2
  71876. .IP \[bu] 2
  71877. this caused duplicate directory errors
  71878. .RE
  71879. .IP \[bu] 2
  71880. Create container if necessary on server-side copy
  71881. .IP \[bu] 2
  71882. Increase directory listing chunk to 1000 to increase performance
  71883. .IP \[bu] 2
  71884. Make sensible error if the user forgets the container
  71885. .RE
  71886. .IP \[bu] 2
  71887. SFTP
  71888. .RS 2
  71889. .IP \[bu] 2
  71890. Add support for using ssh key files
  71891. .IP \[bu] 2
  71892. Fix under Windows
  71893. .IP \[bu] 2
  71894. Fix ssh agent on Windows
  71895. .IP \[bu] 2
  71896. Adapt to latest version of library - Igor Kharin
  71897. .RE
  71898. .SS v1.36 - 2017-03-18
  71899. .IP \[bu] 2
  71900. New Features
  71901. .RS 2
  71902. .IP \[bu] 2
  71903. SFTP remote (Jack Schmidt)
  71904. .IP \[bu] 2
  71905. Re-implement sync routine to work a directory at a time reducing memory
  71906. usage
  71907. .IP \[bu] 2
  71908. Logging revamped to be more inline with rsync - now much quieter * -v
  71909. only shows transfers * -vv is for full debug * --syslog to log to syslog
  71910. on capable platforms
  71911. .IP \[bu] 2
  71912. Implement --backup-dir and --suffix
  71913. .IP \[bu] 2
  71914. Implement --track-renames (initial implementation by Bj\[/o]rn Erik
  71915. Pedersen)
  71916. .IP \[bu] 2
  71917. Add time-based bandwidth limits (Lukas Loesche)
  71918. .IP \[bu] 2
  71919. rclone cryptcheck: checks integrity of crypt remotes
  71920. .IP \[bu] 2
  71921. Allow all config file variables and options to be set from environment
  71922. variables
  71923. .IP \[bu] 2
  71924. Add --buffer-size parameter to control buffer size for copy
  71925. .IP \[bu] 2
  71926. Make --delete-after the default
  71927. .IP \[bu] 2
  71928. Add --ignore-checksum flag (fixed by Hisham Zarka)
  71929. .IP \[bu] 2
  71930. rclone check: Add --download flag to check all the data, not just hashes
  71931. .IP \[bu] 2
  71932. rclone cat: add --head, --tail, --offset, --count and --discard
  71933. .IP \[bu] 2
  71934. rclone config: when choosing from a list, allow the value to be entered
  71935. too
  71936. .IP \[bu] 2
  71937. rclone config: allow rename and copy of remotes
  71938. .IP \[bu] 2
  71939. rclone obscure: for generating encrypted passwords for rclone\[aq]s
  71940. config (T.C.
  71941. Ferguson)
  71942. .IP \[bu] 2
  71943. Comply with XDG Base Directory specification (Dario Giovannetti)
  71944. .RS 2
  71945. .IP \[bu] 2
  71946. this moves the default location of the config file in a backwards
  71947. compatible way
  71948. .RE
  71949. .IP \[bu] 2
  71950. Release changes
  71951. .RS 2
  71952. .IP \[bu] 2
  71953. Ubuntu snap support (Dedsec1)
  71954. .IP \[bu] 2
  71955. Compile with go 1.8
  71956. .IP \[bu] 2
  71957. MIPS/Linux big and little endian support
  71958. .RE
  71959. .RE
  71960. .IP \[bu] 2
  71961. Bug Fixes
  71962. .RS 2
  71963. .IP \[bu] 2
  71964. Fix copyto copying things to the wrong place if the destination dir
  71965. didn\[aq]t exist
  71966. .IP \[bu] 2
  71967. Fix parsing of remotes in moveto and copyto
  71968. .IP \[bu] 2
  71969. Fix --delete-before deleting files on copy
  71970. .IP \[bu] 2
  71971. Fix --files-from with an empty file copying everything
  71972. .IP \[bu] 2
  71973. Fix sync: don\[aq]t update mod times if --dry-run set
  71974. .IP \[bu] 2
  71975. Fix MimeType propagation
  71976. .IP \[bu] 2
  71977. Fix filters to add ** rules to directory rules
  71978. .RE
  71979. .IP \[bu] 2
  71980. Local
  71981. .RS 2
  71982. .IP \[bu] 2
  71983. Implement -L, --copy-links flag to allow rclone to follow symlinks
  71984. .IP \[bu] 2
  71985. Open files in write only mode so rclone can write to an rclone mount
  71986. .IP \[bu] 2
  71987. Fix unnormalised unicode causing problems reading directories
  71988. .IP \[bu] 2
  71989. Fix interaction between -x flag and --max-depth
  71990. .RE
  71991. .IP \[bu] 2
  71992. Mount
  71993. .RS 2
  71994. .IP \[bu] 2
  71995. Implement proper directory handling (mkdir, rmdir, renaming)
  71996. .IP \[bu] 2
  71997. Make include and exclude filters apply to mount
  71998. .IP \[bu] 2
  71999. Implement read and write async buffers - control with --buffer-size
  72000. .IP \[bu] 2
  72001. Fix fsync on for directories
  72002. .IP \[bu] 2
  72003. Fix retry on network failure when reading off crypt
  72004. .RE
  72005. .IP \[bu] 2
  72006. Crypt
  72007. .RS 2
  72008. .IP \[bu] 2
  72009. Add --crypt-show-mapping to show encrypted file mapping
  72010. .IP \[bu] 2
  72011. Fix crypt writer getting stuck in a loop
  72012. .RS 2
  72013. .IP \[bu] 2
  72014. \f[B]IMPORTANT\f[R] this bug had the potential to cause data corruption
  72015. when
  72016. .RS 2
  72017. .IP \[bu] 2
  72018. reading data from a network based remote and
  72019. .IP \[bu] 2
  72020. writing to a crypt on Google Drive
  72021. .RE
  72022. .IP \[bu] 2
  72023. Use the cryptcheck command to validate your data if you are concerned
  72024. .IP \[bu] 2
  72025. If syncing two crypt remotes, sync the unencrypted remote
  72026. .RE
  72027. .RE
  72028. .IP \[bu] 2
  72029. Amazon Drive
  72030. .RS 2
  72031. .IP \[bu] 2
  72032. Fix panics on Move (rename)
  72033. .IP \[bu] 2
  72034. Fix panic on token expiry
  72035. .RE
  72036. .IP \[bu] 2
  72037. B2
  72038. .RS 2
  72039. .IP \[bu] 2
  72040. Fix inconsistent listings and rclone check
  72041. .IP \[bu] 2
  72042. Fix uploading empty files with go1.8
  72043. .IP \[bu] 2
  72044. Constrain memory usage when doing multipart uploads
  72045. .IP \[bu] 2
  72046. Fix upload url not being refreshed properly
  72047. .RE
  72048. .IP \[bu] 2
  72049. Drive
  72050. .RS 2
  72051. .IP \[bu] 2
  72052. Fix Rmdir on directories with trashed files
  72053. .IP \[bu] 2
  72054. Fix \[dq]Ignoring unknown object\[dq] when downloading
  72055. .IP \[bu] 2
  72056. Add --drive-list-chunk
  72057. .IP \[bu] 2
  72058. Add --drive-skip-gdocs (K\['a]roly Ol\['a]h)
  72059. .RE
  72060. .IP \[bu] 2
  72061. OneDrive
  72062. .RS 2
  72063. .IP \[bu] 2
  72064. Implement Move
  72065. .IP \[bu] 2
  72066. Fix Copy
  72067. .RS 2
  72068. .IP \[bu] 2
  72069. Fix overwrite detection in Copy
  72070. .IP \[bu] 2
  72071. Fix waitForJob to parse errors correctly
  72072. .RE
  72073. .IP \[bu] 2
  72074. Use token renewer to stop auth errors on long uploads
  72075. .IP \[bu] 2
  72076. Fix uploading empty files with go1.8
  72077. .RE
  72078. .IP \[bu] 2
  72079. Google Cloud Storage
  72080. .RS 2
  72081. .IP \[bu] 2
  72082. Fix depth 1 directory listings
  72083. .RE
  72084. .IP \[bu] 2
  72085. Yandex
  72086. .RS 2
  72087. .IP \[bu] 2
  72088. Fix single level directory listing
  72089. .RE
  72090. .IP \[bu] 2
  72091. Dropbox
  72092. .RS 2
  72093. .IP \[bu] 2
  72094. Normalise the case for single level directory listings
  72095. .IP \[bu] 2
  72096. Fix depth 1 listing
  72097. .RE
  72098. .IP \[bu] 2
  72099. S3
  72100. .RS 2
  72101. .IP \[bu] 2
  72102. Added ca-central-1 region (Jon Yergatian)
  72103. .RE
  72104. .SS v1.35 - 2017-01-02
  72105. .IP \[bu] 2
  72106. New Features
  72107. .RS 2
  72108. .IP \[bu] 2
  72109. moveto and copyto commands for choosing a destination name on copy/move
  72110. .IP \[bu] 2
  72111. rmdirs command to recursively delete empty directories
  72112. .IP \[bu] 2
  72113. Allow repeated --include/--exclude/--filter options
  72114. .IP \[bu] 2
  72115. Only show transfer stats on commands which transfer stuff
  72116. .RS 2
  72117. .IP \[bu] 2
  72118. show stats on any command using the \f[C]--stats\f[R] flag
  72119. .RE
  72120. .IP \[bu] 2
  72121. Allow overlapping directories in move when server-side dir move is
  72122. supported
  72123. .IP \[bu] 2
  72124. Add --stats-unit option - thanks Scott McGillivray
  72125. .RE
  72126. .IP \[bu] 2
  72127. Bug Fixes
  72128. .RS 2
  72129. .IP \[bu] 2
  72130. Fix the config file being overwritten when two rclone instances are
  72131. running
  72132. .IP \[bu] 2
  72133. Make rclone lsd obey the filters properly
  72134. .IP \[bu] 2
  72135. Fix compilation on mips
  72136. .IP \[bu] 2
  72137. Fix not transferring files that don\[aq]t differ in size
  72138. .IP \[bu] 2
  72139. Fix panic on nil retry/fatal error
  72140. .RE
  72141. .IP \[bu] 2
  72142. Mount
  72143. .RS 2
  72144. .IP \[bu] 2
  72145. Retry reads on error - should help with reliability a lot
  72146. .IP \[bu] 2
  72147. Report the modification times for directories from the remote
  72148. .IP \[bu] 2
  72149. Add bandwidth accounting and limiting (fixes --bwlimit)
  72150. .IP \[bu] 2
  72151. If --stats provided will show stats and which files are transferring
  72152. .IP \[bu] 2
  72153. Support R/W files if truncate is set.
  72154. .IP \[bu] 2
  72155. Implement statfs interface so df works
  72156. .IP \[bu] 2
  72157. Note that write is now supported on Amazon Drive
  72158. .IP \[bu] 2
  72159. Report number of blocks in a file - thanks Stefan Breunig
  72160. .RE
  72161. .IP \[bu] 2
  72162. Crypt
  72163. .RS 2
  72164. .IP \[bu] 2
  72165. Prevent the user pointing crypt at itself
  72166. .IP \[bu] 2
  72167. Fix failed to authenticate decrypted block errors
  72168. .RS 2
  72169. .IP \[bu] 2
  72170. these will now return the underlying unexpected EOF instead
  72171. .RE
  72172. .RE
  72173. .IP \[bu] 2
  72174. Amazon Drive
  72175. .RS 2
  72176. .IP \[bu] 2
  72177. Add support for server-side move and directory move - thanks Stefan
  72178. Breunig
  72179. .IP \[bu] 2
  72180. Fix nil pointer deref on size attribute
  72181. .RE
  72182. .IP \[bu] 2
  72183. B2
  72184. .RS 2
  72185. .IP \[bu] 2
  72186. Use new prefix and delimiter parameters in directory listings
  72187. .RS 2
  72188. .IP \[bu] 2
  72189. This makes --max-depth 1 dir listings as used in mount much faster
  72190. .RE
  72191. .IP \[bu] 2
  72192. Reauth the account while doing uploads too - should help with token
  72193. expiry
  72194. .RE
  72195. .IP \[bu] 2
  72196. Drive
  72197. .RS 2
  72198. .IP \[bu] 2
  72199. Make DirMove more efficient and complain about moving the root
  72200. .IP \[bu] 2
  72201. Create destination directory on Move()
  72202. .RE
  72203. .SS v1.34 - 2016-11-06
  72204. .IP \[bu] 2
  72205. New Features
  72206. .RS 2
  72207. .IP \[bu] 2
  72208. Stop single file and \f[C]--files-from\f[R] operations iterating through
  72209. the source bucket.
  72210. .IP \[bu] 2
  72211. Stop removing failed upload to cloud storage remotes
  72212. .IP \[bu] 2
  72213. Make ContentType be preserved for cloud to cloud copies
  72214. .IP \[bu] 2
  72215. Add support to toggle bandwidth limits via SIGUSR2 - thanks Marco
  72216. Paganini
  72217. .IP \[bu] 2
  72218. \f[C]rclone check\f[R] shows count of hashes that couldn\[aq]t be
  72219. checked
  72220. .IP \[bu] 2
  72221. \f[C]rclone listremotes\f[R] command
  72222. .IP \[bu] 2
  72223. Support linux/arm64 build - thanks Fredrik Fornwall
  72224. .IP \[bu] 2
  72225. Remove \f[C]Authorization:\f[R] lines from \f[C]--dump-headers\f[R]
  72226. output
  72227. .RE
  72228. .IP \[bu] 2
  72229. Bug Fixes
  72230. .RS 2
  72231. .IP \[bu] 2
  72232. Ignore files with control characters in the names
  72233. .IP \[bu] 2
  72234. Fix \f[C]rclone move\f[R] command
  72235. .RS 2
  72236. .IP \[bu] 2
  72237. Delete src files which already existed in dst
  72238. .IP \[bu] 2
  72239. Fix deletion of src file when dst file older
  72240. .RE
  72241. .IP \[bu] 2
  72242. Fix \f[C]rclone check\f[R] on encrypted file systems
  72243. .IP \[bu] 2
  72244. Make failed uploads not count as \[dq]Transferred\[dq]
  72245. .IP \[bu] 2
  72246. Make sure high level retries show with \f[C]-q\f[R]
  72247. .IP \[bu] 2
  72248. Use a vendor directory with godep for repeatable builds
  72249. .RE
  72250. .IP \[bu] 2
  72251. \f[C]rclone mount\f[R] - FUSE
  72252. .RS 2
  72253. .IP \[bu] 2
  72254. Implement FUSE mount options
  72255. .RS 2
  72256. .IP \[bu] 2
  72257. \f[C]--no-modtime\f[R], \f[C]--debug-fuse\f[R], \f[C]--read-only\f[R],
  72258. \f[C]--allow-non-empty\f[R], \f[C]--allow-root\f[R],
  72259. \f[C]--allow-other\f[R]
  72260. .IP \[bu] 2
  72261. \f[C]--default-permissions\f[R], \f[C]--write-back-cache\f[R],
  72262. \f[C]--max-read-ahead\f[R], \f[C]--umask\f[R], \f[C]--uid\f[R],
  72263. \f[C]--gid\f[R]
  72264. .RE
  72265. .IP \[bu] 2
  72266. Add \f[C]--dir-cache-time\f[R] to control caching of directory entries
  72267. .IP \[bu] 2
  72268. Implement seek for files opened for read (useful for video players)
  72269. .RS 2
  72270. .IP \[bu] 2
  72271. with \f[C]-no-seek\f[R] flag to disable
  72272. .RE
  72273. .IP \[bu] 2
  72274. Fix crash on 32 bit ARM (alignment of 64 bit counter)
  72275. .IP \[bu] 2
  72276. \&...and many more internal fixes and improvements!
  72277. .RE
  72278. .IP \[bu] 2
  72279. Crypt
  72280. .RS 2
  72281. .IP \[bu] 2
  72282. Don\[aq]t show encrypted password in configurator to stop confusion
  72283. .RE
  72284. .IP \[bu] 2
  72285. Amazon Drive
  72286. .RS 2
  72287. .IP \[bu] 2
  72288. New wait for upload option \f[C]--acd-upload-wait-per-gb\f[R]
  72289. .RS 2
  72290. .IP \[bu] 2
  72291. upload timeouts scale by file size and can be disabled
  72292. .RE
  72293. .IP \[bu] 2
  72294. Add 502 Bad Gateway to list of errors we retry
  72295. .IP \[bu] 2
  72296. Fix overwriting a file with a zero length file
  72297. .IP \[bu] 2
  72298. Fix ACD file size warning limit - thanks Felix B\[:u]nemann
  72299. .RE
  72300. .IP \[bu] 2
  72301. Local
  72302. .RS 2
  72303. .IP \[bu] 2
  72304. Unix: implement \f[C]-x\f[R]/\f[C]--one-file-system\f[R] to stay on a
  72305. single file system
  72306. .RS 2
  72307. .IP \[bu] 2
  72308. thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana
  72309. .RE
  72310. .IP \[bu] 2
  72311. Windows: ignore the symlink bit on files
  72312. .IP \[bu] 2
  72313. Windows: Ignore directory-based junction points
  72314. .RE
  72315. .IP \[bu] 2
  72316. B2
  72317. .RS 2
  72318. .IP \[bu] 2
  72319. Make sure each upload has at least one upload slot - fixes strange
  72320. upload stats
  72321. .IP \[bu] 2
  72322. Fix uploads when using crypt
  72323. .IP \[bu] 2
  72324. Fix download of large files (sha1 mismatch)
  72325. .IP \[bu] 2
  72326. Return error when we try to create a bucket which someone else owns
  72327. .IP \[bu] 2
  72328. Update B2 docs with Data usage, and Crypt section - thanks Tomasz Mazur
  72329. .RE
  72330. .IP \[bu] 2
  72331. S3
  72332. .RS 2
  72333. .IP \[bu] 2
  72334. Command line and config file support for
  72335. .RS 2
  72336. .IP \[bu] 2
  72337. Setting/overriding ACL - thanks Radek \[vS]enfeld
  72338. .IP \[bu] 2
  72339. Setting storage class - thanks Asko Tamm
  72340. .RE
  72341. .RE
  72342. .IP \[bu] 2
  72343. Drive
  72344. .RS 2
  72345. .IP \[bu] 2
  72346. Make exponential backoff work exactly as per Google specification
  72347. .IP \[bu] 2
  72348. add \f[C].epub\f[R], \f[C].odp\f[R] and \f[C].tsv\f[R] as export
  72349. formats.
  72350. .RE
  72351. .IP \[bu] 2
  72352. Swift
  72353. .RS 2
  72354. .IP \[bu] 2
  72355. Don\[aq]t read metadata for directory marker objects
  72356. .RE
  72357. .SS v1.33 - 2016-08-24
  72358. .IP \[bu] 2
  72359. New Features
  72360. .RS 2
  72361. .IP \[bu] 2
  72362. Implement encryption
  72363. .RS 2
  72364. .IP \[bu] 2
  72365. data encrypted in NACL secretbox format
  72366. .IP \[bu] 2
  72367. with optional file name encryption
  72368. .RE
  72369. .IP \[bu] 2
  72370. New commands
  72371. .RS 2
  72372. .IP \[bu] 2
  72373. rclone mount - implements FUSE mounting of remotes (EXPERIMENTAL)
  72374. .RS 2
  72375. .IP \[bu] 2
  72376. works on Linux, FreeBSD and OS X (need testers for the last 2!)
  72377. .RE
  72378. .IP \[bu] 2
  72379. rclone cat - outputs remote file or files to the terminal
  72380. .IP \[bu] 2
  72381. rclone genautocomplete - command to make a bash completion script for
  72382. rclone
  72383. .RE
  72384. .IP \[bu] 2
  72385. Editing a remote using \f[C]rclone config\f[R] now goes through the
  72386. wizard
  72387. .IP \[bu] 2
  72388. Compile with go 1.7 - this fixes rclone on macOS Sierra and on 386
  72389. processors
  72390. .IP \[bu] 2
  72391. Use cobra for sub commands and docs generation
  72392. .RE
  72393. .IP \[bu] 2
  72394. drive
  72395. .RS 2
  72396. .IP \[bu] 2
  72397. Document how to make your own client_id
  72398. .RE
  72399. .IP \[bu] 2
  72400. s3
  72401. .RS 2
  72402. .IP \[bu] 2
  72403. User-configurable Amazon S3 ACL (thanks Radek \[vS]enfeld)
  72404. .RE
  72405. .IP \[bu] 2
  72406. b2
  72407. .RS 2
  72408. .IP \[bu] 2
  72409. Fix stats accounting for upload - no more jumping to 100% done
  72410. .IP \[bu] 2
  72411. On cleanup delete hide marker if it is the current file
  72412. .IP \[bu] 2
  72413. New B2 API endpoint (thanks Per Cederberg)
  72414. .IP \[bu] 2
  72415. Set maximum backoff to 5 Minutes
  72416. .RE
  72417. .IP \[bu] 2
  72418. onedrive
  72419. .RS 2
  72420. .IP \[bu] 2
  72421. Fix URL escaping in file names - e.g.
  72422. uploading files with \f[C]+\f[R] in them.
  72423. .RE
  72424. .IP \[bu] 2
  72425. amazon cloud drive
  72426. .RS 2
  72427. .IP \[bu] 2
  72428. Fix token expiry during large uploads
  72429. .IP \[bu] 2
  72430. Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors
  72431. .RE
  72432. .IP \[bu] 2
  72433. local
  72434. .RS 2
  72435. .IP \[bu] 2
  72436. Fix filenames with invalid UTF-8 not being uploaded
  72437. .IP \[bu] 2
  72438. Fix problem with some UTF-8 characters on OS X
  72439. .RE
  72440. .SS v1.32 - 2016-07-13
  72441. .IP \[bu] 2
  72442. Backblaze B2
  72443. .RS 2
  72444. .IP \[bu] 2
  72445. Fix upload of files large files not in root
  72446. .RE
  72447. .SS v1.31 - 2016-07-13
  72448. .IP \[bu] 2
  72449. New Features
  72450. .RS 2
  72451. .IP \[bu] 2
  72452. Reduce memory on sync by about 50%
  72453. .IP \[bu] 2
  72454. Implement --no-traverse flag to stop copy traversing the destination
  72455. remote.
  72456. .RS 2
  72457. .IP \[bu] 2
  72458. This can be used to reduce memory usage down to the smallest possible.
  72459. .IP \[bu] 2
  72460. Useful to copy a small number of files into a large destination folder.
  72461. .RE
  72462. .IP \[bu] 2
  72463. Implement cleanup command for emptying trash / removing old versions of
  72464. files
  72465. .RS 2
  72466. .IP \[bu] 2
  72467. Currently B2 only
  72468. .RE
  72469. .IP \[bu] 2
  72470. Single file handling improved
  72471. .RS 2
  72472. .IP \[bu] 2
  72473. Now copied with --files-from
  72474. .IP \[bu] 2
  72475. Automatically sets --no-traverse when copying a single file
  72476. .RE
  72477. .IP \[bu] 2
  72478. Info on using installing with ansible - thanks Stefan Weichinger
  72479. .IP \[bu] 2
  72480. Implement --no-update-modtime flag to stop rclone fixing the remote
  72481. modified times.
  72482. .RE
  72483. .IP \[bu] 2
  72484. Bug Fixes
  72485. .RS 2
  72486. .IP \[bu] 2
  72487. Fix move command - stop it running for overlapping Fses - this was
  72488. causing data loss.
  72489. .RE
  72490. .IP \[bu] 2
  72491. Local
  72492. .RS 2
  72493. .IP \[bu] 2
  72494. Fix incomplete hashes - this was causing problems for B2.
  72495. .RE
  72496. .IP \[bu] 2
  72497. Amazon Drive
  72498. .RS 2
  72499. .IP \[bu] 2
  72500. Rename Amazon Cloud Drive to Amazon Drive - no changes to config file
  72501. needed.
  72502. .RE
  72503. .IP \[bu] 2
  72504. Swift
  72505. .RS 2
  72506. .IP \[bu] 2
  72507. Add support for non-default project domain - thanks Antonio Messina.
  72508. .RE
  72509. .IP \[bu] 2
  72510. S3
  72511. .RS 2
  72512. .IP \[bu] 2
  72513. Add instructions on how to use rclone with minio.
  72514. .IP \[bu] 2
  72515. Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions.
  72516. .IP \[bu] 2
  72517. Skip setting the modified time for objects > 5GB as it isn\[aq]t
  72518. possible.
  72519. .RE
  72520. .IP \[bu] 2
  72521. Backblaze B2
  72522. .RS 2
  72523. .IP \[bu] 2
  72524. Add --b2-versions flag so old versions can be listed and retrieved.
  72525. .IP \[bu] 2
  72526. Treat 403 errors (e.g.
  72527. cap exceeded) as fatal.
  72528. .IP \[bu] 2
  72529. Implement cleanup command for deleting old file versions.
  72530. .IP \[bu] 2
  72531. Make error handling compliant with B2 integrations notes.
  72532. .IP \[bu] 2
  72533. Fix handling of token expiry.
  72534. .IP \[bu] 2
  72535. Implement --b2-test-mode to set \f[C]X-Bz-Test-Mode\f[R] header.
  72536. .IP \[bu] 2
  72537. Set cutoff for chunked upload to 200MB as per B2 guidelines.
  72538. .IP \[bu] 2
  72539. Make upload multi-threaded.
  72540. .RE
  72541. .IP \[bu] 2
  72542. Dropbox
  72543. .RS 2
  72544. .IP \[bu] 2
  72545. Don\[aq]t retry 461 errors.
  72546. .RE
  72547. .SS v1.30 - 2016-06-18
  72548. .IP \[bu] 2
  72549. New Features
  72550. .RS 2
  72551. .IP \[bu] 2
  72552. Directory listing code reworked for more features and better error
  72553. reporting (thanks to Klaus Post for help).
  72554. This enables
  72555. .RS 2
  72556. .IP \[bu] 2
  72557. Directory include filtering for efficiency
  72558. .IP \[bu] 2
  72559. --max-depth parameter
  72560. .IP \[bu] 2
  72561. Better error reporting
  72562. .IP \[bu] 2
  72563. More to come
  72564. .RE
  72565. .IP \[bu] 2
  72566. Retry more errors
  72567. .IP \[bu] 2
  72568. Add --ignore-size flag - for uploading images to onedrive
  72569. .IP \[bu] 2
  72570. Log -v output to stdout by default
  72571. .IP \[bu] 2
  72572. Display the transfer stats in more human-readable form
  72573. .IP \[bu] 2
  72574. Make 0 size files specifiable with \f[C]--max-size 0b\f[R]
  72575. .IP \[bu] 2
  72576. Add \f[C]b\f[R] suffix so we can specify bytes in --bwlimit, --min-size,
  72577. etc.
  72578. .IP \[bu] 2
  72579. Use \[dq]password:\[dq] instead of \[dq]password>\[dq] prompt - thanks
  72580. Klaus Post and Leigh Klotz
  72581. .RE
  72582. .IP \[bu] 2
  72583. Bug Fixes
  72584. .RS 2
  72585. .IP \[bu] 2
  72586. Fix retry doing one too many retries
  72587. .RE
  72588. .IP \[bu] 2
  72589. Local
  72590. .RS 2
  72591. .IP \[bu] 2
  72592. Fix problems with OS X and UTF-8 characters
  72593. .RE
  72594. .IP \[bu] 2
  72595. Amazon Drive
  72596. .RS 2
  72597. .IP \[bu] 2
  72598. Check a file exists before uploading to help with 408 Conflict errors
  72599. .IP \[bu] 2
  72600. Reauth on 401 errors - this has been causing a lot of problems
  72601. .IP \[bu] 2
  72602. Work around spurious 403 errors
  72603. .IP \[bu] 2
  72604. Restart directory listings on error
  72605. .RE
  72606. .IP \[bu] 2
  72607. Google Drive
  72608. .RS 2
  72609. .IP \[bu] 2
  72610. Check a file exists before uploading to help with duplicates
  72611. .IP \[bu] 2
  72612. Fix retry of multipart uploads
  72613. .RE
  72614. .IP \[bu] 2
  72615. Backblaze B2
  72616. .RS 2
  72617. .IP \[bu] 2
  72618. Implement large file uploading
  72619. .RE
  72620. .IP \[bu] 2
  72621. S3
  72622. .RS 2
  72623. .IP \[bu] 2
  72624. Add AES256 server-side encryption for - thanks Justin R.
  72625. Wilson
  72626. .RE
  72627. .IP \[bu] 2
  72628. Google Cloud Storage
  72629. .RS 2
  72630. .IP \[bu] 2
  72631. Make sure we don\[aq]t use conflicting content types on upload
  72632. .IP \[bu] 2
  72633. Add service account support - thanks Michal Witkowski
  72634. .RE
  72635. .IP \[bu] 2
  72636. Swift
  72637. .RS 2
  72638. .IP \[bu] 2
  72639. Add auth version parameter
  72640. .IP \[bu] 2
  72641. Add domain option for openstack (v3 auth) - thanks Fabian Ruff
  72642. .RE
  72643. .SS v1.29 - 2016-04-18
  72644. .IP \[bu] 2
  72645. New Features
  72646. .RS 2
  72647. .IP \[bu] 2
  72648. Implement \f[C]-I, --ignore-times\f[R] for unconditional upload
  72649. .IP \[bu] 2
  72650. Improve \f[C]dedupe\f[R]command
  72651. .RS 2
  72652. .IP \[bu] 2
  72653. Now removes identical copies without asking
  72654. .IP \[bu] 2
  72655. Now obeys \f[C]--dry-run\f[R]
  72656. .IP \[bu] 2
  72657. Implement \f[C]--dedupe-mode\f[R] for non interactive running
  72658. .RS 2
  72659. .IP \[bu] 2
  72660. \f[C]--dedupe-mode interactive\f[R] - interactive the default.
  72661. .IP \[bu] 2
  72662. \f[C]--dedupe-mode skip\f[R] - removes identical files then skips
  72663. anything left.
  72664. .IP \[bu] 2
  72665. \f[C]--dedupe-mode first\f[R] - removes identical files then keeps the
  72666. first one.
  72667. .IP \[bu] 2
  72668. \f[C]--dedupe-mode newest\f[R] - removes identical files then keeps the
  72669. newest one.
  72670. .IP \[bu] 2
  72671. \f[C]--dedupe-mode oldest\f[R] - removes identical files then keeps the
  72672. oldest one.
  72673. .IP \[bu] 2
  72674. \f[C]--dedupe-mode rename\f[R] - removes identical files then renames
  72675. the rest to be different.
  72676. .RE
  72677. .RE
  72678. .RE
  72679. .IP \[bu] 2
  72680. Bug fixes
  72681. .RS 2
  72682. .IP \[bu] 2
  72683. Make rclone check obey the \f[C]--size-only\f[R] flag.
  72684. .IP \[bu] 2
  72685. Use \[dq]application/octet-stream\[dq] if discovered mime type is
  72686. invalid.
  72687. .IP \[bu] 2
  72688. Fix missing \[dq]quit\[dq] option when there are no remotes.
  72689. .RE
  72690. .IP \[bu] 2
  72691. Google Drive
  72692. .RS 2
  72693. .IP \[bu] 2
  72694. Increase default chunk size to 8 MB - increases upload speed of big
  72695. files
  72696. .IP \[bu] 2
  72697. Speed up directory listings and make more reliable
  72698. .IP \[bu] 2
  72699. Add missing retries for Move and DirMove - increases reliability
  72700. .IP \[bu] 2
  72701. Preserve mime type on file update
  72702. .RE
  72703. .IP \[bu] 2
  72704. Backblaze B2
  72705. .RS 2
  72706. .IP \[bu] 2
  72707. Enable mod time syncing
  72708. .RS 2
  72709. .IP \[bu] 2
  72710. This means that B2 will now check modification times
  72711. .IP \[bu] 2
  72712. It will upload new files to update the modification times
  72713. .IP \[bu] 2
  72714. (there isn\[aq]t an API to just set the mod time.)
  72715. .IP \[bu] 2
  72716. If you want the old behaviour use \f[C]--size-only\f[R].
  72717. .RE
  72718. .IP \[bu] 2
  72719. Update API to new version
  72720. .IP \[bu] 2
  72721. Fix parsing of mod time when not in metadata
  72722. .RE
  72723. .IP \[bu] 2
  72724. Swift/Hubic
  72725. .RS 2
  72726. .IP \[bu] 2
  72727. Don\[aq]t return an MD5SUM for static large objects
  72728. .RE
  72729. .IP \[bu] 2
  72730. S3
  72731. .RS 2
  72732. .IP \[bu] 2
  72733. Fix uploading files bigger than 50GB
  72734. .RE
  72735. .SS v1.28 - 2016-03-01
  72736. .IP \[bu] 2
  72737. New Features
  72738. .RS 2
  72739. .IP \[bu] 2
  72740. Configuration file encryption - thanks Klaus Post
  72741. .IP \[bu] 2
  72742. Improve \f[C]rclone config\f[R] adding more help and making it easier to
  72743. understand
  72744. .IP \[bu] 2
  72745. Implement \f[C]-u\f[R]/\f[C]--update\f[R] so creation times can be used
  72746. on all remotes
  72747. .IP \[bu] 2
  72748. Implement \f[C]--low-level-retries\f[R] flag
  72749. .IP \[bu] 2
  72750. Optionally disable gzip compression on downloads with
  72751. \f[C]--no-gzip-encoding\f[R]
  72752. .RE
  72753. .IP \[bu] 2
  72754. Bug fixes
  72755. .RS 2
  72756. .IP \[bu] 2
  72757. Don\[aq]t make directories if \f[C]--dry-run\f[R] set
  72758. .IP \[bu] 2
  72759. Fix and document the \f[C]move\f[R] command
  72760. .IP \[bu] 2
  72761. Fix redirecting stderr on unix-like OSes when using \f[C]--log-file\f[R]
  72762. .IP \[bu] 2
  72763. Fix \f[C]delete\f[R] command to wait until all finished - fixes missing
  72764. deletes.
  72765. .RE
  72766. .IP \[bu] 2
  72767. Backblaze B2
  72768. .RS 2
  72769. .IP \[bu] 2
  72770. Use one upload URL per go routine fixes
  72771. \f[C]more than one upload using auth token\f[R]
  72772. .IP \[bu] 2
  72773. Add pacing, retries and reauthentication - fixes token expiry problems
  72774. .IP \[bu] 2
  72775. Upload without using a temporary file from local (and remotes which
  72776. support SHA1)
  72777. .IP \[bu] 2
  72778. Fix reading metadata for all files when it shouldn\[aq]t have been
  72779. .RE
  72780. .IP \[bu] 2
  72781. Drive
  72782. .RS 2
  72783. .IP \[bu] 2
  72784. Fix listing drive documents at root
  72785. .IP \[bu] 2
  72786. Disable copy and move for Google docs
  72787. .RE
  72788. .IP \[bu] 2
  72789. Swift
  72790. .RS 2
  72791. .IP \[bu] 2
  72792. Fix uploading of chunked files with non ASCII characters
  72793. .IP \[bu] 2
  72794. Allow setting of \f[C]storage_url\f[R] in the config - thanks Xavier
  72795. Lucas
  72796. .RE
  72797. .IP \[bu] 2
  72798. S3
  72799. .RS 2
  72800. .IP \[bu] 2
  72801. Allow IAM role and credentials from environment variables - thanks Brian
  72802. Stengaard
  72803. .IP \[bu] 2
  72804. Allow low privilege users to use S3 (check if directory exists during
  72805. Mkdir) - thanks Jakub Gedeon
  72806. .RE
  72807. .IP \[bu] 2
  72808. Amazon Drive
  72809. .RS 2
  72810. .IP \[bu] 2
  72811. Retry on more things to make directory listings more reliable
  72812. .RE
  72813. .SS v1.27 - 2016-01-31
  72814. .IP \[bu] 2
  72815. New Features
  72816. .RS 2
  72817. .IP \[bu] 2
  72818. Easier headless configuration with \f[C]rclone authorize\f[R]
  72819. .IP \[bu] 2
  72820. Add support for multiple hash types - we now check SHA1 as well as MD5
  72821. hashes.
  72822. .IP \[bu] 2
  72823. \f[C]delete\f[R] command which does obey the filters (unlike
  72824. \f[C]purge\f[R])
  72825. .IP \[bu] 2
  72826. \f[C]dedupe\f[R] command to deduplicate a remote.
  72827. Useful with Google Drive.
  72828. .IP \[bu] 2
  72829. Add \f[C]--ignore-existing\f[R] flag to skip all files that exist on
  72830. destination.
  72831. .IP \[bu] 2
  72832. Add \f[C]--delete-before\f[R], \f[C]--delete-during\f[R],
  72833. \f[C]--delete-after\f[R] flags.
  72834. .IP \[bu] 2
  72835. Add \f[C]--memprofile\f[R] flag to debug memory use.
  72836. .IP \[bu] 2
  72837. Warn the user about files with same name but different case
  72838. .IP \[bu] 2
  72839. Make \f[C]--include\f[R] rules add their implicit exclude * at the end
  72840. of the filter list
  72841. .IP \[bu] 2
  72842. Deprecate compiling with go1.3
  72843. .RE
  72844. .IP \[bu] 2
  72845. Amazon Drive
  72846. .RS 2
  72847. .IP \[bu] 2
  72848. Fix download of files > 10 GB
  72849. .IP \[bu] 2
  72850. Fix directory traversal (\[dq]Next token is expired\[dq]) for large
  72851. directory listings
  72852. .IP \[bu] 2
  72853. Remove 409 conflict from error codes we will retry - stops very long
  72854. pauses
  72855. .RE
  72856. .IP \[bu] 2
  72857. Backblaze B2
  72858. .RS 2
  72859. .IP \[bu] 2
  72860. SHA1 hashes now checked by rclone core
  72861. .RE
  72862. .IP \[bu] 2
  72863. Drive
  72864. .RS 2
  72865. .IP \[bu] 2
  72866. Add \f[C]--drive-auth-owner-only\f[R] to only consider files owned by
  72867. the user - thanks Bj\[:o]rn Harrtell
  72868. .IP \[bu] 2
  72869. Export Google documents
  72870. .RE
  72871. .IP \[bu] 2
  72872. Dropbox
  72873. .RS 2
  72874. .IP \[bu] 2
  72875. Make file exclusion error controllable with -q
  72876. .RE
  72877. .IP \[bu] 2
  72878. Swift
  72879. .RS 2
  72880. .IP \[bu] 2
  72881. Fix upload from unprivileged user.
  72882. .RE
  72883. .IP \[bu] 2
  72884. S3
  72885. .RS 2
  72886. .IP \[bu] 2
  72887. Fix updating of mod times of files with \f[C]+\f[R] in.
  72888. .RE
  72889. .IP \[bu] 2
  72890. Local
  72891. .RS 2
  72892. .IP \[bu] 2
  72893. Add local file system option to disable UNC on Windows.
  72894. .RE
  72895. .SS v1.26 - 2016-01-02
  72896. .IP \[bu] 2
  72897. New Features
  72898. .RS 2
  72899. .IP \[bu] 2
  72900. Yandex storage backend - thank you Dmitry Burdeev (\[dq]dibu\[dq])
  72901. .IP \[bu] 2
  72902. Implement Backblaze B2 storage backend
  72903. .IP \[bu] 2
  72904. Add --min-age and --max-age flags - thank you Adriano Aur\['e]lio
  72905. Meirelles
  72906. .IP \[bu] 2
  72907. Make ls/lsl/md5sum/size/check obey includes and excludes
  72908. .RE
  72909. .IP \[bu] 2
  72910. Fixes
  72911. .RS 2
  72912. .IP \[bu] 2
  72913. Fix crash in http logging
  72914. .IP \[bu] 2
  72915. Upload releases to github too
  72916. .RE
  72917. .IP \[bu] 2
  72918. Swift
  72919. .RS 2
  72920. .IP \[bu] 2
  72921. Fix sync for chunked files
  72922. .RE
  72923. .IP \[bu] 2
  72924. OneDrive
  72925. .RS 2
  72926. .IP \[bu] 2
  72927. Re-enable server-side copy
  72928. .IP \[bu] 2
  72929. Don\[aq]t mask HTTP error codes with JSON decode error
  72930. .RE
  72931. .IP \[bu] 2
  72932. S3
  72933. .RS 2
  72934. .IP \[bu] 2
  72935. Fix corrupting Content-Type on mod time update (thanks Joseph Spurrier)
  72936. .RE
  72937. .SS v1.25 - 2015-11-14
  72938. .IP \[bu] 2
  72939. New features
  72940. .RS 2
  72941. .IP \[bu] 2
  72942. Implement Hubic storage system
  72943. .RE
  72944. .IP \[bu] 2
  72945. Fixes
  72946. .RS 2
  72947. .IP \[bu] 2
  72948. Fix deletion of some excluded files without --delete-excluded
  72949. .RS 2
  72950. .IP \[bu] 2
  72951. This could have deleted files unexpectedly on sync
  72952. .IP \[bu] 2
  72953. Always check first with \f[C]--dry-run\f[R]!
  72954. .RE
  72955. .RE
  72956. .IP \[bu] 2
  72957. Swift
  72958. .RS 2
  72959. .IP \[bu] 2
  72960. Stop SetModTime losing metadata (e.g.
  72961. X-Object-Manifest)
  72962. .RS 2
  72963. .IP \[bu] 2
  72964. This could have caused data loss for files > 5GB in size
  72965. .RE
  72966. .IP \[bu] 2
  72967. Use ContentType from Object to avoid lookups in listings
  72968. .RE
  72969. .IP \[bu] 2
  72970. OneDrive
  72971. .RS 2
  72972. .IP \[bu] 2
  72973. disable server-side copy as it seems to be broken at Microsoft
  72974. .RE
  72975. .SS v1.24 - 2015-11-07
  72976. .IP \[bu] 2
  72977. New features
  72978. .RS 2
  72979. .IP \[bu] 2
  72980. Add support for Microsoft OneDrive
  72981. .IP \[bu] 2
  72982. Add \f[C]--no-check-certificate\f[R] option to disable server
  72983. certificate verification
  72984. .IP \[bu] 2
  72985. Add async readahead buffer for faster transfer of big files
  72986. .RE
  72987. .IP \[bu] 2
  72988. Fixes
  72989. .RS 2
  72990. .IP \[bu] 2
  72991. Allow spaces in remotes and check remote names for validity at creation
  72992. time
  72993. .IP \[bu] 2
  72994. Allow \[aq]&\[aq] and disallow \[aq]:\[aq] in Windows filenames.
  72995. .RE
  72996. .IP \[bu] 2
  72997. Swift
  72998. .RS 2
  72999. .IP \[bu] 2
  73000. Ignore directory marker objects where appropriate - allows working with
  73001. Hubic
  73002. .IP \[bu] 2
  73003. Don\[aq]t delete the container if fs wasn\[aq]t at root
  73004. .RE
  73005. .IP \[bu] 2
  73006. S3
  73007. .RS 2
  73008. .IP \[bu] 2
  73009. Don\[aq]t delete the bucket if fs wasn\[aq]t at root
  73010. .RE
  73011. .IP \[bu] 2
  73012. Google Cloud Storage
  73013. .RS 2
  73014. .IP \[bu] 2
  73015. Don\[aq]t delete the bucket if fs wasn\[aq]t at root
  73016. .RE
  73017. .SS v1.23 - 2015-10-03
  73018. .IP \[bu] 2
  73019. New features
  73020. .RS 2
  73021. .IP \[bu] 2
  73022. Implement \f[C]rclone size\f[R] for measuring remotes
  73023. .RE
  73024. .IP \[bu] 2
  73025. Fixes
  73026. .RS 2
  73027. .IP \[bu] 2
  73028. Fix headless config for drive and gcs
  73029. .IP \[bu] 2
  73030. Tell the user they should try again if the webserver method failed
  73031. .IP \[bu] 2
  73032. Improve output of \f[C]--dump-headers\f[R]
  73033. .RE
  73034. .IP \[bu] 2
  73035. S3
  73036. .RS 2
  73037. .IP \[bu] 2
  73038. Allow anonymous access to public buckets
  73039. .RE
  73040. .IP \[bu] 2
  73041. Swift
  73042. .RS 2
  73043. .IP \[bu] 2
  73044. Stop chunked operations logging \[dq]Failed to read info: Object Not
  73045. Found\[dq]
  73046. .IP \[bu] 2
  73047. Use Content-Length on uploads for extra reliability
  73048. .RE
  73049. .SS v1.22 - 2015-09-28
  73050. .IP \[bu] 2
  73051. Implement rsync like include and exclude flags
  73052. .IP \[bu] 2
  73053. swift
  73054. .RS 2
  73055. .IP \[bu] 2
  73056. Support files > 5GB - thanks Sergey Tolmachev
  73057. .RE
  73058. .SS v1.21 - 2015-09-22
  73059. .IP \[bu] 2
  73060. New features
  73061. .RS 2
  73062. .IP \[bu] 2
  73063. Display individual transfer progress
  73064. .IP \[bu] 2
  73065. Make lsl output times in localtime
  73066. .RE
  73067. .IP \[bu] 2
  73068. Fixes
  73069. .RS 2
  73070. .IP \[bu] 2
  73071. Fix allowing user to override credentials again in Drive, GCS and ACD
  73072. .RE
  73073. .IP \[bu] 2
  73074. Amazon Drive
  73075. .RS 2
  73076. .IP \[bu] 2
  73077. Implement compliant pacing scheme
  73078. .RE
  73079. .IP \[bu] 2
  73080. Google Drive
  73081. .RS 2
  73082. .IP \[bu] 2
  73083. Make directory reads concurrent for increased speed.
  73084. .RE
  73085. .SS v1.20 - 2015-09-15
  73086. .IP \[bu] 2
  73087. New features
  73088. .RS 2
  73089. .IP \[bu] 2
  73090. Amazon Drive support
  73091. .IP \[bu] 2
  73092. Oauth support redone - fix many bugs and improve usability
  73093. .RS 2
  73094. .IP \[bu] 2
  73095. Use \[dq]golang.org/x/oauth2\[dq] as oauth library of choice
  73096. .IP \[bu] 2
  73097. Improve oauth usability for smoother initial signup
  73098. .IP \[bu] 2
  73099. drive, googlecloudstorage: optionally use auto config for the oauth
  73100. token
  73101. .RE
  73102. .IP \[bu] 2
  73103. Implement --dump-headers and --dump-bodies debug flags
  73104. .IP \[bu] 2
  73105. Show multiple matched commands if abbreviation too short
  73106. .IP \[bu] 2
  73107. Implement server-side move where possible
  73108. .RE
  73109. .IP \[bu] 2
  73110. local
  73111. .RS 2
  73112. .IP \[bu] 2
  73113. Always use UNC paths internally on Windows - fixes a lot of bugs
  73114. .RE
  73115. .IP \[bu] 2
  73116. dropbox
  73117. .RS 2
  73118. .IP \[bu] 2
  73119. force use of our custom transport which makes timeouts work
  73120. .RE
  73121. .IP \[bu] 2
  73122. Thanks to Klaus Post for lots of help with this release
  73123. .SS v1.19 - 2015-08-28
  73124. .IP \[bu] 2
  73125. New features
  73126. .RS 2
  73127. .IP \[bu] 2
  73128. Server side copies for s3/swift/drive/dropbox/gcs
  73129. .IP \[bu] 2
  73130. Move command - uses server-side copies if it can
  73131. .IP \[bu] 2
  73132. Implement --retries flag - tries 3 times by default
  73133. .IP \[bu] 2
  73134. Build for plan9/amd64 and solaris/amd64 too
  73135. .RE
  73136. .IP \[bu] 2
  73137. Fixes
  73138. .RS 2
  73139. .IP \[bu] 2
  73140. Make a current version download with a fixed URL for scripting
  73141. .IP \[bu] 2
  73142. Ignore rmdir in limited fs rather than throwing error
  73143. .RE
  73144. .IP \[bu] 2
  73145. dropbox
  73146. .RS 2
  73147. .IP \[bu] 2
  73148. Increase chunk size to improve upload speeds massively
  73149. .IP \[bu] 2
  73150. Issue an error message when trying to upload bad file name
  73151. .RE
  73152. .SS v1.18 - 2015-08-17
  73153. .IP \[bu] 2
  73154. drive
  73155. .RS 2
  73156. .IP \[bu] 2
  73157. Add \f[C]--drive-use-trash\f[R] flag so rclone trashes instead of
  73158. deletes
  73159. .IP \[bu] 2
  73160. Add \[dq]Forbidden to download\[dq] message for files with no
  73161. downloadURL
  73162. .RE
  73163. .IP \[bu] 2
  73164. dropbox
  73165. .RS 2
  73166. .IP \[bu] 2
  73167. Remove datastore
  73168. .RS 2
  73169. .IP \[bu] 2
  73170. This was deprecated and it caused a lot of problems
  73171. .IP \[bu] 2
  73172. Modification times and MD5SUMs no longer stored
  73173. .RE
  73174. .IP \[bu] 2
  73175. Fix uploading files > 2GB
  73176. .RE
  73177. .IP \[bu] 2
  73178. s3
  73179. .RS 2
  73180. .IP \[bu] 2
  73181. use official AWS SDK from github.com/aws/aws-sdk-go
  73182. .IP \[bu] 2
  73183. \f[B]NB\f[R] will most likely require you to delete and recreate remote
  73184. .IP \[bu] 2
  73185. enable multipart upload which enables files > 5GB
  73186. .IP \[bu] 2
  73187. tested with Ceph / RadosGW / S3 emulation
  73188. .IP \[bu] 2
  73189. many thanks to Sam Liston and Brian Haymore at the Utah Center for High
  73190. Performance Computing (https://www.chpc.utah.edu/) for a Ceph test
  73191. account
  73192. .RE
  73193. .IP \[bu] 2
  73194. misc
  73195. .RS 2
  73196. .IP \[bu] 2
  73197. Show errors when reading the config file
  73198. .IP \[bu] 2
  73199. Do not print stats in quiet mode - thanks Leonid Shalupov
  73200. .IP \[bu] 2
  73201. Add FAQ
  73202. .IP \[bu] 2
  73203. Fix created directories not obeying umask
  73204. .IP \[bu] 2
  73205. Linux installation instructions - thanks Shimon Doodkin
  73206. .RE
  73207. .SS v1.17 - 2015-06-14
  73208. .IP \[bu] 2
  73209. dropbox: fix case insensitivity issues - thanks Leonid Shalupov
  73210. .SS v1.16 - 2015-06-09
  73211. .IP \[bu] 2
  73212. Fix uploading big files which was causing timeouts or panics
  73213. .IP \[bu] 2
  73214. Don\[aq]t check md5sum after download with --size-only
  73215. .SS v1.15 - 2015-06-06
  73216. .IP \[bu] 2
  73217. Add --checksum flag to only discard transfers by MD5SUM - thanks Alex
  73218. Couper
  73219. .IP \[bu] 2
  73220. Implement --size-only flag to sync on size not checksum & modtime
  73221. .IP \[bu] 2
  73222. Expand docs and remove duplicated information
  73223. .IP \[bu] 2
  73224. Document rclone\[aq]s limitations with directories
  73225. .IP \[bu] 2
  73226. dropbox: update docs about case insensitivity
  73227. .SS v1.14 - 2015-05-21
  73228. .IP \[bu] 2
  73229. local: fix encoding of non utf-8 file names - fixes a duplicate file
  73230. problem
  73231. .IP \[bu] 2
  73232. drive: docs about rate limiting
  73233. .IP \[bu] 2
  73234. google cloud storage: Fix compile after API change in
  73235. \[dq]google.golang.org/api/storage/v1\[dq]
  73236. .SS v1.13 - 2015-05-10
  73237. .IP \[bu] 2
  73238. Revise documentation (especially sync)
  73239. .IP \[bu] 2
  73240. Implement --timeout and --conntimeout
  73241. .IP \[bu] 2
  73242. s3: ignore etags from multipart uploads which aren\[aq]t md5sums
  73243. .SS v1.12 - 2015-03-15
  73244. .IP \[bu] 2
  73245. drive: Use chunked upload for files above a certain size
  73246. .IP \[bu] 2
  73247. drive: add --drive-chunk-size and --drive-upload-cutoff parameters
  73248. .IP \[bu] 2
  73249. drive: switch to insert from update when a failed copy deletes the
  73250. upload
  73251. .IP \[bu] 2
  73252. core: Log duplicate files if they are detected
  73253. .SS v1.11 - 2015-03-04
  73254. .IP \[bu] 2
  73255. swift: add region parameter
  73256. .IP \[bu] 2
  73257. drive: fix crash on failed to update remote mtime
  73258. .IP \[bu] 2
  73259. In remote paths, change native directory separators to /
  73260. .IP \[bu] 2
  73261. Add synchronization to ls/lsl/lsd output to stop corruptions
  73262. .IP \[bu] 2
  73263. Ensure all stats/log messages to go stderr
  73264. .IP \[bu] 2
  73265. Add --log-file flag to log everything (including panics) to file
  73266. .IP \[bu] 2
  73267. Make it possible to disable stats printing with --stats=0
  73268. .IP \[bu] 2
  73269. Implement --bwlimit to limit data transfer bandwidth
  73270. .SS v1.10 - 2015-02-12
  73271. .IP \[bu] 2
  73272. s3: list an unlimited number of items
  73273. .IP \[bu] 2
  73274. Fix getting stuck in the configurator
  73275. .SS v1.09 - 2015-02-07
  73276. .IP \[bu] 2
  73277. windows: Stop drive letters (e.g.
  73278. C:) getting mixed up with remotes (e.g.
  73279. drive:)
  73280. .IP \[bu] 2
  73281. local: Fix directory separators on Windows
  73282. .IP \[bu] 2
  73283. drive: fix rate limit exceeded errors
  73284. .SS v1.08 - 2015-02-04
  73285. .IP \[bu] 2
  73286. drive: fix subdirectory listing to not list entire drive
  73287. .IP \[bu] 2
  73288. drive: Fix SetModTime
  73289. .IP \[bu] 2
  73290. dropbox: adapt code to recent library changes
  73291. .SS v1.07 - 2014-12-23
  73292. .IP \[bu] 2
  73293. google cloud storage: fix memory leak
  73294. .SS v1.06 - 2014-12-12
  73295. .IP \[bu] 2
  73296. Fix \[dq]Couldn\[aq]t find home directory\[dq] on OSX
  73297. .IP \[bu] 2
  73298. swift: Add tenant parameter
  73299. .IP \[bu] 2
  73300. Use new location of Google API packages
  73301. .SS v1.05 - 2014-08-09
  73302. .IP \[bu] 2
  73303. Improved tests and consequently lots of minor fixes
  73304. .IP \[bu] 2
  73305. core: Fix race detected by go race detector
  73306. .IP \[bu] 2
  73307. core: Fixes after running errcheck
  73308. .IP \[bu] 2
  73309. drive: reset root directory on Rmdir and Purge
  73310. .IP \[bu] 2
  73311. fs: Document that Purger returns error on empty directory, test and fix
  73312. .IP \[bu] 2
  73313. google cloud storage: fix ListDir on subdirectory
  73314. .IP \[bu] 2
  73315. google cloud storage: re-read metadata in SetModTime
  73316. .IP \[bu] 2
  73317. s3: make reading metadata more reliable to work around eventual
  73318. consistency problems
  73319. .IP \[bu] 2
  73320. s3: strip trailing / from ListDir()
  73321. .IP \[bu] 2
  73322. swift: return directories without / in ListDir
  73323. .SS v1.04 - 2014-07-21
  73324. .IP \[bu] 2
  73325. google cloud storage: Fix crash on Update
  73326. .SS v1.03 - 2014-07-20
  73327. .IP \[bu] 2
  73328. swift, s3, dropbox: fix updated files being marked as corrupted
  73329. .IP \[bu] 2
  73330. Make compile with go 1.1 again
  73331. .SS v1.02 - 2014-07-19
  73332. .IP \[bu] 2
  73333. Implement Dropbox remote
  73334. .IP \[bu] 2
  73335. Implement Google Cloud Storage remote
  73336. .IP \[bu] 2
  73337. Verify Md5sums and Sizes after copies
  73338. .IP \[bu] 2
  73339. Remove times from \[dq]ls\[dq] command - lists sizes only
  73340. .IP \[bu] 2
  73341. Add add \[dq]lsl\[dq] - lists times and sizes
  73342. .IP \[bu] 2
  73343. Add \[dq]md5sum\[dq] command
  73344. .SS v1.01 - 2014-07-04
  73345. .IP \[bu] 2
  73346. drive: fix transfer of big files using up lots of memory
  73347. .SS v1.00 - 2014-07-03
  73348. .IP \[bu] 2
  73349. drive: fix whole second dates
  73350. .SS v0.99 - 2014-06-26
  73351. .IP \[bu] 2
  73352. Fix --dry-run not working
  73353. .IP \[bu] 2
  73354. Make compatible with go 1.1
  73355. .SS v0.98 - 2014-05-30
  73356. .IP \[bu] 2
  73357. s3: Treat missing Content-Length as 0 for some ceph installations
  73358. .IP \[bu] 2
  73359. rclonetest: add file with a space in
  73360. .SS v0.97 - 2014-05-05
  73361. .IP \[bu] 2
  73362. Implement copying of single files
  73363. .IP \[bu] 2
  73364. s3 & swift: support paths inside containers/buckets
  73365. .SS v0.96 - 2014-04-24
  73366. .IP \[bu] 2
  73367. drive: Fix multiple files of same name being created
  73368. .IP \[bu] 2
  73369. drive: Use o.Update and fs.Put to optimise transfers
  73370. .IP \[bu] 2
  73371. Add version number, -V and --version
  73372. .SS v0.95 - 2014-03-28
  73373. .IP \[bu] 2
  73374. rclone.org: website, docs and graphics
  73375. .IP \[bu] 2
  73376. drive: fix path parsing
  73377. .SS v0.94 - 2014-03-27
  73378. .IP \[bu] 2
  73379. Change remote format one last time
  73380. .IP \[bu] 2
  73381. GNU style flags
  73382. .SS v0.93 - 2014-03-16
  73383. .IP \[bu] 2
  73384. drive: store token in config file
  73385. .IP \[bu] 2
  73386. cross compile other versions
  73387. .IP \[bu] 2
  73388. set strict permissions on config file
  73389. .SS v0.92 - 2014-03-15
  73390. .IP \[bu] 2
  73391. Config fixes and --config option
  73392. .SS v0.91 - 2014-03-15
  73393. .IP \[bu] 2
  73394. Make config file
  73395. .SS v0.90 - 2013-06-27
  73396. .IP \[bu] 2
  73397. Project named rclone
  73398. .SS v0.00 - 2012-11-18
  73399. .IP \[bu] 2
  73400. Project started
  73401. .SH Bugs and Limitations
  73402. .SS Limitations
  73403. .SS Directory timestamps aren\[aq]t preserved on some backends
  73404. .PP
  73405. As of \f[C]v1.66\f[R], rclone supports syncing directory modtimes, if
  73406. the backend supports it.
  73407. Some backends do not support it -- see
  73408. overview (https://rclone.org/overview/) for a complete list.
  73409. Additionally, note that empty directories are not synced by default
  73410. (this can be enabled with \f[C]--create-empty-src-dirs\f[R].)
  73411. .SS Rclone struggles with millions of files in a directory/bucket
  73412. .PP
  73413. Currently rclone loads each directory/bucket entirely into memory before
  73414. using it.
  73415. Since each rclone object takes 0.5k-1k of memory this can take a very
  73416. long time and use a large amount of memory.
  73417. .PP
  73418. Millions of files in a directory tends to occur on bucket-based remotes
  73419. (e.g.
  73420. S3 buckets) since those remotes do not segregate subdirectories within
  73421. the bucket.
  73422. .SS Bucket-based remotes and folders
  73423. .PP
  73424. Bucket-based remotes (e.g.
  73425. S3/GCS/Swift/B2) do not have a concept of directories.
  73426. Rclone therefore cannot create directories in them which means that
  73427. empty directories on a bucket-based remote will tend to disappear.
  73428. .PP
  73429. Some software creates empty keys ending in \f[C]/\f[R] as directory
  73430. markers.
  73431. Rclone doesn\[aq]t do this as it potentially creates more objects and
  73432. costs more.
  73433. This ability may be added in the future (probably via a flag/option).
  73434. .SS Bugs
  73435. .PP
  73436. Bugs are stored in rclone\[aq]s GitHub project:
  73437. .IP \[bu] 2
  73438. Reported
  73439. bugs (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+label%3Abug)
  73440. .IP \[bu] 2
  73441. Known
  73442. issues (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Known+Problem%22)
  73443. .SH Frequently Asked Questions
  73444. .SS Do all cloud storage systems support all rclone commands
  73445. .PP
  73446. Yes they do.
  73447. All the rclone commands (e.g.
  73448. \f[C]sync\f[R], \f[C]copy\f[R], etc.) will work on all the remote
  73449. storage systems.
  73450. .SS Can I copy the config from one machine to another
  73451. .PP
  73452. Sure! Rclone stores all of its config in a single file.
  73453. If you want to find this file, run \f[C]rclone config file\f[R] which
  73454. will tell you where it is.
  73455. .PP
  73456. See the remote setup docs (https://rclone.org/remote_setup/) for more
  73457. info.
  73458. .SS How do I configure rclone on a remote / headless box with no browser?
  73459. .PP
  73460. This has now been documented in its own remote setup
  73461. page (https://rclone.org/remote_setup/).
  73462. .SS Can rclone sync directly from drive to s3
  73463. .PP
  73464. Rclone can sync between two remote cloud storage systems just fine.
  73465. .PP
  73466. Note that it effectively downloads the file and uploads it again, so the
  73467. node running rclone would need to have lots of bandwidth.
  73468. .PP
  73469. The syncs would be incremental (on a file by file basis).
  73470. .PP
  73471. e.g.
  73472. .IP
  73473. .nf
  73474. \f[C]
  73475. rclone sync --interactive drive:Folder s3:bucket
  73476. \f[R]
  73477. .fi
  73478. .SS Using rclone from multiple locations at the same time
  73479. .PP
  73480. You can use rclone from multiple places at the same time if you choose
  73481. different subdirectory for the output, e.g.
  73482. .IP
  73483. .nf
  73484. \f[C]
  73485. Server A> rclone sync --interactive /tmp/whatever remote:ServerA
  73486. Server B> rclone sync --interactive /tmp/whatever remote:ServerB
  73487. \f[R]
  73488. .fi
  73489. .PP
  73490. If you sync to the same directory then you should use rclone copy
  73491. otherwise the two instances of rclone may delete each other\[aq]s files,
  73492. e.g.
  73493. .IP
  73494. .nf
  73495. \f[C]
  73496. Server A> rclone copy /tmp/whatever remote:Backup
  73497. Server B> rclone copy /tmp/whatever remote:Backup
  73498. \f[R]
  73499. .fi
  73500. .PP
  73501. The file names you upload from Server A and Server B should be different
  73502. in this case, otherwise some file systems (e.g.
  73503. Drive) may make duplicates.
  73504. .SS Why doesn\[aq]t rclone support partial transfers / binary diffs like rsync?
  73505. .PP
  73506. Rclone stores each file you transfer as a native object on the remote
  73507. cloud storage system.
  73508. This means that you can see the files you upload as expected using
  73509. alternative access methods (e.g.
  73510. using the Google Drive web interface).
  73511. There is a 1:1 mapping between files on your hard disk and objects
  73512. created in the cloud storage system.
  73513. .PP
  73514. Cloud storage systems (at least none I\[aq]ve come across yet) don\[aq]t
  73515. support partially uploading an object.
  73516. You can\[aq]t take an existing object, and change some bytes in the
  73517. middle of it.
  73518. .PP
  73519. It would be possible to make a sync system which stored binary diffs
  73520. instead of whole objects like rclone does, but that would break the 1:1
  73521. mapping of files on your hard disk to objects in the remote cloud
  73522. storage system.
  73523. .PP
  73524. All the cloud storage systems support partial downloads of content, so
  73525. it would be possible to make partial downloads work.
  73526. However to make this work efficiently this would require storing a
  73527. significant amount of metadata, which breaks the desired 1:1 mapping of
  73528. files to objects.
  73529. .SS Can rclone do bi-directional sync?
  73530. .PP
  73531. Yes, since rclone v1.58.0, bidirectional cloud
  73532. sync (https://rclone.org/bisync/) is available.
  73533. .SS Can I use rclone with an HTTP proxy?
  73534. .PP
  73535. Yes.
  73536. rclone will follow the standard environment variables for proxies,
  73537. similar to cURL and other programs.
  73538. .PP
  73539. In general the variables are called \f[C]http_proxy\f[R] (for services
  73540. reached over \f[C]http\f[R]) and \f[C]https_proxy\f[R] (for services
  73541. reached over \f[C]https\f[R]).
  73542. Most public services will be using \f[C]https\f[R], but you may wish to
  73543. set both.
  73544. .PP
  73545. The content of the variable is \f[C]protocol://server:port\f[R].
  73546. The protocol value is the one used to talk to the proxy server, itself,
  73547. and is commonly either \f[C]http\f[R] or \f[C]socks5\f[R].
  73548. .PP
  73549. Slightly annoyingly, there is no \f[I]standard\f[R] for the name; some
  73550. applications may use \f[C]http_proxy\f[R] but another one
  73551. \f[C]HTTP_PROXY\f[R].
  73552. The \f[C]Go\f[R] libraries used by \f[C]rclone\f[R] will try both
  73553. variations, but you may wish to set all possibilities.
  73554. So, on Linux, you may end up with code similar to
  73555. .IP
  73556. .nf
  73557. \f[C]
  73558. export http_proxy=http://proxyserver:12345
  73559. export https_proxy=$http_proxy
  73560. export HTTP_PROXY=$http_proxy
  73561. export HTTPS_PROXY=$http_proxy
  73562. \f[R]
  73563. .fi
  73564. .PP
  73565. Note: If the proxy server requires a username and password, then use
  73566. .IP
  73567. .nf
  73568. \f[C]
  73569. export http_proxy=http://username:password\[at]proxyserver:12345
  73570. export https_proxy=$http_proxy
  73571. export HTTP_PROXY=$http_proxy
  73572. export HTTPS_PROXY=$http_proxy
  73573. \f[R]
  73574. .fi
  73575. .PP
  73576. The \f[C]NO_PROXY\f[R] allows you to disable the proxy for specific
  73577. hosts.
  73578. Hosts must be comma separated, and can contain domains or parts.
  73579. For instance \[dq]foo.com\[dq] also matches \[dq]bar.foo.com\[dq].
  73580. .PP
  73581. e.g.
  73582. .IP
  73583. .nf
  73584. \f[C]
  73585. export no_proxy=localhost,127.0.0.0/8,my.host.name
  73586. export NO_PROXY=$no_proxy
  73587. \f[R]
  73588. .fi
  73589. .PP
  73590. Note that the FTP backend does not support \f[C]ftp_proxy\f[R] yet.
  73591. .SS Rclone gives x509: failed to load system roots and no roots provided error
  73592. .PP
  73593. This means that \f[C]rclone\f[R] can\[aq]t find the SSL root
  73594. certificates.
  73595. Likely you are running \f[C]rclone\f[R] on a NAS with a cut-down Linux
  73596. OS, or possibly on Solaris.
  73597. .PP
  73598. Rclone (via the Go runtime) tries to load the root certificates from
  73599. these places on Linux.
  73600. .IP
  73601. .nf
  73602. \f[C]
  73603. \[dq]/etc/ssl/certs/ca-certificates.crt\[dq], // Debian/Ubuntu/Gentoo etc.
  73604. \[dq]/etc/pki/tls/certs/ca-bundle.crt\[dq], // Fedora/RHEL
  73605. \[dq]/etc/ssl/ca-bundle.pem\[dq], // OpenSUSE
  73606. \[dq]/etc/pki/tls/cacert.pem\[dq], // OpenELEC
  73607. \f[R]
  73608. .fi
  73609. .PP
  73610. So doing something like this should fix the problem.
  73611. It also sets the time which is important for SSL to work properly.
  73612. .IP
  73613. .nf
  73614. \f[C]
  73615. mkdir -p /etc/ssl/certs/
  73616. curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  73617. ntpclient -s -h pool.ntp.org
  73618. \f[R]
  73619. .fi
  73620. .PP
  73621. The two environment variables \f[C]SSL_CERT_FILE\f[R] and
  73622. \f[C]SSL_CERT_DIR\f[R], mentioned in the x509
  73623. package (https://godoc.org/crypto/x509), provide an additional way to
  73624. provide the SSL root certificates.
  73625. .PP
  73626. Note that you may need to add the \f[C]--insecure\f[R] option to the
  73627. \f[C]curl\f[R] command line if it doesn\[aq]t work without.
  73628. .IP
  73629. .nf
  73630. \f[C]
  73631. curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  73632. \f[R]
  73633. .fi
  73634. .SS Rclone gives Failed to load config file: function not implemented error
  73635. .PP
  73636. Likely this means that you are running rclone on Linux version not
  73637. supported by the go runtime, ie earlier than version 2.6.23.
  73638. .PP
  73639. See the system requirements section in the go install
  73640. docs (https://golang.org/doc/install) for full details.
  73641. .SS All my uploaded docx/xlsx/pptx files appear as archive/zip
  73642. .PP
  73643. This is caused by uploading these files from a Windows computer which
  73644. hasn\[aq]t got the Microsoft Office suite installed.
  73645. The easiest way to fix is to install the Word viewer and the Microsoft
  73646. Office Compatibility Pack for Word, Excel, and PowerPoint 2007 and later
  73647. versions\[aq] file formats
  73648. .SS tcp lookup some.domain.com no such host
  73649. .PP
  73650. This happens when rclone cannot resolve a domain.
  73651. Please check that your DNS setup is generally working, e.g.
  73652. .IP
  73653. .nf
  73654. \f[C]
  73655. # both should print a long list of possible IP addresses
  73656. dig www.googleapis.com # resolve using your default DNS
  73657. dig www.googleapis.com \[at]8.8.8.8 # resolve with Google\[aq]s DNS server
  73658. \f[R]
  73659. .fi
  73660. .PP
  73661. If you are using \f[C]systemd-resolved\f[R] (default on Arch Linux),
  73662. ensure it is at version 233 or higher.
  73663. Previous releases contain a bug which causes not all domains to be
  73664. resolved properly.
  73665. .PP
  73666. The Go resolver decision can be influenced with the
  73667. \f[C]GODEBUG=netdns=...\f[R] environment variable.
  73668. This also allows to resolve certain issues with DNS resolution.
  73669. On Windows or MacOS systems, try forcing use of the internal Go resolver
  73670. by setting \f[C]GODEBUG=netdns=go\f[R] at runtime.
  73671. On other systems (Linux, *BSD, etc) try forcing use of the system name
  73672. resolver by setting \f[C]GODEBUG=netdns=cgo\f[R] (and recompile rclone
  73673. from source with CGO enabled if necessary).
  73674. See the name resolution section in the go
  73675. docs (https://golang.org/pkg/net/#hdr-Name_Resolution).
  73676. .SS Failed to start auth webserver on Windows
  73677. .IP
  73678. .nf
  73679. \f[C]
  73680. Error: config failed to refresh token: failed to start auth webserver: listen tcp 127.0.0.1:53682: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
  73681. \&...
  73682. yyyy/mm/dd hh:mm:ss Fatal error: config failed to refresh token: failed to start auth webserver: listen tcp 127.0.0.1:53682: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
  73683. \f[R]
  73684. .fi
  73685. .PP
  73686. This is sometimes caused by the Host Network Service causing issues with
  73687. opening the port on the host.
  73688. .PP
  73689. A simple solution may be restarting the Host Network Service with eg.
  73690. Powershell
  73691. .IP
  73692. .nf
  73693. \f[C]
  73694. Restart-Service hns
  73695. \f[R]
  73696. .fi
  73697. .SS The total size reported in the stats for a sync is wrong and keeps changing
  73698. .PP
  73699. It is likely you have more than 10,000 files that need to be synced.
  73700. By default, rclone only gets 10,000 files ahead in a sync so as not to
  73701. use up too much memory.
  73702. You can change this default with the
  73703. --max-backlog (https://rclone.org/docs/#max-backlog-n) flag.
  73704. .SS Rclone is using too much memory or appears to have a memory leak
  73705. .PP
  73706. Rclone is written in Go which uses a garbage collector.
  73707. The default settings for the garbage collector mean that it runs when
  73708. the heap size has doubled.
  73709. .PP
  73710. However it is possible to tune the garbage collector to use less memory
  73711. by setting GOGC (https://dave.cheney.net/tag/gogc) to a lower value, say
  73712. \f[C]export GOGC=20\f[R].
  73713. This will make the garbage collector work harder, reducing memory size
  73714. at the expense of CPU usage.
  73715. .PP
  73716. The most common cause of rclone using lots of memory is a single
  73717. directory with thousands or millions of files in.
  73718. Rclone has to load this entirely into memory as rclone objects.
  73719. Each rclone object takes 0.5k-1k of memory.
  73720. .SS Rclone changes fullwidth Unicode punctuation marks in file names
  73721. .PP
  73722. For example: On a Windows system, you have a file with name
  73723. \f[C]Test\[uFF1A]1.jpg\f[R], where \f[C]\[uFF1A]\f[R] is the Unicode
  73724. fullwidth colon symbol.
  73725. When using rclone to copy this to your Google Drive, you will notice
  73726. that the file gets renamed to \f[C]Test:1.jpg\f[R], where \f[C]:\f[R] is
  73727. the regular (halfwidth) colon.
  73728. .PP
  73729. The reason for such renames is the way rclone handles different
  73730. restricted filenames (https://rclone.org/overview/#restricted-filenames)
  73731. on different cloud storage systems.
  73732. It tries to avoid ambiguous file names as much and allow moving files
  73733. between many cloud storage systems transparently, by replacing invalid
  73734. characters with similar looking Unicode characters when transferring to
  73735. one storage system, and replacing back again when transferring to a
  73736. different storage system where the original characters are supported.
  73737. When the same Unicode characters are intentionally used in file names,
  73738. this replacement strategy leads to unwanted renames.
  73739. Read more
  73740. here (https://rclone.org/overview/#restricted-filenames-caveats).
  73741. .SH License
  73742. .PP
  73743. This is free software under the terms of the MIT license (check the
  73744. COPYING file included with the source code).
  73745. .IP
  73746. .nf
  73747. \f[C]
  73748. Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick/
  73749. Permission is hereby granted, free of charge, to any person obtaining a copy
  73750. of this software and associated documentation files (the \[dq]Software\[dq]), to deal
  73751. in the Software without restriction, including without limitation the rights
  73752. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  73753. copies of the Software, and to permit persons to whom the Software is
  73754. furnished to do so, subject to the following conditions:
  73755. The above copyright notice and this permission notice shall be included in
  73756. all copies or substantial portions of the Software.
  73757. THE SOFTWARE IS PROVIDED \[dq]AS IS\[dq], WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  73758. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  73759. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  73760. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  73761. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  73762. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  73763. THE SOFTWARE.
  73764. \f[R]
  73765. .fi
  73766. .SH Authors and contributors
  73767. .SS Authors
  73768. .IP \[bu] 2
  73769. Nick Craig-Wood <nick@craig-wood.com>
  73770. .SS Contributors
  73771. .PP
  73772. {{< rem
  73773. \f[C]email addresses removed from here need to be added to bin/.ignore-emails to make sure update-authors.py doesn\[aq]t immediately put them back in again.\f[R]
  73774. >}}
  73775. .IP \[bu] 2
  73776. Alex Couper <amcouper@gmail.com>
  73777. .IP \[bu] 2
  73778. Leonid Shalupov <leonid@shalupov.com> <shalupov@diverse.org.ru>
  73779. .IP \[bu] 2
  73780. Shimon Doodkin <helpmepro1@gmail.com>
  73781. .IP \[bu] 2
  73782. Colin Nicholson <colin@colinn.com>
  73783. .IP \[bu] 2
  73784. Klaus Post <klauspost@gmail.com>
  73785. .IP \[bu] 2
  73786. Sergey Tolmachev <tolsi.ru@gmail.com>
  73787. .IP \[bu] 2
  73788. Adriano Aur\['e]lio Meirelles <adriano@atinge.com>
  73789. .IP \[bu] 2
  73790. C.
  73791. Bess <cbess@users.noreply.github.com>
  73792. .IP \[bu] 2
  73793. Dmitry Burdeev <dibu28@gmail.com>
  73794. .IP \[bu] 2
  73795. Joseph Spurrier <github@josephspurrier.com>
  73796. .IP \[bu] 2
  73797. Bj\[:o]rn Harrtell <bjorn@wololo.org>
  73798. .IP \[bu] 2
  73799. Xavier Lucas <xavier.lucas@corp.ovh.com>
  73800. .IP \[bu] 2
  73801. Werner Beroux <werner@beroux.com>
  73802. .IP \[bu] 2
  73803. Brian Stengaard <brian@stengaard.eu>
  73804. .IP \[bu] 2
  73805. Jakub Gedeon <jgedeon@sofi.com>
  73806. .IP \[bu] 2
  73807. Jim Tittsler <jwt@onjapan.net>
  73808. .IP \[bu] 2
  73809. Michal Witkowski <michal@improbable.io>
  73810. .IP \[bu] 2
  73811. Fabian Ruff <fabian.ruff@sap.com>
  73812. .IP \[bu] 2
  73813. Leigh Klotz <klotz@quixey.com>
  73814. .IP \[bu] 2
  73815. Romain Lapray <lapray.romain@gmail.com>
  73816. .IP \[bu] 2
  73817. Justin R.
  73818. Wilson <jrw972@gmail.com>
  73819. .IP \[bu] 2
  73820. Antonio Messina <antonio.s.messina@gmail.com>
  73821. .IP \[bu] 2
  73822. Stefan G.
  73823. Weichinger <office@oops.co.at>
  73824. .IP \[bu] 2
  73825. Per Cederberg <cederberg@gmail.com>
  73826. .IP \[bu] 2
  73827. Radek \[vS]enfeld <rush@logic.cz>
  73828. .IP \[bu] 2
  73829. Fredrik Fornwall <fredrik@fornwall.net>
  73830. .IP \[bu] 2
  73831. Asko Tamm <asko@deekit.net>
  73832. .IP \[bu] 2
  73833. xor-zz <xor@gstocco.com>
  73834. .IP \[bu] 2
  73835. Tomasz Mazur <tmazur90@gmail.com>
  73836. .IP \[bu] 2
  73837. Marco Paganini <paganini@paganini.net>
  73838. .IP \[bu] 2
  73839. Felix B\[:u]nemann <buenemann@louis.info>
  73840. .IP \[bu] 2
  73841. Durval Menezes <jmrclone@durval.com>
  73842. .IP \[bu] 2
  73843. Luiz Carlos Rumbelsperger Viana <maxd13_luiz_carlos@hotmail.com>
  73844. .IP \[bu] 2
  73845. Stefan Breunig <stefan-github@yrden.de>
  73846. .IP \[bu] 2
  73847. Alishan Ladhani <ali-l@users.noreply.github.com>
  73848. .IP \[bu] 2
  73849. 0xJAKE <0xJAKE@users.noreply.github.com>
  73850. .IP \[bu] 2
  73851. Thibault Molleman <thibaultmol@users.noreply.github.com>
  73852. .IP \[bu] 2
  73853. Scott McGillivray <scott.mcgillivray@gmail.com>
  73854. .IP \[bu] 2
  73855. Bj\[/o]rn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
  73856. .IP \[bu] 2
  73857. Lukas Loesche <lukas@mesosphere.io>
  73858. .IP \[bu] 2
  73859. emyarod <emyarod@users.noreply.github.com>
  73860. .IP \[bu] 2
  73861. T.C.
  73862. Ferguson <tcf909@gmail.com>
  73863. .IP \[bu] 2
  73864. Brandur <brandur@mutelight.org>
  73865. .IP \[bu] 2
  73866. Dario Giovannetti <dev@dariogiovannetti.net>
  73867. .IP \[bu] 2
  73868. K\['a]roly Ol\['a]h <okaresz@aol.com>
  73869. .IP \[bu] 2
  73870. Jon Yergatian <jon@macfanatic.ca>
  73871. .IP \[bu] 2
  73872. Jack Schmidt <github@mowsey.org>
  73873. .IP \[bu] 2
  73874. Dedsec1 <Dedsec1@users.noreply.github.com>
  73875. .IP \[bu] 2
  73876. Hisham Zarka <hzarka@gmail.com>
  73877. .IP \[bu] 2
  73878. J\['e]r\[^o]me Vizcaino <jerome.vizcaino@gmail.com>
  73879. .IP \[bu] 2
  73880. Mike Tesch <mjt6129@rit.edu>
  73881. .IP \[bu] 2
  73882. Marvin Watson <marvwatson@users.noreply.github.com>
  73883. .IP \[bu] 2
  73884. Danny Tsai <danny8376@gmail.com>
  73885. .IP \[bu] 2
  73886. Yoni Jah <yonjah+git@gmail.com> <yonjah+github@gmail.com>
  73887. .IP \[bu] 2
  73888. Stephen Harris <github@spuddy.org> <sweharris@users.noreply.github.com>
  73889. .IP \[bu] 2
  73890. Ihor Dvoretskyi <ihor.dvoretskyi@gmail.com>
  73891. .IP \[bu] 2
  73892. Jon Craton <jncraton@gmail.com>
  73893. .IP \[bu] 2
  73894. Hraban Luyat <hraban@0brg.net>
  73895. .IP \[bu] 2
  73896. Michael Ledin <mledin89@gmail.com>
  73897. .IP \[bu] 2
  73898. Martin Kristensen <me@azgul.com>
  73899. .IP \[bu] 2
  73900. Too Much IO <toomuchio@users.noreply.github.com>
  73901. .IP \[bu] 2
  73902. Anisse Astier <anisse@astier.eu>
  73903. .IP \[bu] 2
  73904. Zahiar Ahmed <zahiar@live.com>
  73905. .IP \[bu] 2
  73906. Igor Kharin <igorkharin@gmail.com>
  73907. .IP \[bu] 2
  73908. Bill Zissimopoulos <billziss@navimatics.com>
  73909. .IP \[bu] 2
  73910. Bob Potter <bobby.potter@gmail.com>
  73911. .IP \[bu] 2
  73912. Steven Lu <tacticalazn@gmail.com>
  73913. .IP \[bu] 2
  73914. Sjur Fredriksen <sjurtf@ifi.uio.no>
  73915. .IP \[bu] 2
  73916. Ruwbin <hubus12345@gmail.com>
  73917. .IP \[bu] 2
  73918. Fabian M\[:o]ller <fabianm88@gmail.com> <f.moeller@nynex.de>
  73919. .IP \[bu] 2
  73920. Edward Q.
  73921. Bridges <github@eqbridges.com>
  73922. .IP \[bu] 2
  73923. Vasiliy Tolstov <v.tolstov@selfip.ru>
  73924. .IP \[bu] 2
  73925. Harshavardhana <harsha@minio.io>
  73926. .IP \[bu] 2
  73927. sainaen <sainaen@gmail.com>
  73928. .IP \[bu] 2
  73929. gdm85 <gdm85@users.noreply.github.com>
  73930. .IP \[bu] 2
  73931. Yaroslav Halchenko <debian@onerussian.com>
  73932. .IP \[bu] 2
  73933. John Papandriopoulos <jpap@users.noreply.github.com>
  73934. .IP \[bu] 2
  73935. Zhiming Wang <zmwangx@gmail.com>
  73936. .IP \[bu] 2
  73937. Andy Pilate <cubox@cubox.me>
  73938. .IP \[bu] 2
  73939. Oliver Heyme <olihey@googlemail.com> <olihey@users.noreply.github.com>
  73940. <de8olihe@lego.com>
  73941. .IP \[bu] 2
  73942. wuyu <wuyu@yunify.com>
  73943. .IP \[bu] 2
  73944. Andrei Dragomir <adragomi@adobe.com>
  73945. .IP \[bu] 2
  73946. Christian Br\[:u]ggemann <mail@cbruegg.com>
  73947. .IP \[bu] 2
  73948. Alex McGrath Kraak <amkdude@gmail.com>
  73949. .IP \[bu] 2
  73950. bpicode <bjoern.pirnay@googlemail.com>
  73951. .IP \[bu] 2
  73952. Daniel Jagszent <daniel@jagszent.de>
  73953. .IP \[bu] 2
  73954. Josiah White <thegenius2009@gmail.com>
  73955. .IP \[bu] 2
  73956. Ishuah Kariuki <kariuki@ishuah.com> <ishuah91@gmail.com>
  73957. .IP \[bu] 2
  73958. Jan Varho <jan@varho.org>
  73959. .IP \[bu] 2
  73960. Girish Ramakrishnan <girish@cloudron.io>
  73961. .IP \[bu] 2
  73962. LingMan <LingMan@users.noreply.github.com>
  73963. .IP \[bu] 2
  73964. Jacob McNamee <jacobmcnamee@gmail.com>
  73965. .IP \[bu] 2
  73966. jersou <jertux@gmail.com>
  73967. .IP \[bu] 2
  73968. thierry <thierry@substantiel.fr>
  73969. .IP \[bu] 2
  73970. Simon Leinen <simon.leinen@gmail.com> <ubuntu@s3-test.novalocal>
  73971. .IP \[bu] 2
  73972. Dan Dascalescu <ddascalescu+github@gmail.com>
  73973. .IP \[bu] 2
  73974. Jason Rose <jason@jro.io>
  73975. .IP \[bu] 2
  73976. Andrew Starr-Bochicchio <a.starr.b@gmail.com>
  73977. .IP \[bu] 2
  73978. John Leach <john@johnleach.co.uk>
  73979. .IP \[bu] 2
  73980. Corban Raun <craun@instructure.com>
  73981. .IP \[bu] 2
  73982. Pierre Carlson <mpcarl@us.ibm.com>
  73983. .IP \[bu] 2
  73984. Ernest Borowski <er.borowski@gmail.com>
  73985. .IP \[bu] 2
  73986. Remus Bunduc <remus.bunduc@gmail.com>
  73987. .IP \[bu] 2
  73988. Iakov Davydov <iakov.davydov@unil.ch> <dav05.gith@myths.ru>
  73989. .IP \[bu] 2
  73990. Jakub Tasiemski <tasiemski@gmail.com>
  73991. .IP \[bu] 2
  73992. David Minor <dminor@saymedia.com>
  73993. .IP \[bu] 2
  73994. Tim Cooijmans <cooijmans.tim@gmail.com>
  73995. .IP \[bu] 2
  73996. Laurence <liuxy6@gmail.com>
  73997. .IP \[bu] 2
  73998. Giovanni Pizzi <gio.piz@gmail.com>
  73999. .IP \[bu] 2
  74000. Filip Bartodziej <filipbartodziej@gmail.com>
  74001. .IP \[bu] 2
  74002. Jon Fautley <jon@dead.li>
  74003. .IP \[bu] 2
  74004. lewapm <32110057+lewapm@users.noreply.github.com>
  74005. .IP \[bu] 2
  74006. Yassine Imounachen <yassine256@gmail.com>
  74007. .IP \[bu] 2
  74008. Chris Redekop <chris-redekop@users.noreply.github.com>
  74009. <chris.redekop@gmail.com>
  74010. .IP \[bu] 2
  74011. Jon Fautley <jon@adenoid.appstal.co.uk>
  74012. .IP \[bu] 2
  74013. Will Gunn <WillGunn@users.noreply.github.com>
  74014. .IP \[bu] 2
  74015. Lucas Bremgartner <lucas@bremis.ch>
  74016. .IP \[bu] 2
  74017. Jody Frankowski <jody.frankowski@gmail.com>
  74018. .IP \[bu] 2
  74019. Andreas Roussos <arouss1980@gmail.com>
  74020. .IP \[bu] 2
  74021. nbuchanan <nbuchanan@utah.gov>
  74022. .IP \[bu] 2
  74023. Durval Menezes <rclone@durval.com>
  74024. .IP \[bu] 2
  74025. Victor <vb-github@viblo.se>
  74026. .IP \[bu] 2
  74027. Mateusz <pabian.mateusz@gmail.com>
  74028. .IP \[bu] 2
  74029. Daniel Loader <spicypixel@gmail.com>
  74030. .IP \[bu] 2
  74031. David0rk <davidork@gmail.com>
  74032. .IP \[bu] 2
  74033. Alexander Neumann <alexander@bumpern.de>
  74034. .IP \[bu] 2
  74035. Giri Badanahatti <gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local>
  74036. .IP \[bu] 2
  74037. Leo R.
  74038. Lundgren <leo@finalresort.org>
  74039. .IP \[bu] 2
  74040. wolfv <wolfv6@users.noreply.github.com>
  74041. .IP \[bu] 2
  74042. Dave Pedu <dave@davepedu.com>
  74043. .IP \[bu] 2
  74044. Stefan Lindblom <lindblom@spotify.com>
  74045. .IP \[bu] 2
  74046. seuffert <oliver@seuffert.biz>
  74047. .IP \[bu] 2
  74048. gbadanahatti <37121690+gbadanahatti@users.noreply.github.com>
  74049. .IP \[bu] 2
  74050. Keith Goldfarb <barkofdelight@gmail.com>
  74051. .IP \[bu] 2
  74052. Steve Kriss <steve@heptio.com>
  74053. .IP \[bu] 2
  74054. Chih-Hsuan Yen <yan12125@gmail.com>
  74055. .IP \[bu] 2
  74056. Alexander Neumann <fd0@users.noreply.github.com>
  74057. .IP \[bu] 2
  74058. Matt Holt <mholt@users.noreply.github.com>
  74059. .IP \[bu] 2
  74060. Eri Bastos <bastos.eri@gmail.com>
  74061. .IP \[bu] 2
  74062. Michael P.
  74063. Dubner <pywebmail@list.ru>
  74064. .IP \[bu] 2
  74065. Antoine GIRARD <sapk@users.noreply.github.com>
  74066. .IP \[bu] 2
  74067. Mateusz Piotrowski <mpp302@gmail.com>
  74068. .IP \[bu] 2
  74069. Animosity022 <animosity22@users.noreply.github.com>
  74070. <earl.texter@gmail.com>
  74071. .IP \[bu] 2
  74072. Peter Baumgartner <pete@lincolnloop.com>
  74073. .IP \[bu] 2
  74074. Craig Rachel <craig@craigrachel.com>
  74075. .IP \[bu] 2
  74076. Michael G.
  74077. Noll <miguno@users.noreply.github.com>
  74078. .IP \[bu] 2
  74079. hensur <me@hensur.de>
  74080. .IP \[bu] 2
  74081. Oliver Heyme <de8olihe@lego.com>
  74082. .IP \[bu] 2
  74083. Richard Yang <richard@yenforyang.com>
  74084. .IP \[bu] 2
  74085. Piotr Oleszczyk <piotr.oleszczyk@gmail.com>
  74086. .IP \[bu] 2
  74087. Rodrigo <rodarima@gmail.com>
  74088. .IP \[bu] 2
  74089. NoLooseEnds <NoLooseEnds@users.noreply.github.com>
  74090. .IP \[bu] 2
  74091. Jakub Karlicek <jakub@karlicek.me>
  74092. .IP \[bu] 2
  74093. John Clayton <john@codemonkeylabs.com>
  74094. .IP \[bu] 2
  74095. Kasper Byrdal Nielsen <byrdal76@gmail.com>
  74096. .IP \[bu] 2
  74097. Benjamin Joseph Dag <bjdag1234@users.noreply.github.com>
  74098. .IP \[bu] 2
  74099. themylogin <themylogin@gmail.com>
  74100. .IP \[bu] 2
  74101. Onno Zweers <onno.zweers@surfsara.nl>
  74102. .IP \[bu] 2
  74103. Jasper Lievisse Adriaanse <jasper@humppa.nl>
  74104. .IP \[bu] 2
  74105. sandeepkru <sandeep.ummadi@gmail.com>
  74106. <sandeepkru@users.noreply.github.com>
  74107. .IP \[bu] 2
  74108. HerrH <atomtigerzoo@users.noreply.github.com>
  74109. .IP \[bu] 2
  74110. Andrew <4030760+sparkyman215@users.noreply.github.com>
  74111. .IP \[bu] 2
  74112. dan smith <XX1011@gmail.com>
  74113. .IP \[bu] 2
  74114. Oleg Kovalov <iamolegkovalov@gmail.com>
  74115. .IP \[bu] 2
  74116. Ruben Vandamme <github-com-00ff86@vandamme.email>
  74117. .IP \[bu] 2
  74118. Cnly <minecnly@gmail.com>
  74119. .IP \[bu] 2
  74120. Andres Alvarez <1671935+kir4h@users.noreply.github.com>
  74121. .IP \[bu] 2
  74122. reddi1 <xreddi@gmail.com>
  74123. .IP \[bu] 2
  74124. Matt Tucker <matthewtckr@gmail.com>
  74125. .IP \[bu] 2
  74126. Sebastian B\[:u]nger <buengese@gmail.com> <buengese@protonmail.com>
  74127. .IP \[bu] 2
  74128. Martin Polden <mpolden@mpolden.no>
  74129. .IP \[bu] 2
  74130. Alex Chen <Cnly@users.noreply.github.com>
  74131. .IP \[bu] 2
  74132. Denis <deniskovpen@gmail.com>
  74133. .IP \[bu] 2
  74134. bsteiss <35940619+bsteiss@users.noreply.github.com>
  74135. .IP \[bu] 2
  74136. C\['e]dric Connes <cedric.connes@gmail.com>
  74137. .IP \[bu] 2
  74138. Dr.
  74139. Tobias Quathamer <toddy15@users.noreply.github.com>
  74140. .IP \[bu] 2
  74141. dcpu <42736967+dcpu@users.noreply.github.com>
  74142. .IP \[bu] 2
  74143. Sheldon Rupp <me@shel.io>
  74144. .IP \[bu] 2
  74145. albertony <12441419+albertony@users.noreply.github.com>
  74146. .IP \[bu] 2
  74147. cron410 <cron410@gmail.com>
  74148. .IP \[bu] 2
  74149. Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
  74150. .IP \[bu] 2
  74151. Felix Brucker <felix@felixbrucker.com>
  74152. .IP \[bu] 2
  74153. Santiago Rodr\['i]guez <scollazo@users.noreply.github.com>
  74154. .IP \[bu] 2
  74155. Craig Miskell <craig.miskell@fluxfederation.com>
  74156. .IP \[bu] 2
  74157. Antoine GIRARD <sapk@sapk.fr>
  74158. .IP \[bu] 2
  74159. Joanna Marek <joanna.marek@u2i.com>
  74160. .IP \[bu] 2
  74161. frenos <frenos@users.noreply.github.com>
  74162. .IP \[bu] 2
  74163. ssaqua <ssaqua@users.noreply.github.com>
  74164. .IP \[bu] 2
  74165. xnaas <me@xnaas.info>
  74166. .IP \[bu] 2
  74167. Frantisek Fuka <fuka@fuxoft.cz>
  74168. .IP \[bu] 2
  74169. Paul Kohout <pauljkohout@yahoo.com>
  74170. .IP \[bu] 2
  74171. dcpu <43330287+dcpu@users.noreply.github.com>
  74172. .IP \[bu] 2
  74173. jackyzy823 <jackyzy823@gmail.com>
  74174. .IP \[bu] 2
  74175. David Haguenauer <ml@kurokatta.org>
  74176. .IP \[bu] 2
  74177. teresy <hi.teresy@gmail.com>
  74178. .IP \[bu] 2
  74179. buergi <patbuergi@gmx.de>
  74180. .IP \[bu] 2
  74181. Florian Gamboeck <mail@floga.de>
  74182. .IP \[bu] 2
  74183. Ralf Hemberger <10364191+rhemberger@users.noreply.github.com>
  74184. .IP \[bu] 2
  74185. Scott Edlund <sedlund@users.noreply.github.com>
  74186. .IP \[bu] 2
  74187. Erik Swanson <erik@retailnext.net>
  74188. .IP \[bu] 2
  74189. Jake Coggiano <jake@stripe.com>
  74190. .IP \[bu] 2
  74191. brused27 <brused27@noemailaddress>
  74192. .IP \[bu] 2
  74193. Peter Kaminski <kaminski@istori.com>
  74194. .IP \[bu] 2
  74195. Henry Ptasinski <henry@logout.com>
  74196. .IP \[bu] 2
  74197. Alexander <kharkovalexander@gmail.com>
  74198. .IP \[bu] 2
  74199. Garry McNulty <garrmcnu@gmail.com>
  74200. .IP \[bu] 2
  74201. Mathieu Carbou <mathieu.carbou@gmail.com>
  74202. .IP \[bu] 2
  74203. Mark Otway <mark@otway.com>
  74204. .IP \[bu] 2
  74205. William Cocker <37018962+WilliamCocker@users.noreply.github.com>
  74206. .IP \[bu] 2
  74207. Fran\[,c]ois Leurent <131.js@cloudyks.org>
  74208. .IP \[bu] 2
  74209. Arkadius Stefanski <arkste@gmail.com>
  74210. .IP \[bu] 2
  74211. Jay <dev@jaygoel.com>
  74212. .IP \[bu] 2
  74213. andrea rota <a@xelera.eu>
  74214. .IP \[bu] 2
  74215. nicolov <nicolov@users.noreply.github.com>
  74216. .IP \[bu] 2
  74217. Matt Joiner <anacrolix@gmail.com>
  74218. .IP \[bu] 2
  74219. Dario Guzik <dario@guzik.com.ar>
  74220. .IP \[bu] 2
  74221. qip <qip@users.noreply.github.com>
  74222. .IP \[bu] 2
  74223. yair\[at]unicorn <yair@unicorn>
  74224. .IP \[bu] 2
  74225. Matt Robinson <brimstone@the.narro.ws>
  74226. .IP \[bu] 2
  74227. kayrus <kay.diam@gmail.com>
  74228. .IP \[bu] 2
  74229. R\['e]my L\['e]one <remy.leone@gmail.com>
  74230. .IP \[bu] 2
  74231. Wojciech Smigielski <wojciech.hieronim.smigielski@gmail.com>
  74232. .IP \[bu] 2
  74233. weetmuts <oehrstroem@gmail.com>
  74234. .IP \[bu] 2
  74235. Jonathan <vanillajonathan@users.noreply.github.com>
  74236. .IP \[bu] 2
  74237. James Carpenter <orbsmiv@users.noreply.github.com>
  74238. .IP \[bu] 2
  74239. Vince <vince0villamora@gmail.com>
  74240. .IP \[bu] 2
  74241. Nestar47 <47841759+Nestar47@users.noreply.github.com>
  74242. .IP \[bu] 2
  74243. Six <brbsix@gmail.com>
  74244. .IP \[bu] 2
  74245. Alexandru Bumbacea <alexandru.bumbacea@booking.com>
  74246. .IP \[bu] 2
  74247. calisro <robert.calistri@gmail.com>
  74248. .IP \[bu] 2
  74249. Dr.Rx <david.rey@nventive.com>
  74250. .IP \[bu] 2
  74251. marcintustin <marcintustin@users.noreply.github.com>
  74252. .IP \[bu] 2
  74253. jaKa Mo\[u010D]nik <jaka@koofr.net>
  74254. .IP \[bu] 2
  74255. Fionera <fionera@fionera.de>
  74256. .IP \[bu] 2
  74257. Dan Walters <dan@walters.io>
  74258. .IP \[bu] 2
  74259. Danil Semelenov <sgtpep@users.noreply.github.com>
  74260. .IP \[bu] 2
  74261. xopez <28950736+xopez@users.noreply.github.com>
  74262. .IP \[bu] 2
  74263. Ben Boeckel <mathstuf@gmail.com>
  74264. .IP \[bu] 2
  74265. Manu <manu@snapdragon.cc>
  74266. .IP \[bu] 2
  74267. Kyle E.
  74268. Mitchell <kyle@kemitchell.com>
  74269. .IP \[bu] 2
  74270. Gary Kim <gary@garykim.dev>
  74271. .IP \[bu] 2
  74272. Jon <jonathn@github.com>
  74273. .IP \[bu] 2
  74274. Jeff Quinn <jeffrey.quinn@bluevoyant.com>
  74275. .IP \[bu] 2
  74276. Peter Berbec <peter@berbec.com>
  74277. .IP \[bu] 2
  74278. didil <1284255+didil@users.noreply.github.com>
  74279. .IP \[bu] 2
  74280. id01 <gaviniboom@gmail.com>
  74281. .IP \[bu] 2
  74282. Robert Marko <robimarko@gmail.com>
  74283. .IP \[bu] 2
  74284. Philip Harvey <32467456+pharveybattelle@users.noreply.github.com>
  74285. .IP \[bu] 2
  74286. JorisE <JorisE@users.noreply.github.com>
  74287. .IP \[bu] 2
  74288. garry415 <garry.415@gmail.com>
  74289. .IP \[bu] 2
  74290. forgems <forgems@gmail.com>
  74291. .IP \[bu] 2
  74292. Florian Apolloner <florian@apolloner.eu>
  74293. .IP \[bu] 2
  74294. Aleksandar Jankovi\['c] <office@ajankovic.com>
  74295. <ajankovic@users.noreply.github.com>
  74296. .IP \[bu] 2
  74297. Maran <maran@protonmail.com>
  74298. .IP \[bu] 2
  74299. nguyenhuuluan434 <nguyenhuuluan434@gmail.com>
  74300. .IP \[bu] 2
  74301. Laura Hausmann <zotan@zotan.pw> <laura@hausmann.dev>
  74302. .IP \[bu] 2
  74303. yparitcher <y@paritcher.com>
  74304. .IP \[bu] 2
  74305. AbelThar <abela.tharen@gmail.com>
  74306. .IP \[bu] 2
  74307. Matti Niemenmaa <matti.niemenmaa+git@iki.fi>
  74308. .IP \[bu] 2
  74309. Russell Davis <russelldavis@users.noreply.github.com>
  74310. .IP \[bu] 2
  74311. Yi FU <yi.fu@tink.se>
  74312. .IP \[bu] 2
  74313. Paul Millar <paul.millar@desy.de>
  74314. .IP \[bu] 2
  74315. justinalin <justinalin@qnap.com>
  74316. .IP \[bu] 2
  74317. EliEron <subanimehd@gmail.com>
  74318. .IP \[bu] 2
  74319. justina777 <chiahuei.lin@gmail.com>
  74320. .IP \[bu] 2
  74321. Chaitanya Bankanhal <bchaitanya15@gmail.com>
  74322. .IP \[bu] 2
  74323. Micha\[/l] Matczuk <michal@scylladb.com>
  74324. .IP \[bu] 2
  74325. Macavirus <macavirus@zoho.com>
  74326. .IP \[bu] 2
  74327. Abhinav Sharma <abhi18av@outlook.com>
  74328. .IP \[bu] 2
  74329. ginvine <34869051+ginvine@users.noreply.github.com>
  74330. .IP \[bu] 2
  74331. Patrick Wang <mail6543210@yahoo.com.tw>
  74332. .IP \[bu] 2
  74333. Cenk Alti <cenkalti@gmail.com>
  74334. .IP \[bu] 2
  74335. Andreas Chlupka <andy@chlupka.com>
  74336. .IP \[bu] 2
  74337. Alfonso Montero <amontero@tinet.org>
  74338. .IP \[bu] 2
  74339. Ivan Andreev <ivandeex@gmail.com>
  74340. .IP \[bu] 2
  74341. David Baumgold <david@davidbaumgold.com>
  74342. .IP \[bu] 2
  74343. Lars Lehtonen <lars.lehtonen@gmail.com>
  74344. .IP \[bu] 2
  74345. Matei David <matei.david@gmail.com>
  74346. .IP \[bu] 2
  74347. David <david.bramwell@endemolshine.com>
  74348. .IP \[bu] 2
  74349. Anthony Rusdi <33247310+antrusd@users.noreply.github.com>
  74350. .IP \[bu] 2
  74351. Richard Patel <me@terorie.dev>
  74352. .IP \[bu] 2
  74353. \[u5E84]\[u5929]\[u7FFC] <zty0826@gmail.com>
  74354. .IP \[bu] 2
  74355. SwitchJS <dev@switchjs.com>
  74356. .IP \[bu] 2
  74357. Raphael <PowershellNinja@users.noreply.github.com>
  74358. .IP \[bu] 2
  74359. Sezal Agrawal <sezalagrawal@gmail.com>
  74360. .IP \[bu] 2
  74361. Tyler <TylerNakamura@users.noreply.github.com>
  74362. .IP \[bu] 2
  74363. Brett Dutro <brett.dutro@gmail.com>
  74364. .IP \[bu] 2
  74365. Vighnesh SK <booterror99@gmail.com>
  74366. .IP \[bu] 2
  74367. Arijit Biswas <dibbyo456@gmail.com>
  74368. .IP \[bu] 2
  74369. Michele Caci <michele.caci@gmail.com>
  74370. .IP \[bu] 2
  74371. AlexandrBoltris <ua2fgb@gmail.com>
  74372. .IP \[bu] 2
  74373. Bryce Larson <blarson@saltstack.com>
  74374. .IP \[bu] 2
  74375. Carlos Ferreyra <crypticmind@gmail.com>
  74376. .IP \[bu] 2
  74377. Saksham Khanna <sakshamkhanna@outlook.com>
  74378. .IP \[bu] 2
  74379. dausruddin <5763466+dausruddin@users.noreply.github.com>
  74380. .IP \[bu] 2
  74381. zero-24 <zero-24@users.noreply.github.com>
  74382. .IP \[bu] 2
  74383. Xiaoxing Ye <ye@xiaoxing.us>
  74384. .IP \[bu] 2
  74385. Barry Muldrey <barry@muldrey.net>
  74386. .IP \[bu] 2
  74387. Sebastian Brandt <sebastian.brandt@friday.de>
  74388. .IP \[bu] 2
  74389. Marco Molteni <marco.molteni@mailbox.org>
  74390. .IP \[bu] 2
  74391. Ankur Gupta <7876747+ankur0493@users.noreply.github.com>
  74392. .IP \[bu] 2
  74393. Maciej Zimnoch <maciej@scylladb.com>
  74394. .IP \[bu] 2
  74395. anuar45 <serdaliyev.anuar@gmail.com>
  74396. .IP \[bu] 2
  74397. Fernando <ferferga@users.noreply.github.com>
  74398. .IP \[bu] 2
  74399. David Cole <david.cole@sohonet.com>
  74400. .IP \[bu] 2
  74401. Wei He <git@weispot.com>
  74402. .IP \[bu] 2
  74403. Outvi V <19144373+outloudvi@users.noreply.github.com>
  74404. .IP \[bu] 2
  74405. Thomas Kriechbaumer <thomas@kriechbaumer.name>
  74406. .IP \[bu] 2
  74407. Tennix <tennix@users.noreply.github.com>
  74408. .IP \[bu] 2
  74409. Ole Sch\[:u]tt <ole@schuett.name>
  74410. .IP \[bu] 2
  74411. Kuang-che Wu <kcwu@csie.org>
  74412. .IP \[bu] 2
  74413. Thomas Eales <wingsuit@users.noreply.github.com>
  74414. .IP \[bu] 2
  74415. Paul Tinsley <paul.tinsley@vitalsource.com>
  74416. .IP \[bu] 2
  74417. Felix Hungenberg <git@shiftgeist.com>
  74418. .IP \[bu] 2
  74419. Benjamin Richter <github@dev.telepath.de>
  74420. .IP \[bu] 2
  74421. landall <cst_zf@qq.com>
  74422. .IP \[bu] 2
  74423. thestigma <thestigma@gmail.com>
  74424. .IP \[bu] 2
  74425. jtagcat <38327267+jtagcat@users.noreply.github.com>
  74426. .IP \[bu] 2
  74427. Damon Permezel <permezel@me.com>
  74428. .IP \[bu] 2
  74429. boosh <boosh@users.noreply.github.com>
  74430. .IP \[bu] 2
  74431. unbelauscht <58393353+unbelauscht@users.noreply.github.com>
  74432. .IP \[bu] 2
  74433. Motonori IWAMURO <vmi@nifty.com>
  74434. .IP \[bu] 2
  74435. Benjapol Worakan <benwrk@live.com>
  74436. .IP \[bu] 2
  74437. Dave Koston <dave.koston@stackpath.com>
  74438. .IP \[bu] 2
  74439. Durval Menezes <DurvalMenezes@users.noreply.github.com>
  74440. .IP \[bu] 2
  74441. Tim Gallant <me@timgallant.us>
  74442. .IP \[bu] 2
  74443. Frederick Zhang <frederick888@tsundere.moe>
  74444. .IP \[bu] 2
  74445. valery1707 <valery1707@gmail.com>
  74446. .IP \[bu] 2
  74447. Yves G <theYinYeti@yalis.fr>
  74448. .IP \[bu] 2
  74449. Shing Kit Chan <chanshingkit@gmail.com>
  74450. .IP \[bu] 2
  74451. Franklyn Tackitt <franklyn@tackitt.net>
  74452. .IP \[bu] 2
  74453. Robert-Andr\['e] Mauchin <zebob.m@gmail.com>
  74454. .IP \[bu] 2
  74455. evileye <48332831+ibiruai@users.noreply.github.com>
  74456. .IP \[bu] 2
  74457. Joachim Brandon LeBlanc <brandon@leblanc.codes>
  74458. .IP \[bu] 2
  74459. Patryk Jakuszew <patryk.jakuszew@gmail.com>
  74460. .IP \[bu] 2
  74461. fishbullet <shindu666@gmail.com>
  74462. .IP \[bu] 2
  74463. greatroar <\[at]>
  74464. .IP \[bu] 2
  74465. Bernd Schoolmann <mail@quexten.com>
  74466. .IP \[bu] 2
  74467. Elan Ruusam\[:a]e <glen@pld-linux.org>
  74468. .IP \[bu] 2
  74469. Max Sum <max@lolyculture.com>
  74470. .IP \[bu] 2
  74471. Mark Spieth <mspieth@users.noreply.github.com>
  74472. .IP \[bu] 2
  74473. harry <me@harry.plus>
  74474. .IP \[bu] 2
  74475. Samantha McVey <samantham@posteo.net>
  74476. .IP \[bu] 2
  74477. Jack Anderson <jack.anderson@metaswitch.com>
  74478. .IP \[bu] 2
  74479. Michael G <draget@speciesm.net>
  74480. .IP \[bu] 2
  74481. Brandon Philips <brandon@ifup.org>
  74482. .IP \[bu] 2
  74483. Daven <dooven@users.noreply.github.com>
  74484. .IP \[bu] 2
  74485. Martin Stone <martin@d7415.co.uk>
  74486. .IP \[bu] 2
  74487. David Bramwell <13053834+dbramwell@users.noreply.github.com>
  74488. .IP \[bu] 2
  74489. Sunil Patra <snl_su@live.com>
  74490. .IP \[bu] 2
  74491. Adam Stroud <adam.stroud@gmail.com>
  74492. .IP \[bu] 2
  74493. Kush <kushsharma@users.noreply.github.com>
  74494. .IP \[bu] 2
  74495. Matan Rosenberg <matan129@gmail.com>
  74496. .IP \[bu] 2
  74497. gitch1 <63495046+gitch1@users.noreply.github.com>
  74498. .IP \[bu] 2
  74499. ElonH <elonhhuang@gmail.com>
  74500. .IP \[bu] 2
  74501. Fred <fred@creativeprojects.tech>
  74502. .IP \[bu] 2
  74503. S\['e]bastien Gross <renard@users.noreply.github.com>
  74504. .IP \[bu] 2
  74505. Maxime Suret <11944422+msuret@users.noreply.github.com>
  74506. .IP \[bu] 2
  74507. Caleb Case <caleb@storj.io> <calebcase@gmail.com>
  74508. .IP \[bu] 2
  74509. Ben Zenker <imbenzenker@gmail.com>
  74510. .IP \[bu] 2
  74511. Martin Michlmayr <tbm@cyrius.com>
  74512. .IP \[bu] 2
  74513. Brandon McNama <bmcnama@pagerduty.com>
  74514. .IP \[bu] 2
  74515. Daniel Slyman <github@skylayer.eu>
  74516. .IP \[bu] 2
  74517. Alex Guerrero <guerrero@users.noreply.github.com>
  74518. .IP \[bu] 2
  74519. Matteo Pietro Dazzi <matteopietro.dazzi@gft.com>
  74520. .IP \[bu] 2
  74521. edwardxml <56691903+edwardxml@users.noreply.github.com>
  74522. .IP \[bu] 2
  74523. Roman Kredentser <shareed2k@gmail.com>
  74524. .IP \[bu] 2
  74525. Kamil Trzci\[u0144]ski <ayufan@ayufan.eu>
  74526. .IP \[bu] 2
  74527. Zac Rubin <z-0@users.noreply.github.com>
  74528. .IP \[bu] 2
  74529. Vincent Feltz <psycho@feltzv.fr>
  74530. .IP \[bu] 2
  74531. Heiko Bornholdt <bornholdt@informatik.uni-hamburg.de>
  74532. .IP \[bu] 2
  74533. Matteo Pietro Dazzi <matteopietro.dazzi@gmail.com>
  74534. .IP \[bu] 2
  74535. jtagcat <gitlab@c7.ee>
  74536. .IP \[bu] 2
  74537. Petri Salminen <petri@salminen.dev>
  74538. .IP \[bu] 2
  74539. Tim Burke <tim.burke@gmail.com>
  74540. .IP \[bu] 2
  74541. Kai L\[:u]ke <kai@kinvolk.io>
  74542. .IP \[bu] 2
  74543. Garrett Squire <github@garrettsquire.com>
  74544. .IP \[bu] 2
  74545. Evan Harris <eharris@puremagic.com>
  74546. .IP \[bu] 2
  74547. Kevin <keyam@microsoft.com>
  74548. .IP \[bu] 2
  74549. Morten Linderud <morten@linderud.pw>
  74550. .IP \[bu] 2
  74551. Dmitry Ustalov <dmitry.ustalov@gmail.com>
  74552. .IP \[bu] 2
  74553. Jack <196648+jdeng@users.noreply.github.com>
  74554. .IP \[bu] 2
  74555. kcris <cristian.tarsoaga@gmail.com>
  74556. .IP \[bu] 2
  74557. tyhuber1 <68970760+tyhuber1@users.noreply.github.com>
  74558. .IP \[bu] 2
  74559. David Ibarra <david.ibarra@realty.com>
  74560. .IP \[bu] 2
  74561. Tim Gallant <tim@lilt.com>
  74562. .IP \[bu] 2
  74563. Kaloyan Raev <kaloyan@storj.io>
  74564. .IP \[bu] 2
  74565. Jay McEntire <jay.mcentire@gmail.com>
  74566. .IP \[bu] 2
  74567. Leo Luan <leoluan@us.ibm.com>
  74568. .IP \[bu] 2
  74569. aus <549081+aus@users.noreply.github.com>
  74570. .IP \[bu] 2
  74571. Aaron Gokaslan <agokaslan@fb.com>
  74572. .IP \[bu] 2
  74573. Egor Margineanu <egmar@users.noreply.github.com>
  74574. .IP \[bu] 2
  74575. Lucas Kanashiro <lucas.kanashiro@canonical.com>
  74576. .IP \[bu] 2
  74577. WarpedPixel <WarpedPixel@users.noreply.github.com>
  74578. .IP \[bu] 2
  74579. Sam Edwards <sam@samedwards.ca>
  74580. .IP \[bu] 2
  74581. wjielai <gouki0123@gmail.com>
  74582. .IP \[bu] 2
  74583. Muffin King <jinxz_k@live.com>
  74584. .IP \[bu] 2
  74585. Christopher Stewart <6573710+1f47a@users.noreply.github.com>
  74586. .IP \[bu] 2
  74587. Russell Cattelan <cattelan@digitalelves.com>
  74588. .IP \[bu] 2
  74589. gyutw <30371241+gyutw@users.noreply.github.com>
  74590. .IP \[bu] 2
  74591. Hekmon <edouardhur@gmail.com>
  74592. .IP \[bu] 2
  74593. LaSombra <lasombra@users.noreply.github.com>
  74594. .IP \[bu] 2
  74595. Dov Murik <dov.murik@gmail.com>
  74596. .IP \[bu] 2
  74597. Ameer Dawood <ameer1234567890@gmail.com>
  74598. .IP \[bu] 2
  74599. Dan Hipschman <dan.hipschman@opendoor.com>
  74600. .IP \[bu] 2
  74601. Josh Soref <jsoref@users.noreply.github.com>
  74602. .IP \[bu] 2
  74603. David <david@staron.nl>
  74604. .IP \[bu] 2
  74605. Ingo <ingo@hoffmann.cx>
  74606. .IP \[bu] 2
  74607. Adam Pl\['a]nsk\['y] <adamplansky@users.noreply.github.com>
  74608. <adamplansky@gmail.com>
  74609. .IP \[bu] 2
  74610. Manish Gupta <manishgupta.ait@gmail.com>
  74611. .IP \[bu] 2
  74612. Deepak Sah <sah.sslpu@gmail.com>
  74613. .IP \[bu] 2
  74614. Marcin Zelent <marcin@zelent.net>
  74615. .IP \[bu] 2
  74616. zhucan <zhucan.k8s@gmail.com>
  74617. .IP \[bu] 2
  74618. James Lim <james.lim@samsara.com>
  74619. .IP \[bu] 2
  74620. Laurens Janssen <BD69BM@insim.biz>
  74621. .IP \[bu] 2
  74622. Bob Bagwill <bobbagwill@gmail.com>
  74623. .IP \[bu] 2
  74624. Nathan Collins <colli372@msu.edu>
  74625. .IP \[bu] 2
  74626. lostheli
  74627. .IP \[bu] 2
  74628. kelv <kelvin@acks.org>
  74629. .IP \[bu] 2
  74630. Milly <milly.ca@gmail.com>
  74631. .IP \[bu] 2
  74632. gtorelly <gtorelly@gmail.com>
  74633. .IP \[bu] 2
  74634. Brad Ackerman <brad@facefault.org>
  74635. .IP \[bu] 2
  74636. Mitsuo Heijo <mitsuo.heijo@gmail.com>
  74637. .IP \[bu] 2
  74638. Claudio Bantaloukas <rockdreamer@gmail.com>
  74639. .IP \[bu] 2
  74640. Benjamin Gustin <gustin.ben@gmail.com>
  74641. .IP \[bu] 2
  74642. Ingo Weiss <ingo@redhat.com>
  74643. .IP \[bu] 2
  74644. Kerry Su <me@sshockwave.net>
  74645. .IP \[bu] 2
  74646. Ilyess Bachiri <ilyess.bachiri@sonder.com>
  74647. .IP \[bu] 2
  74648. Yury Stankevich <urykhy@gmail.com>
  74649. .IP \[bu] 2
  74650. kice <wslikerqs@gmail.com>
  74651. .IP \[bu] 2
  74652. Denis Neuling <denisneuling@gmail.com>
  74653. .IP \[bu] 2
  74654. Janne Johansson <icepic.dz@gmail.com>
  74655. .IP \[bu] 2
  74656. Patrik Nordl\['e]n <patriki@gmail.com>
  74657. .IP \[bu] 2
  74658. CokeMine <aptx4561@gmail.com>
  74659. .IP \[bu] 2
  74660. S\[u01A1]n Tr\[u1EA7]n-Nguy\[u1EC5]n <github@sntran.com>
  74661. .IP \[bu] 2
  74662. lluuaapp <266615+lluuaapp@users.noreply.github.com>
  74663. .IP \[bu] 2
  74664. Zach Kipp <kipp.zach@gmail.com>
  74665. .IP \[bu] 2
  74666. Riccardo Iaconelli <riccardo@kde.org>
  74667. .IP \[bu] 2
  74668. Sakuragawa Misty <gyc990326@gmail.com>
  74669. .IP \[bu] 2
  74670. Nicolas Rueff <nicolas@rueff.fr>
  74671. .IP \[bu] 2
  74672. Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
  74673. .IP \[bu] 2
  74674. Bob Pusateri <BobPusateri@users.noreply.github.com>
  74675. .IP \[bu] 2
  74676. Alex JOST <25005220+dimejo@users.noreply.github.com>
  74677. .IP \[bu] 2
  74678. Alexey Tabakman <samosad.ru@gmail.com>
  74679. .IP \[bu] 2
  74680. David Sze <sze.david@gmail.com>
  74681. .IP \[bu] 2
  74682. cynthia kwok <cynthia.m.kwok@gmail.com>
  74683. .IP \[bu] 2
  74684. Miron Veryanskiy <MironVeryanskiy@gmail.com>
  74685. .IP \[bu] 2
  74686. K265 <k.265@qq.com>
  74687. .IP \[bu] 2
  74688. Vesnyx <Vesnyx@users.noreply.github.com>
  74689. .IP \[bu] 2
  74690. Dmitry Chepurovskiy <me@dm3ch.net>
  74691. .IP \[bu] 2
  74692. Rauno Ots <rauno.ots@cgi.com>
  74693. .IP \[bu] 2
  74694. Georg Neugschwandtner <georg.neugschwandtner@gmx.net>
  74695. .IP \[bu] 2
  74696. pvalls <polvallsrue@gmail.com>
  74697. .IP \[bu] 2
  74698. Robert Thomas <31854736+wolveix@users.noreply.github.com>
  74699. .IP \[bu] 2
  74700. Romeo Kienzler <romeo.kienzler@gmail.com>
  74701. .IP \[bu] 2
  74702. tYYGH <tYYGH@users.noreply.github.com>
  74703. .IP \[bu] 2
  74704. georne <77802995+georne@users.noreply.github.com>
  74705. .IP \[bu] 2
  74706. Maxwell Calman <mcalman@MacBook-Pro.local>
  74707. .IP \[bu] 2
  74708. Naveen Honest Raj <naveendurai19@gmail.com>
  74709. .IP \[bu] 2
  74710. Lucas Messenger <lmesseng@cisco.com>
  74711. .IP \[bu] 2
  74712. Manish Kumar <krmanish260@gmail.com>
  74713. .IP \[bu] 2
  74714. x0b <x0bdev@gmail.com>
  74715. .IP \[bu] 2
  74716. CERN through the CS3MESH4EOSC Project
  74717. .IP \[bu] 2
  74718. Nick Gaya <nicholasgaya+github@gmail.com>
  74719. .IP \[bu] 2
  74720. Ashok Gelal <401055+ashokgelal@users.noreply.github.com>
  74721. .IP \[bu] 2
  74722. Dominik Mydlil <dominik.mydlil@outlook.com>
  74723. .IP \[bu] 2
  74724. Nazar Mishturak <nazarmx@gmail.com>
  74725. .IP \[bu] 2
  74726. Ansh Mittal <iamAnshMittal@gmail.com>
  74727. .IP \[bu] 2
  74728. noabody <noabody@yahoo.com>
  74729. .IP \[bu] 2
  74730. OleFrost <82263101+olefrost@users.noreply.github.com>
  74731. .IP \[bu] 2
  74732. Kenny Parsons <kennyparsons93@gmail.com>
  74733. .IP \[bu] 2
  74734. Jeffrey Tolar <tolar.jeffrey@gmail.com>
  74735. .IP \[bu] 2
  74736. jtagcat <git-514635f7@jtag.cat>
  74737. .IP \[bu] 2
  74738. Tatsuya Noyori <63089076+public-tatsuya-noyori@users.noreply.github.com>
  74739. .IP \[bu] 2
  74740. lewisxy <lewisxy@users.noreply.github.com>
  74741. .IP \[bu] 2
  74742. Nolan Woods <nolan_w@sfu.ca>
  74743. .IP \[bu] 2
  74744. Gautam Kumar <25435568+gautamajay52@users.noreply.github.com>
  74745. .IP \[bu] 2
  74746. Chris Macklin <chris.macklin@10xgenomics.com>
  74747. .IP \[bu] 2
  74748. Antoon Prins <antoon.prins@surfsara.nl>
  74749. .IP \[bu] 2
  74750. Alexey Ivanov <rbtz@dropbox.com>
  74751. .IP \[bu] 2
  74752. Serge Pouliquen <sp31415@free.fr>
  74753. .IP \[bu] 2
  74754. acsfer <carlos@reendex.com>
  74755. .IP \[bu] 2
  74756. Tom <tom@tom-fitzhenry.me.uk>
  74757. .IP \[bu] 2
  74758. Tyson Moore <tyson@tyson.me>
  74759. .IP \[bu] 2
  74760. database64128 <free122448@hotmail.com>
  74761. .IP \[bu] 2
  74762. Chris Lu <chrislusf@users.noreply.github.com>
  74763. .IP \[bu] 2
  74764. Reid Buzby <reid@rethink.software>
  74765. .IP \[bu] 2
  74766. darrenrhs <darrenrhs@gmail.com>
  74767. .IP \[bu] 2
  74768. Florian Penzkofer <fp@nullptr.de>
  74769. .IP \[bu] 2
  74770. Xuanchen Wu <117010292@link.cuhk.edu.cn>
  74771. .IP \[bu] 2
  74772. partev <petrosyan@gmail.com>
  74773. .IP \[bu] 2
  74774. Dmitry Sitnikov <fo2@inbox.ru>
  74775. .IP \[bu] 2
  74776. Haochen Tong <i@hexchain.org>
  74777. .IP \[bu] 2
  74778. Michael Hanselmann <public@hansmi.ch>
  74779. .IP \[bu] 2
  74780. Chuan Zh <zhchuan7@gmail.com>
  74781. .IP \[bu] 2
  74782. Antoine GIRARD <antoine.girard@sapk.fr>
  74783. .IP \[bu] 2
  74784. Justin Winokur (Jwink3101) <Jwink3101@users.noreply.github.com>
  74785. .IP \[bu] 2
  74786. Mariano Absatz (git) <scm@baby.com.ar>
  74787. .IP \[bu] 2
  74788. Greg Sadetsky <lepetitg@gmail.com>
  74789. .IP \[bu] 2
  74790. yedamo <logindaveye@gmail.com>
  74791. .IP \[bu] 2
  74792. hota <lindwurm.q@gmail.com>
  74793. .IP \[bu] 2
  74794. vinibali <vinibali1@gmail.com>
  74795. .IP \[bu] 2
  74796. Ken Enrique Morel <ken.morel.santana@gmail.com>
  74797. .IP \[bu] 2
  74798. Justin Hellings <justin.hellings@gmail.com>
  74799. .IP \[bu] 2
  74800. Parth Shukla <pparth@pparth.net>
  74801. .IP \[bu] 2
  74802. wzl <wangzl31@outlook.com>
  74803. .IP \[bu] 2
  74804. HNGamingUK <connor@earnshawhome.co.uk>
  74805. .IP \[bu] 2
  74806. Jonta <359397+Jonta@users.noreply.github.com>
  74807. .IP \[bu] 2
  74808. YenForYang <YenForYang@users.noreply.github.com>
  74809. .IP \[bu] 2
  74810. SimJoSt / Joda St\[:o]\[ss]er <git@simjo.st>
  74811. .IP \[bu] 2
  74812. Logeshwaran <waranlogesh@gmail.com>
  74813. .IP \[bu] 2
  74814. Rajat Goel <rajat@dropbox.com>
  74815. .IP \[bu] 2
  74816. r0kk3rz <r0kk3rz@gmail.com>
  74817. .IP \[bu] 2
  74818. Matthew Sevey <mjsevey@gmail.com>
  74819. .IP \[bu] 2
  74820. Filip Rysavy <fil@siasky.net>
  74821. .IP \[bu] 2
  74822. Ian Levesque <ian@ianlevesque.org>
  74823. .IP \[bu] 2
  74824. Thomas Stachl <thomas@stachl.me>
  74825. .IP \[bu] 2
  74826. Dmitry Bogatov <git#v1@kaction.cc>
  74827. .IP \[bu] 2
  74828. thomae <4493560+thomae@users.noreply.github.com>
  74829. .IP \[bu] 2
  74830. trevyn <trevyn-git@protonmail.com>
  74831. .IP \[bu] 2
  74832. David Liu <david.yx.liu@oracle.com>
  74833. .IP \[bu] 2
  74834. Chris Nelson <stuff@cjnaz.com>
  74835. .IP \[bu] 2
  74836. Felix Bu\[u0308]nemann <felix.buenemann@gmail.com>
  74837. .IP \[bu] 2
  74838. At\['i]lio Ant\[^o]nio <atiliodadalto@hotmail.com>
  74839. .IP \[bu] 2
  74840. Carlo Mion <mion00@gmail.com>
  74841. .IP \[bu] 2
  74842. Chris Lu <chris.lu@gmail.com>
  74843. .IP \[bu] 2
  74844. Vitor Arruda <vitor.pimenta.arruda@gmail.com>
  74845. .IP \[bu] 2
  74846. bbabich <bbabich@datamossa.com>
  74847. .IP \[bu] 2
  74848. David <dp.davide.palma@gmail.com>
  74849. .IP \[bu] 2
  74850. Borna Butkovic <borna@favicode.net>
  74851. .IP \[bu] 2
  74852. Fredric Arklid <fredric.arklid@consid.se>
  74853. .IP \[bu] 2
  74854. Andy Jackson <Andrew.Jackson@bl.uk>
  74855. .IP \[bu] 2
  74856. Sinan Tan <i@tinytangent.com>
  74857. .IP \[bu] 2
  74858. deinferno <14363193+deinferno@users.noreply.github.com>
  74859. .IP \[bu] 2
  74860. rsapkf <rsapkfff@pm.me>
  74861. .IP \[bu] 2
  74862. Will Holtz <wholtz@gmail.com>
  74863. .IP \[bu] 2
  74864. GGG KILLER <gggkiller2@gmail.com>
  74865. .IP \[bu] 2
  74866. Logeshwaran Murugesan <logeshwaran@testpress.in>
  74867. .IP \[bu] 2
  74868. Lu Wang <coolwanglu@gmail.com>
  74869. .IP \[bu] 2
  74870. Bumsu Hyeon <ksitht@gmail.com>
  74871. .IP \[bu] 2
  74872. Shmz Ozggrn <98463324+ShmzOzggrn@users.noreply.github.com>
  74873. .IP \[bu] 2
  74874. Kim <kim@jotta.no>
  74875. .IP \[bu] 2
  74876. Niels van de Weem <n.van.de.weem@smile.nl>
  74877. .IP \[bu] 2
  74878. Koopa <codingkoopa@gmail.com>
  74879. .IP \[bu] 2
  74880. Yunhai Luo <yunhai-luo@hotmail.com>
  74881. .IP \[bu] 2
  74882. Charlie Jiang <w@chariri.moe>
  74883. .IP \[bu] 2
  74884. Alain Nussbaumer <alain.nussbaumer@alleluia.ch>
  74885. .IP \[bu] 2
  74886. Vanessasaurus <814322+vsoch@users.noreply.github.com>
  74887. .IP \[bu] 2
  74888. Isaac Levy <isaac.r.levy@gmail.com>
  74889. .IP \[bu] 2
  74890. Gourav T <workflowautomation@protonmail.com>
  74891. .IP \[bu] 2
  74892. Paulo Martins <paulo.pontes.m@gmail.com>
  74893. .IP \[bu] 2
  74894. viveknathani <viveknathani2402@gmail.com>
  74895. .IP \[bu] 2
  74896. Eng Zer Jun <engzerjun@gmail.com>
  74897. .IP \[bu] 2
  74898. Abhiraj <abhiraj.official15@gmail.com>
  74899. .IP \[bu] 2
  74900. M\['a]rton Elek <elek@apache.org> <elek@users.noreply.github.com>
  74901. .IP \[bu] 2
  74902. Vincent Murphy <vdm@vdm.ie>
  74903. .IP \[bu] 2
  74904. ctrl-q <34975747+ctrl-q@users.noreply.github.com>
  74905. .IP \[bu] 2
  74906. Nil Alexandrov <nalexand@akamai.com>
  74907. .IP \[bu] 2
  74908. GuoXingbin <101376330+guoxingbin@users.noreply.github.com>
  74909. .IP \[bu] 2
  74910. Berkan Teber <berkan@berkanteber.com>
  74911. .IP \[bu] 2
  74912. Tobias Klauser <tklauser@distanz.ch>
  74913. .IP \[bu] 2
  74914. KARBOWSKI Piotr <piotr.karbowski@gmail.com>
  74915. .IP \[bu] 2
  74916. GH <geeklihui@foxmail.com>
  74917. .IP \[bu] 2
  74918. rafma0 <int.main@gmail.com>
  74919. .IP \[bu] 2
  74920. Adrien Rey-Jarthon <jobs@adrienjarthon.com>
  74921. .IP \[bu] 2
  74922. Nick Gooding <73336146+nickgooding@users.noreply.github.com>
  74923. .IP \[bu] 2
  74924. Leroy van Logchem <lr.vanlogchem@gmail.com>
  74925. .IP \[bu] 2
  74926. Zsolt Ero <zsolt.ero@gmail.com>
  74927. .IP \[bu] 2
  74928. Lesmiscore <nao20010128@gmail.com>
  74929. .IP \[bu] 2
  74930. ehsantdy <ehsan.tadayon@arvancloud.com> <ehsantadayon85@gmail.com>
  74931. .IP \[bu] 2
  74932. SwazRGB <65694696+swazrgb@users.noreply.github.com>
  74933. .IP \[bu] 2
  74934. Mateusz Puczyn\[u0301]ski <mati6095@gmail.com>
  74935. .IP \[bu] 2
  74936. Michael C Tiernan - MIT-Research Computing Project <mtiernan@mit.edu>
  74937. .IP \[bu] 2
  74938. Kaspian <34658474+KaspianDev@users.noreply.github.com>
  74939. .IP \[bu] 2
  74940. Werner <EvilOlaf@users.noreply.github.com>
  74941. .IP \[bu] 2
  74942. Hugal31 <hugo.laloge@gmail.com>
  74943. .IP \[bu] 2
  74944. Christian Galo <36752715+cgalo5758@users.noreply.github.com>
  74945. .IP \[bu] 2
  74946. Erik van Velzen <erik@evanv.nl>
  74947. .IP \[bu] 2
  74948. Derek Battams <derek@battams.ca>
  74949. .IP \[bu] 2
  74950. Paul <devnoname120@gmail.com>
  74951. .IP \[bu] 2
  74952. SimonLiu <simonliu009@users.noreply.github.com>
  74953. .IP \[bu] 2
  74954. Hugo Laloge <hla@lescompanions.com>
  74955. .IP \[bu] 2
  74956. Mr-Kanister <68117355+Mr-Kanister@users.noreply.github.com>
  74957. .IP \[bu] 2
  74958. Rob Pickerill <r.pickerill@gmail.com>
  74959. .IP \[bu] 2
  74960. Andrey <to.merge@gmail.com>
  74961. .IP \[bu] 2
  74962. Eric Wolf <19wolf@gmail.com>
  74963. .IP \[bu] 2
  74964. Nick <nick.naumann@mailbox.tu-dresden.de>
  74965. .IP \[bu] 2
  74966. Jason Zheng <jszheng17@gmail.com>
  74967. .IP \[bu] 2
  74968. Matthew Vernon <mvernon@wikimedia.org>
  74969. .IP \[bu] 2
  74970. Noah Hsu <i@nn.ci>
  74971. .IP \[bu] 2
  74972. m00594701 <mengpengbo@huawei.com>
  74973. .IP \[bu] 2
  74974. Art M.
  74975. Gallagher <artmg50@gmail.com>
  74976. .IP \[bu] 2
  74977. Sven Gerber <49589423+svengerber@users.noreply.github.com>
  74978. .IP \[bu] 2
  74979. CrossR <r.cross@lancaster.ac.uk>
  74980. .IP \[bu] 2
  74981. Maciej Radzikowski <maciej@radzikowski.com.pl>
  74982. .IP \[bu] 2
  74983. Scott Grimes <scott.grimes@spaciq.com>
  74984. .IP \[bu] 2
  74985. Phil Shackleton <71221528+philshacks@users.noreply.github.com>
  74986. .IP \[bu] 2
  74987. eNV25 <env252525@gmail.com>
  74988. .IP \[bu] 2
  74989. Caleb <inventor96@users.noreply.github.com>
  74990. .IP \[bu] 2
  74991. J-P Treen <jp@wraptious.com>
  74992. .IP \[bu] 2
  74993. Martin Czygan <53705+miku@users.noreply.github.com>
  74994. .IP \[bu] 2
  74995. buda <sandrojijavadze@protonmail.com>
  74996. .IP \[bu] 2
  74997. mirekphd <36706320+mirekphd@users.noreply.github.com>
  74998. .IP \[bu] 2
  74999. vyloy <vyloy@qq.com>
  75000. .IP \[bu] 2
  75001. Anthrazz <25553648+Anthrazz@users.noreply.github.com>
  75002. .IP \[bu] 2
  75003. zzr93 <34027824+zzr93@users.noreply.github.com>
  75004. .IP \[bu] 2
  75005. Paul Norman <penorman@mac.com>
  75006. .IP \[bu] 2
  75007. Lorenzo Maiorfi <maiorfi@gmail.com>
  75008. .IP \[bu] 2
  75009. Claudio Maradonna <penguyman@stronzi.org>
  75010. .IP \[bu] 2
  75011. Ovidiu Victor Tatar <ovi.tatar@googlemail.com>
  75012. .IP \[bu] 2
  75013. Evan Spensley <epspensley@gmail.com>
  75014. .IP \[bu] 2
  75015. Yen Hu <61753151+0x59656e@users.noreply.github.com>
  75016. .IP \[bu] 2
  75017. Steve Kowalik <steven@wedontsleep.org>
  75018. .IP \[bu] 2
  75019. Jordi Gonzalez Mu\[~n]oz <jordigonzm@gmail.com>
  75020. .IP \[bu] 2
  75021. Joram Schrijver <i@joram.io>
  75022. .IP \[bu] 2
  75023. Mark Trolley <marktrolley@gmail.com>
  75024. .IP \[bu] 2
  75025. Jo\[~a]o Henrique Franco <joaohenrique.franco@gmail.com>
  75026. .IP \[bu] 2
  75027. anonion <aman207@users.noreply.github.com>
  75028. .IP \[bu] 2
  75029. Ryan Morey <4590343+rmorey@users.noreply.github.com>
  75030. .IP \[bu] 2
  75031. Simon Bos <simonbos9@gmail.com>
  75032. .IP \[bu] 2
  75033. YFdyh000 <yfdyh000@gmail.com> * Josh Soref
  75034. <2119212+jsoref@users.noreply.github.com>
  75035. .IP \[bu] 2
  75036. \[/O]yvind Heddeland Instefjord <instefjord@outlook.com>
  75037. .IP \[bu] 2
  75038. Dmitry Deniskin <110819396+ddeniskin@users.noreply.github.com>
  75039. .IP \[bu] 2
  75040. Alexander Knorr <106825+opexxx@users.noreply.github.com>
  75041. .IP \[bu] 2
  75042. Richard Bateman <richard@batemansr.us>
  75043. .IP \[bu] 2
  75044. Dimitri Papadopoulos Orfanos
  75045. <3234522+DimitriPapadopoulos@users.noreply.github.com>
  75046. .IP \[bu] 2
  75047. Lorenzo Milesi <lorenzo.milesi@yetopen.com>
  75048. .IP \[bu] 2
  75049. Isaac Aymerich <isaac.aymerich@gmail.com>
  75050. .IP \[bu] 2
  75051. YanceyChiew <35898533+YanceyChiew@users.noreply.github.com>
  75052. .IP \[bu] 2
  75053. Manoj Ghosh <msays2000@gmail.com>
  75054. .IP \[bu] 2
  75055. Bachue Zhou <bachue.shu@gmail.com>
  75056. .IP \[bu] 2
  75057. Manoj Ghosh <manoj.ghosh@oracle.com>
  75058. .IP \[bu] 2
  75059. Tom Mombourquette <tom@devnode.com>
  75060. .IP \[bu] 2
  75061. Robert Newson <rnewson@apache.org>
  75062. .IP \[bu] 2
  75063. Samuel Johnson <esamueljohnson@gmail.com>
  75064. .IP \[bu] 2
  75065. coultonluke <luke@luke.org.uk>
  75066. .IP \[bu] 2
  75067. Anthony Pessy <anthony@cogniteev.com>
  75068. .IP \[bu] 2
  75069. Philip Harvey <pharvey@battelleecology.org>
  75070. .IP \[bu] 2
  75071. dgouju <dgouju@users.noreply.github.com>
  75072. .IP \[bu] 2
  75073. Cl\['e]ment Notin <clement.notin@gmail.com>
  75074. .IP \[bu] 2
  75075. x3-apptech <66947598+x3-apptech@users.noreply.github.com>
  75076. .IP \[bu] 2
  75077. Arnie97 <arnie97@gmail.com>
  75078. .IP \[bu] 2
  75079. Roel Arents <2691308+roelarents@users.noreply.github.com>
  75080. .IP \[bu] 2
  75081. Aaron Gokaslan <aaronGokaslan@gmail.com>
  75082. .IP \[bu] 2
  75083. techknowlogick <matti@mdranta.net>
  75084. .IP \[bu] 2
  75085. rkettelerij <richard@mindloops.nl>
  75086. .IP \[bu] 2
  75087. Kamui <fin-kamui@pm.me>
  75088. .IP \[bu] 2
  75089. asdffdsazqqq <90116442+asdffdsazqqq@users.noreply.github.com>
  75090. .IP \[bu] 2
  75091. Nathaniel Wesley Filardo <nfilardo@microsoft.com>
  75092. .IP \[bu] 2
  75093. ycdtosa <ycdtosa@users.noreply.github.com>
  75094. .IP \[bu] 2
  75095. Erik Agterdenbos <agterdenbos@users.noreply.github.com>
  75096. .IP \[bu] 2
  75097. Kevin Verstaen <48050031+kverstae@users.noreply.github.com>
  75098. .IP \[bu] 2
  75099. MohammadReza <mrvashian@gmail.com>
  75100. .IP \[bu] 2
  75101. vanplus <60313789+vanplus@users.noreply.github.com>
  75102. .IP \[bu] 2
  75103. Jack <16779171+jkpe@users.noreply.github.com>
  75104. .IP \[bu] 2
  75105. Abdullah Saglam <abdullah.saglam@stonebranch.com>
  75106. .IP \[bu] 2
  75107. Marks Polakovs <github@markspolakovs.me>
  75108. .IP \[bu] 2
  75109. piyushgarg <piyushgarg80@gmail.com>
  75110. .IP \[bu] 2
  75111. Kaloyan Raev <kaloyan-raev@users.noreply.github.com>
  75112. .IP \[bu] 2
  75113. IMTheNachoMan <imthenachoman@gmail.com>
  75114. .IP \[bu] 2
  75115. alankrit <alankrit@google.com>
  75116. .IP \[bu] 2
  75117. Bryan Kaplan <#\[at]bryankaplan.com>
  75118. .IP \[bu] 2
  75119. LXY <767763591@qq.com>
  75120. .IP \[bu] 2
  75121. Simmon Li (he/him) <li.simmon@gmail.com>
  75122. .IP \[bu] 2
  75123. happyxhw <44490504+happyxhw@users.noreply.github.com>
  75124. .IP \[bu] 2
  75125. Simmon Li (he/him) <hello@crespire.dev>
  75126. .IP \[bu] 2
  75127. Matthias Baur <baurmatt@users.noreply.github.com>
  75128. .IP \[bu] 2
  75129. Hunter Wittenborn <hunter@hunterwittenborn.com>
  75130. .IP \[bu] 2
  75131. logopk <peter@kreuser.name>
  75132. .IP \[bu] 2
  75133. Gerard Bosch <30733556+gerardbosch@users.noreply.github.com>
  75134. .IP \[bu] 2
  75135. ToBeFree <github@tfrei.de>
  75136. .IP \[bu] 2
  75137. NodudeWasTaken <75137537+NodudeWasTaken@users.noreply.github.com>
  75138. .IP \[bu] 2
  75139. Peter Brunner <peter@lugoues.net>
  75140. .IP \[bu] 2
  75141. Ninh Pham <dongian.rapclubkhtn@gmail.com>
  75142. .IP \[bu] 2
  75143. Ryan Caezar Itang <sitiom@proton.me>
  75144. .IP \[bu] 2
  75145. Peter Brunner <peter@psykhe.com>
  75146. .IP \[bu] 2
  75147. Leandro Sacchet <leandro.sacchet@animati.com.br>
  75148. .IP \[bu] 2
  75149. dependabot[bot] <49699333+dependabot[bot]\[at]users.noreply.github.com>
  75150. .IP \[bu] 2
  75151. cycneuramus <56681631+cycneuramus@users.noreply.github.com>
  75152. .IP \[bu] 2
  75153. Arnavion <me@arnavion.dev>
  75154. .IP \[bu] 2
  75155. Christopher Merry <christopher.merry@mlb.com>
  75156. .IP \[bu] 2
  75157. Thibault Coupin <thibault.coupin@gmail.com>
  75158. .IP \[bu] 2
  75159. Richard Tweed <RichardoC@users.noreply.github.com>
  75160. .IP \[bu] 2
  75161. Zach Kipp <Zacho2@users.noreply.github.com>
  75162. .IP \[bu] 2
  75163. yuudi <26199752+yuudi@users.noreply.github.com>
  75164. .IP \[bu] 2
  75165. NickIAm <NickIAm@users.noreply.github.com>
  75166. .IP \[bu] 2
  75167. Juang, Yi-Lin <frankyjuang@gmail.com>
  75168. .IP \[bu] 2
  75169. jumbi77 <jumbi77@users.noreply.github.com>
  75170. .IP \[bu] 2
  75171. Aditya Basu <ab.aditya.basu@gmail.com>
  75172. .IP \[bu] 2
  75173. ed <s@ocv.me>
  75174. .IP \[bu] 2
  75175. Drew Parsons <dparsons@emerall.com>
  75176. .IP \[bu] 2
  75177. Joel <joelnb@users.noreply.github.com>
  75178. .IP \[bu] 2
  75179. wiserain <mail275@gmail.com>
  75180. .IP \[bu] 2
  75181. Roel Arents <roel.arents@kadaster.nl>
  75182. .IP \[bu] 2
  75183. Shyim <github@shyim.de>
  75184. .IP \[bu] 2
  75185. Rintze Zelle <78232505+rzelle-lallemand@users.noreply.github.com>
  75186. .IP \[bu] 2
  75187. Damo <damoclark@users.noreply.github.com>
  75188. .IP \[bu] 2
  75189. WeidiDeng <weidi_deng@icloud.com>
  75190. .IP \[bu] 2
  75191. Brian Starkey <stark3y@gmail.com>
  75192. .IP \[bu] 2
  75193. jladbrook <jhladbrook@gmail.com>
  75194. .IP \[bu] 2
  75195. Loren Gordon <lorengordon@users.noreply.github.com>
  75196. .IP \[bu] 2
  75197. dlitster <davidlitster@gmail.com>
  75198. .IP \[bu] 2
  75199. Tobias Gion <tobias@gion.io>
  75200. .IP \[bu] 2
  75201. J\[u0101]nis Bebr\[u012B]tis <janis.bebritis@wunder.io>
  75202. .IP \[bu] 2
  75203. Adam K <github.com@ak.tidy.email>
  75204. .IP \[bu] 2
  75205. Andrei Smirnov <smirnov.captain@gmail.com>
  75206. .IP \[bu] 2
  75207. Janne Hellsten <jjhellst@gmail.com>
  75208. .IP \[bu] 2
  75209. cc <12904584+shvc@users.noreply.github.com>
  75210. .IP \[bu] 2
  75211. Tareq Sharafy <tareq.sha@gmail.com>
  75212. .IP \[bu] 2
  75213. kapitainsky <dariuszb@me.com>
  75214. .IP \[bu] 2
  75215. douchen <playgoobug@gmail.com>
  75216. .IP \[bu] 2
  75217. Sam Lai <70988+slai@users.noreply.github.com>
  75218. .IP \[bu] 2
  75219. URenko <18209292+URenko@users.noreply.github.com>
  75220. .IP \[bu] 2
  75221. Stanislav Gromov <kullfar@gmail.com>
  75222. .IP \[bu] 2
  75223. Paulo Schreiner <paulo.schreiner@delivion.de>
  75224. .IP \[bu] 2
  75225. Mariusz Suchodolski <mariusz@suchodol.ski>
  75226. .IP \[bu] 2
  75227. danielkrajnik <dan94kra@gmail.com>
  75228. .IP \[bu] 2
  75229. Peter Fern <github@0xc0dedbad.com>
  75230. .IP \[bu] 2
  75231. zzq <i@zhangzqs.cn>
  75232. .IP \[bu] 2
  75233. mac-15 <usman.ilamdin@phpstudios.com>
  75234. .IP \[bu] 2
  75235. Sawada Tsunayoshi <34431649+TsunayoshiSawada@users.noreply.github.com>
  75236. .IP \[bu] 2
  75237. Dean Attali <daattali@gmail.com>
  75238. .IP \[bu] 2
  75239. Fjodor42 <molgaard@gmail.com>
  75240. .IP \[bu] 2
  75241. BakaWang <wa11579@hotmail.com>
  75242. .IP \[bu] 2
  75243. Mahad <56235065+Mahad-lab@users.noreply.github.com>
  75244. .IP \[bu] 2
  75245. Vladislav Vorobev <x.miere@gmail.com>
  75246. .IP \[bu] 2
  75247. darix <darix@users.noreply.github.com>
  75248. .IP \[bu] 2
  75249. Benjamin <36415086+bbenjamin-sys@users.noreply.github.com>
  75250. .IP \[bu] 2
  75251. Chun-Hung Tseng <henrybear327@users.noreply.github.com>
  75252. .IP \[bu] 2
  75253. Ricardo D\[aq]O.
  75254. Albanus <rdalbanus@users.noreply.github.com>
  75255. .IP \[bu] 2
  75256. gabriel-suela <gscsuela@gmail.com>
  75257. .IP \[bu] 2
  75258. Tiago Boeing <contato@tiagoboeing.com>
  75259. .IP \[bu] 2
  75260. Edwin Mackenzie-Owen <edwin.mowen@gmail.com>
  75261. .IP \[bu] 2
  75262. Niklas Hamb\[:u]chen <mail@nh2.me>
  75263. .IP \[bu] 2
  75264. yuudi <yuudi@users.noreply.github.com>
  75265. .IP \[bu] 2
  75266. Zach <github@prozach.org>
  75267. .IP \[bu] 2
  75268. nielash <31582349+nielash@users.noreply.github.com>
  75269. .IP \[bu] 2
  75270. Julian Lepinski <lepinsk@users.noreply.github.com>
  75271. .IP \[bu] 2
  75272. Raymond Berger <RayBB@users.noreply.github.com>
  75273. .IP \[bu] 2
  75274. Nihaal Sangha <nihaal.git@gmail.com>
  75275. .IP \[bu] 2
  75276. Masamune3210 <1053504+Masamune3210@users.noreply.github.com>
  75277. .IP \[bu] 2
  75278. James Braza <jamesbraza@gmail.com>
  75279. .IP \[bu] 2
  75280. antoinetran <antoinetran@users.noreply.github.com>
  75281. .IP \[bu] 2
  75282. alexia <me@alexia.lol>
  75283. .IP \[bu] 2
  75284. nielash <nielronash@gmail.com>
  75285. .IP \[bu] 2
  75286. Vitor Gomes <vitor.gomes@delivion.de> <mail@vitorgomes.com>
  75287. .IP \[bu] 2
  75288. Jacob Hands <jacob@gogit.io>
  75289. .IP \[bu] 2
  75290. hideo aoyama <100831251+boukendesho@users.noreply.github.com>
  75291. .IP \[bu] 2
  75292. Roberto Ricci <io@r-ricci.it>
  75293. .IP \[bu] 2
  75294. Bj\[/o]rn Smith <bjornsmith@gmail.com>
  75295. .IP \[bu] 2
  75296. Alishan Ladhani <8869764+aladh@users.noreply.github.com>
  75297. .IP \[bu] 2
  75298. zjx20 <zhoujianxiong2@gmail.com>
  75299. .IP \[bu] 2
  75300. Oksana <142890647+oks-maytech@users.noreply.github.com>
  75301. .IP \[bu] 2
  75302. Volodymyr Kit <v.kit@maytech.net>
  75303. .IP \[bu] 2
  75304. David Pedersen <limero@me.com>
  75305. .IP \[bu] 2
  75306. Drew Stinnett <drew@drewlink.com>
  75307. .IP \[bu] 2
  75308. Pat Patterson <pat@backblaze.com>
  75309. .IP \[bu] 2
  75310. Herby Gillot <herby.gillot@gmail.com>
  75311. .IP \[bu] 2
  75312. Nikita Shoshin <shoshin_nikita@fastmail.com>
  75313. .IP \[bu] 2
  75314. rinsuki <428rinsuki+git@gmail.com>
  75315. .IP \[bu] 2
  75316. Beyond Meat <51850644+beyondmeat@users.noreply.github.com>
  75317. .IP \[bu] 2
  75318. Saleh Dindar <salh@fb.com>
  75319. .IP \[bu] 2
  75320. Volodymyr <142890760+vkit-maytech@users.noreply.github.com>
  75321. .IP \[bu] 2
  75322. Gabriel Espinoza <31670639+gspinoza@users.noreply.github.com>
  75323. .IP \[bu] 2
  75324. Keigo Imai <keigo.imai@gmail.com>
  75325. .IP \[bu] 2
  75326. Ivan Yanitra <iyanitra@tesla-consulting.com>
  75327. .IP \[bu] 2
  75328. alfish2000 <alfish2000@gmail.com>
  75329. .IP \[bu] 2
  75330. wuxingzhong <qq330332812@gmail.com>
  75331. .IP \[bu] 2
  75332. Adithya Kumar <akumar42@protonmail.com>
  75333. .IP \[bu] 2
  75334. Tayo-pasedaRJ <138471223+Tayo-pasedaRJ@users.noreply.github.com>
  75335. .IP \[bu] 2
  75336. Peter Kreuser <logo@kreuser.name>
  75337. .IP \[bu] 2
  75338. Piyush
  75339. .IP \[bu] 2
  75340. fotile96 <fotile96@users.noreply.github.com>
  75341. .IP \[bu] 2
  75342. Luc Ritchie <luc.ritchie@gmail.com>
  75343. .IP \[bu] 2
  75344. cynful <cynful@users.noreply.github.com>
  75345. .IP \[bu] 2
  75346. wjielai <wjielai@tencent.com>
  75347. .IP \[bu] 2
  75348. Jack Deng <jackdeng@gmail.com>
  75349. .IP \[bu] 2
  75350. Mikubill <31246794+Mikubill@users.noreply.github.com>
  75351. .IP \[bu] 2
  75352. Artur Neumann <artur@jankaritech.com>
  75353. .IP \[bu] 2
  75354. Saw-jan <saw.jan.grg3e@gmail.com>
  75355. .IP \[bu] 2
  75356. Oksana Zhykina <o.zhykina@maytech.net>
  75357. .IP \[bu] 2
  75358. karan <karan.gupta92@gmail.com>
  75359. .IP \[bu] 2
  75360. viktor <viktor@yakovchuk.net>
  75361. .IP \[bu] 2
  75362. moongdal <moongdal@tutanota.com>
  75363. .IP \[bu] 2
  75364. Mina Gali\['c] <freebsd@igalic.co>
  75365. .IP \[bu] 2
  75366. Alen \[vS]iljak <dev@alensiljak.eu.org>
  75367. .IP \[bu] 2
  75368. \[u4F60]\[u77E5]\[u9053]\[u672A]\[u6765]\[u5417] <rkonfj@gmail.com>
  75369. .IP \[bu] 2
  75370. Abhinav Dhiman <8640877+ahnv@users.noreply.github.com>
  75371. .IP \[bu] 2
  75372. halms <7513146+halms@users.noreply.github.com>
  75373. .IP \[bu] 2
  75374. ben-ba <benjamin.brauner@gmx.de>
  75375. .IP \[bu] 2
  75376. Eli Orzitzer <e_orz@yahoo.com>
  75377. .IP \[bu] 2
  75378. Anthony Metzidis <anthony.metzidis@gmail.com>
  75379. .IP \[bu] 2
  75380. emyarod <afw5059@gmail.com>
  75381. .IP \[bu] 2
  75382. keongalvin <keongalvin@gmail.com>
  75383. .IP \[bu] 2
  75384. rarspace01 <rarspace01@users.noreply.github.com>
  75385. .IP \[bu] 2
  75386. Paul Stern <paulstern45@gmail.com>
  75387. .IP \[bu] 2
  75388. Nikhil Ahuja <nikhilahuja@live.com>
  75389. .IP \[bu] 2
  75390. Harshit Budhraja <52413945+harshit-budhraja@users.noreply.github.com>
  75391. .IP \[bu] 2
  75392. Tera <24725862+teraa@users.noreply.github.com>
  75393. .IP \[bu] 2
  75394. Kyle Reynolds <kylereynoldsdev@gmail.com>
  75395. .IP \[bu] 2
  75396. Michael Eischer <michael.eischer@gmx.de>
  75397. .IP \[bu] 2
  75398. Thomas M\[:u]ller <1005065+DeepDiver1975@users.noreply.github.com>
  75399. .IP \[bu] 2
  75400. DanielEgbers <27849724+DanielEgbers@users.noreply.github.com>
  75401. .IP \[bu] 2
  75402. Jack Provance <49460795+njprov@users.noreply.github.com>
  75403. .IP \[bu] 2
  75404. Gabriel Ramos <109390599+gabrielramos02@users.noreply.github.com>
  75405. .IP \[bu] 2
  75406. Dan McArdle <d@nmcardle.com>
  75407. .IP \[bu] 2
  75408. Joe Cai <joe.cai@bigcommerce.com>
  75409. .IP \[bu] 2
  75410. Anders Swanson <anders.swanson@oracle.com>
  75411. .IP \[bu] 2
  75412. huajin tong <137764712+thirdkeyword@users.noreply.github.com>
  75413. .SH Contact the rclone project
  75414. .SS Forum
  75415. .PP
  75416. Forum for questions and general discussion:
  75417. .IP \[bu] 2
  75418. https://forum.rclone.org
  75419. .SS Business support
  75420. .PP
  75421. For business support or sponsorship enquiries please see:
  75422. .IP \[bu] 2
  75423. https://rclone.com/
  75424. .IP \[bu] 2
  75425. sponsorship\[at]rclone.com
  75426. .SS GitHub repository
  75427. .PP
  75428. The project\[aq]s repository is located at:
  75429. .IP \[bu] 2
  75430. https://github.com/rclone/rclone
  75431. .PP
  75432. There you can file bug reports or contribute with pull requests.
  75433. .SS Twitter
  75434. .PP
  75435. You can also follow Nick on twitter for rclone announcements:
  75436. .IP \[bu] 2
  75437. [\[at]njcw](https://twitter.com/njcw)
  75438. .SS Email
  75439. .PP
  75440. Or if all else fails or you want to ask something private or
  75441. confidential
  75442. .IP \[bu] 2
  75443. info\[at]rclone.com
  75444. .PP
  75445. Please don\[aq]t email requests for help to this address - those are
  75446. better directed to the forum unless you\[aq]d like to sign up for
  75447. business support.
  75448. .SH AUTHORS
  75449. Nick Craig-Wood.