MANUAL.txt 1.7 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182
  1. rclone(1) User Manual
  2. Nick Craig-Wood
  3. Jun 30, 2023
  4. Rclone syncs your files to cloud storage
  5. - About rclone
  6. - What can rclone do for you?
  7. - What features does rclone have?
  8. - What providers does rclone support?
  9. - Download
  10. - Install
  11. - Donate.
  12. About rclone
  13. Rclone is a command-line program to manage files on cloud storage. It is
  14. a feature-rich alternative to cloud vendors' web storage interfaces.
  15. Over 40 cloud storage products support rclone including S3 object
  16. stores, business & consumer file storage services, as well as standard
  17. transfer protocols.
  18. Rclone has powerful cloud equivalents to the unix commands rsync, cp,
  19. mv, mount, ls, ncdu, tree, rm, and cat. Rclone's familiar syntax
  20. includes shell pipeline support, and --dry-run protection. It is used at
  21. the command line, in scripts or via its API.
  22. Users call rclone "The Swiss army knife of cloud storage", and
  23. "Technology indistinguishable from magic".
  24. Rclone really looks after your data. It preserves timestamps and
  25. verifies checksums at all times. Transfers over limited bandwidth;
  26. intermittent connections, or subject to quota can be restarted, from the
  27. last good file transferred. You can check the integrity of your files.
  28. Where possible, rclone employs server-side transfers to minimise local
  29. bandwidth use and transfers from one provider to another without using
  30. local disk.
  31. Virtual backends wrap local and cloud file systems to apply encryption,
  32. compression, chunking, hashing and joining.
  33. Rclone mounts any local, cloud or virtual filesystem as a disk on
  34. Windows, macOS, linux and FreeBSD, and also serves these over SFTP,
  35. HTTP, WebDAV, FTP and DLNA.
  36. Rclone is mature, open-source software originally inspired by rsync and
  37. written in Go. The friendly support community is familiar with varied
  38. use cases. Official Ubuntu, Debian, Fedora, Brew and Chocolatey repos.
  39. include rclone. For the latest version downloading from rclone.org is
  40. recommended.
  41. Rclone is widely used on Linux, Windows and Mac. Third-party developers
  42. create innovative backup, restore, GUI and business process solutions
  43. using the rclone command line or API.
  44. Rclone does the heavy lifting of communicating with cloud storage.
  45. What can rclone do for you?
  46. Rclone helps you:
  47. - Backup (and encrypt) files to cloud storage
  48. - Restore (and decrypt) files from cloud storage
  49. - Mirror cloud data to other cloud services or locally
  50. - Migrate data to the cloud, or between cloud storage vendors
  51. - Mount multiple, encrypted, cached or diverse cloud storage as a disk
  52. - Analyse and account for data held on cloud storage using lsf, ljson,
  53. size, ncdu
  54. - Union file systems together to present multiple local and/or cloud
  55. file systems as one
  56. Features
  57. - Transfers
  58. - MD5, SHA1 hashes are checked at all times for file integrity
  59. - Timestamps are preserved on files
  60. - Operations can be restarted at any time
  61. - Can be to and from network, e.g. two different cloud providers
  62. - Can use multi-threaded downloads to local disk
  63. - Copy new or changed files to cloud storage
  64. - Sync (one way) to make a directory identical
  65. - Move files to cloud storage deleting the local after verification
  66. - Check hashes and for missing/extra files
  67. - Mount your cloud storage as a network disk
  68. - Serve local or remote files over HTTP/WebDav/FTP/SFTP/DLNA
  69. - Experimental Web based GUI
  70. Supported providers
  71. (There are many others, built on standard protocols such as WebDAV or
  72. S3, that work out of the box.)
  73. - 1Fichier
  74. - Akamai Netstorage
  75. - Alibaba Cloud (Aliyun) Object Storage System (OSS)
  76. - Amazon Drive
  77. - Amazon S3
  78. - Backblaze B2
  79. - Box
  80. - Ceph
  81. - China Mobile Ecloud Elastic Object Storage (EOS)
  82. - Arvan Cloud Object Storage (AOS)
  83. - Citrix ShareFile
  84. - Cloudflare R2
  85. - DigitalOcean Spaces
  86. - Digi Storage
  87. - Dreamhost
  88. - Dropbox
  89. - Enterprise File Fabric
  90. - Fastmail Files
  91. - FTP
  92. - Google Cloud Storage
  93. - Google Drive
  94. - Google Photos
  95. - HDFS
  96. - Hetzner Storage Box
  97. - HiDrive
  98. - HTTP
  99. - Internet Archive
  100. - Jottacloud
  101. - IBM COS S3
  102. - IDrive e2
  103. - IONOS Cloud
  104. - Koofr
  105. - Liara Object Storage
  106. - Mail.ru Cloud
  107. - Memset Memstore
  108. - Mega
  109. - Memory
  110. - Microsoft Azure Blob Storage
  111. - Microsoft OneDrive
  112. - Minio
  113. - Nextcloud
  114. - OVH
  115. - Blomp Cloud Storage
  116. - OpenDrive
  117. - OpenStack Swift
  118. - Oracle Cloud Storage Swift
  119. - Oracle Object Storage
  120. - ownCloud
  121. - pCloud
  122. - Petabox
  123. - PikPak
  124. - premiumize.me
  125. - put.io
  126. - QingStor
  127. - Qiniu Cloud Object Storage (Kodo)
  128. - Rackspace Cloud Files
  129. - rsync.net
  130. - Scaleway
  131. - Seafile
  132. - Seagate Lyve Cloud
  133. - SeaweedFS
  134. - SFTP
  135. - Sia
  136. - SMB / CIFS
  137. - StackPath
  138. - Storj
  139. - SugarSync
  140. - Tencent Cloud Object Storage (COS)
  141. - Uptobox
  142. - Wasabi
  143. - WebDAV
  144. - Yandex Disk
  145. - Zoho WorkDrive
  146. - The local filesystem
  147. Virtual providers
  148. These backends adapt or modify other storage providers:
  149. - Alias: Rename existing remotes
  150. - Cache: Cache remotes (DEPRECATED)
  151. - Chunker: Split large files
  152. - Combine: Combine multiple remotes into a directory tree
  153. - Compress: Compress files
  154. - Crypt: Encrypt files
  155. - Hasher: Hash files
  156. - Union: Join multiple remotes to work together
  157. Links
  158. - Home page
  159. - GitHub project page for source and bug tracker
  160. - Rclone Forum
  161. - Downloads
  162. Install
  163. Rclone is a Go program and comes as a single binary file.
  164. Quickstart
  165. - Download the relevant binary.
  166. - Extract the rclone executable, rclone.exe on Windows, from the
  167. archive.
  168. - Run rclone config to setup. See rclone config docs for more details.
  169. - Optionally configure automatic execution.
  170. See below for some expanded Linux / macOS / Windows instructions.
  171. See the usage docs for how to use rclone, or run rclone -h.
  172. Already installed rclone can be easily updated to the latest version
  173. using the rclone selfupdate command.
  174. Script installation
  175. To install rclone on Linux/macOS/BSD systems, run:
  176. sudo -v ; curl https://rclone.org/install.sh | sudo bash
  177. For beta installation, run:
  178. sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta
  179. Note that this script checks the version of rclone installed first and
  180. won't re-download if not needed.
  181. Linux installation
  182. Precompiled binary
  183. Fetch and unpack
  184. curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
  185. unzip rclone-current-linux-amd64.zip
  186. cd rclone-*-linux-amd64
  187. Copy binary file
  188. sudo cp rclone /usr/bin/
  189. sudo chown root:root /usr/bin/rclone
  190. sudo chmod 755 /usr/bin/rclone
  191. Install manpage
  192. sudo mkdir -p /usr/local/share/man/man1
  193. sudo cp rclone.1 /usr/local/share/man/man1/
  194. sudo mandb
  195. Run rclone config to setup. See rclone config docs for more details.
  196. rclone config
  197. macOS installation
  198. Installation with brew
  199. brew install rclone
  200. NOTE: This version of rclone will not support mount any more (see
  201. #5373). If mounting is wanted on macOS, either install a precompiled
  202. binary or enable the relevant option when installing from source.
  203. Note that this is a third party installer not controlled by the rclone
  204. developers so it may be out of date. Its current version is as below.
  205. [Homebrew package]
  206. Precompiled binary, using curl
  207. To avoid problems with macOS gatekeeper enforcing the binary to be
  208. signed and notarized it is enough to download with curl.
  209. Download the latest version of rclone.
  210. cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
  211. Unzip the download and cd to the extracted folder.
  212. unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
  213. Move rclone to your $PATH. You will be prompted for your password.
  214. sudo mkdir -p /usr/local/bin
  215. sudo mv rclone /usr/local/bin/
  216. (the mkdir command is safe to run, even if the directory already
  217. exists).
  218. Remove the leftover files.
  219. cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
  220. Run rclone config to setup. See rclone config docs for more details.
  221. rclone config
  222. Precompiled binary, using a web browser
  223. When downloading a binary with a web browser, the browser will set the
  224. macOS gatekeeper quarantine attribute. Starting from Catalina, when
  225. attempting to run rclone, a pop-up will appear saying:
  226. "rclone" cannot be opened because the developer cannot be verified.
  227. macOS cannot verify that this app is free from malware.
  228. The simplest fix is to run
  229. xattr -d com.apple.quarantine rclone
  230. Windows installation
  231. Precompiled binary
  232. Fetch the correct binary for your processor type by clicking on these
  233. links. If not sure, use the first link.
  234. - Intel/AMD - 64 Bit
  235. - Intel/AMD - 32 Bit
  236. - ARM - 64 Bit
  237. Open this file in the Explorer and extract rclone.exe. Rclone is a
  238. portable executable so you can place it wherever is convenient.
  239. Open a CMD window (or powershell) and run the binary. Note that rclone
  240. does not launch a GUI by default, it runs in the CMD Window.
  241. - Run rclone.exe config to setup. See rclone config docs for more
  242. details.
  243. - Optionally configure automatic execution.
  244. If you are planning to use the rclone mount feature then you will need
  245. to install the third party utility WinFsp also.
  246. Windows package manager (Winget)
  247. Winget comes pre-installed with the latest versions of Windows. If not,
  248. update the App Installer package from the Microsoft store.
  249. To install rclone
  250. winget install Rclone.Rclone
  251. To uninstall rclone
  252. winget uninstall Rclone.Rclone --force
  253. Chocolatey package manager
  254. Make sure you have Choco installed
  255. choco search rclone
  256. choco install rclone
  257. This will install rclone on your Windows machine. If you are planning to
  258. use rclone mount then
  259. choco install winfsp
  260. will install that too.
  261. Note that this is a third party installer not controlled by the rclone
  262. developers so it may be out of date. Its current version is as below.
  263. [Chocolatey package]
  264. Scoop package manager
  265. Make sure you have Scoop installed
  266. scoop install rclone
  267. Note that this is a third party installer not controlled by the rclone
  268. developers so it may be out of date. Its current version is as below.
  269. [Scoop package]
  270. Package manager installation
  271. Many Linux, Windows, macOS and other OS distributions package and
  272. distribute rclone.
  273. The distributed versions of rclone are often quite out of date and for
  274. this reason we recommend one of the other installation methods if
  275. possible.
  276. You can get an idea of how up to date or not your OS distribution's
  277. package is here.
  278. [Packaging status]
  279. Docker installation
  280. The rclone developers maintain a docker image for rclone.
  281. These images are built as part of the release process based on a minimal
  282. Alpine Linux.
  283. The :latest tag will always point to the latest stable release. You can
  284. use the :beta tag to get the latest build from master. You can also use
  285. version tags, e.g. :1.49.1, :1.49 or :1.
  286. $ docker pull rclone/rclone:latest
  287. latest: Pulling from rclone/rclone
  288. Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
  289. ...
  290. $ docker run --rm rclone/rclone:latest version
  291. rclone v1.49.1
  292. - os/arch: linux/amd64
  293. - go version: go1.12.9
  294. There are a few command line options to consider when starting an rclone
  295. Docker container from the rclone image.
  296. - You need to mount the host rclone config dir at /config/rclone into
  297. the Docker container. Due to the fact that rclone updates tokens
  298. inside its config file, and that the update process involves a file
  299. rename, you need to mount the whole host rclone config dir, not just
  300. the single host rclone config file.
  301. - You need to mount a host data dir at /data into the Docker
  302. container.
  303. - By default, the rclone binary inside a Docker container runs with
  304. UID=0 (root). As a result, all files created in a run will have
  305. UID=0. If your config and data files reside on the host with a
  306. non-root UID:GID, you need to pass these on the container start
  307. command line.
  308. - If you want to access the RC interface (either via the API or the
  309. Web UI), it is required to set the --rc-addr to :5572 in order to
  310. connect to it from outside the container. An explanation about why
  311. this is necessary is present here.
  312. - NOTE: Users running this container with the docker network set
  313. to host should probably set it to listen to localhost only, with
  314. 127.0.0.1:5572 as the value for --rc-addr
  315. - It is possible to use rclone mount inside a userspace Docker
  316. container, and expose the resulting fuse mount to the host. The
  317. exact docker run options to do that might vary slightly between
  318. hosts. See, e.g. the discussion in this thread.
  319. You also need to mount the host /etc/passwd and /etc/group for fuse
  320. to work inside the container.
  321. Here are some commands tested on an Ubuntu 18.04.3 host:
  322. # config on host at ~/.config/rclone/rclone.conf
  323. # data on host at ~/data
  324. # add a remote interactively
  325. docker run --rm -it \
  326. --volume ~/.config/rclone:/config/rclone \
  327. --user $(id -u):$(id -g) \
  328. rclone/rclone \
  329. config
  330. # make sure the config is ok by listing the remotes
  331. docker run --rm \
  332. --volume ~/.config/rclone:/config/rclone \
  333. --user $(id -u):$(id -g) \
  334. rclone/rclone \
  335. listremotes
  336. # perform mount inside Docker container, expose result to host
  337. mkdir -p ~/data/mount
  338. docker run --rm \
  339. --volume ~/.config/rclone:/config/rclone \
  340. --volume ~/data:/data:shared \
  341. --user $(id -u):$(id -g) \
  342. --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
  343. --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
  344. rclone/rclone \
  345. mount dropbox:Photos /data/mount &
  346. ls ~/data/mount
  347. kill %1
  348. Source installation
  349. Make sure you have git and Go installed. Go version 1.17 or newer is
  350. required, latest release is recommended. You can get it from your
  351. package manager, or download it from golang.org/dl. Then you can run the
  352. following:
  353. git clone https://github.com/rclone/rclone.git
  354. cd rclone
  355. go build
  356. This will check out the rclone source in subfolder rclone, which you can
  357. later modify and send pull requests with. Then it will build the rclone
  358. executable in the same folder. As an initial check you can now run
  359. ./rclone version (.\rclone version on Windows).
  360. Note that on macOS and Windows the mount command will not be available
  361. unless you specify an additional build tag cmount.
  362. go build -tags cmount
  363. This assumes you have a GCC compatible C compiler (GCC or Clang) in your
  364. PATH, as it uses cgo. But on Windows, the cgofuse library that the
  365. cmount implementation is based on, also supports building without cgo,
  366. i.e. by setting environment variable CGO_ENABLED to value 0 (static
  367. linking). This is how the official Windows release of rclone is being
  368. built, starting with version 1.59. It is still possible to build with
  369. cgo on Windows as well, by using the MinGW port of GCC, e.g. by
  370. installing it in a MSYS2 distribution (make sure you install it in the
  371. classic mingw64 subsystem, the ucrt64 version is not compatible).
  372. Additionally, on Windows, you must install the third party utility
  373. WinFsp, with the "Developer" feature selected. If building with cgo, you
  374. must also set environment variable CPATH pointing to the fuse include
  375. directory within the WinFsp installation (normally
  376. C:\Program Files (x86)\WinFsp\inc\fuse).
  377. You may also add arguments -ldflags -s (with or without -tags cmount),
  378. to omit symbol table and debug information, making the executable file
  379. smaller, and -trimpath to remove references to local file system paths.
  380. This is how the official rclone releases are built.
  381. go build -trimpath -ldflags -s -tags cmount
  382. Instead of executing the go build command directly, you can run it via
  383. the Makefile. It changes the version number suffix from "-DEV" to
  384. "-beta" and appends commit details. It also copies the resulting rclone
  385. executable into your GOPATH bin folder ($(go env GOPATH)/bin, which
  386. corresponds to ~/go/bin/rclone by default).
  387. make
  388. To include mount command on macOS and Windows with Makefile build:
  389. make GOTAGS=cmount
  390. There are other make targets that can be used for more advanced builds,
  391. such as cross-compiling for all supported os/architectures, embedding
  392. icon and version info resources into windows executable, and packaging
  393. results into release artifacts. See Makefile and cross-compile.go for
  394. details.
  395. Another alternative is to download the source, build and install rclone
  396. in one operation, as a regular Go package. The source will be stored it
  397. in the Go module cache, and the resulting executable will be in your
  398. GOPATH bin folder ($(go env GOPATH)/bin, which corresponds to
  399. ~/go/bin/rclone by default).
  400. With Go version 1.17 or newer:
  401. go install github.com/rclone/rclone@latest
  402. With Go versions older than 1.17 (do not use the -u flag, it causes Go
  403. to try to update the dependencies that rclone uses and sometimes these
  404. don't work with the current version):
  405. go get github.com/rclone/rclone
  406. Ansible installation
  407. This can be done with Stefan Weichinger's ansible role.
  408. Instructions
  409. 1. git clone https://github.com/stefangweichinger/ansible-rclone.git
  410. into your local roles-directory
  411. 2. add the role to the hosts you want rclone installed to:
  412. - hosts: rclone-hosts
  413. roles:
  414. - rclone
  415. Portable installation
  416. As mentioned above, rclone is single executable (rclone, or rclone.exe
  417. on Windows) that you can download as a zip archive and extract into a
  418. location of your choosing. When executing different commands, it may
  419. create files in different locations, such as a configuration file and
  420. various temporary files. By default the locations for these are
  421. according to your operating system, e.g. configuration file in your user
  422. profile directory and temporary files in the standard temporary
  423. directory, but you can customize all of them, e.g. to make a completely
  424. self-contained, portable installation.
  425. Run the config paths command to see the locations that rclone will use.
  426. To override them set the corresponding options (as command-line
  427. arguments, or as environment variables): - --config - --cache-dir -
  428. --temp-dir
  429. Autostart
  430. After installing and configuring rclone, as described above, you are
  431. ready to use rclone as an interactive command line utility. If your goal
  432. is to perform periodic operations, such as a regular sync, you will
  433. probably want to configure your rclone command in your operating
  434. system's scheduler. If you need to expose service-like features, such as
  435. remote control, GUI, serve or mount, you will often want an rclone
  436. command always running in the background, and configuring it to run in a
  437. service infrastructure may be a better option. Below are some
  438. alternatives on how to achieve this on different operating systems.
  439. NOTE: Before setting up autorun it is highly recommended that you have
  440. tested your command manually from a Command Prompt first.
  441. Autostart on Windows
  442. The most relevant alternatives for autostart on Windows are: - Run at
  443. user log on using the Startup folder - Run at user log on, at system
  444. startup or at schedule using Task Scheduler - Run at system startup
  445. using Windows service
  446. Running in background
  447. Rclone is a console application, so if not starting from an existing
  448. Command Prompt, e.g. when starting rclone.exe from a shortcut, it will
  449. open a Command Prompt window. When configuring rclone to run from task
  450. scheduler and windows service you are able to set it to run hidden in
  451. background. From rclone version 1.54 you can also make it run hidden
  452. from anywhere by adding option --no-console (it may still flash briefly
  453. when the program starts). Since rclone normally writes information and
  454. any error messages to the console, you must redirect this to a file to
  455. be able to see it. Rclone has a built-in option --log-file for that.
  456. Example command to run a sync in background:
  457. c:\rclone\rclone.exe sync c:\files remote:/files --no-console --log-file c:\rclone\logs\sync_files.txt
  458. User account
  459. As mentioned in the mount documentation, mounted drives created as
  460. Administrator are not visible to other accounts, not even the account
  461. that was elevated as Administrator. By running the mount command as the
  462. built-in SYSTEM user account, it will create drives accessible for
  463. everyone on the system. Both scheduled task and Windows service can be
  464. used to achieve this.
  465. NOTE: Remember that when rclone runs as the SYSTEM user, the user
  466. profile that it sees will not be yours. This means that if you normally
  467. run rclone with configuration file in the default location, to be able
  468. to use the same configuration when running as the system user you must
  469. explicitly tell rclone where to find it with the --config option, or
  470. else it will look in the system users profile path
  471. (C:\Windows\System32\config\systemprofile). To test your command
  472. manually from a Command Prompt, you can run it with the PsExec utility
  473. from Microsoft's Sysinternals suite, which takes option -s to execute
  474. commands as the SYSTEM user.
  475. Start from Startup folder
  476. To quickly execute an rclone command you can simply create a standard
  477. Windows Explorer shortcut for the complete rclone command you want to
  478. run. If you store this shortcut in the special "Startup" start-menu
  479. folder, Windows will automatically run it at login. To open this folder
  480. in Windows Explorer, enter path
  481. %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup, or
  482. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp if you want
  483. the command to start for every user that logs in.
  484. This is the easiest approach to autostarting of rclone, but it offers no
  485. functionality to set it to run as different user, or to set conditions
  486. or actions on certain events. Setting up a scheduled task as described
  487. below will often give you better results.
  488. Start from Task Scheduler
  489. Task Scheduler is an administrative tool built into Windows, and it can
  490. be used to configure rclone to be started automatically in a highly
  491. configurable way, e.g. periodically on a schedule, on user log on, or at
  492. system startup. It can run be configured to run as the current user, or
  493. for a mount command that needs to be available to all users it can run
  494. as the SYSTEM user. For technical information, see
  495. https://docs.microsoft.com/windows/win32/taskschd/task-scheduler-start-page.
  496. Run as service
  497. For running rclone at system startup, you can create a Windows service
  498. that executes your rclone command, as an alternative to scheduled task
  499. configured to run at startup.
  500. Mount command built-in service integration
  501. For mount commands, rclone has a built-in Windows service integration
  502. via the third-party WinFsp library it uses. Registering as a regular
  503. Windows service easy, as you just have to execute the built-in
  504. PowerShell command New-Service (requires administrative privileges).
  505. Example of a PowerShell command that creates a Windows service for
  506. mounting some remote:/files as drive letter X:, for all users (service
  507. will be running as the local system account):
  508. New-Service -Name Rclone -BinaryPathName 'c:\rclone\rclone.exe mount remote:/files X: --config c:\rclone\config\rclone.conf --log-file c:\rclone\logs\mount.txt'
  509. The WinFsp service infrastructure supports incorporating services for
  510. file system implementations, such as rclone, into its own launcher
  511. service, as kind of "child services". This has the additional advantage
  512. that it also implements a network provider that integrates into Windows
  513. standard methods for managing network drives. This is currently not
  514. officially supported by Rclone, but with WinFsp version 2019.3 B2 /
  515. v1.5B2 or later it should be possible through path rewriting as
  516. described here.
  517. Third-party service integration
  518. To Windows service running any rclone command, the excellent third-party
  519. utility NSSM, the "Non-Sucking Service Manager", can be used. It
  520. includes some advanced features such as adjusting process priority,
  521. defining process environment variables, redirect to file anything
  522. written to stdout, and customized response to different exit codes, with
  523. a GUI to configure everything from (although it can also be used from
  524. command line ).
  525. There are also several other alternatives. To mention one more, WinSW,
  526. "Windows Service Wrapper", is worth checking out. It requires .NET
  527. Framework, but it is preinstalled on newer versions of Windows, and it
  528. also provides alternative standalone distributions which includes
  529. necessary runtime (.NET 5). WinSW is a command-line only utility, where
  530. you have to manually create an XML file with service configuration. This
  531. may be a drawback for some, but it can also be an advantage as it is
  532. easy to back up and re-use the configuration settings, without having go
  533. through manual steps in a GUI. One thing to note is that by default it
  534. does not restart the service on error, one have to explicit enable this
  535. in the configuration file (via the "onfailure" parameter).
  536. Autostart on Linux
  537. Start as a service
  538. To always run rclone in background, relevant for mount commands etc, you
  539. can use systemd to set up rclone as a system or user service. Running as
  540. a system service ensures that it is run at startup even if the user it
  541. is running as has no active session. Running rclone as a user service
  542. ensures that it only starts after the configured user has logged into
  543. the system.
  544. Run periodically from cron
  545. To run a periodic command, such as a copy/sync, you can set up a cron
  546. job.
  547. Usage
  548. Rclone is a command line program to manage files on cloud storage. After
  549. download and install, continue here to learn how to use it: Initial
  550. configuration, what the basic syntax looks like, describes the various
  551. subcommands, the various options, and more.
  552. Configure
  553. First, you'll need to configure rclone. As the object storage systems
  554. have quite complicated authentication these are kept in a config file.
  555. (See the --config entry for how to find the config file and choose its
  556. location.)
  557. The easiest way to make the config is to run rclone with the config
  558. option:
  559. rclone config
  560. See the following for detailed instructions for
  561. - 1Fichier
  562. - Akamai Netstorage
  563. - Alias
  564. - Amazon Drive
  565. - Amazon S3
  566. - Backblaze B2
  567. - Box
  568. - Chunker - transparently splits large files for other remotes
  569. - Citrix ShareFile
  570. - Compress
  571. - Combine
  572. - Crypt - to encrypt other remotes
  573. - DigitalOcean Spaces
  574. - Digi Storage
  575. - Dropbox
  576. - Enterprise File Fabric
  577. - FTP
  578. - Google Cloud Storage
  579. - Google Drive
  580. - Google Photos
  581. - Hasher - to handle checksums for other remotes
  582. - HDFS
  583. - HiDrive
  584. - HTTP
  585. - Internet Archive
  586. - Jottacloud
  587. - Koofr
  588. - Mail.ru Cloud
  589. - Mega
  590. - Memory
  591. - Microsoft Azure Blob Storage
  592. - Microsoft OneDrive
  593. - OpenStack Swift / Rackspace Cloudfiles / Blomp Cloud Storage /
  594. Memset Memstore
  595. - OpenDrive
  596. - Oracle Object Storage
  597. - Pcloud
  598. - PikPak
  599. - premiumize.me
  600. - put.io
  601. - QingStor
  602. - Seafile
  603. - SFTP
  604. - Sia
  605. - SMB
  606. - Storj
  607. - SugarSync
  608. - Union
  609. - Uptobox
  610. - WebDAV
  611. - Yandex Disk
  612. - Zoho WorkDrive
  613. - The local filesystem
  614. Basic syntax
  615. Rclone syncs a directory tree from one storage system to another.
  616. Its syntax is like this
  617. Syntax: [options] subcommand <parameters> <parameters...>
  618. Source and destination paths are specified by the name you gave the
  619. storage system in the config file then the sub path, e.g.
  620. "drive:myfolder" to look at "myfolder" in Google drive.
  621. You can define as many storage paths as you like in the config file.
  622. Please use the --interactive/-i flag while learning rclone to avoid
  623. accidental data loss.
  624. Subcommands
  625. rclone uses a system of subcommands. For example
  626. rclone ls remote:path # lists a remote
  627. rclone copy /local/path remote:path # copies /local/path to the remote
  628. rclone sync --interactive /local/path remote:path # syncs /local/path to the remote
  629. rclone config
  630. Enter an interactive configuration session.
  631. Synopsis
  632. Enter an interactive configuration session where you can setup new
  633. remotes and manage existing ones. You may also set or remove a password
  634. to protect your configuration.
  635. rclone config [flags]
  636. Options
  637. -h, --help help for config
  638. See the global flags page for global options not listed here.
  639. SEE ALSO
  640. - rclone - Show help for rclone commands, flags and backends.
  641. - rclone config create - Create a new remote with name, type and
  642. options.
  643. - rclone config delete - Delete an existing remote.
  644. - rclone config disconnect - Disconnects user from remote
  645. - rclone config dump - Dump the config file as JSON.
  646. - rclone config file - Show path of configuration file in use.
  647. - rclone config password - Update password in an existing remote.
  648. - rclone config paths - Show paths used for configuration, cache, temp
  649. etc.
  650. - rclone config providers - List in JSON format all the providers and
  651. options.
  652. - rclone config reconnect - Re-authenticates user with remote.
  653. - rclone config show - Print (decrypted) config file, or the config
  654. for a single remote.
  655. - rclone config touch - Ensure configuration file exists.
  656. - rclone config update - Update options in an existing remote.
  657. - rclone config userinfo - Prints info about logged in user of remote.
  658. rclone copy
  659. Copy files from source to dest, skipping identical files.
  660. Synopsis
  661. Copy the source to the destination. Does not transfer files that are
  662. identical on source and destination, testing by size and modification
  663. time or MD5SUM. Doesn't delete files from the destination. If you want
  664. to also delete files from destination, to make it match source, use the
  665. sync command instead.
  666. Note that it is always the contents of the directory that is synced, not
  667. the directory itself. So when source:path is a directory, it's the
  668. contents of source:path that are copied, not the directory name and
  669. contents.
  670. To copy single files, use the copyto command instead.
  671. If dest:path doesn't exist, it is created and the source:path contents
  672. go there.
  673. For example
  674. rclone copy source:sourcepath dest:destpath
  675. Let's say there are two files in sourcepath
  676. sourcepath/one.txt
  677. sourcepath/two.txt
  678. This copies them to
  679. destpath/one.txt
  680. destpath/two.txt
  681. Not to
  682. destpath/sourcepath/one.txt
  683. destpath/sourcepath/two.txt
  684. If you are familiar with rsync, rclone always works as if you had
  685. written a trailing / - meaning "copy the contents of this directory".
  686. This applies to all commands and whether you are talking about the
  687. source or destination.
  688. See the --no-traverse option for controlling whether rclone lists the
  689. destination directory or not. Supplying this option when copying a small
  690. number of files into a large destination can speed transfers up greatly.
  691. For example, if you have many files in /path/to/src but only a few of
  692. them change every day, you can copy all the files which have changed
  693. recently very efficiently like this:
  694. rclone copy --max-age 24h --no-traverse /path/to/src remote:
  695. Note: Use the -P/--progress flag to view real-time transfer statistics.
  696. Note: Use the --dry-run or the --interactive/-i flag to test without
  697. copying anything.
  698. rclone copy source:path dest:path [flags]
  699. Options
  700. --create-empty-src-dirs Create empty source dirs on destination after copy
  701. -h, --help help for copy
  702. See the global flags page for global options not listed here.
  703. SEE ALSO
  704. - rclone - Show help for rclone commands, flags and backends.
  705. rclone sync
  706. Make source and dest identical, modifying destination only.
  707. Synopsis
  708. Sync the source to the destination, changing the destination only.
  709. Doesn't transfer files that are identical on source and destination,
  710. testing by size and modification time or MD5SUM. Destination is updated
  711. to match source, including deleting files if necessary (except duplicate
  712. objects, see below). If you don't want to delete files from destination,
  713. use the copy command instead.
  714. Important: Since this can cause data loss, test first with the --dry-run
  715. or the --interactive/-i flag.
  716. rclone sync --interactive SOURCE remote:DESTINATION
  717. Note that files in the destination won't be deleted if there were any
  718. errors at any point. Duplicate objects (files with the same name, on
  719. those providers that support it) are also not yet handled.
  720. It is always the contents of the directory that is synced, not the
  721. directory itself. So when source:path is a directory, it's the contents
  722. of source:path that are copied, not the directory name and contents. See
  723. extended explanation in the copy command if unsure.
  724. If dest:path doesn't exist, it is created and the source:path contents
  725. go there.
  726. It is not possible to sync overlapping remotes. However, you may exclude
  727. the destination from the sync with a filter rule or by putting an
  728. exclude-if-present file inside the destination directory and sync to a
  729. destination that is inside the source directory.
  730. Note: Use the -P/--progress flag to view real-time transfer statistics
  731. Note: Use the rclone dedupe command to deal with "Duplicate
  732. object/directory found in source/destination - ignoring" errors. See
  733. this forum post for more info.
  734. rclone sync source:path dest:path [flags]
  735. Options
  736. --create-empty-src-dirs Create empty source dirs on destination after sync
  737. -h, --help help for sync
  738. See the global flags page for global options not listed here.
  739. SEE ALSO
  740. - rclone - Show help for rclone commands, flags and backends.
  741. rclone move
  742. Move files from source to dest.
  743. Synopsis
  744. Moves the contents of the source directory to the destination directory.
  745. Rclone will error if the source and destination overlap and the remote
  746. does not support a server-side directory move operation.
  747. To move single files, use the moveto command instead.
  748. If no filters are in use and if possible this will server-side move
  749. source:path into dest:path. After this source:path will no longer exist.
  750. Otherwise for each file in source:path selected by the filters (if any)
  751. this will move it into dest:path. If possible a server-side move will be
  752. used, otherwise it will copy it (server-side if possible) into dest:path
  753. then delete the original (if no errors on copy) in source:path.
  754. If you want to delete empty source directories after move, use the
  755. --delete-empty-src-dirs flag.
  756. See the --no-traverse option for controlling whether rclone lists the
  757. destination directory or not. Supplying this option when moving a small
  758. number of files into a large destination can speed transfers up greatly.
  759. Important: Since this can cause data loss, test first with the --dry-run
  760. or the --interactive/-i flag.
  761. Note: Use the -P/--progress flag to view real-time transfer statistics.
  762. rclone move source:path dest:path [flags]
  763. Options
  764. --create-empty-src-dirs Create empty source dirs on destination after move
  765. --delete-empty-src-dirs Delete empty source dirs after move
  766. -h, --help help for move
  767. See the global flags page for global options not listed here.
  768. SEE ALSO
  769. - rclone - Show help for rclone commands, flags and backends.
  770. rclone delete
  771. Remove the files in path.
  772. Synopsis
  773. Remove the files in path. Unlike purge it obeys include/exclude filters
  774. so can be used to selectively delete files.
  775. rclone delete only deletes files but leaves the directory structure
  776. alone. If you want to delete a directory and all of its contents use the
  777. purge command.
  778. If you supply the --rmdirs flag, it will remove all empty directories
  779. along with it. You can also use the separate command rmdir or rmdirs to
  780. delete empty directories only.
  781. For example, to delete all files bigger than 100 MiB, you may first want
  782. to check what would be deleted (use either):
  783. rclone --min-size 100M lsl remote:path
  784. rclone --dry-run --min-size 100M delete remote:path
  785. Then proceed with the actual delete:
  786. rclone --min-size 100M delete remote:path
  787. That reads "delete everything with a minimum size of 100 MiB", hence
  788. delete all files bigger than 100 MiB.
  789. Important: Since this can cause data loss, test first with the --dry-run
  790. or the --interactive/-i flag.
  791. rclone delete remote:path [flags]
  792. Options
  793. -h, --help help for delete
  794. --rmdirs rmdirs removes empty directories but leaves root intact
  795. See the global flags page for global options not listed here.
  796. SEE ALSO
  797. - rclone - Show help for rclone commands, flags and backends.
  798. rclone purge
  799. Remove the path and all of its contents.
  800. Synopsis
  801. Remove the path and all of its contents. Note that this does not obey
  802. include/exclude filters - everything will be removed. Use the delete
  803. command if you want to selectively delete files. To delete empty
  804. directories only, use command rmdir or rmdirs.
  805. Important: Since this can cause data loss, test first with the --dry-run
  806. or the --interactive/-i flag.
  807. rclone purge remote:path [flags]
  808. Options
  809. -h, --help help for purge
  810. See the global flags page for global options not listed here.
  811. SEE ALSO
  812. - rclone - Show help for rclone commands, flags and backends.
  813. rclone mkdir
  814. Make the path if it doesn't already exist.
  815. rclone mkdir remote:path [flags]
  816. Options
  817. -h, --help help for mkdir
  818. See the global flags page for global options not listed here.
  819. SEE ALSO
  820. - rclone - Show help for rclone commands, flags and backends.
  821. rclone rmdir
  822. Remove the empty directory at path.
  823. Synopsis
  824. This removes empty directory given by path. Will not remove the path if
  825. it has any objects in it, not even empty subdirectories. Use command
  826. rmdirs (or delete with option --rmdirs) to do that.
  827. To delete a path and any objects in it, use purge command.
  828. rclone rmdir remote:path [flags]
  829. Options
  830. -h, --help help for rmdir
  831. See the global flags page for global options not listed here.
  832. SEE ALSO
  833. - rclone - Show help for rclone commands, flags and backends.
  834. rclone check
  835. Checks the files in the source and destination match.
  836. Synopsis
  837. Checks the files in the source and destination match. It compares sizes
  838. and hashes (MD5 or SHA1) and logs a report of files that don't match. It
  839. doesn't alter the source or destination.
  840. For the crypt remote there is a dedicated command, cryptcheck, that are
  841. able to check the checksums of the encrypted files.
  842. If you supply the --size-only flag, it will only compare the sizes not
  843. the hashes as well. Use this for a quick check.
  844. If you supply the --download flag, it will download the data from both
  845. remotes and check them against each other on the fly. This can be useful
  846. for remotes that don't support hashes or if you really want to check all
  847. the data.
  848. If you supply the --checkfile HASH flag with a valid hash name, the
  849. source:path must point to a text file in the SUM format.
  850. If you supply the --one-way flag, it will only check that files in the
  851. source match the files in the destination, not the other way around.
  852. This means that extra files in the destination that are not in the
  853. source will not be detected.
  854. The --differ, --missing-on-dst, --missing-on-src, --match and --error
  855. flags write paths, one per line, to the file name (or stdout if it is -)
  856. supplied. What they write is described in the help below. For example
  857. --differ will write all paths which are present on both the source and
  858. destination but different.
  859. The --combined flag will write a file (or stdout) which contains all
  860. file paths with a symbol and then a space and then the path to tell you
  861. what happened to it. These are reminiscent of diff files.
  862. - = path means path was found in source and destination and was
  863. identical
  864. - `- path` means path was missing on the source, so only in the
  865. destination
  866. - `+ path` means path was missing on the destination, so only in the
  867. source
  868. - `* path` means path was present in source and destination but
  869. different.
  870. - ! path means there was an error reading or hashing the source or
  871. dest.
  872. The default number of parallel checks is 8. See the --checkers=N option
  873. for more information.
  874. rclone check source:path dest:path [flags]
  875. Options
  876. -C, --checkfile string Treat source:path as a SUM file with hashes of given type
  877. --combined string Make a combined report of changes to this file
  878. --differ string Report all non-matching files to this file
  879. --download Check by downloading rather than with hash
  880. --error string Report all files with errors (hashing or reading) to this file
  881. -h, --help help for check
  882. --match string Report all matching files to this file
  883. --missing-on-dst string Report all files missing from the destination to this file
  884. --missing-on-src string Report all files missing from the source to this file
  885. --one-way Check one way only, source files must exist on remote
  886. See the global flags page for global options not listed here.
  887. SEE ALSO
  888. - rclone - Show help for rclone commands, flags and backends.
  889. rclone ls
  890. List the objects in the path with size and path.
  891. Synopsis
  892. Lists the objects in the source path to standard output in a human
  893. readable format with size and path. Recurses by default.
  894. Eg
  895. $ rclone ls swift:bucket
  896. 60295 bevajer5jef
  897. 90613 canole
  898. 94467 diwogej7
  899. 37600 fubuwic
  900. Any of the filtering options can be applied to this command.
  901. There are several related list commands
  902. - ls to list size and path of objects only
  903. - lsl to list modification time, size and path of objects only
  904. - lsd to list directories only
  905. - lsf to list objects and directories in easy to parse format
  906. - lsjson to list objects and directories in JSON format
  907. ls,lsl,lsd are designed to be human-readable. lsf is designed to be
  908. human and machine-readable. lsjson is designed to be machine-readable.
  909. Note that ls and lsl recurse by default - use --max-depth 1 to stop the
  910. recursion.
  911. The other list commands lsd,lsf,lsjson do not recurse by default - use
  912. -R to make them recurse.
  913. Listing a nonexistent directory will produce an error except for remotes
  914. which can't have empty directories (e.g. s3, swift, or gcs - the
  915. bucket-based remotes).
  916. rclone ls remote:path [flags]
  917. Options
  918. -h, --help help for ls
  919. See the global flags page for global options not listed here.
  920. SEE ALSO
  921. - rclone - Show help for rclone commands, flags and backends.
  922. rclone lsd
  923. List all directories/containers/buckets in the path.
  924. Synopsis
  925. Lists the directories in the source path to standard output. Does not
  926. recurse by default. Use the -R flag to recurse.
  927. This command lists the total size of the directory (if known, -1 if
  928. not), the modification time (if known, the current time if not), the
  929. number of objects in the directory (if known, -1 if not) and the name of
  930. the directory, Eg
  931. $ rclone lsd swift:
  932. 494000 2018-04-26 08:43:20 10000 10000files
  933. 65 2018-04-26 08:43:20 1 1File
  934. Or
  935. $ rclone lsd drive:test
  936. -1 2016-10-17 17:41:53 -1 1000files
  937. -1 2017-01-03 14:40:54 -1 2500files
  938. -1 2017-07-08 14:39:28 -1 4000files
  939. If you just want the directory names use rclone lsf --dirs-only.
  940. Any of the filtering options can be applied to this command.
  941. There are several related list commands
  942. - ls to list size and path of objects only
  943. - lsl to list modification time, size and path of objects only
  944. - lsd to list directories only
  945. - lsf to list objects and directories in easy to parse format
  946. - lsjson to list objects and directories in JSON format
  947. ls,lsl,lsd are designed to be human-readable. lsf is designed to be
  948. human and machine-readable. lsjson is designed to be machine-readable.
  949. Note that ls and lsl recurse by default - use --max-depth 1 to stop the
  950. recursion.
  951. The other list commands lsd,lsf,lsjson do not recurse by default - use
  952. -R to make them recurse.
  953. Listing a nonexistent directory will produce an error except for remotes
  954. which can't have empty directories (e.g. s3, swift, or gcs - the
  955. bucket-based remotes).
  956. rclone lsd remote:path [flags]
  957. Options
  958. -h, --help help for lsd
  959. -R, --recursive Recurse into the listing
  960. See the global flags page for global options not listed here.
  961. SEE ALSO
  962. - rclone - Show help for rclone commands, flags and backends.
  963. rclone lsl
  964. List the objects in path with modification time, size and path.
  965. Synopsis
  966. Lists the objects in the source path to standard output in a human
  967. readable format with modification time, size and path. Recurses by
  968. default.
  969. Eg
  970. $ rclone lsl swift:bucket
  971. 60295 2016-06-25 18:55:41.062626927 bevajer5jef
  972. 90613 2016-06-25 18:55:43.302607074 canole
  973. 94467 2016-06-25 18:55:43.046609333 diwogej7
  974. 37600 2016-06-25 18:55:40.814629136 fubuwic
  975. Any of the filtering options can be applied to this command.
  976. There are several related list commands
  977. - ls to list size and path of objects only
  978. - lsl to list modification time, size and path of objects only
  979. - lsd to list directories only
  980. - lsf to list objects and directories in easy to parse format
  981. - lsjson to list objects and directories in JSON format
  982. ls,lsl,lsd are designed to be human-readable. lsf is designed to be
  983. human and machine-readable. lsjson is designed to be machine-readable.
  984. Note that ls and lsl recurse by default - use --max-depth 1 to stop the
  985. recursion.
  986. The other list commands lsd,lsf,lsjson do not recurse by default - use
  987. -R to make them recurse.
  988. Listing a nonexistent directory will produce an error except for remotes
  989. which can't have empty directories (e.g. s3, swift, or gcs - the
  990. bucket-based remotes).
  991. rclone lsl remote:path [flags]
  992. Options
  993. -h, --help help for lsl
  994. See the global flags page for global options not listed here.
  995. SEE ALSO
  996. - rclone - Show help for rclone commands, flags and backends.
  997. rclone md5sum
  998. Produces an md5sum file for all the objects in the path.
  999. Synopsis
  1000. Produces an md5sum file for all the objects in the path. This is in the
  1001. same format as the standard md5sum tool produces.
  1002. By default, the hash is requested from the remote. If MD5 is not
  1003. supported by the remote, no hash will be returned. With the download
  1004. flag, the file will be downloaded from the remote and hashed locally
  1005. enabling MD5 for any remote.
  1006. For other algorithms, see the hashsum command. Running
  1007. rclone md5sum remote:path is equivalent to running
  1008. rclone hashsum MD5 remote:path.
  1009. This command can also hash data received on standard input (stdin), by
  1010. not passing a remote:path, or by passing a hyphen as remote:path when
  1011. there is data to read (if not, the hyphen will be treated literally, as
  1012. a relative path).
  1013. rclone md5sum remote:path [flags]
  1014. Options
  1015. --base64 Output base64 encoded hashsum
  1016. -C, --checkfile string Validate hashes against a given SUM file instead of printing them
  1017. --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
  1018. -h, --help help for md5sum
  1019. --output-file string Output hashsums to a file rather than the terminal
  1020. See the global flags page for global options not listed here.
  1021. SEE ALSO
  1022. - rclone - Show help for rclone commands, flags and backends.
  1023. rclone sha1sum
  1024. Produces an sha1sum file for all the objects in the path.
  1025. Synopsis
  1026. Produces an sha1sum file for all the objects in the path. This is in the
  1027. same format as the standard sha1sum tool produces.
  1028. By default, the hash is requested from the remote. If SHA-1 is not
  1029. supported by the remote, no hash will be returned. With the download
  1030. flag, the file will be downloaded from the remote and hashed locally
  1031. enabling SHA-1 for any remote.
  1032. For other algorithms, see the hashsum command. Running
  1033. rclone sha1sum remote:path is equivalent to running
  1034. rclone hashsum SHA1 remote:path.
  1035. This command can also hash data received on standard input (stdin), by
  1036. not passing a remote:path, or by passing a hyphen as remote:path when
  1037. there is data to read (if not, the hyphen will be treated literally, as
  1038. a relative path).
  1039. This command can also hash data received on STDIN, if not passing a
  1040. remote:path.
  1041. rclone sha1sum remote:path [flags]
  1042. Options
  1043. --base64 Output base64 encoded hashsum
  1044. -C, --checkfile string Validate hashes against a given SUM file instead of printing them
  1045. --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
  1046. -h, --help help for sha1sum
  1047. --output-file string Output hashsums to a file rather than the terminal
  1048. See the global flags page for global options not listed here.
  1049. SEE ALSO
  1050. - rclone - Show help for rclone commands, flags and backends.
  1051. rclone size
  1052. Prints the total size and number of objects in remote:path.
  1053. Synopsis
  1054. Counts objects in the path and calculates the total size. Prints the
  1055. result to standard output.
  1056. By default the output is in human-readable format, but shows values in
  1057. both human-readable format as well as the raw numbers (global option
  1058. --human-readable is not considered). Use option --json to format output
  1059. as JSON instead.
  1060. Recurses by default, use --max-depth 1 to stop the recursion.
  1061. Some backends do not always provide file sizes, see for example Google
  1062. Photos and Google Docs. Rclone will then show a notice in the log
  1063. indicating how many such files were encountered, and count them in as
  1064. empty files in the output of the size command.
  1065. rclone size remote:path [flags]
  1066. Options
  1067. -h, --help help for size
  1068. --json Format output as JSON
  1069. See the global flags page for global options not listed here.
  1070. SEE ALSO
  1071. - rclone - Show help for rclone commands, flags and backends.
  1072. rclone version
  1073. Show the version number.
  1074. Synopsis
  1075. Show the rclone version number, the go version, the build target OS and
  1076. architecture, the runtime OS and kernel version and bitness, build tags
  1077. and the type of executable (static or dynamic).
  1078. For example:
  1079. $ rclone version
  1080. rclone v1.55.0
  1081. - os/version: ubuntu 18.04 (64 bit)
  1082. - os/kernel: 4.15.0-136-generic (x86_64)
  1083. - os/type: linux
  1084. - os/arch: amd64
  1085. - go/version: go1.16
  1086. - go/linking: static
  1087. - go/tags: none
  1088. Note: before rclone version 1.55 the os/type and os/arch lines were
  1089. merged, and the "go/version" line was tagged as "go version".
  1090. If you supply the --check flag, then it will do an online check to
  1091. compare your version with the latest release and the latest beta.
  1092. $ rclone version --check
  1093. yours: 1.42.0.6
  1094. latest: 1.42 (released 2018-06-16)
  1095. beta: 1.42.0.5 (released 2018-06-17)
  1096. Or
  1097. $ rclone version --check
  1098. yours: 1.41
  1099. latest: 1.42 (released 2018-06-16)
  1100. upgrade: https://downloads.rclone.org/v1.42
  1101. beta: 1.42.0.5 (released 2018-06-17)
  1102. upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
  1103. rclone version [flags]
  1104. Options
  1105. --check Check for new version
  1106. -h, --help help for version
  1107. See the global flags page for global options not listed here.
  1108. SEE ALSO
  1109. - rclone - Show help for rclone commands, flags and backends.
  1110. rclone cleanup
  1111. Clean up the remote if possible.
  1112. Synopsis
  1113. Clean up the remote if possible. Empty the trash or delete old file
  1114. versions. Not supported by all remotes.
  1115. rclone cleanup remote:path [flags]
  1116. Options
  1117. -h, --help help for cleanup
  1118. See the global flags page for global options not listed here.
  1119. SEE ALSO
  1120. - rclone - Show help for rclone commands, flags and backends.
  1121. rclone dedupe
  1122. Interactively find duplicate filenames and delete/rename them.
  1123. Synopsis
  1124. By default dedupe interactively finds files with duplicate names and
  1125. offers to delete all but one or rename them to be different. This is
  1126. known as deduping by name.
  1127. Deduping by name is only useful with a small group of backends (e.g.
  1128. Google Drive, Opendrive) that can have duplicate file names. It can be
  1129. run on wrapping backends (e.g. crypt) if they wrap a backend which
  1130. supports duplicate file names.
  1131. However if --by-hash is passed in then dedupe will find files with
  1132. duplicate hashes instead which will work on any backend which supports
  1133. at least one hash. This can be used to find files with duplicate
  1134. content. This is known as deduping by hash.
  1135. If deduping by name, first rclone will merge directories with the same
  1136. name. It will do this iteratively until all the identically named
  1137. directories have been merged.
  1138. Next, if deduping by name, for every group of duplicate file names /
  1139. hashes, it will delete all but one identical file it finds without
  1140. confirmation. This means that for most duplicated files the dedupe
  1141. command will not be interactive.
  1142. dedupe considers files to be identical if they have the same file path
  1143. and the same hash. If the backend does not support hashes (e.g. crypt
  1144. wrapping Google Drive) then they will never be found to be identical. If
  1145. you use the --size-only flag then files will be considered identical if
  1146. they have the same size (any hash will be ignored). This can be useful
  1147. on crypt backends which do not support hashes.
  1148. Next rclone will resolve the remaining duplicates. Exactly which action
  1149. is taken depends on the dedupe mode. By default, rclone will
  1150. interactively query the user for each one.
  1151. Important: Since this can cause data loss, test first with the --dry-run
  1152. or the --interactive/-i flag.
  1153. Here is an example run.
  1154. Before - with duplicates
  1155. $ rclone lsl drive:dupes
  1156. 6048320 2016-03-05 16:23:16.798000000 one.txt
  1157. 6048320 2016-03-05 16:23:11.775000000 one.txt
  1158. 564374 2016-03-05 16:23:06.731000000 one.txt
  1159. 6048320 2016-03-05 16:18:26.092000000 one.txt
  1160. 6048320 2016-03-05 16:22:46.185000000 two.txt
  1161. 1744073 2016-03-05 16:22:38.104000000 two.txt
  1162. 564374 2016-03-05 16:22:52.118000000 two.txt
  1163. Now the dedupe session
  1164. $ rclone dedupe drive:dupes
  1165. 2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode.
  1166. one.txt: Found 4 files with duplicate names
  1167. one.txt: Deleting 2/3 identical duplicates (MD5 "1eedaa9fe86fd4b8632e2ac549403b36")
  1168. one.txt: 2 duplicates remain
  1169. 1: 6048320 bytes, 2016-03-05 16:23:16.798000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
  1170. 2: 564374 bytes, 2016-03-05 16:23:06.731000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
  1171. s) Skip and do nothing
  1172. k) Keep just one (choose which in next step)
  1173. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  1174. s/k/r> k
  1175. Enter the number of the file to keep> 1
  1176. one.txt: Deleted 1 extra copies
  1177. two.txt: Found 3 files with duplicate names
  1178. two.txt: 3 duplicates remain
  1179. 1: 564374 bytes, 2016-03-05 16:22:52.118000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
  1180. 2: 6048320 bytes, 2016-03-05 16:22:46.185000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
  1181. 3: 1744073 bytes, 2016-03-05 16:22:38.104000000, MD5 851957f7fb6f0bc4ce76be966d336802
  1182. s) Skip and do nothing
  1183. k) Keep just one (choose which in next step)
  1184. r) Rename all to be different (by changing file.jpg to file-1.jpg)
  1185. s/k/r> r
  1186. two-1.txt: renamed from: two.txt
  1187. two-2.txt: renamed from: two.txt
  1188. two-3.txt: renamed from: two.txt
  1189. The result being
  1190. $ rclone lsl drive:dupes
  1191. 6048320 2016-03-05 16:23:16.798000000 one.txt
  1192. 564374 2016-03-05 16:22:52.118000000 two-1.txt
  1193. 6048320 2016-03-05 16:22:46.185000000 two-2.txt
  1194. 1744073 2016-03-05 16:22:38.104000000 two-3.txt
  1195. Dedupe can be run non interactively using the --dedupe-mode flag or by
  1196. using an extra parameter with the same value
  1197. - --dedupe-mode interactive - interactive as above.
  1198. - --dedupe-mode skip - removes identical files then skips anything
  1199. left.
  1200. - --dedupe-mode first - removes identical files then keeps the first
  1201. one.
  1202. - --dedupe-mode newest - removes identical files then keeps the newest
  1203. one.
  1204. - --dedupe-mode oldest - removes identical files then keeps the oldest
  1205. one.
  1206. - --dedupe-mode largest - removes identical files then keeps the
  1207. largest one.
  1208. - --dedupe-mode smallest - removes identical files then keeps the
  1209. smallest one.
  1210. - --dedupe-mode rename - removes identical files then renames the rest
  1211. to be different.
  1212. - --dedupe-mode list - lists duplicate dirs and files only and changes
  1213. nothing.
  1214. For example, to rename all the identically named photos in your Google
  1215. Photos directory, do
  1216. rclone dedupe --dedupe-mode rename "drive:Google Photos"
  1217. Or
  1218. rclone dedupe rename "drive:Google Photos"
  1219. rclone dedupe [mode] remote:path [flags]
  1220. Options
  1221. --by-hash Find identical hashes rather than names
  1222. --dedupe-mode string Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename (default "interactive")
  1223. -h, --help help for dedupe
  1224. See the global flags page for global options not listed here.
  1225. SEE ALSO
  1226. - rclone - Show help for rclone commands, flags and backends.
  1227. rclone about
  1228. Get quota information from the remote.
  1229. Synopsis
  1230. rclone about prints quota information about a remote to standard output.
  1231. The output is typically used, free, quota and trash contents.
  1232. E.g. Typical output from rclone about remote: is:
  1233. Total: 17 GiB
  1234. Used: 7.444 GiB
  1235. Free: 1.315 GiB
  1236. Trashed: 100.000 MiB
  1237. Other: 8.241 GiB
  1238. Where the fields are:
  1239. - Total: Total size available.
  1240. - Used: Total size used.
  1241. - Free: Total space available to this user.
  1242. - Trashed: Total space used by trash.
  1243. - Other: Total amount in other storage (e.g. Gmail, Google Photos).
  1244. - Objects: Total number of objects in the storage.
  1245. All sizes are in number of bytes.
  1246. Applying a --full flag to the command prints the bytes in full, e.g.
  1247. Total: 18253611008
  1248. Used: 7993453766
  1249. Free: 1411001220
  1250. Trashed: 104857602
  1251. Other: 8849156022
  1252. A --json flag generates conveniently machine-readable output, e.g.
  1253. {
  1254. "total": 18253611008,
  1255. "used": 7993453766,
  1256. "trashed": 104857602,
  1257. "other": 8849156022,
  1258. "free": 1411001220
  1259. }
  1260. Not all backends print all fields. Information is not included if it is
  1261. not provided by a backend. Where the value is unlimited it is omitted.
  1262. Some backends does not support the rclone about command at all, see
  1263. complete list in documentation.
  1264. rclone about remote: [flags]
  1265. Options
  1266. --full Full numbers instead of human-readable
  1267. -h, --help help for about
  1268. --json Format output as JSON
  1269. See the global flags page for global options not listed here.
  1270. SEE ALSO
  1271. - rclone - Show help for rclone commands, flags and backends.
  1272. rclone authorize
  1273. Remote authorization.
  1274. Synopsis
  1275. Remote authorization. Used to authorize a remote or headless rclone from
  1276. a machine with a browser - use as instructed by rclone config.
  1277. Use --auth-no-open-browser to prevent rclone to open auth link in
  1278. default browser automatically.
  1279. Use --template to generate HTML output via a custom Go template. If a
  1280. blank string is provided as an argument to this flag, the default
  1281. template is used.
  1282. rclone authorize [flags]
  1283. Options
  1284. --auth-no-open-browser Do not automatically open auth link in default browser
  1285. -h, --help help for authorize
  1286. --template string The path to a custom Go template for generating HTML responses
  1287. See the global flags page for global options not listed here.
  1288. SEE ALSO
  1289. - rclone - Show help for rclone commands, flags and backends.
  1290. rclone backend
  1291. Run a backend-specific command.
  1292. Synopsis
  1293. This runs a backend-specific command. The commands themselves (except
  1294. for "help" and "features") are defined by the backends and you should
  1295. see the backend docs for definitions.
  1296. You can discover what commands a backend implements by using
  1297. rclone backend help remote:
  1298. rclone backend help <backendname>
  1299. You can also discover information about the backend using (see
  1300. operations/fsinfo in the remote control docs for more info).
  1301. rclone backend features remote:
  1302. Pass options to the backend command with -o. This should be key=value or
  1303. key, e.g.:
  1304. rclone backend stats remote:path stats -o format=json -o long
  1305. Pass arguments to the backend by placing them on the end of the line
  1306. rclone backend cleanup remote:path file1 file2 file3
  1307. Note to run these commands on a running backend then see backend/command
  1308. in the rc docs.
  1309. rclone backend <command> remote:path [opts] <args> [flags]
  1310. Options
  1311. -h, --help help for backend
  1312. --json Always output in JSON format
  1313. -o, --option stringArray Option in the form name=value or name
  1314. See the global flags page for global options not listed here.
  1315. SEE ALSO
  1316. - rclone - Show help for rclone commands, flags and backends.
  1317. rclone bisync
  1318. Perform bidirectional synchronization between two paths.
  1319. Synopsis
  1320. Perform bidirectional synchronization between two paths.
  1321. Bisync provides a bidirectional cloud sync solution in rclone. It
  1322. retains the Path1 and Path2 filesystem listings from the prior run. On
  1323. each successive run it will: - list files on Path1 and Path2, and check
  1324. for changes on each side. Changes include New, Newer, Older, and Deleted
  1325. files. - Propagate changes on Path1 to Path2, and vice-versa.
  1326. See full bisync description for details.
  1327. rclone bisync remote1:path1 remote2:path2 [flags]
  1328. Options
  1329. --check-access Ensure expected RCLONE_TEST files are found on both Path1 and Path2 filesystems, else abort.
  1330. --check-filename string Filename for --check-access (default: RCLONE_TEST)
  1331. --check-sync string Controls comparison of final listings: true|false|only (default: true) (default "true")
  1332. --filters-file string Read filtering patterns from a file
  1333. --force Bypass --max-delete safety check and run the sync. Consider using with --verbose
  1334. -h, --help help for bisync
  1335. --localtime Use local time in listings (default: UTC)
  1336. --no-cleanup Retain working files (useful for troubleshooting and testing).
  1337. --remove-empty-dirs Remove empty directories at the final cleanup step.
  1338. -1, --resync Performs the resync run. Path1 files may overwrite Path2 versions. Consider using --verbose or --dry-run first.
  1339. --workdir string Use custom working dir - useful for testing. (default: $HOME/.cache/rclone/bisync)
  1340. See the global flags page for global options not listed here.
  1341. SEE ALSO
  1342. - rclone - Show help for rclone commands, flags and backends.
  1343. rclone cat
  1344. Concatenates any files and sends them to stdout.
  1345. Synopsis
  1346. rclone cat sends any files to standard output.
  1347. You can use it like this to output a single file
  1348. rclone cat remote:path/to/file
  1349. Or like this to output any file in dir or its subdirectories.
  1350. rclone cat remote:path/to/dir
  1351. Or like this to output any .txt files in dir or its subdirectories.
  1352. rclone --include "*.txt" cat remote:path/to/dir
  1353. Use the --head flag to print characters only at the start, --tail for
  1354. the end and --offset and --count to print a section in the middle. Note
  1355. that if offset is negative it will count from the end, so
  1356. --offset -1 --count 1 is equivalent to --tail 1.
  1357. Use the --separator flag to print a separator value between files. Be
  1358. sure to shell-escape special characters. For example, to print a newline
  1359. between files, use:
  1360. - bash:
  1361. rclone --include "*.txt" --separator $'\n' cat remote:path/to/dir
  1362. - powershell:
  1363. rclone --include "*.txt" --separator "`n" cat remote:path/to/dir
  1364. rclone cat remote:path [flags]
  1365. Options
  1366. --count int Only print N characters (default -1)
  1367. --discard Discard the output instead of printing
  1368. --head int Only print the first N characters
  1369. -h, --help help for cat
  1370. --offset int Start printing at offset N (or from end if -ve)
  1371. --separator string Separator to use between objects when printing multiple files
  1372. --tail int Only print the last N characters
  1373. See the global flags page for global options not listed here.
  1374. SEE ALSO
  1375. - rclone - Show help for rclone commands, flags and backends.
  1376. rclone checksum
  1377. Checks the files in the source against a SUM file.
  1378. Synopsis
  1379. Checks that hashsums of source files match the SUM file. It compares
  1380. hashes (MD5, SHA1, etc) and logs a report of files which don't match. It
  1381. doesn't alter the file system.
  1382. If you supply the --download flag, it will download the data from remote
  1383. and calculate the contents hash on the fly. This can be useful for
  1384. remotes that don't support hashes or if you really want to check all the
  1385. data.
  1386. Note that hash values in the SUM file are treated as case insensitive.
  1387. If you supply the --one-way flag, it will only check that files in the
  1388. source match the files in the destination, not the other way around.
  1389. This means that extra files in the destination that are not in the
  1390. source will not be detected.
  1391. The --differ, --missing-on-dst, --missing-on-src, --match and --error
  1392. flags write paths, one per line, to the file name (or stdout if it is -)
  1393. supplied. What they write is described in the help below. For example
  1394. --differ will write all paths which are present on both the source and
  1395. destination but different.
  1396. The --combined flag will write a file (or stdout) which contains all
  1397. file paths with a symbol and then a space and then the path to tell you
  1398. what happened to it. These are reminiscent of diff files.
  1399. - = path means path was found in source and destination and was
  1400. identical
  1401. - `- path` means path was missing on the source, so only in the
  1402. destination
  1403. - `+ path` means path was missing on the destination, so only in the
  1404. source
  1405. - `* path` means path was present in source and destination but
  1406. different.
  1407. - ! path means there was an error reading or hashing the source or
  1408. dest.
  1409. The default number of parallel checks is 8. See the --checkers=N option
  1410. for more information.
  1411. rclone checksum <hash> sumfile src:path [flags]
  1412. Options
  1413. --combined string Make a combined report of changes to this file
  1414. --differ string Report all non-matching files to this file
  1415. --download Check by hashing the contents
  1416. --error string Report all files with errors (hashing or reading) to this file
  1417. -h, --help help for checksum
  1418. --match string Report all matching files to this file
  1419. --missing-on-dst string Report all files missing from the destination to this file
  1420. --missing-on-src string Report all files missing from the source to this file
  1421. --one-way Check one way only, source files must exist on remote
  1422. See the global flags page for global options not listed here.
  1423. SEE ALSO
  1424. - rclone - Show help for rclone commands, flags and backends.
  1425. rclone completion
  1426. Output completion script for a given shell.
  1427. Synopsis
  1428. Generates a shell completion script for rclone. Run with --help to list
  1429. the supported shells.
  1430. Options
  1431. -h, --help help for completion
  1432. See the global flags page for global options not listed here.
  1433. SEE ALSO
  1434. - rclone - Show help for rclone commands, flags and backends.
  1435. - rclone completion bash - Output bash completion script for rclone.
  1436. - rclone completion fish - Output fish completion script for rclone.
  1437. - rclone completion zsh - Output zsh completion script for rclone.
  1438. rclone completion bash
  1439. Output bash completion script for rclone.
  1440. Synopsis
  1441. Generates a bash shell autocompletion script for rclone.
  1442. This writes to /etc/bash_completion.d/rclone by default so will probably
  1443. need to be run with sudo or as root, e.g.
  1444. sudo rclone genautocomplete bash
  1445. Logout and login again to use the autocompletion scripts, or source them
  1446. directly
  1447. . /etc/bash_completion
  1448. If you supply a command line argument the script will be written there.
  1449. If output_file is "-", then the output will be written to stdout.
  1450. rclone completion bash [output_file] [flags]
  1451. Options
  1452. -h, --help help for bash
  1453. See the global flags page for global options not listed here.
  1454. SEE ALSO
  1455. - rclone completion - Output completion script for a given shell.
  1456. rclone completion fish
  1457. Output fish completion script for rclone.
  1458. Synopsis
  1459. Generates a fish autocompletion script for rclone.
  1460. This writes to /etc/fish/completions/rclone.fish by default so will
  1461. probably need to be run with sudo or as root, e.g.
  1462. sudo rclone genautocomplete fish
  1463. Logout and login again to use the autocompletion scripts, or source them
  1464. directly
  1465. . /etc/fish/completions/rclone.fish
  1466. If you supply a command line argument the script will be written there.
  1467. If output_file is "-", then the output will be written to stdout.
  1468. rclone completion fish [output_file] [flags]
  1469. Options
  1470. -h, --help help for fish
  1471. See the global flags page for global options not listed here.
  1472. SEE ALSO
  1473. - rclone completion - Output completion script for a given shell.
  1474. rclone completion powershell
  1475. Generate the autocompletion script for powershell
  1476. Synopsis
  1477. Generate the autocompletion script for powershell.
  1478. To load completions in your current shell session:
  1479. rclone completion powershell | Out-String | Invoke-Expression
  1480. To load completions for every new session, add the output of the above
  1481. command to your powershell profile.
  1482. rclone completion powershell [flags]
  1483. Options
  1484. -h, --help help for powershell
  1485. --no-descriptions disable completion descriptions
  1486. See the global flags page for global options not listed here.
  1487. SEE ALSO
  1488. - rclone completion - Generate the autocompletion script for the
  1489. specified shell
  1490. rclone completion zsh
  1491. Output zsh completion script for rclone.
  1492. Synopsis
  1493. Generates a zsh autocompletion script for rclone.
  1494. This writes to /usr/share/zsh/vendor-completions/_rclone by default so
  1495. will probably need to be run with sudo or as root, e.g.
  1496. sudo rclone genautocomplete zsh
  1497. Logout and login again to use the autocompletion scripts, or source them
  1498. directly
  1499. autoload -U compinit && compinit
  1500. If you supply a command line argument the script will be written there.
  1501. If output_file is "-", then the output will be written to stdout.
  1502. rclone completion zsh [output_file] [flags]
  1503. Options
  1504. -h, --help help for zsh
  1505. See the global flags page for global options not listed here.
  1506. SEE ALSO
  1507. - rclone completion - Output completion script for a given shell.
  1508. rclone config create
  1509. Create a new remote with name, type and options.
  1510. Synopsis
  1511. Create a new remote of name with type and options. The options should be
  1512. passed in pairs of key value or as key=value.
  1513. For example, to make a swift remote of name myremote using auto config
  1514. you would do:
  1515. rclone config create myremote swift env_auth true
  1516. rclone config create myremote swift env_auth=true
  1517. So for example if you wanted to configure a Google Drive remote but
  1518. using remote authorization you would do this:
  1519. rclone config create mydrive drive config_is_local=false
  1520. Note that if the config process would normally ask a question the
  1521. default is taken (unless --non-interactive is used). Each time that
  1522. happens rclone will print or DEBUG a message saying how to affect the
  1523. value taken.
  1524. If any of the parameters passed is a password field, then rclone will
  1525. automatically obscure them if they aren't already obscured before
  1526. putting them in the config file.
  1527. NB If the password parameter is 22 characters or longer and consists
  1528. only of base64 characters then rclone can get confused about whether the
  1529. password is already obscured or not and put unobscured passwords into
  1530. the config file. If you want to be 100% certain that the passwords get
  1531. obscured then use the --obscure flag, or if you are 100% certain you are
  1532. already passing obscured passwords then use --no-obscure. You can also
  1533. set obscured passwords using the rclone config password command.
  1534. The flag --non-interactive is for use by applications that wish to
  1535. configure rclone themselves, rather than using rclone's text based
  1536. configuration questions. If this flag is set, and rclone needs to ask
  1537. the user a question, a JSON blob will be returned with the question in
  1538. it.
  1539. This will look something like (some irrelevant detail removed):
  1540. {
  1541. "State": "*oauth-islocal,teamdrive,,",
  1542. "Option": {
  1543. "Name": "config_is_local",
  1544. "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n",
  1545. "Default": true,
  1546. "Examples": [
  1547. {
  1548. "Value": "true",
  1549. "Help": "Yes"
  1550. },
  1551. {
  1552. "Value": "false",
  1553. "Help": "No"
  1554. }
  1555. ],
  1556. "Required": false,
  1557. "IsPassword": false,
  1558. "Type": "bool",
  1559. "Exclusive": true,
  1560. },
  1561. "Error": "",
  1562. }
  1563. The format of Option is the same as returned by rclone config providers.
  1564. The question should be asked to the user and returned to rclone as the
  1565. --result option along with the --state parameter.
  1566. The keys of Option are used as follows:
  1567. - Name - name of variable - show to user
  1568. - Help - help text. Hard wrapped at 80 chars. Any URLs should be
  1569. clicky.
  1570. - Default - default value - return this if the user just wants the
  1571. default.
  1572. - Examples - the user should be able to choose one of these
  1573. - Required - the value should be non-empty
  1574. - IsPassword - the value is a password and should be edited as such
  1575. - Type - type of value, eg bool, string, int and others
  1576. - Exclusive - if set no free-form entry allowed only the Examples
  1577. - Irrelevant keys Provider, ShortOpt, Hide, NoPrefix, Advanced
  1578. If Error is set then it should be shown to the user at the same time as
  1579. the question.
  1580. rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
  1581. Note that when using --continue all passwords should be passed in the
  1582. clear (not obscured). Any default config values should be passed in with
  1583. each invocation of --continue.
  1584. At the end of the non interactive process, rclone will return a result
  1585. with State as empty string.
  1586. If --all is passed then rclone will ask all the config questions, not
  1587. just the post config questions. Any parameters are used as defaults for
  1588. questions as usual.
  1589. Note that bin/config.py in the rclone source implements this protocol as
  1590. a readable demonstration.
  1591. rclone config create name type [key value]* [flags]
  1592. Options
  1593. --all Ask the full set of config questions
  1594. --continue Continue the configuration process with an answer
  1595. -h, --help help for create
  1596. --no-obscure Force any passwords not to be obscured
  1597. --non-interactive Don't interact with user and return questions
  1598. --obscure Force any passwords to be obscured
  1599. --result string Result - use with --continue
  1600. --state string State - use with --continue
  1601. See the global flags page for global options not listed here.
  1602. SEE ALSO
  1603. - rclone config - Enter an interactive configuration session.
  1604. rclone config delete
  1605. Delete an existing remote.
  1606. rclone config delete name [flags]
  1607. Options
  1608. -h, --help help for delete
  1609. See the global flags page for global options not listed here.
  1610. SEE ALSO
  1611. - rclone config - Enter an interactive configuration session.
  1612. rclone config disconnect
  1613. Disconnects user from remote
  1614. Synopsis
  1615. This disconnects the remote: passed in to the cloud storage system.
  1616. This normally means revoking the oauth token.
  1617. To reconnect use "rclone config reconnect".
  1618. rclone config disconnect remote: [flags]
  1619. Options
  1620. -h, --help help for disconnect
  1621. See the global flags page for global options not listed here.
  1622. SEE ALSO
  1623. - rclone config - Enter an interactive configuration session.
  1624. rclone config dump
  1625. Dump the config file as JSON.
  1626. rclone config dump [flags]
  1627. Options
  1628. -h, --help help for dump
  1629. See the global flags page for global options not listed here.
  1630. SEE ALSO
  1631. - rclone config - Enter an interactive configuration session.
  1632. rclone config edit
  1633. Enter an interactive configuration session.
  1634. Synopsis
  1635. Enter an interactive configuration session where you can setup new
  1636. remotes and manage existing ones. You may also set or remove a password
  1637. to protect your configuration.
  1638. rclone config edit [flags]
  1639. Options
  1640. -h, --help help for edit
  1641. See the global flags page for global options not listed here.
  1642. SEE ALSO
  1643. - rclone config - Enter an interactive configuration session.
  1644. rclone config file
  1645. Show path of configuration file in use.
  1646. rclone config file [flags]
  1647. Options
  1648. -h, --help help for file
  1649. See the global flags page for global options not listed here.
  1650. SEE ALSO
  1651. - rclone config - Enter an interactive configuration session.
  1652. rclone config password
  1653. Update password in an existing remote.
  1654. Synopsis
  1655. Update an existing remote's password. The password should be passed in
  1656. pairs of key password or as key=password. The password should be passed
  1657. in in clear (unobscured).
  1658. For example, to set password of a remote of name myremote you would do:
  1659. rclone config password myremote fieldname mypassword
  1660. rclone config password myremote fieldname=mypassword
  1661. This command is obsolete now that "config update" and "config create"
  1662. both support obscuring passwords directly.
  1663. rclone config password name [key value]+ [flags]
  1664. Options
  1665. -h, --help help for password
  1666. See the global flags page for global options not listed here.
  1667. SEE ALSO
  1668. - rclone config - Enter an interactive configuration session.
  1669. rclone config paths
  1670. Show paths used for configuration, cache, temp etc.
  1671. rclone config paths [flags]
  1672. Options
  1673. -h, --help help for paths
  1674. See the global flags page for global options not listed here.
  1675. SEE ALSO
  1676. - rclone config - Enter an interactive configuration session.
  1677. rclone config providers
  1678. List in JSON format all the providers and options.
  1679. rclone config providers [flags]
  1680. Options
  1681. -h, --help help for providers
  1682. See the global flags page for global options not listed here.
  1683. SEE ALSO
  1684. - rclone config - Enter an interactive configuration session.
  1685. rclone config reconnect
  1686. Re-authenticates user with remote.
  1687. Synopsis
  1688. This reconnects remote: passed in to the cloud storage system.
  1689. To disconnect the remote use "rclone config disconnect".
  1690. This normally means going through the interactive oauth flow again.
  1691. rclone config reconnect remote: [flags]
  1692. Options
  1693. -h, --help help for reconnect
  1694. See the global flags page for global options not listed here.
  1695. SEE ALSO
  1696. - rclone config - Enter an interactive configuration session.
  1697. rclone config show
  1698. Print (decrypted) config file, or the config for a single remote.
  1699. rclone config show [<remote>] [flags]
  1700. Options
  1701. -h, --help help for show
  1702. See the global flags page for global options not listed here.
  1703. SEE ALSO
  1704. - rclone config - Enter an interactive configuration session.
  1705. rclone config touch
  1706. Ensure configuration file exists.
  1707. rclone config touch [flags]
  1708. Options
  1709. -h, --help help for touch
  1710. See the global flags page for global options not listed here.
  1711. SEE ALSO
  1712. - rclone config - Enter an interactive configuration session.
  1713. rclone config update
  1714. Update options in an existing remote.
  1715. Synopsis
  1716. Update an existing remote's options. The options should be passed in
  1717. pairs of key value or as key=value.
  1718. For example, to update the env_auth field of a remote of name myremote
  1719. you would do:
  1720. rclone config update myremote env_auth true
  1721. rclone config update myremote env_auth=true
  1722. If the remote uses OAuth the token will be updated, if you don't require
  1723. this add an extra parameter thus:
  1724. rclone config update myremote env_auth=true config_refresh_token=false
  1725. Note that if the config process would normally ask a question the
  1726. default is taken (unless --non-interactive is used). Each time that
  1727. happens rclone will print or DEBUG a message saying how to affect the
  1728. value taken.
  1729. If any of the parameters passed is a password field, then rclone will
  1730. automatically obscure them if they aren't already obscured before
  1731. putting them in the config file.
  1732. NB If the password parameter is 22 characters or longer and consists
  1733. only of base64 characters then rclone can get confused about whether the
  1734. password is already obscured or not and put unobscured passwords into
  1735. the config file. If you want to be 100% certain that the passwords get
  1736. obscured then use the --obscure flag, or if you are 100% certain you are
  1737. already passing obscured passwords then use --no-obscure. You can also
  1738. set obscured passwords using the rclone config password command.
  1739. The flag --non-interactive is for use by applications that wish to
  1740. configure rclone themselves, rather than using rclone's text based
  1741. configuration questions. If this flag is set, and rclone needs to ask
  1742. the user a question, a JSON blob will be returned with the question in
  1743. it.
  1744. This will look something like (some irrelevant detail removed):
  1745. {
  1746. "State": "*oauth-islocal,teamdrive,,",
  1747. "Option": {
  1748. "Name": "config_is_local",
  1749. "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n",
  1750. "Default": true,
  1751. "Examples": [
  1752. {
  1753. "Value": "true",
  1754. "Help": "Yes"
  1755. },
  1756. {
  1757. "Value": "false",
  1758. "Help": "No"
  1759. }
  1760. ],
  1761. "Required": false,
  1762. "IsPassword": false,
  1763. "Type": "bool",
  1764. "Exclusive": true,
  1765. },
  1766. "Error": "",
  1767. }
  1768. The format of Option is the same as returned by rclone config providers.
  1769. The question should be asked to the user and returned to rclone as the
  1770. --result option along with the --state parameter.
  1771. The keys of Option are used as follows:
  1772. - Name - name of variable - show to user
  1773. - Help - help text. Hard wrapped at 80 chars. Any URLs should be
  1774. clicky.
  1775. - Default - default value - return this if the user just wants the
  1776. default.
  1777. - Examples - the user should be able to choose one of these
  1778. - Required - the value should be non-empty
  1779. - IsPassword - the value is a password and should be edited as such
  1780. - Type - type of value, eg bool, string, int and others
  1781. - Exclusive - if set no free-form entry allowed only the Examples
  1782. - Irrelevant keys Provider, ShortOpt, Hide, NoPrefix, Advanced
  1783. If Error is set then it should be shown to the user at the same time as
  1784. the question.
  1785. rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
  1786. Note that when using --continue all passwords should be passed in the
  1787. clear (not obscured). Any default config values should be passed in with
  1788. each invocation of --continue.
  1789. At the end of the non interactive process, rclone will return a result
  1790. with State as empty string.
  1791. If --all is passed then rclone will ask all the config questions, not
  1792. just the post config questions. Any parameters are used as defaults for
  1793. questions as usual.
  1794. Note that bin/config.py in the rclone source implements this protocol as
  1795. a readable demonstration.
  1796. rclone config update name [key value]+ [flags]
  1797. Options
  1798. --all Ask the full set of config questions
  1799. --continue Continue the configuration process with an answer
  1800. -h, --help help for update
  1801. --no-obscure Force any passwords not to be obscured
  1802. --non-interactive Don't interact with user and return questions
  1803. --obscure Force any passwords to be obscured
  1804. --result string Result - use with --continue
  1805. --state string State - use with --continue
  1806. See the global flags page for global options not listed here.
  1807. SEE ALSO
  1808. - rclone config - Enter an interactive configuration session.
  1809. rclone config userinfo
  1810. Prints info about logged in user of remote.
  1811. Synopsis
  1812. This prints the details of the person logged in to the cloud storage
  1813. system.
  1814. rclone config userinfo remote: [flags]
  1815. Options
  1816. -h, --help help for userinfo
  1817. --json Format output as JSON
  1818. See the global flags page for global options not listed here.
  1819. SEE ALSO
  1820. - rclone config - Enter an interactive configuration session.
  1821. rclone copyto
  1822. Copy files from source to dest, skipping identical files.
  1823. Synopsis
  1824. If source:path is a file or directory then it copies it to a file or
  1825. directory named dest:path.
  1826. This can be used to upload single files to other than their current
  1827. name. If the source is a directory then it acts exactly like the copy
  1828. command.
  1829. So
  1830. rclone copyto src dst
  1831. where src and dst are rclone paths, either remote:path or /path/to/local
  1832. or C:.
  1833. This will:
  1834. if src is file
  1835. copy it to dst, overwriting an existing file if it exists
  1836. if src is directory
  1837. copy it to dst, overwriting existing files if they exist
  1838. see copy command for full details
  1839. This doesn't transfer files that are identical on src and dst, testing
  1840. by size and modification time or MD5SUM. It doesn't delete files from
  1841. the destination.
  1842. Note: Use the -P/--progress flag to view real-time transfer statistics
  1843. rclone copyto source:path dest:path [flags]
  1844. Options
  1845. -h, --help help for copyto
  1846. See the global flags page for global options not listed here.
  1847. SEE ALSO
  1848. - rclone - Show help for rclone commands, flags and backends.
  1849. rclone copyurl
  1850. Copy url content to dest.
  1851. Synopsis
  1852. Download a URL's content and copy it to the destination without saving
  1853. it in temporary storage.
  1854. Setting --auto-filename will attempt to automatically determine the
  1855. filename from the URL (after any redirections) and used in the
  1856. destination path. With --auto-filename-header in addition, if a specific
  1857. filename is set in HTTP headers, it will be used instead of the name
  1858. from the URL. With --print-filename in addition, the resulting file name
  1859. will be printed.
  1860. Setting --no-clobber will prevent overwriting file on the destination if
  1861. there is one with the same name.
  1862. Setting --stdout or making the output file name - will cause the output
  1863. to be written to standard output.
  1864. rclone copyurl https://example.com dest:path [flags]
  1865. Options
  1866. -a, --auto-filename Get the file name from the URL and use it for destination file path
  1867. --header-filename Get the file name from the Content-Disposition header
  1868. -h, --help help for copyurl
  1869. --no-clobber Prevent overwriting file with same name
  1870. -p, --print-filename Print the resulting name from --auto-filename
  1871. --stdout Write the output to stdout rather than a file
  1872. See the global flags page for global options not listed here.
  1873. SEE ALSO
  1874. - rclone - Show help for rclone commands, flags and backends.
  1875. rclone cryptcheck
  1876. Cryptcheck checks the integrity of an encrypted remote.
  1877. Synopsis
  1878. rclone cryptcheck checks a remote against a crypted remote. This is the
  1879. equivalent of running rclone check, but able to check the checksums of
  1880. the encrypted remote.
  1881. For it to work the underlying remote of the cryptedremote must support
  1882. some kind of checksum.
  1883. It works by reading the nonce from each file on the cryptedremote: and
  1884. using that to encrypt each file on the remote:. It then checks the
  1885. checksum of the underlying file on the cryptedremote: against the
  1886. checksum of the file it has just encrypted.
  1887. Use it like this
  1888. rclone cryptcheck /path/to/files encryptedremote:path
  1889. You can use it like this also, but that will involve downloading all the
  1890. files in remote:path.
  1891. rclone cryptcheck remote:path encryptedremote:path
  1892. After it has run it will log the status of the encryptedremote:.
  1893. If you supply the --one-way flag, it will only check that files in the
  1894. source match the files in the destination, not the other way around.
  1895. This means that extra files in the destination that are not in the
  1896. source will not be detected.
  1897. The --differ, --missing-on-dst, --missing-on-src, --match and --error
  1898. flags write paths, one per line, to the file name (or stdout if it is -)
  1899. supplied. What they write is described in the help below. For example
  1900. --differ will write all paths which are present on both the source and
  1901. destination but different.
  1902. The --combined flag will write a file (or stdout) which contains all
  1903. file paths with a symbol and then a space and then the path to tell you
  1904. what happened to it. These are reminiscent of diff files.
  1905. - = path means path was found in source and destination and was
  1906. identical
  1907. - `- path` means path was missing on the source, so only in the
  1908. destination
  1909. - `+ path` means path was missing on the destination, so only in the
  1910. source
  1911. - `* path` means path was present in source and destination but
  1912. different.
  1913. - ! path means there was an error reading or hashing the source or
  1914. dest.
  1915. The default number of parallel checks is 8. See the --checkers=N option
  1916. for more information.
  1917. rclone cryptcheck remote:path cryptedremote:path [flags]
  1918. Options
  1919. --combined string Make a combined report of changes to this file
  1920. --differ string Report all non-matching files to this file
  1921. --error string Report all files with errors (hashing or reading) to this file
  1922. -h, --help help for cryptcheck
  1923. --match string Report all matching files to this file
  1924. --missing-on-dst string Report all files missing from the destination to this file
  1925. --missing-on-src string Report all files missing from the source to this file
  1926. --one-way Check one way only, source files must exist on remote
  1927. See the global flags page for global options not listed here.
  1928. SEE ALSO
  1929. - rclone - Show help for rclone commands, flags and backends.
  1930. rclone cryptdecode
  1931. Cryptdecode returns unencrypted file names.
  1932. Synopsis
  1933. rclone cryptdecode returns unencrypted file names when provided with a
  1934. list of encrypted file names. List limit is 10 items.
  1935. If you supply the --reverse flag, it will return encrypted file names.
  1936. use it like this
  1937. rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
  1938. rclone cryptdecode --reverse encryptedremote: filename1 filename2
  1939. Another way to accomplish this is by using the rclone backend encode (or
  1940. decode) command. See the documentation on the crypt overlay for more
  1941. info.
  1942. rclone cryptdecode encryptedremote: encryptedfilename [flags]
  1943. Options
  1944. -h, --help help for cryptdecode
  1945. --reverse Reverse cryptdecode, encrypts filenames
  1946. See the global flags page for global options not listed here.
  1947. SEE ALSO
  1948. - rclone - Show help for rclone commands, flags and backends.
  1949. rclone deletefile
  1950. Remove a single file from remote.
  1951. Synopsis
  1952. Remove a single file from remote. Unlike delete it cannot be used to
  1953. remove a directory and it doesn't obey include/exclude filters - if the
  1954. specified file exists, it will always be removed.
  1955. rclone deletefile remote:path [flags]
  1956. Options
  1957. -h, --help help for deletefile
  1958. See the global flags page for global options not listed here.
  1959. SEE ALSO
  1960. - rclone - Show help for rclone commands, flags and backends.
  1961. rclone genautocomplete
  1962. Output completion script for a given shell.
  1963. Synopsis
  1964. Generates a shell completion script for rclone. Run with --help to list
  1965. the supported shells.
  1966. Options
  1967. -h, --help help for genautocomplete
  1968. See the global flags page for global options not listed here.
  1969. SEE ALSO
  1970. - rclone - Show help for rclone commands, flags and backends.
  1971. - rclone genautocomplete bash - Output bash completion script for
  1972. rclone.
  1973. - rclone genautocomplete fish - Output fish completion script for
  1974. rclone.
  1975. - rclone genautocomplete zsh - Output zsh completion script for
  1976. rclone.
  1977. rclone genautocomplete bash
  1978. Output bash completion script for rclone.
  1979. Synopsis
  1980. Generates a bash shell autocompletion script for rclone.
  1981. This writes to /etc/bash_completion.d/rclone by default so will probably
  1982. need to be run with sudo or as root, e.g.
  1983. sudo rclone genautocomplete bash
  1984. Logout and login again to use the autocompletion scripts, or source them
  1985. directly
  1986. . /etc/bash_completion
  1987. If you supply a command line argument the script will be written there.
  1988. If output_file is "-", then the output will be written to stdout.
  1989. rclone genautocomplete bash [output_file] [flags]
  1990. Options
  1991. -h, --help help for bash
  1992. See the global flags page for global options not listed here.
  1993. SEE ALSO
  1994. - rclone genautocomplete - Output completion script for a given shell.
  1995. rclone genautocomplete fish
  1996. Output fish completion script for rclone.
  1997. Synopsis
  1998. Generates a fish autocompletion script for rclone.
  1999. This writes to /etc/fish/completions/rclone.fish by default so will
  2000. probably need to be run with sudo or as root, e.g.
  2001. sudo rclone genautocomplete fish
  2002. Logout and login again to use the autocompletion scripts, or source them
  2003. directly
  2004. . /etc/fish/completions/rclone.fish
  2005. If you supply a command line argument the script will be written there.
  2006. If output_file is "-", then the output will be written to stdout.
  2007. rclone genautocomplete fish [output_file] [flags]
  2008. Options
  2009. -h, --help help for fish
  2010. See the global flags page for global options not listed here.
  2011. SEE ALSO
  2012. - rclone genautocomplete - Output completion script for a given shell.
  2013. rclone genautocomplete zsh
  2014. Output zsh completion script for rclone.
  2015. Synopsis
  2016. Generates a zsh autocompletion script for rclone.
  2017. This writes to /usr/share/zsh/vendor-completions/_rclone by default so
  2018. will probably need to be run with sudo or as root, e.g.
  2019. sudo rclone genautocomplete zsh
  2020. Logout and login again to use the autocompletion scripts, or source them
  2021. directly
  2022. autoload -U compinit && compinit
  2023. If you supply a command line argument the script will be written there.
  2024. If output_file is "-", then the output will be written to stdout.
  2025. rclone genautocomplete zsh [output_file] [flags]
  2026. Options
  2027. -h, --help help for zsh
  2028. See the global flags page for global options not listed here.
  2029. SEE ALSO
  2030. - rclone genautocomplete - Output completion script for a given shell.
  2031. rclone gendocs
  2032. Output markdown docs for rclone to the directory supplied.
  2033. Synopsis
  2034. This produces markdown docs for the rclone commands to the directory
  2035. supplied. These are in a format suitable for hugo to render into the
  2036. rclone.org website.
  2037. rclone gendocs output_directory [flags]
  2038. Options
  2039. -h, --help help for gendocs
  2040. See the global flags page for global options not listed here.
  2041. SEE ALSO
  2042. - rclone - Show help for rclone commands, flags and backends.
  2043. rclone hashsum
  2044. Produces a hashsum file for all the objects in the path.
  2045. Synopsis
  2046. Produces a hash file for all the objects in the path using the hash
  2047. named. The output is in the same format as the standard md5sum/sha1sum
  2048. tool.
  2049. By default, the hash is requested from the remote. If the hash is not
  2050. supported by the remote, no hash will be returned. With the download
  2051. flag, the file will be downloaded from the remote and hashed locally
  2052. enabling any hash for any remote.
  2053. For the MD5 and SHA1 algorithms there are also dedicated commands,
  2054. md5sum and sha1sum.
  2055. This command can also hash data received on standard input (stdin), by
  2056. not passing a remote:path, or by passing a hyphen as remote:path when
  2057. there is data to read (if not, the hyphen will be treated literally, as
  2058. a relative path).
  2059. Run without a hash to see the list of all supported hashes, e.g.
  2060. $ rclone hashsum
  2061. Supported hashes are:
  2062. * md5
  2063. * sha1
  2064. * whirlpool
  2065. * crc32
  2066. * sha256
  2067. * dropbox
  2068. * hidrive
  2069. * mailru
  2070. * quickxor
  2071. Then
  2072. $ rclone hashsum MD5 remote:path
  2073. Note that hash names are case insensitive and values are output in lower
  2074. case.
  2075. rclone hashsum <hash> remote:path [flags]
  2076. Options
  2077. --base64 Output base64 encoded hashsum
  2078. -C, --checkfile string Validate hashes against a given SUM file instead of printing them
  2079. --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
  2080. -h, --help help for hashsum
  2081. --output-file string Output hashsums to a file rather than the terminal
  2082. See the global flags page for global options not listed here.
  2083. SEE ALSO
  2084. - rclone - Show help for rclone commands, flags and backends.
  2085. rclone link
  2086. Generate public link to file/folder.
  2087. Synopsis
  2088. rclone link will create, retrieve or remove a public link to the given
  2089. file or folder.
  2090. rclone link remote:path/to/file
  2091. rclone link remote:path/to/folder/
  2092. rclone link --unlink remote:path/to/folder/
  2093. rclone link --expire 1d remote:path/to/file
  2094. If you supply the --expire flag, it will set the expiration time
  2095. otherwise it will use the default (100 years). Note not all backends
  2096. support the --expire flag - if the backend doesn't support it then the
  2097. link returned won't expire.
  2098. Use the --unlink flag to remove existing public links to the file or
  2099. folder. Note not all backends support "--unlink" flag - those that don't
  2100. will just ignore it.
  2101. If successful, the last line of the output will contain the link. Exact
  2102. capabilities depend on the remote, but the link will always by default
  2103. be created with the least constraints – e.g. no expiry, no password
  2104. protection, accessible without account.
  2105. rclone link remote:path [flags]
  2106. Options
  2107. --expire Duration The amount of time that the link will be valid (default off)
  2108. -h, --help help for link
  2109. --unlink Remove existing public link to file/folder
  2110. See the global flags page for global options not listed here.
  2111. SEE ALSO
  2112. - rclone - Show help for rclone commands, flags and backends.
  2113. rclone listremotes
  2114. List all the remotes in the config file and defined in environment
  2115. variables.
  2116. Synopsis
  2117. rclone listremotes lists all the available remotes from the config file.
  2118. When used with the --long flag it lists the types too.
  2119. rclone listremotes [flags]
  2120. Options
  2121. -h, --help help for listremotes
  2122. --long Show the type as well as names
  2123. See the global flags page for global options not listed here.
  2124. SEE ALSO
  2125. - rclone - Show help for rclone commands, flags and backends.
  2126. rclone lsf
  2127. List directories and objects in remote:path formatted for parsing.
  2128. Synopsis
  2129. List the contents of the source path (directories and objects) to
  2130. standard output in a form which is easy to parse by scripts. By default
  2131. this will just be the names of the objects and directories, one per
  2132. line. The directories will have a / suffix.
  2133. Eg
  2134. $ rclone lsf swift:bucket
  2135. bevajer5jef
  2136. canole
  2137. diwogej7
  2138. ferejej3gux/
  2139. fubuwic
  2140. Use the --format option to control what gets listed. By default this is
  2141. just the path, but you can use these parameters to control the output:
  2142. p - path
  2143. s - size
  2144. t - modification time
  2145. h - hash
  2146. i - ID of object
  2147. o - Original ID of underlying object
  2148. m - MimeType of object if known
  2149. e - encrypted name
  2150. T - tier of storage if known, e.g. "Hot" or "Cool"
  2151. M - Metadata of object in JSON blob format, eg {"key":"value"}
  2152. So if you wanted the path, size and modification time, you would use
  2153. --format "pst", or maybe --format "tsp" to put the path last.
  2154. Eg
  2155. $ rclone lsf --format "tsp" swift:bucket
  2156. 2016-06-25 18:55:41;60295;bevajer5jef
  2157. 2016-06-25 18:55:43;90613;canole
  2158. 2016-06-25 18:55:43;94467;diwogej7
  2159. 2018-04-26 08:50:45;0;ferejej3gux/
  2160. 2016-06-25 18:55:40;37600;fubuwic
  2161. If you specify "h" in the format you will get the MD5 hash by default,
  2162. use the --hash flag to change which hash you want. Note that this can be
  2163. returned as an empty string if it isn't available on the object (and for
  2164. directories), "ERROR" if there was an error reading it from the object
  2165. and "UNSUPPORTED" if that object does not support that hash type.
  2166. For example, to emulate the md5sum command you can use
  2167. rclone lsf -R --hash MD5 --format hp --separator " " --files-only .
  2168. Eg
  2169. $ rclone lsf -R --hash MD5 --format hp --separator " " --files-only swift:bucket
  2170. 7908e352297f0f530b84a756f188baa3 bevajer5jef
  2171. cd65ac234e6fea5925974a51cdd865cc canole
  2172. 03b5341b4f234b9d984d03ad076bae91 diwogej7
  2173. 8fd37c3810dd660778137ac3a66cc06d fubuwic
  2174. 99713e14a4c4ff553acaf1930fad985b gixacuh7ku
  2175. (Though "rclone md5sum ." is an easier way of typing this.)
  2176. By default the separator is ";" this can be changed with the --separator
  2177. flag. Note that separators aren't escaped in the path so putting it last
  2178. is a good strategy.
  2179. Eg
  2180. $ rclone lsf --separator "," --format "tshp" swift:bucket
  2181. 2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
  2182. 2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole
  2183. 2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
  2184. 2018-04-26 08:52:53,0,,ferejej3gux/
  2185. 2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
  2186. You can output in CSV standard format. This will escape things in " if
  2187. they contain ,
  2188. Eg
  2189. $ rclone lsf --csv --files-only --format ps remote:path
  2190. test.log,22355
  2191. test.sh,449
  2192. "this file contains a comma, in the file name.txt",6
  2193. Note that the --absolute parameter is useful for making lists of files
  2194. to pass to an rclone copy with the --files-from-raw flag.
  2195. For example, to find all the files modified within one day and copy
  2196. those only (without traversing the whole directory structure):
  2197. rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
  2198. rclone copy --files-from-raw new_files /path/to/local remote:path
  2199. Any of the filtering options can be applied to this command.
  2200. There are several related list commands
  2201. - ls to list size and path of objects only
  2202. - lsl to list modification time, size and path of objects only
  2203. - lsd to list directories only
  2204. - lsf to list objects and directories in easy to parse format
  2205. - lsjson to list objects and directories in JSON format
  2206. ls,lsl,lsd are designed to be human-readable. lsf is designed to be
  2207. human and machine-readable. lsjson is designed to be machine-readable.
  2208. Note that ls and lsl recurse by default - use --max-depth 1 to stop the
  2209. recursion.
  2210. The other list commands lsd,lsf,lsjson do not recurse by default - use
  2211. -R to make them recurse.
  2212. Listing a nonexistent directory will produce an error except for remotes
  2213. which can't have empty directories (e.g. s3, swift, or gcs - the
  2214. bucket-based remotes).
  2215. rclone lsf remote:path [flags]
  2216. Options
  2217. --absolute Put a leading / in front of path names
  2218. --csv Output in CSV format
  2219. -d, --dir-slash Append a slash to directory names (default true)
  2220. --dirs-only Only list directories
  2221. --files-only Only list files
  2222. -F, --format string Output format - see help for details (default "p")
  2223. --hash h Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default "md5")
  2224. -h, --help help for lsf
  2225. -R, --recursive Recurse into the listing
  2226. -s, --separator string Separator for the items in the format (default ";")
  2227. See the global flags page for global options not listed here.
  2228. SEE ALSO
  2229. - rclone - Show help for rclone commands, flags and backends.
  2230. rclone lsjson
  2231. List directories and objects in the path in JSON format.
  2232. Synopsis
  2233. List directories and objects in the path in JSON format.
  2234. The output is an array of Items, where each Item looks like this
  2235. {
  2236. "Hashes" : {
  2237. "SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f",
  2238. "MD5" : "b1946ac92492d2347c6235b4d2611184",
  2239. "DropboxHash" : "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc"
  2240. },
  2241. "ID": "y2djkhiujf83u33",
  2242. "OrigID": "UYOJVTUW00Q1RzTDA",
  2243. "IsBucket" : false,
  2244. "IsDir" : false,
  2245. "MimeType" : "application/octet-stream",
  2246. "ModTime" : "2017-05-31T16:15:57.034468261+01:00",
  2247. "Name" : "file.txt",
  2248. "Encrypted" : "v0qpsdq8anpci8n929v3uu9338",
  2249. "EncryptedPath" : "kja9098349023498/v0qpsdq8anpci8n929v3uu9338",
  2250. "Path" : "full/path/goes/here/file.txt",
  2251. "Size" : 6,
  2252. "Tier" : "hot",
  2253. }
  2254. If --hash is not specified the Hashes property won't be emitted. The
  2255. types of hash can be specified with the --hash-type parameter (which may
  2256. be repeated). If --hash-type is set then it implies --hash.
  2257. If --no-modtime is specified then ModTime will be blank. This can speed
  2258. things up on remotes where reading the ModTime takes an extra request
  2259. (e.g. s3, swift).
  2260. If --no-mimetype is specified then MimeType will be blank. This can
  2261. speed things up on remotes where reading the MimeType takes an extra
  2262. request (e.g. s3, swift).
  2263. If --encrypted is not specified the Encrypted won't be emitted.
  2264. If --dirs-only is not specified files in addition to directories are
  2265. returned
  2266. If --files-only is not specified directories in addition to the files
  2267. will be returned.
  2268. If --metadata is set then an additional Metadata key will be returned.
  2269. This will have metadata in rclone standard format as a JSON object.
  2270. if --stat is set then a single JSON blob will be returned about the item
  2271. pointed to. This will return an error if the item isn't found. However
  2272. on bucket based backends (like s3, gcs, b2, azureblob etc) if the item
  2273. isn't found it will return an empty directory as it isn't possible to
  2274. tell empty directories from missing directories there.
  2275. The Path field will only show folders below the remote path being
  2276. listed. If "remote:path" contains the file "subfolder/file.txt", the
  2277. Path for "file.txt" will be "subfolder/file.txt", not
  2278. "remote:path/subfolder/file.txt". When used without --recursive the Path
  2279. will always be the same as Name.
  2280. If the directory is a bucket in a bucket-based backend, then "IsBucket"
  2281. will be set to true. This key won't be present unless it is "true".
  2282. The time is in RFC3339 format with up to nanosecond precision. The
  2283. number of decimal digits in the seconds will depend on the precision
  2284. that the remote can hold the times, so if times are accurate to the
  2285. nearest millisecond (e.g. Google Drive) then 3 digits will always be
  2286. shown ("2017-05-31T16:15:57.034+01:00") whereas if the times are
  2287. accurate to the nearest second (Dropbox, Box, WebDav, etc.) no digits
  2288. will be shown ("2017-05-31T16:15:57+01:00").
  2289. The whole output can be processed as a JSON blob, or alternatively it
  2290. can be processed line by line as each item is written one to a line.
  2291. Any of the filtering options can be applied to this command.
  2292. There are several related list commands
  2293. - ls to list size and path of objects only
  2294. - lsl to list modification time, size and path of objects only
  2295. - lsd to list directories only
  2296. - lsf to list objects and directories in easy to parse format
  2297. - lsjson to list objects and directories in JSON format
  2298. ls,lsl,lsd are designed to be human-readable. lsf is designed to be
  2299. human and machine-readable. lsjson is designed to be machine-readable.
  2300. Note that ls and lsl recurse by default - use --max-depth 1 to stop the
  2301. recursion.
  2302. The other list commands lsd,lsf,lsjson do not recurse by default - use
  2303. -R to make them recurse.
  2304. Listing a nonexistent directory will produce an error except for remotes
  2305. which can't have empty directories (e.g. s3, swift, or gcs - the
  2306. bucket-based remotes).
  2307. rclone lsjson remote:path [flags]
  2308. Options
  2309. --dirs-only Show only directories in the listing
  2310. --encrypted Show the encrypted names
  2311. --files-only Show only files in the listing
  2312. --hash Include hashes in the output (may take longer)
  2313. --hash-type stringArray Show only this hash type (may be repeated)
  2314. -h, --help help for lsjson
  2315. -M, --metadata Add metadata to the listing
  2316. --no-mimetype Don't read the mime type (can speed things up)
  2317. --no-modtime Don't read the modification time (can speed things up)
  2318. --original Show the ID of the underlying Object
  2319. -R, --recursive Recurse into the listing
  2320. --stat Just return the info for the pointed to file
  2321. See the global flags page for global options not listed here.
  2322. SEE ALSO
  2323. - rclone - Show help for rclone commands, flags and backends.
  2324. rclone mount
  2325. Mount the remote as file system on a mountpoint.
  2326. Synopsis
  2327. rclone mount allows Linux, FreeBSD, macOS and Windows to mount any of
  2328. Rclone's cloud storage systems as a file system with FUSE.
  2329. First set up your remote using rclone config. Check it works with
  2330. rclone ls etc.
  2331. On Linux and macOS, you can run mount in either foreground or background
  2332. (aka daemon) mode. Mount runs in foreground mode by default. Use the
  2333. --daemon flag to force background mode. On Windows you can run mount in
  2334. foreground only, the flag is ignored.
  2335. In background mode rclone acts as a generic Unix mount program: the main
  2336. program starts, spawns background rclone process to setup and maintain
  2337. the mount, waits until success or timeout and exits with appropriate
  2338. code (killing the child process if it fails).
  2339. On Linux/macOS/FreeBSD start the mount like this, where
  2340. /path/to/local/mount is an empty existing directory:
  2341. rclone mount remote:path/to/files /path/to/local/mount
  2342. On Windows you can start a mount in different ways. See below for
  2343. details. If foreground mount is used interactively from a console
  2344. window, rclone will serve the mount and occupy the console so another
  2345. window should be used to work with the mount until rclone is interrupted
  2346. e.g. by pressing Ctrl-C.
  2347. The following examples will mount to an automatically assigned drive, to
  2348. specific drive letter X:, to path C:\path\parent\mount (where parent
  2349. directory or drive must exist, and mount must not exist, and is not
  2350. supported when mounting as a network drive), and the last example will
  2351. mount as network share \\cloud\remote and map it to an automatically
  2352. assigned drive:
  2353. rclone mount remote:path/to/files *
  2354. rclone mount remote:path/to/files X:
  2355. rclone mount remote:path/to/files C:\path\parent\mount
  2356. rclone mount remote:path/to/files \\cloud\remote
  2357. When the program ends while in foreground mode, either via Ctrl+C or
  2358. receiving a SIGINT or SIGTERM signal, the mount should be automatically
  2359. stopped.
  2360. When running in background mode the user will have to stop the mount
  2361. manually:
  2362. # Linux
  2363. fusermount -u /path/to/local/mount
  2364. # OS X
  2365. umount /path/to/local/mount
  2366. The umount operation can fail, for example when the mountpoint is busy.
  2367. When that happens, it is the user's responsibility to stop the mount
  2368. manually.
  2369. The size of the mounted file system will be set according to information
  2370. retrieved from the remote, the same as returned by the rclone about
  2371. command. Remotes with unlimited storage may report the used size only,
  2372. then an additional 1 PiB of free space is assumed. If the remote does
  2373. not support the about feature at all, then 1 PiB is set as both the
  2374. total and the free size.
  2375. Installing on Windows
  2376. To run rclone mount on Windows, you will need to download and install
  2377. WinFsp.
  2378. WinFsp is an open-source Windows File System Proxy which makes it easy
  2379. to write user space file systems for Windows. It provides a FUSE
  2380. emulation layer which rclone uses combination with cgofuse. Both of
  2381. these packages are by Bill Zissimopoulos who was very helpful during the
  2382. implementation of rclone mount for Windows.
  2383. Mounting modes on windows
  2384. Unlike other operating systems, Microsoft Windows provides a different
  2385. filesystem type for network and fixed drives. It optimises access on the
  2386. assumption fixed disk drives are fast and reliable, while network drives
  2387. have relatively high latency and less reliability. Some settings can
  2388. also be differentiated between the two types, for example that Windows
  2389. Explorer should just display icons and not create preview thumbnails for
  2390. image and video files on network drives.
  2391. In most cases, rclone will mount the remote as a normal, fixed disk
  2392. drive by default. However, you can also choose to mount it as a remote
  2393. network drive, often described as a network share. If you mount an
  2394. rclone remote using the default, fixed drive mode and experience
  2395. unexpected program errors, freezes or other issues, consider mounting as
  2396. a network drive instead.
  2397. When mounting as a fixed disk drive you can either mount to an unused
  2398. drive letter, or to a path representing a nonexistent subdirectory of an
  2399. existing parent directory or drive. Using the special value * will tell
  2400. rclone to automatically assign the next available drive letter, starting
  2401. with Z: and moving backward. Examples:
  2402. rclone mount remote:path/to/files *
  2403. rclone mount remote:path/to/files X:
  2404. rclone mount remote:path/to/files C:\path\parent\mount
  2405. rclone mount remote:path/to/files X:
  2406. Option --volname can be used to set a custom volume name for the mounted
  2407. file system. The default is to use the remote name and path.
  2408. To mount as network drive, you can add option --network-mode to your
  2409. mount command. Mounting to a directory path is not supported in this
  2410. mode, it is a limitation Windows imposes on junctions, so the remote
  2411. must always be mounted to a drive letter.
  2412. rclone mount remote:path/to/files X: --network-mode
  2413. A volume name specified with --volname will be used to create the
  2414. network share path. A complete UNC path, such as \\cloud\remote,
  2415. optionally with path \\cloud\remote\madeup\path, will be used as is. Any
  2416. other string will be used as the share part, after a default prefix
  2417. \\server\. If no volume name is specified then \\server\share will be
  2418. used. You must make sure the volume name is unique when you are mounting
  2419. more than one drive, or else the mount command will fail. The share name
  2420. will treated as the volume label for the mapped drive, shown in Windows
  2421. Explorer etc, while the complete \\server\share will be reported as the
  2422. remote UNC path by net use etc, just like a normal network drive
  2423. mapping.
  2424. If you specify a full network share UNC path with --volname, this will
  2425. implicitly set the --network-mode option, so the following two examples
  2426. have same result:
  2427. rclone mount remote:path/to/files X: --network-mode
  2428. rclone mount remote:path/to/files X: --volname \\server\share
  2429. You may also specify the network share UNC path as the mountpoint
  2430. itself. Then rclone will automatically assign a drive letter, same as
  2431. with * and use that as mountpoint, and instead use the UNC path
  2432. specified as the volume name, as if it were specified with the --volname
  2433. option. This will also implicitly set the --network-mode option. This
  2434. means the following two examples have same result:
  2435. rclone mount remote:path/to/files \\cloud\remote
  2436. rclone mount remote:path/to/files * --volname \\cloud\remote
  2437. There is yet another way to enable network mode, and to set the share
  2438. path, and that is to pass the "native" libfuse/WinFsp option directly:
  2439. --fuse-flag --VolumePrefix=\server\share. Note that the path must be
  2440. with just a single backslash prefix in this case.
  2441. Note: In previous versions of rclone this was the only supported method.
  2442. Read more about drive mapping
  2443. See also Limitations section below.
  2444. Windows filesystem permissions
  2445. The FUSE emulation layer on Windows must convert between the POSIX-based
  2446. permission model used in FUSE, and the permission model used in Windows,
  2447. based on access-control lists (ACL).
  2448. The mounted filesystem will normally get three entries in its
  2449. access-control list (ACL), representing permissions for the POSIX
  2450. permission scopes: Owner, group and others. By default, the owner and
  2451. group will be taken from the current user, and the built-in group
  2452. "Everyone" will be used to represent others. The user/group can be
  2453. customized with FUSE options "UserName" and "GroupName", e.g.
  2454. -o UserName=user123 -o GroupName="Authenticated Users". The permissions
  2455. on each entry will be set according to options --dir-perms and
  2456. --file-perms, which takes a value in traditional Unix numeric notation.
  2457. The default permissions corresponds to
  2458. --file-perms 0666 --dir-perms 0777, i.e. read and write permissions to
  2459. everyone. This means you will not be able to start any programs from the
  2460. mount. To be able to do that you must add execute permissions, e.g.
  2461. --file-perms 0777 --dir-perms 0777 to add it to everyone. If the program
  2462. needs to write files, chances are you will have to enable VFS File
  2463. Caching as well (see also limitations). Note that the default write
  2464. permission have some restrictions for accounts other than the owner,
  2465. specifically it lacks the "write extended attributes", as explained
  2466. next.
  2467. The mapping of permissions is not always trivial, and the result you see
  2468. in Windows Explorer may not be exactly like you expected. For example,
  2469. when setting a value that includes write access for the group or others
  2470. scope, this will be mapped to individual permissions "write attributes",
  2471. "write data" and "append data", but not "write extended attributes".
  2472. Windows will then show this as basic permission "Special" instead of
  2473. "Write", because "Write" also covers the "write extended attributes"
  2474. permission. When setting digit 0 for group or others, to indicate no
  2475. permissions, they will still get individual permissions "read
  2476. attributes", "read extended attributes" and "read permissions". This is
  2477. done for compatibility reasons, e.g. to allow users without additional
  2478. permissions to be able to read basic metadata about files like in Unix.
  2479. WinFsp 2021 (version 1.9) introduced a new FUSE option "FileSecurity",
  2480. that allows the complete specification of file security descriptors
  2481. using SDDL. With this you get detailed control of the resulting
  2482. permissions, compared to use of the POSIX permissions described above,
  2483. and no additional permissions will be added automatically for
  2484. compatibility with Unix. Some example use cases will following.
  2485. If you set POSIX permissions for only allowing access to the owner,
  2486. using --file-perms 0600 --dir-perms 0700, the user group and the
  2487. built-in "Everyone" group will still be given some special permissions,
  2488. as described above. Some programs may then (incorrectly) interpret this
  2489. as the file being accessible by everyone, for example an SSH client may
  2490. warn about "unprotected private key file". You can work around this by
  2491. specifying -o FileSecurity="D:P(A;;FA;;;OW)", which sets file all access
  2492. (FA) to the owner (OW), and nothing else.
  2493. When setting write permissions then, except for the owner, this does not
  2494. include the "write extended attributes" permission, as mentioned above.
  2495. This may prevent applications from writing to files, giving permission
  2496. denied error instead. To set working write permissions for the built-in
  2497. "Everyone" group, similar to what it gets by default but with the
  2498. addition of the "write extended attributes", you can specify
  2499. -o FileSecurity="D:P(A;;FRFW;;;WD)", which sets file read (FR) and file
  2500. write (FW) to everyone (WD). If file execute (FX) is also needed, then
  2501. change to -o FileSecurity="D:P(A;;FRFWFX;;;WD)", or set file all access
  2502. (FA) to get full access permissions, including delete, with
  2503. -o FileSecurity="D:P(A;;FA;;;WD)".
  2504. Windows caveats
  2505. Drives created as Administrator are not visible to other accounts, not
  2506. even an account that was elevated to Administrator with the User Account
  2507. Control (UAC) feature. A result of this is that if you mount to a drive
  2508. letter from a Command Prompt run as Administrator, and then try to
  2509. access the same drive from Windows Explorer (which does not run as
  2510. Administrator), you will not be able to see the mounted drive.
  2511. If you don't need to access the drive from applications running with
  2512. administrative privileges, the easiest way around this is to always
  2513. create the mount from a non-elevated command prompt.
  2514. To make mapped drives available to the user account that created them
  2515. regardless if elevated or not, there is a special Windows setting called
  2516. linked connections that can be enabled.
  2517. It is also possible to make a drive mount available to everyone on the
  2518. system, by running the process creating it as the built-in SYSTEM
  2519. account. There are several ways to do this: One is to use the
  2520. command-line utility PsExec, from Microsoft's Sysinternals suite, which
  2521. has option -s to start processes as the SYSTEM account. Another
  2522. alternative is to run the mount command from a Windows Scheduled Task,
  2523. or a Windows Service, configured to run as the SYSTEM account. A third
  2524. alternative is to use the WinFsp.Launcher infrastructure). Read more in
  2525. the install documentation. Note that when running rclone as another
  2526. user, it will not use the configuration file from your profile unless
  2527. you tell it to with the --config option. Note also that it is now the
  2528. SYSTEM account that will have the owner permissions, and other accounts
  2529. will have permissions according to the group or others scopes. As
  2530. mentioned above, these will then not get the "write extended attributes"
  2531. permission, and this may prevent writing to files. You can work around
  2532. this with the FileSecurity option, see example above.
  2533. Note that mapping to a directory path, instead of a drive letter, does
  2534. not suffer from the same limitations.
  2535. Mounting on macOS
  2536. Mounting on macOS can be done either via macFUSE (also known as osxfuse)
  2537. or FUSE-T. macFUSE is a traditional FUSE driver utilizing a macOS kernel
  2538. extension (kext). FUSE-T is an alternative FUSE system which "mounts"
  2539. via an NFSv4 local server.
  2540. macFUSE Notes
  2541. If installing macFUSE using dmg packages from the website, rclone will
  2542. locate the macFUSE libraries without any further intervention. If
  2543. however, macFUSE is installed using the macports package manager, the
  2544. following addition steps are required.
  2545. sudo mkdir /usr/local/lib
  2546. cd /usr/local/lib
  2547. sudo ln -s /opt/local/lib/libfuse.2.dylib
  2548. FUSE-T Limitations, Caveats, and Notes
  2549. There are some limitations, caveats, and notes about how it works. These
  2550. are current as of FUSE-T version 1.0.14.
  2551. ModTime update on read
  2552. As per the FUSE-T wiki:
  2553. File access and modification times cannot be set separately as it
  2554. seems to be an issue with the NFS client which always modifies both.
  2555. Can be reproduced with 'touch -m' and 'touch -a' commands
  2556. This means that viewing files with various tools, notably macOS Finder,
  2557. will cause rlcone to update the modification time of the file. This may
  2558. make rclone upload a full new copy of the file.
  2559. Unicode Normalization
  2560. Rclone includes flags for unicode normalization with macFUSE that should
  2561. be updated for FUSE-T. See this forum post and FUSE-T issue #16. The
  2562. following flag should be added to the rclone mount command.
  2563. -o modules=iconv,from_code=UTF-8,to_code=UTF-8
  2564. Read Only mounts
  2565. When mounting with --read-only, attempts to write to files will fail
  2566. silently as opposed to with a clear warning as in macFUSE.
  2567. Limitations
  2568. Without the use of --vfs-cache-mode this can only write files
  2569. sequentially, it can only seek when reading. This means that many
  2570. applications won't work with their files on an rclone mount without
  2571. --vfs-cache-mode writes or --vfs-cache-mode full. See the VFS File
  2572. Caching section for more info.
  2573. The bucket-based remotes (e.g. Swift, S3, Google Compute Storage, B2) do
  2574. not support the concept of empty directories, so empty directories will
  2575. have a tendency to disappear once they fall out of the directory cache.
  2576. When rclone mount is invoked on Unix with --daemon flag, the main rclone
  2577. program will wait for the background mount to become ready or until the
  2578. timeout specified by the --daemon-wait flag. On Linux it can check mount
  2579. status using ProcFS so the flag in fact sets maximum time to wait, while
  2580. the real wait can be less. On macOS / BSD the time to wait is constant
  2581. and the check is performed only at the end. We advise you to set wait
  2582. time on macOS reasonably.
  2583. Only supported on Linux, FreeBSD, OS X and Windows at the moment.
  2584. rclone mount vs rclone sync/copy
  2585. File systems expect things to be 100% reliable, whereas cloud storage
  2586. systems are a long way from 100% reliable. The rclone sync/copy commands
  2587. cope with this with lots of retries. However rclone mount can't use
  2588. retries in the same way without making local copies of the uploads. Look
  2589. at the VFS File Caching for solutions to make mount more reliable.
  2590. Attribute caching
  2591. You can use the flag --attr-timeout to set the time the kernel caches
  2592. the attributes (size, modification time, etc.) for directory entries.
  2593. The default is 1s which caches files just long enough to avoid too many
  2594. callbacks to rclone from the kernel.
  2595. In theory 0s should be the correct value for filesystems which can
  2596. change outside the control of the kernel. However this causes quite a
  2597. few problems such as rclone using too much memory, rclone not serving
  2598. files to samba and excessive time listing directories.
  2599. The kernel can cache the info about a file for the time given by
  2600. --attr-timeout. You may see corruption if the remote file changes length
  2601. during this window. It will show up as either a truncated file or a file
  2602. with garbage on the end. With --attr-timeout 1s this is very unlikely
  2603. but not impossible. The higher you set --attr-timeout the more likely it
  2604. is. The default setting of "1s" is the lowest setting which mitigates
  2605. the problems above.
  2606. If you set it higher (10s or 1m say) then the kernel will call back to
  2607. rclone less often making it more efficient, however there is more chance
  2608. of the corruption issue above.
  2609. If files don't change on the remote outside of the control of rclone
  2610. then there is no chance of corruption.
  2611. This is the same as setting the attr_timeout option in mount.fuse.
  2612. Filters
  2613. Note that all the rclone filters can be used to select a subset of the
  2614. files to be visible in the mount.
  2615. systemd
  2616. When running rclone mount as a systemd service, it is possible to use
  2617. Type=notify. In this case the service will enter the started state after
  2618. the mountpoint has been successfully set up. Units having the rclone
  2619. mount service specified as a requirement will see all files and folders
  2620. immediately in this mode.
  2621. Note that systemd runs mount units without any environment variables
  2622. including PATH or HOME. This means that tilde (~) expansion will not
  2623. work and you should provide --config and --cache-dir explicitly as
  2624. absolute paths via rclone arguments. Since mounting requires the
  2625. fusermount program, rclone will use the fallback PATH of /bin:/usr/bin
  2626. in this scenario. Please ensure that fusermount is present on this PATH.
  2627. Rclone as Unix mount helper
  2628. The core Unix program /bin/mount normally takes the -t FSTYPE argument
  2629. then runs the /sbin/mount.FSTYPE helper program passing it mount options
  2630. as -o key=val,... or --opt=.... Automount (classic or systemd) behaves
  2631. in a similar way.
  2632. rclone by default expects GNU-style flags --key val. To run it as a
  2633. mount helper you should symlink rclone binary to /sbin/mount.rclone and
  2634. optionally /usr/bin/rclonefs, e.g.
  2635. ln -s /usr/bin/rclone /sbin/mount.rclone. rclone will detect it and
  2636. translate command-line arguments appropriately.
  2637. Now you can run classic mounts like this:
  2638. mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
  2639. or create systemd mount units:
  2640. # /etc/systemd/system/mnt-data.mount
  2641. [Unit]
  2642. Description=Mount for /mnt/data
  2643. [Mount]
  2644. Type=rclone
  2645. What=sftp1:subdir
  2646. Where=/mnt/data
  2647. Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
  2648. optionally accompanied by systemd automount unit
  2649. # /etc/systemd/system/mnt-data.automount
  2650. [Unit]
  2651. Description=AutoMount for /mnt/data
  2652. [Automount]
  2653. Where=/mnt/data
  2654. TimeoutIdleSec=600
  2655. [Install]
  2656. WantedBy=multi-user.target
  2657. or add in /etc/fstab a line like
  2658. 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
  2659. or use classic Automountd. Remember to provide explicit
  2660. config=...,cache-dir=... as a workaround for mount units being run
  2661. without HOME.
  2662. Rclone in the mount helper mode will split -o argument(s) by comma,
  2663. replace _ by - and prepend -- to get the command-line flags. Options
  2664. containing commas or spaces can be wrapped in single or double quotes.
  2665. Any inner quotes inside outer quotes of the same type should be doubled.
  2666. Mount option syntax includes a few extra options treated specially:
  2667. - env.NAME=VALUE will set an environment variable for the mount
  2668. process. This helps with Automountd and Systemd.mount which don't
  2669. allow setting custom environment for mount helpers. Typically you
  2670. will use env.HTTPS_PROXY=proxy.host:3128 or env.HOME=/root
  2671. - command=cmount can be used to run cmount or any other rclone command
  2672. rather than the default mount.
  2673. - args2env will pass mount options to the mount helper running in
  2674. background via environment variables instead of command line
  2675. arguments. This allows to hide secrets from such commands as ps or
  2676. pgrep.
  2677. - vv... will be transformed into appropriate --verbose=N
  2678. - standard mount options like x-systemd.automount, _netdev, nosuid and
  2679. alike are intended only for Automountd and ignored by rclone.
  2680. VFS - Virtual File System
  2681. This command uses the VFS layer. This adapts the cloud storage objects
  2682. that rclone uses into something which looks much more like a disk filing
  2683. system.
  2684. Cloud storage objects have lots of properties which aren't like disk
  2685. files - you can't extend them or write to the middle of them, so the VFS
  2686. layer has to deal with that. Because there is no one right way of doing
  2687. this there are various options explained below.
  2688. The VFS layer also implements a directory cache - this caches info about
  2689. files and directories (but not the data) in memory.
  2690. VFS Directory Cache
  2691. Using the --dir-cache-time flag, you can control how long a directory
  2692. should be considered up to date and not refreshed from the backend.
  2693. Changes made through the VFS will appear immediately or invalidate the
  2694. cache.
  2695. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  2696. --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)
  2697. However, changes made directly on the cloud storage by the web interface
  2698. or a different copy of rclone will only be picked up once the directory
  2699. cache expires if the backend configured does not support polling for
  2700. changes. If the backend supports polling, changes will be picked up
  2701. within the polling interval.
  2702. You can send a SIGHUP signal to rclone for it to flush all directory
  2703. caches, regardless of how old they are. Assuming only one rclone
  2704. instance is running, you can reset the cache like this:
  2705. kill -SIGHUP $(pidof rclone)
  2706. If you configure rclone with a remote control then you can use rclone rc
  2707. to flush the whole directory cache:
  2708. rclone rc vfs/forget
  2709. Or individual files or directories:
  2710. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  2711. VFS File Buffering
  2712. The --buffer-size flag determines the amount of memory, that will be
  2713. used to buffer data in advance.
  2714. Each open file will try to keep the specified amount of data in memory
  2715. at all times. The buffered data is bound to one open file and won't be
  2716. shared.
  2717. This flag is a upper limit for the used memory per open file. The buffer
  2718. will only use memory for data that is downloaded but not not yet read.
  2719. If the buffer is empty, only a small amount of memory will be used.
  2720. The maximum memory used by rclone for buffering can be up to
  2721. --buffer-size * open files.
  2722. VFS File Caching
  2723. These flags control the VFS file caching options. File caching is
  2724. necessary to make the VFS layer appear compatible with a normal file
  2725. system. It can be disabled at the cost of some compatibility.
  2726. For example you'll need to enable VFS caching if you want to read and
  2727. write simultaneously to a file. See below for more details.
  2728. Note that the VFS cache is separate from the cache backend and you may
  2729. find that you need one or the other or both.
  2730. --cache-dir string Directory rclone will use for caching.
  2731. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  2732. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  2733. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  2734. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  2735. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  2736. If run with -vv rclone will print the location of the file cache. The
  2737. files are stored in the user cache file area which is OS dependent but
  2738. can be controlled with --cache-dir or setting the appropriate
  2739. environment variable.
  2740. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  2741. the cache mode the more compatible rclone becomes at the cost of using
  2742. disk space.
  2743. Note that files are written back to the remote only when they are closed
  2744. and if they haven't been accessed for --vfs-write-back seconds. If
  2745. rclone is quit or dies with files that haven't been uploaded, these will
  2746. be uploaded next time rclone is run with the same flags.
  2747. If using --vfs-cache-max-size note that the cache may exceed this size
  2748. for two reasons. Firstly because it is only checked every
  2749. --vfs-cache-poll-interval. Secondly because open files cannot be evicted
  2750. from the cache. When --vfs-cache-max-size is exceeded, rclone will
  2751. attempt to evict the least accessed files from the cache first. rclone
  2752. will start with files that haven't been accessed for the longest. This
  2753. cache flushing strategy is efficient and more relevant files are likely
  2754. to remain cached.
  2755. The --vfs-cache-max-age will evict files from the cache after the set
  2756. time since last access has passed. The default value of 1 hour will
  2757. start evicting files from cache that haven't been accessed for 1 hour.
  2758. When a cached file is accessed the 1 hour timer is reset to 0 and will
  2759. wait for 1 more hour before evicting. Specify the time with standard
  2760. notation, s, m, h, d, w .
  2761. You should not run two copies of rclone using the same VFS cache with
  2762. the same or overlapping remotes if using --vfs-cache-mode > off. This
  2763. can potentially cause data corruption if you do. You can work around
  2764. this by giving each rclone its own cache hierarchy with --cache-dir. You
  2765. don't need to worry about this if the remotes in use don't overlap.
  2766. --vfs-cache-mode off
  2767. In this mode (the default) the cache will read directly from the remote
  2768. and write directly to the remote without caching anything on disk.
  2769. This will mean some operations are not possible
  2770. - Files can't be opened for both read AND write
  2771. - Files opened for write can't be seeked
  2772. - Existing files opened for write must have O_TRUNC set
  2773. - Files open for read with O_TRUNC will be opened write only
  2774. - Files open for write only will behave as if O_TRUNC was supplied
  2775. - Open modes O_APPEND, O_TRUNC are ignored
  2776. - If an upload fails it can't be retried
  2777. --vfs-cache-mode minimal
  2778. This is very similar to "off" except that files opened for read AND
  2779. write will be buffered to disk. This means that files opened for write
  2780. will be a lot more compatible, but uses the minimal disk space.
  2781. These operations are not possible
  2782. - Files opened for write only can't be seeked
  2783. - Existing files opened for write must have O_TRUNC set
  2784. - Files opened for write only will ignore O_APPEND, O_TRUNC
  2785. - If an upload fails it can't be retried
  2786. --vfs-cache-mode writes
  2787. In this mode files opened for read only are still read directly from the
  2788. remote, write only and read/write files are buffered to disk first.
  2789. This mode should support all normal file system operations.
  2790. If an upload fails it will be retried at exponentially increasing
  2791. intervals up to 1 minute.
  2792. --vfs-cache-mode full
  2793. In this mode all reads and writes are buffered to and from disk. When
  2794. data is read from the remote this is buffered to disk as well.
  2795. In this mode the files in the cache will be sparse files and rclone will
  2796. keep track of which bits of the files it has downloaded.
  2797. So if an application only reads the starts of each file, then rclone
  2798. will only buffer the start of the file. These files will appear to be
  2799. their full size in the cache, but they will be sparse files with only
  2800. the data that has been downloaded present in them.
  2801. This mode should support all normal file system operations and is
  2802. otherwise identical to --vfs-cache-mode writes.
  2803. When reading a file rclone will read --buffer-size plus --vfs-read-ahead
  2804. bytes ahead. The --buffer-size is buffered in memory whereas the
  2805. --vfs-read-ahead is buffered on disk.
  2806. When using this mode it is recommended that --buffer-size is not set too
  2807. large and --vfs-read-ahead is set large if required.
  2808. IMPORTANT not all file systems support sparse files. In particular
  2809. FAT/exFAT do not. Rclone will perform very badly if the cache directory
  2810. is on a filesystem which doesn't support sparse files and it will log an
  2811. ERROR message if one is detected.
  2812. Fingerprinting
  2813. Various parts of the VFS use fingerprinting to see if a local file copy
  2814. has changed relative to a remote file. Fingerprints are made from:
  2815. - size
  2816. - modification time
  2817. - hash
  2818. where available on an object.
  2819. On some backends some of these attributes are slow to read (they take an
  2820. extra API call per object, or extra work per object).
  2821. For example hash is slow with the local and sftp backends as they have
  2822. to read the entire file and hash it, and modtime is slow with the s3,
  2823. swift, ftp and qinqstor backends because they need to do an extra API
  2824. call to fetch it.
  2825. If you use the --vfs-fast-fingerprint flag then rclone will not include
  2826. the slow operations in the fingerprint. This makes the fingerprinting
  2827. less accurate but much faster and will improve the opening time of
  2828. cached files.
  2829. If you are running a vfs cache over local, s3 or swift backends then
  2830. using this flag is recommended.
  2831. Note that if you change the value of this flag, the fingerprints of the
  2832. files in the cache may be invalidated and the files will need to be
  2833. downloaded again.
  2834. VFS Chunked Reading
  2835. When rclone reads files from a remote it reads them in chunks. This
  2836. means that rather than requesting the whole file rclone reads the chunk
  2837. specified. This can reduce the used download quota for some remotes by
  2838. requesting only chunks from the remote that are actually read, at the
  2839. cost of an increased number of requests.
  2840. These flags control the chunking:
  2841. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  2842. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  2843. Rclone will start reading a chunk of size --vfs-read-chunk-size, and
  2844. then double the size for each read. When --vfs-read-chunk-size-limit is
  2845. specified, and greater than --vfs-read-chunk-size, the chunk size for
  2846. each open file will get doubled only until the specified value is
  2847. reached. If the value is "off", which is the default, the limit is
  2848. disabled and the chunk size will grow indefinitely.
  2849. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  2850. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  2851. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  2852. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  2853. 1200M-1700M and so on.
  2854. Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
  2855. VFS Performance
  2856. These flags may be used to enable/disable features of the VFS for
  2857. performance or other reasons. See also the chunked reading feature.
  2858. In particular S3 and Swift benefit hugely from the --no-modtime flag (or
  2859. use --use-server-modtime for a slightly different effect) as each read
  2860. of the modification time takes a transaction.
  2861. --no-checksum Don't compare checksums on up/download.
  2862. --no-modtime Don't read/write the modification time (can speed things up).
  2863. --no-seek Don't allow seeking in files.
  2864. --read-only Only allow read-only access.
  2865. Sometimes rclone is delivered reads or writes out of order. Rather than
  2866. seeking rclone will wait a short time for the in sequence read or write
  2867. to come in. These flags only come into effect when not using an on disk
  2868. cache file.
  2869. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  2870. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  2871. When using VFS write caching (--vfs-cache-mode with value writes or
  2872. full), the global flag --transfers can be set to adjust the number of
  2873. parallel uploads of modified files from the cache (the related global
  2874. flag --checkers has no effect on the VFS).
  2875. --transfers int Number of file transfers to run in parallel (default 4)
  2876. VFS Case Sensitivity
  2877. Linux file systems are case-sensitive: two files can differ only by
  2878. case, and the exact case must be used when opening a file.
  2879. File systems in modern Windows are case-insensitive but case-preserving:
  2880. although existing files can be opened using any case, the exact case
  2881. used to create the file is preserved and available for programs to
  2882. query. It is not allowed for two files in the same directory to differ
  2883. only by case.
  2884. Usually file systems on macOS are case-insensitive. It is possible to
  2885. make macOS file systems case-sensitive but that is not the default.
  2886. The --vfs-case-insensitive VFS flag controls how rclone handles these
  2887. two cases. If its value is "false", rclone passes file names to the
  2888. remote as-is. If the flag is "true" (or appears without a value on the
  2889. command line), rclone may perform a "fixup" as explained below.
  2890. The user may specify a file name to open/delete/rename/etc with a case
  2891. different than what is stored on the remote. If an argument refers to an
  2892. existing file with exactly the same name, then the case of the existing
  2893. file on the disk will be used. However, if a file name with exactly the
  2894. same name is not found but a name differing only by case exists, rclone
  2895. will transparently fixup the name. This fixup happens only when an
  2896. existing file is requested. Case sensitivity of file names created anew
  2897. by rclone is controlled by the underlying remote.
  2898. Note that case sensitivity of the operating system running rclone (the
  2899. target) may differ from case sensitivity of a file system presented by
  2900. rclone (the source). The flag controls whether "fixup" is performed to
  2901. satisfy the target.
  2902. If the flag is not provided on the command line, then its default value
  2903. depends on the operating system where rclone runs: "true" on Windows and
  2904. macOS, "false" otherwise. If the flag is provided without a value, then
  2905. it is "true".
  2906. VFS Disk Options
  2907. This flag allows you to manually set the statistics about the filing
  2908. system. It can be useful when those statistics cannot be read correctly
  2909. automatically.
  2910. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  2911. Alternate report of used bytes
  2912. Some backends, most notably S3, do not report the amount of bytes used.
  2913. If you need this information to be available when running df on the
  2914. filesystem, then pass the flag --vfs-used-is-size to rclone. With this
  2915. flag set, instead of relying on the backend to report this information,
  2916. rclone will scan the whole remote similar to rclone size and compute the
  2917. total used space itself.
  2918. WARNING. Contrary to rclone size, this flag ignores filters so that the
  2919. result is accurate. However, this is very inefficient and may cost lots
  2920. of API calls resulting in extra charges. Use it as a last resort and
  2921. only with caching.
  2922. rclone mount remote:path /path/to/mountpoint [flags]
  2923. Options
  2924. --allow-non-empty Allow mounting over a non-empty directory (not supported on Windows)
  2925. --allow-other Allow access to other users (not supported on Windows)
  2926. --allow-root Allow access to root user (not supported on Windows)
  2927. --async-read Use asynchronous reads (not supported on Windows) (default true)
  2928. --attr-timeout Duration Time for which file/directory attributes are cached (default 1s)
  2929. --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)
  2930. --daemon-timeout Duration Time limit for rclone to respond to kernel (not supported on Windows) (default 0s)
  2931. --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)
  2932. --debug-fuse Debug the FUSE internals - needs -v
  2933. --default-permissions Makes kernel enforce access control based on the file mode (not supported on Windows)
  2934. --devname string Set the device name - default is remote:path
  2935. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  2936. --dir-perms FileMode Directory permissions (default 0777)
  2937. --file-perms FileMode File permissions (default 0666)
  2938. --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required)
  2939. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  2940. -h, --help help for mount
  2941. --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki)
  2942. --mount-case-insensitive Tristate Tell the OS the mount is case insensitive (true) or sensitive (false) regardless of the backend (auto) (default unset)
  2943. --network-mode Mount as remote network drive, instead of fixed disk drive (supported on Windows only)
  2944. --no-checksum Don't compare checksums on up/download
  2945. --no-modtime Don't read/write the modification time (can speed things up)
  2946. --no-seek Don't allow seeking in files
  2947. --noappledouble Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true)
  2948. --noapplexattr Ignore all "com.apple.*" extended attributes (supported on OSX only)
  2949. -o, --option stringArray Option for libfuse/WinFsp (repeat if required)
  2950. --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)
  2951. --read-only Only allow read-only access
  2952. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  2953. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  2954. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  2955. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  2956. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  2957. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  2958. --vfs-case-insensitive If a file name not found, find a case insensitive match
  2959. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  2960. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  2961. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  2962. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  2963. --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 ('off' is unlimited) (default off)
  2964. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  2965. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  2966. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  2967. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  2968. --volname string Set the volume name (supported on Windows and OSX only)
  2969. --write-back-cache Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows)
  2970. See the global flags page for global options not listed here.
  2971. SEE ALSO
  2972. - rclone - Show help for rclone commands, flags and backends.
  2973. rclone moveto
  2974. Move file or directory from source to dest.
  2975. Synopsis
  2976. If source:path is a file or directory then it moves it to a file or
  2977. directory named dest:path.
  2978. This can be used to rename files or upload single files to other than
  2979. their existing name. If the source is a directory then it acts exactly
  2980. like the move command.
  2981. So
  2982. rclone moveto src dst
  2983. where src and dst are rclone paths, either remote:path or /path/to/local
  2984. or C:.
  2985. This will:
  2986. if src is file
  2987. move it to dst, overwriting an existing file if it exists
  2988. if src is directory
  2989. move it to dst, overwriting existing files if they exist
  2990. see move command for full details
  2991. This doesn't transfer files that are identical on src and dst, testing
  2992. by size and modification time or MD5SUM. src will be deleted on
  2993. successful transfer.
  2994. Important: Since this can cause data loss, test first with the --dry-run
  2995. or the --interactive/-i flag.
  2996. Note: Use the -P/--progress flag to view real-time transfer statistics.
  2997. rclone moveto source:path dest:path [flags]
  2998. Options
  2999. -h, --help help for moveto
  3000. See the global flags page for global options not listed here.
  3001. SEE ALSO
  3002. - rclone - Show help for rclone commands, flags and backends.
  3003. rclone ncdu
  3004. Explore a remote with a text based user interface.
  3005. Synopsis
  3006. This displays a text based user interface allowing the navigation of a
  3007. remote. It is most useful for answering the question - "What is using
  3008. all my disk space?".
  3009. To make the user interface it first scans the entire remote given and
  3010. builds an in memory representation. rclone ncdu can be used during this
  3011. scanning phase and you will see it building up the directory structure
  3012. as it goes along.
  3013. You can interact with the user interface using key presses, press '?' to
  3014. toggle the help on and off. The supported keys are:
  3015. ↑,↓ or k,j to Move
  3016. →,l to enter
  3017. ←,h to return
  3018. g toggle graph
  3019. c toggle counts
  3020. a toggle average size in directory
  3021. m toggle modified time
  3022. u toggle human-readable format
  3023. n,s,C,A,M sort by name,size,count,asize,mtime
  3024. d delete file/directory
  3025. v select file/directory
  3026. V enter visual select mode
  3027. D delete selected files/directories
  3028. y copy current path to clipboard
  3029. Y display current path
  3030. ^L refresh screen (fix screen corruption)
  3031. ? to toggle help on and off
  3032. q/ESC/^c to quit
  3033. Listed files/directories may be prefixed by a one-character flag, some
  3034. of them combined with a description in brackets at end of line. These
  3035. flags have the following meaning:
  3036. e means this is an empty directory, i.e. contains no files (but
  3037. may contain empty subdirectories)
  3038. ~ means this is a directory where some of the files (possibly in
  3039. subdirectories) have unknown size, and therefore the directory
  3040. size may be underestimated (and average size inaccurate, as it
  3041. is average of the files with known sizes).
  3042. . means an error occurred while reading a subdirectory, and
  3043. therefore the directory size may be underestimated (and average
  3044. size inaccurate)
  3045. ! means an error occurred while reading this directory
  3046. This an homage to the ncdu tool but for rclone remotes. It is missing
  3047. lots of features at the moment but is useful as it stands.
  3048. Note that it might take some time to delete big files/directories. The
  3049. UI won't respond in the meantime since the deletion is done
  3050. synchronously.
  3051. For a non-interactive listing of the remote, see the tree command. To
  3052. just get the total size of the remote you can also use the size command.
  3053. rclone ncdu remote:path [flags]
  3054. Options
  3055. -h, --help help for ncdu
  3056. See the global flags page for global options not listed here.
  3057. SEE ALSO
  3058. - rclone - Show help for rclone commands, flags and backends.
  3059. rclone obscure
  3060. Obscure password for use in the rclone config file.
  3061. Synopsis
  3062. In the rclone config file, human-readable passwords are obscured.
  3063. Obscuring them is done by encrypting them and writing them out in
  3064. base64. This is not a secure way of encrypting these passwords as rclone
  3065. can decrypt them - it is to prevent "eyedropping" - namely someone
  3066. seeing a password in the rclone config file by accident.
  3067. Many equally important things (like access tokens) are not obscured in
  3068. the config file. However it is very hard to shoulder surf a 64 character
  3069. hex token.
  3070. This command can also accept a password through STDIN instead of an
  3071. argument by passing a hyphen as an argument. This will use the first
  3072. line of STDIN as the password not including the trailing newline.
  3073. echo "secretpassword" | rclone obscure -
  3074. If there is no data on STDIN to read, rclone obscure will default to
  3075. obfuscating the hyphen itself.
  3076. If you want to encrypt the config file then please use config file
  3077. encryption - see rclone config for more info.
  3078. rclone obscure password [flags]
  3079. Options
  3080. -h, --help help for obscure
  3081. See the global flags page for global options not listed here.
  3082. SEE ALSO
  3083. - rclone - Show help for rclone commands, flags and backends.
  3084. rclone rc
  3085. Run a command against a running rclone.
  3086. Synopsis
  3087. This runs a command against a running rclone. Use the --url flag to
  3088. specify an non default URL to connect on. This can be either a ":port"
  3089. which is taken to mean "http://localhost:port" or a "host:port" which is
  3090. taken to mean "http://host:port"
  3091. A username and password can be passed in with --user and --pass.
  3092. Note that --rc-addr, --rc-user, --rc-pass will be read also for --url,
  3093. --user, --pass.
  3094. Arguments should be passed in as parameter=value.
  3095. The result will be returned as a JSON object by default.
  3096. The --json parameter can be used to pass in a JSON blob as an input
  3097. instead of key=value arguments. This is the only way of passing in more
  3098. complicated values.
  3099. The -o/--opt option can be used to set a key "opt" with key, value
  3100. options in the form -o key=value or -o key. It can be repeated as many
  3101. times as required. This is useful for rc commands which take the "opt"
  3102. parameter which by convention is a dictionary of strings.
  3103. -o key=value -o key2
  3104. Will place this in the "opt" value
  3105. {"key":"value", "key2","")
  3106. The -a/--arg option can be used to set strings in the "arg" value. It
  3107. can be repeated as many times as required. This is useful for rc
  3108. commands which take the "arg" parameter which by convention is a list of
  3109. strings.
  3110. -a value -a value2
  3111. Will place this in the "arg" value
  3112. ["value", "value2"]
  3113. Use --loopback to connect to the rclone instance running rclone rc. This
  3114. is very useful for testing commands without having to run an rclone rc
  3115. server, e.g.:
  3116. rclone rc --loopback operations/about fs=/
  3117. Use rclone rc to see a list of all possible commands.
  3118. rclone rc commands parameter [flags]
  3119. Options
  3120. -a, --arg stringArray Argument placed in the "arg" array
  3121. -h, --help help for rc
  3122. --json string Input JSON - use instead of key=value args
  3123. --loopback If set connect to this rclone instance not via HTTP
  3124. --no-output If set, don't output the JSON result
  3125. -o, --opt stringArray Option in the form name=value or name placed in the "opt" array
  3126. --pass string Password to use to connect to rclone remote control
  3127. --url string URL to connect to rclone remote control (default "http://localhost:5572/")
  3128. --user string Username to use to rclone remote control
  3129. See the global flags page for global options not listed here.
  3130. SEE ALSO
  3131. - rclone - Show help for rclone commands, flags and backends.
  3132. rclone rcat
  3133. Copies standard input to file on remote.
  3134. Synopsis
  3135. rclone rcat reads from standard input (stdin) and copies it to a single
  3136. remote file.
  3137. echo "hello world" | rclone rcat remote:path/to/file
  3138. ffmpeg - | rclone rcat remote:path/to/file
  3139. If the remote file already exists, it will be overwritten.
  3140. rcat will try to upload small files in a single request, which is
  3141. usually more efficient than the streaming/chunked upload endpoints,
  3142. which use multiple requests. Exact behaviour depends on the remote. What
  3143. is considered a small file may be set through --streaming-upload-cutoff.
  3144. Uploading only starts after the cutoff is reached or if the file ends
  3145. before that. The data must fit into RAM. The cutoff needs to be small
  3146. enough to adhere the limits of your remote, please see there. Generally
  3147. speaking, setting this cutoff too high will decrease your performance.
  3148. Use the --size flag to preallocate the file in advance at the remote end
  3149. and actually stream it, even if remote backend doesn't support
  3150. streaming.
  3151. --size should be the exact size of the input stream in bytes. If the
  3152. size of the stream is different in length to the --size passed in then
  3153. the transfer will likely fail.
  3154. Note that the upload cannot be retried because the data is not stored.
  3155. If the backend supports multipart uploading then individual chunks can
  3156. be retried. If you need to transfer a lot of data, you may be better off
  3157. caching it locally and then rclone move it to the destination which can
  3158. use retries.
  3159. rclone rcat remote:path [flags]
  3160. Options
  3161. -h, --help help for rcat
  3162. --size int File size hint to preallocate (default -1)
  3163. See the global flags page for global options not listed here.
  3164. SEE ALSO
  3165. - rclone - Show help for rclone commands, flags and backends.
  3166. rclone rcd
  3167. Run rclone listening to remote control commands only.
  3168. Synopsis
  3169. This runs rclone so that it only listens to remote control commands.
  3170. This is useful if you are controlling rclone via the rc API.
  3171. If you pass in a path to a directory, rclone will serve that directory
  3172. for GET requests on the URL passed in. It will also open the URL in the
  3173. browser when rclone is run.
  3174. See the rc documentation for more info on the rc flags.
  3175. Server options
  3176. Use --rc-addr to specify which IP address and port the server should
  3177. listen on, eg --rc-addr 1.2.3.4:8000 or --rc-addr :8080 to listen to all
  3178. IPs. By default it only listens on localhost. You can use port :0 to let
  3179. the OS choose an available port.
  3180. If you set --rc-addr to listen on a public or LAN accessible IP address
  3181. then using Authentication is advised - see the next section for info.
  3182. You can use a unix socket by setting the url to unix:///path/to/socket
  3183. or just by using an absolute path name. Note that unix sockets bypass
  3184. the authentication - this is expected to be done with file system
  3185. permissions.
  3186. --rc-addr may be repeated to listen on multiple IPs/ports/sockets.
  3187. --rc-server-read-timeout and --rc-server-write-timeout can be used to
  3188. control the timeouts on the server. Note that this is the total time for
  3189. a transfer.
  3190. --rc-max-header-bytes controls the maximum number of bytes the server
  3191. will accept in the HTTP header.
  3192. --rc-baseurl controls the URL prefix that rclone serves from. By default
  3193. rclone will serve from the root. If you used --rc-baseurl "/rclone" then
  3194. rclone would serve from a URL starting with "/rclone/". This is useful
  3195. if you wish to proxy rclone serve. Rclone automatically inserts leading
  3196. and trailing "/" on --rc-baseurl, so --rc-baseurl "rclone",
  3197. --rc-baseurl "/rclone" and --rc-baseurl "/rclone/" are all treated
  3198. identically.
  3199. TLS (SSL)
  3200. By default this will serve over http. If you want you can serve over
  3201. https. You will need to supply the --rc-cert and --rc-key flags. If you
  3202. wish to do client side certificate validation then you will need to
  3203. supply --rc-client-ca also.
  3204. --rc-cert should be a either a PEM encoded certificate or a
  3205. concatenation of that with the CA certificate. --krc-ey should be the
  3206. PEM encoded private key and --rc-client-ca should be the PEM encoded
  3207. client certificate authority certificate.
  3208. --rc-min-tls-version is minimum TLS version that is acceptable. Valid
  3209. values are "tls1.0", "tls1.1", "tls1.2" and "tls1.3" (default "tls1.0").
  3210. Template
  3211. --rc-template allows a user to specify a custom markup template for HTTP
  3212. and WebDAV serve functions. The server exports the following markup to
  3213. be used within the template to server pages:
  3214. -----------------------------------------------------------------------
  3215. Parameter Description
  3216. ----------------------------------- -----------------------------------
  3217. .Name The full path of a file/directory.
  3218. .Title Directory listing of .Name
  3219. .Sort The current sort used. This is
  3220. changeable via ?sort= parameter
  3221. Sort Options:
  3222. namedirfirst,name,size,time
  3223. (default namedirfirst)
  3224. .Order The current ordering used. This is
  3225. changeable via ?order= parameter
  3226. Order Options: asc,desc (default
  3227. asc)
  3228. .Query Currently unused.
  3229. .Breadcrumb Allows for creating a relative
  3230. navigation
  3231. -- .Link The relative to the root link of
  3232. the Text.
  3233. -- .Text The Name of the directory.
  3234. .Entries Information about a specific
  3235. file/directory.
  3236. -- .URL The 'url' of an entry.
  3237. -- .Leaf Currently same as 'URL' but
  3238. intended to be 'just' the name.
  3239. -- .IsDir Boolean for if an entry is a
  3240. directory or not.
  3241. -- .Size Size in Bytes of the entry.
  3242. -- .ModTime The UTC timestamp of an entry.
  3243. -----------------------------------------------------------------------
  3244. Authentication
  3245. By default this will serve files without needing a login.
  3246. You can either use an htpasswd file which can take lots of users, or set
  3247. a single username and password with the --rc-user and --rc-pass flags.
  3248. If no static users are configured by either of the above methods, and
  3249. client certificates are required by the --client-ca flag passed to the
  3250. server, the client certificate common name will be considered as the
  3251. username.
  3252. Use --rc-htpasswd /path/to/htpasswd to provide an htpasswd file. This is
  3253. in standard apache format and supports MD5, SHA1 and BCrypt for basic
  3254. authentication. Bcrypt is recommended.
  3255. To create an htpasswd file:
  3256. touch htpasswd
  3257. htpasswd -B htpasswd user
  3258. htpasswd -B htpasswd anotherUser
  3259. The password file can be updated while rclone is running.
  3260. Use --rc-realm to set the authentication realm.
  3261. Use --rc-salt to change the password hashing salt from the default.
  3262. rclone rcd <path to files to serve>* [flags]
  3263. Options
  3264. -h, --help help for rcd
  3265. See the global flags page for global options not listed here.
  3266. SEE ALSO
  3267. - rclone - Show help for rclone commands, flags and backends.
  3268. rclone rmdirs
  3269. Remove empty directories under the path.
  3270. Synopsis
  3271. This recursively removes any empty directories (including directories
  3272. that only contain empty directories), that it finds under the path. The
  3273. root path itself will also be removed if it is empty, unless you supply
  3274. the --leave-root flag.
  3275. Use command rmdir to delete just the empty directory given by path, not
  3276. recurse.
  3277. This is useful for tidying up remotes that rclone has left a lot of
  3278. empty directories in. For example the delete command will delete files
  3279. but leave the directory structure (unless used with option --rmdirs).
  3280. To delete a path and any objects in it, use purge command.
  3281. rclone rmdirs remote:path [flags]
  3282. Options
  3283. -h, --help help for rmdirs
  3284. --leave-root Do not remove root directory if empty
  3285. See the global flags page for global options not listed here.
  3286. SEE ALSO
  3287. - rclone - Show help for rclone commands, flags and backends.
  3288. rclone selfupdate
  3289. Update the rclone binary.
  3290. Synopsis
  3291. This command downloads the latest release of rclone and replaces the
  3292. currently running binary. The download is verified with a hashsum and
  3293. cryptographically signed signature.
  3294. If used without flags (or with implied --stable flag), this command will
  3295. install the latest stable release. However, some issues may be fixed (or
  3296. features added) only in the latest beta release. In such cases you
  3297. should run the command with the --beta flag, i.e.
  3298. rclone selfupdate --beta. You can check in advance what version would be
  3299. installed by adding the --check flag, then repeat the command without it
  3300. when you are satisfied.
  3301. Sometimes the rclone team may recommend you a concrete beta or stable
  3302. rclone release to troubleshoot your issue or add a bleeding edge
  3303. feature. The --version VER flag, if given, will update to the concrete
  3304. version instead of the latest one. If you omit micro version from VER
  3305. (for example 1.53), the latest matching micro version will be used.
  3306. Upon successful update rclone will print a message that contains a
  3307. previous version number. You will need it if you later decide to revert
  3308. your update for some reason. Then you'll have to note the previous
  3309. version and run the following command:
  3310. rclone selfupdate [--beta] OLDVER. If the old version contains only dots
  3311. and digits (for example v1.54.0) then it's a stable release so you won't
  3312. need the --beta flag. Beta releases have an additional information
  3313. similar to v1.54.0-beta.5111.06f1c0c61. (if you are a developer and use
  3314. a locally built rclone, the version number will end with -DEV, you will
  3315. have to rebuild it as it obviously can't be distributed).
  3316. If you previously installed rclone via a package manager, the package
  3317. may include local documentation or configure services. You may wish to
  3318. update with the flag --package deb or --package rpm (whichever is
  3319. correct for your OS) to update these too. This command with the default
  3320. --package zip will update only the rclone executable so the local manual
  3321. may become inaccurate after it.
  3322. The rclone mount command (https://rclone.org/commands/rclone_mount/) may
  3323. or may not support extended FUSE options depending on the build and OS.
  3324. selfupdate will refuse to update if the capability would be discarded.
  3325. Note: Windows forbids deletion of a currently running executable so this
  3326. command will rename the old executable to 'rclone.old.exe' upon success.
  3327. Please note that this command was not available before rclone version
  3328. 1.55. If it fails for you with the message unknown command "selfupdate"
  3329. then you will need to update manually following the install instructions
  3330. located at https://rclone.org/install/
  3331. rclone selfupdate [flags]
  3332. Options
  3333. --beta Install beta release
  3334. --check Check for latest release, do not download
  3335. -h, --help help for selfupdate
  3336. --output string Save the downloaded binary at a given path (default: replace running binary)
  3337. --package string Package format: zip|deb|rpm (default: zip)
  3338. --stable Install stable release (this is the default)
  3339. --version string Install the given rclone version (default: latest)
  3340. See the global flags page for global options not listed here.
  3341. SEE ALSO
  3342. - rclone - Show help for rclone commands, flags and backends.
  3343. rclone serve
  3344. Serve a remote over a protocol.
  3345. Synopsis
  3346. Serve a remote over a given protocol. Requires the use of a subcommand
  3347. to specify the protocol, e.g.
  3348. rclone serve http remote:
  3349. Each subcommand has its own options which you can see in their help.
  3350. rclone serve <protocol> [opts] <remote> [flags]
  3351. Options
  3352. -h, --help help for serve
  3353. See the global flags page for global options not listed here.
  3354. SEE ALSO
  3355. - rclone - Show help for rclone commands, flags and backends.
  3356. - rclone serve dlna - Serve remote:path over DLNA
  3357. - rclone serve docker - Serve any remote on docker's volume plugin
  3358. API.
  3359. - rclone serve ftp - Serve remote:path over FTP.
  3360. - rclone serve http - Serve the remote over HTTP.
  3361. - rclone serve restic - Serve the remote for restic's REST API.
  3362. - rclone serve sftp - Serve the remote over SFTP.
  3363. - rclone serve webdav - Serve remote:path over WebDAV.
  3364. rclone serve dlna
  3365. Serve remote:path over DLNA
  3366. Synopsis
  3367. Run a DLNA media server for media stored in an rclone remote. Many
  3368. devices, such as the Xbox and PlayStation, can automatically discover
  3369. this server in the LAN and play audio/video from it. VLC is also
  3370. supported. Service discovery uses UDP multicast packets (SSDP) and will
  3371. thus only work on LANs.
  3372. Rclone will list all files present in the remote, without filtering
  3373. based on media formats or file extensions. Additionally, there is no
  3374. media transcoding support. This means that some players might show files
  3375. that they are not able to play back correctly.
  3376. Server options
  3377. Use --addr to specify which IP address and port the server should listen
  3378. on, e.g. --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
  3379. Use --name to choose the friendly server name, which is by default
  3380. "rclone (hostname)".
  3381. Use --log-trace in conjunction with -vv to enable additional debug
  3382. logging of all UPNP traffic.
  3383. VFS - Virtual File System
  3384. This command uses the VFS layer. This adapts the cloud storage objects
  3385. that rclone uses into something which looks much more like a disk filing
  3386. system.
  3387. Cloud storage objects have lots of properties which aren't like disk
  3388. files - you can't extend them or write to the middle of them, so the VFS
  3389. layer has to deal with that. Because there is no one right way of doing
  3390. this there are various options explained below.
  3391. The VFS layer also implements a directory cache - this caches info about
  3392. files and directories (but not the data) in memory.
  3393. VFS Directory Cache
  3394. Using the --dir-cache-time flag, you can control how long a directory
  3395. should be considered up to date and not refreshed from the backend.
  3396. Changes made through the VFS will appear immediately or invalidate the
  3397. cache.
  3398. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  3399. --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)
  3400. However, changes made directly on the cloud storage by the web interface
  3401. or a different copy of rclone will only be picked up once the directory
  3402. cache expires if the backend configured does not support polling for
  3403. changes. If the backend supports polling, changes will be picked up
  3404. within the polling interval.
  3405. You can send a SIGHUP signal to rclone for it to flush all directory
  3406. caches, regardless of how old they are. Assuming only one rclone
  3407. instance is running, you can reset the cache like this:
  3408. kill -SIGHUP $(pidof rclone)
  3409. If you configure rclone with a remote control then you can use rclone rc
  3410. to flush the whole directory cache:
  3411. rclone rc vfs/forget
  3412. Or individual files or directories:
  3413. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  3414. VFS File Buffering
  3415. The --buffer-size flag determines the amount of memory, that will be
  3416. used to buffer data in advance.
  3417. Each open file will try to keep the specified amount of data in memory
  3418. at all times. The buffered data is bound to one open file and won't be
  3419. shared.
  3420. This flag is a upper limit for the used memory per open file. The buffer
  3421. will only use memory for data that is downloaded but not not yet read.
  3422. If the buffer is empty, only a small amount of memory will be used.
  3423. The maximum memory used by rclone for buffering can be up to
  3424. --buffer-size * open files.
  3425. VFS File Caching
  3426. These flags control the VFS file caching options. File caching is
  3427. necessary to make the VFS layer appear compatible with a normal file
  3428. system. It can be disabled at the cost of some compatibility.
  3429. For example you'll need to enable VFS caching if you want to read and
  3430. write simultaneously to a file. See below for more details.
  3431. Note that the VFS cache is separate from the cache backend and you may
  3432. find that you need one or the other or both.
  3433. --cache-dir string Directory rclone will use for caching.
  3434. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  3435. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  3436. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  3437. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  3438. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  3439. If run with -vv rclone will print the location of the file cache. The
  3440. files are stored in the user cache file area which is OS dependent but
  3441. can be controlled with --cache-dir or setting the appropriate
  3442. environment variable.
  3443. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  3444. the cache mode the more compatible rclone becomes at the cost of using
  3445. disk space.
  3446. Note that files are written back to the remote only when they are closed
  3447. and if they haven't been accessed for --vfs-write-back seconds. If
  3448. rclone is quit or dies with files that haven't been uploaded, these will
  3449. be uploaded next time rclone is run with the same flags.
  3450. If using --vfs-cache-max-size note that the cache may exceed this size
  3451. for two reasons. Firstly because it is only checked every
  3452. --vfs-cache-poll-interval. Secondly because open files cannot be evicted
  3453. from the cache. When --vfs-cache-max-size is exceeded, rclone will
  3454. attempt to evict the least accessed files from the cache first. rclone
  3455. will start with files that haven't been accessed for the longest. This
  3456. cache flushing strategy is efficient and more relevant files are likely
  3457. to remain cached.
  3458. The --vfs-cache-max-age will evict files from the cache after the set
  3459. time since last access has passed. The default value of 1 hour will
  3460. start evicting files from cache that haven't been accessed for 1 hour.
  3461. When a cached file is accessed the 1 hour timer is reset to 0 and will
  3462. wait for 1 more hour before evicting. Specify the time with standard
  3463. notation, s, m, h, d, w .
  3464. You should not run two copies of rclone using the same VFS cache with
  3465. the same or overlapping remotes if using --vfs-cache-mode > off. This
  3466. can potentially cause data corruption if you do. You can work around
  3467. this by giving each rclone its own cache hierarchy with --cache-dir. You
  3468. don't need to worry about this if the remotes in use don't overlap.
  3469. --vfs-cache-mode off
  3470. In this mode (the default) the cache will read directly from the remote
  3471. and write directly to the remote without caching anything on disk.
  3472. This will mean some operations are not possible
  3473. - Files can't be opened for both read AND write
  3474. - Files opened for write can't be seeked
  3475. - Existing files opened for write must have O_TRUNC set
  3476. - Files open for read with O_TRUNC will be opened write only
  3477. - Files open for write only will behave as if O_TRUNC was supplied
  3478. - Open modes O_APPEND, O_TRUNC are ignored
  3479. - If an upload fails it can't be retried
  3480. --vfs-cache-mode minimal
  3481. This is very similar to "off" except that files opened for read AND
  3482. write will be buffered to disk. This means that files opened for write
  3483. will be a lot more compatible, but uses the minimal disk space.
  3484. These operations are not possible
  3485. - Files opened for write only can't be seeked
  3486. - Existing files opened for write must have O_TRUNC set
  3487. - Files opened for write only will ignore O_APPEND, O_TRUNC
  3488. - If an upload fails it can't be retried
  3489. --vfs-cache-mode writes
  3490. In this mode files opened for read only are still read directly from the
  3491. remote, write only and read/write files are buffered to disk first.
  3492. This mode should support all normal file system operations.
  3493. If an upload fails it will be retried at exponentially increasing
  3494. intervals up to 1 minute.
  3495. --vfs-cache-mode full
  3496. In this mode all reads and writes are buffered to and from disk. When
  3497. data is read from the remote this is buffered to disk as well.
  3498. In this mode the files in the cache will be sparse files and rclone will
  3499. keep track of which bits of the files it has downloaded.
  3500. So if an application only reads the starts of each file, then rclone
  3501. will only buffer the start of the file. These files will appear to be
  3502. their full size in the cache, but they will be sparse files with only
  3503. the data that has been downloaded present in them.
  3504. This mode should support all normal file system operations and is
  3505. otherwise identical to --vfs-cache-mode writes.
  3506. When reading a file rclone will read --buffer-size plus --vfs-read-ahead
  3507. bytes ahead. The --buffer-size is buffered in memory whereas the
  3508. --vfs-read-ahead is buffered on disk.
  3509. When using this mode it is recommended that --buffer-size is not set too
  3510. large and --vfs-read-ahead is set large if required.
  3511. IMPORTANT not all file systems support sparse files. In particular
  3512. FAT/exFAT do not. Rclone will perform very badly if the cache directory
  3513. is on a filesystem which doesn't support sparse files and it will log an
  3514. ERROR message if one is detected.
  3515. Fingerprinting
  3516. Various parts of the VFS use fingerprinting to see if a local file copy
  3517. has changed relative to a remote file. Fingerprints are made from:
  3518. - size
  3519. - modification time
  3520. - hash
  3521. where available on an object.
  3522. On some backends some of these attributes are slow to read (they take an
  3523. extra API call per object, or extra work per object).
  3524. For example hash is slow with the local and sftp backends as they have
  3525. to read the entire file and hash it, and modtime is slow with the s3,
  3526. swift, ftp and qinqstor backends because they need to do an extra API
  3527. call to fetch it.
  3528. If you use the --vfs-fast-fingerprint flag then rclone will not include
  3529. the slow operations in the fingerprint. This makes the fingerprinting
  3530. less accurate but much faster and will improve the opening time of
  3531. cached files.
  3532. If you are running a vfs cache over local, s3 or swift backends then
  3533. using this flag is recommended.
  3534. Note that if you change the value of this flag, the fingerprints of the
  3535. files in the cache may be invalidated and the files will need to be
  3536. downloaded again.
  3537. VFS Chunked Reading
  3538. When rclone reads files from a remote it reads them in chunks. This
  3539. means that rather than requesting the whole file rclone reads the chunk
  3540. specified. This can reduce the used download quota for some remotes by
  3541. requesting only chunks from the remote that are actually read, at the
  3542. cost of an increased number of requests.
  3543. These flags control the chunking:
  3544. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  3545. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  3546. Rclone will start reading a chunk of size --vfs-read-chunk-size, and
  3547. then double the size for each read. When --vfs-read-chunk-size-limit is
  3548. specified, and greater than --vfs-read-chunk-size, the chunk size for
  3549. each open file will get doubled only until the specified value is
  3550. reached. If the value is "off", which is the default, the limit is
  3551. disabled and the chunk size will grow indefinitely.
  3552. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  3553. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  3554. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  3555. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  3556. 1200M-1700M and so on.
  3557. Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
  3558. VFS Performance
  3559. These flags may be used to enable/disable features of the VFS for
  3560. performance or other reasons. See also the chunked reading feature.
  3561. In particular S3 and Swift benefit hugely from the --no-modtime flag (or
  3562. use --use-server-modtime for a slightly different effect) as each read
  3563. of the modification time takes a transaction.
  3564. --no-checksum Don't compare checksums on up/download.
  3565. --no-modtime Don't read/write the modification time (can speed things up).
  3566. --no-seek Don't allow seeking in files.
  3567. --read-only Only allow read-only access.
  3568. Sometimes rclone is delivered reads or writes out of order. Rather than
  3569. seeking rclone will wait a short time for the in sequence read or write
  3570. to come in. These flags only come into effect when not using an on disk
  3571. cache file.
  3572. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  3573. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  3574. When using VFS write caching (--vfs-cache-mode with value writes or
  3575. full), the global flag --transfers can be set to adjust the number of
  3576. parallel uploads of modified files from the cache (the related global
  3577. flag --checkers has no effect on the VFS).
  3578. --transfers int Number of file transfers to run in parallel (default 4)
  3579. VFS Case Sensitivity
  3580. Linux file systems are case-sensitive: two files can differ only by
  3581. case, and the exact case must be used when opening a file.
  3582. File systems in modern Windows are case-insensitive but case-preserving:
  3583. although existing files can be opened using any case, the exact case
  3584. used to create the file is preserved and available for programs to
  3585. query. It is not allowed for two files in the same directory to differ
  3586. only by case.
  3587. Usually file systems on macOS are case-insensitive. It is possible to
  3588. make macOS file systems case-sensitive but that is not the default.
  3589. The --vfs-case-insensitive VFS flag controls how rclone handles these
  3590. two cases. If its value is "false", rclone passes file names to the
  3591. remote as-is. If the flag is "true" (or appears without a value on the
  3592. command line), rclone may perform a "fixup" as explained below.
  3593. The user may specify a file name to open/delete/rename/etc with a case
  3594. different than what is stored on the remote. If an argument refers to an
  3595. existing file with exactly the same name, then the case of the existing
  3596. file on the disk will be used. However, if a file name with exactly the
  3597. same name is not found but a name differing only by case exists, rclone
  3598. will transparently fixup the name. This fixup happens only when an
  3599. existing file is requested. Case sensitivity of file names created anew
  3600. by rclone is controlled by the underlying remote.
  3601. Note that case sensitivity of the operating system running rclone (the
  3602. target) may differ from case sensitivity of a file system presented by
  3603. rclone (the source). The flag controls whether "fixup" is performed to
  3604. satisfy the target.
  3605. If the flag is not provided on the command line, then its default value
  3606. depends on the operating system where rclone runs: "true" on Windows and
  3607. macOS, "false" otherwise. If the flag is provided without a value, then
  3608. it is "true".
  3609. VFS Disk Options
  3610. This flag allows you to manually set the statistics about the filing
  3611. system. It can be useful when those statistics cannot be read correctly
  3612. automatically.
  3613. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  3614. Alternate report of used bytes
  3615. Some backends, most notably S3, do not report the amount of bytes used.
  3616. If you need this information to be available when running df on the
  3617. filesystem, then pass the flag --vfs-used-is-size to rclone. With this
  3618. flag set, instead of relying on the backend to report this information,
  3619. rclone will scan the whole remote similar to rclone size and compute the
  3620. total used space itself.
  3621. WARNING. Contrary to rclone size, this flag ignores filters so that the
  3622. result is accurate. However, this is very inefficient and may cost lots
  3623. of API calls resulting in extra charges. Use it as a last resort and
  3624. only with caching.
  3625. rclone serve dlna remote:path [flags]
  3626. Options
  3627. --addr string The ip:port or :port to bind the DLNA http server to (default ":7879")
  3628. --announce-interval Duration The interval between SSDP announcements (default 12m0s)
  3629. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  3630. --dir-perms FileMode Directory permissions (default 0777)
  3631. --file-perms FileMode File permissions (default 0666)
  3632. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  3633. -h, --help help for dlna
  3634. --interface stringArray The interface to use for SSDP (repeat as necessary)
  3635. --log-trace Enable trace logging of SOAP traffic
  3636. --name string Name of DLNA server
  3637. --no-checksum Don't compare checksums on up/download
  3638. --no-modtime Don't read/write the modification time (can speed things up)
  3639. --no-seek Don't allow seeking in files
  3640. --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)
  3641. --read-only Only allow read-only access
  3642. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  3643. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  3644. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  3645. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  3646. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  3647. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  3648. --vfs-case-insensitive If a file name not found, find a case insensitive match
  3649. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  3650. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  3651. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  3652. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  3653. --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 ('off' is unlimited) (default off)
  3654. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  3655. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  3656. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  3657. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  3658. See the global flags page for global options not listed here.
  3659. SEE ALSO
  3660. - rclone serve - Serve a remote over a protocol.
  3661. rclone serve docker
  3662. Serve any remote on docker's volume plugin API.
  3663. Synopsis
  3664. This command implements the Docker volume plugin API allowing docker to
  3665. use rclone as a data storage mechanism for various cloud providers.
  3666. rclone provides docker volume plugin based on it.
  3667. To create a docker plugin, one must create a Unix or TCP socket that
  3668. Docker will look for when you use the plugin and then it listens for
  3669. commands from docker daemon and runs the corresponding code when
  3670. necessary. Docker plugins can run as a managed plugin under control of
  3671. the docker daemon or as an independent native service. For testing, you
  3672. can just run it directly from the command line, for example:
  3673. sudo rclone serve docker --base-dir /tmp/rclone-volumes --socket-addr localhost:8787 -vv
  3674. Running rclone serve docker will create the said socket, listening for
  3675. commands from Docker to create the necessary Volumes. Normally you need
  3676. not give the --socket-addr flag. The API will listen on the unix domain
  3677. socket at /run/docker/plugins/rclone.sock. In the example above rclone
  3678. will create a TCP socket and a small file
  3679. /etc/docker/plugins/rclone.spec containing the socket address. We use
  3680. sudo because both paths are writeable only by the root user.
  3681. If you later decide to change listening socket, the docker daemon must
  3682. be restarted to reconnect to /run/docker/plugins/rclone.sock or parse
  3683. new /etc/docker/plugins/rclone.spec. Until you restart, any volume
  3684. related docker commands will timeout trying to access the old socket.
  3685. Running directly is supported on Linux only, not on Windows or MacOS.
  3686. This is not a problem with managed plugin mode described in details in
  3687. the full documentation.
  3688. The command will create volume mounts under the path given by --base-dir
  3689. (by default /var/lib/docker-volumes/rclone available only to root) and
  3690. maintain the JSON formatted file docker-plugin.state in the rclone cache
  3691. directory with book-keeping records of created and mounted volumes.
  3692. All mount and VFS options are submitted by the docker daemon via API,
  3693. but you can also provide defaults on the command line as well as set
  3694. path to the config file and cache directory or adjust logging verbosity.
  3695. VFS - Virtual File System
  3696. This command uses the VFS layer. This adapts the cloud storage objects
  3697. that rclone uses into something which looks much more like a disk filing
  3698. system.
  3699. Cloud storage objects have lots of properties which aren't like disk
  3700. files - you can't extend them or write to the middle of them, so the VFS
  3701. layer has to deal with that. Because there is no one right way of doing
  3702. this there are various options explained below.
  3703. The VFS layer also implements a directory cache - this caches info about
  3704. files and directories (but not the data) in memory.
  3705. VFS Directory Cache
  3706. Using the --dir-cache-time flag, you can control how long a directory
  3707. should be considered up to date and not refreshed from the backend.
  3708. Changes made through the VFS will appear immediately or invalidate the
  3709. cache.
  3710. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  3711. --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)
  3712. However, changes made directly on the cloud storage by the web interface
  3713. or a different copy of rclone will only be picked up once the directory
  3714. cache expires if the backend configured does not support polling for
  3715. changes. If the backend supports polling, changes will be picked up
  3716. within the polling interval.
  3717. You can send a SIGHUP signal to rclone for it to flush all directory
  3718. caches, regardless of how old they are. Assuming only one rclone
  3719. instance is running, you can reset the cache like this:
  3720. kill -SIGHUP $(pidof rclone)
  3721. If you configure rclone with a remote control then you can use rclone rc
  3722. to flush the whole directory cache:
  3723. rclone rc vfs/forget
  3724. Or individual files or directories:
  3725. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  3726. VFS File Buffering
  3727. The --buffer-size flag determines the amount of memory, that will be
  3728. used to buffer data in advance.
  3729. Each open file will try to keep the specified amount of data in memory
  3730. at all times. The buffered data is bound to one open file and won't be
  3731. shared.
  3732. This flag is a upper limit for the used memory per open file. The buffer
  3733. will only use memory for data that is downloaded but not not yet read.
  3734. If the buffer is empty, only a small amount of memory will be used.
  3735. The maximum memory used by rclone for buffering can be up to
  3736. --buffer-size * open files.
  3737. VFS File Caching
  3738. These flags control the VFS file caching options. File caching is
  3739. necessary to make the VFS layer appear compatible with a normal file
  3740. system. It can be disabled at the cost of some compatibility.
  3741. For example you'll need to enable VFS caching if you want to read and
  3742. write simultaneously to a file. See below for more details.
  3743. Note that the VFS cache is separate from the cache backend and you may
  3744. find that you need one or the other or both.
  3745. --cache-dir string Directory rclone will use for caching.
  3746. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  3747. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  3748. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  3749. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  3750. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  3751. If run with -vv rclone will print the location of the file cache. The
  3752. files are stored in the user cache file area which is OS dependent but
  3753. can be controlled with --cache-dir or setting the appropriate
  3754. environment variable.
  3755. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  3756. the cache mode the more compatible rclone becomes at the cost of using
  3757. disk space.
  3758. Note that files are written back to the remote only when they are closed
  3759. and if they haven't been accessed for --vfs-write-back seconds. If
  3760. rclone is quit or dies with files that haven't been uploaded, these will
  3761. be uploaded next time rclone is run with the same flags.
  3762. If using --vfs-cache-max-size note that the cache may exceed this size
  3763. for two reasons. Firstly because it is only checked every
  3764. --vfs-cache-poll-interval. Secondly because open files cannot be evicted
  3765. from the cache. When --vfs-cache-max-size is exceeded, rclone will
  3766. attempt to evict the least accessed files from the cache first. rclone
  3767. will start with files that haven't been accessed for the longest. This
  3768. cache flushing strategy is efficient and more relevant files are likely
  3769. to remain cached.
  3770. The --vfs-cache-max-age will evict files from the cache after the set
  3771. time since last access has passed. The default value of 1 hour will
  3772. start evicting files from cache that haven't been accessed for 1 hour.
  3773. When a cached file is accessed the 1 hour timer is reset to 0 and will
  3774. wait for 1 more hour before evicting. Specify the time with standard
  3775. notation, s, m, h, d, w .
  3776. You should not run two copies of rclone using the same VFS cache with
  3777. the same or overlapping remotes if using --vfs-cache-mode > off. This
  3778. can potentially cause data corruption if you do. You can work around
  3779. this by giving each rclone its own cache hierarchy with --cache-dir. You
  3780. don't need to worry about this if the remotes in use don't overlap.
  3781. --vfs-cache-mode off
  3782. In this mode (the default) the cache will read directly from the remote
  3783. and write directly to the remote without caching anything on disk.
  3784. This will mean some operations are not possible
  3785. - Files can't be opened for both read AND write
  3786. - Files opened for write can't be seeked
  3787. - Existing files opened for write must have O_TRUNC set
  3788. - Files open for read with O_TRUNC will be opened write only
  3789. - Files open for write only will behave as if O_TRUNC was supplied
  3790. - Open modes O_APPEND, O_TRUNC are ignored
  3791. - If an upload fails it can't be retried
  3792. --vfs-cache-mode minimal
  3793. This is very similar to "off" except that files opened for read AND
  3794. write will be buffered to disk. This means that files opened for write
  3795. will be a lot more compatible, but uses the minimal disk space.
  3796. These operations are not possible
  3797. - Files opened for write only can't be seeked
  3798. - Existing files opened for write must have O_TRUNC set
  3799. - Files opened for write only will ignore O_APPEND, O_TRUNC
  3800. - If an upload fails it can't be retried
  3801. --vfs-cache-mode writes
  3802. In this mode files opened for read only are still read directly from the
  3803. remote, write only and read/write files are buffered to disk first.
  3804. This mode should support all normal file system operations.
  3805. If an upload fails it will be retried at exponentially increasing
  3806. intervals up to 1 minute.
  3807. --vfs-cache-mode full
  3808. In this mode all reads and writes are buffered to and from disk. When
  3809. data is read from the remote this is buffered to disk as well.
  3810. In this mode the files in the cache will be sparse files and rclone will
  3811. keep track of which bits of the files it has downloaded.
  3812. So if an application only reads the starts of each file, then rclone
  3813. will only buffer the start of the file. These files will appear to be
  3814. their full size in the cache, but they will be sparse files with only
  3815. the data that has been downloaded present in them.
  3816. This mode should support all normal file system operations and is
  3817. otherwise identical to --vfs-cache-mode writes.
  3818. When reading a file rclone will read --buffer-size plus --vfs-read-ahead
  3819. bytes ahead. The --buffer-size is buffered in memory whereas the
  3820. --vfs-read-ahead is buffered on disk.
  3821. When using this mode it is recommended that --buffer-size is not set too
  3822. large and --vfs-read-ahead is set large if required.
  3823. IMPORTANT not all file systems support sparse files. In particular
  3824. FAT/exFAT do not. Rclone will perform very badly if the cache directory
  3825. is on a filesystem which doesn't support sparse files and it will log an
  3826. ERROR message if one is detected.
  3827. Fingerprinting
  3828. Various parts of the VFS use fingerprinting to see if a local file copy
  3829. has changed relative to a remote file. Fingerprints are made from:
  3830. - size
  3831. - modification time
  3832. - hash
  3833. where available on an object.
  3834. On some backends some of these attributes are slow to read (they take an
  3835. extra API call per object, or extra work per object).
  3836. For example hash is slow with the local and sftp backends as they have
  3837. to read the entire file and hash it, and modtime is slow with the s3,
  3838. swift, ftp and qinqstor backends because they need to do an extra API
  3839. call to fetch it.
  3840. If you use the --vfs-fast-fingerprint flag then rclone will not include
  3841. the slow operations in the fingerprint. This makes the fingerprinting
  3842. less accurate but much faster and will improve the opening time of
  3843. cached files.
  3844. If you are running a vfs cache over local, s3 or swift backends then
  3845. using this flag is recommended.
  3846. Note that if you change the value of this flag, the fingerprints of the
  3847. files in the cache may be invalidated and the files will need to be
  3848. downloaded again.
  3849. VFS Chunked Reading
  3850. When rclone reads files from a remote it reads them in chunks. This
  3851. means that rather than requesting the whole file rclone reads the chunk
  3852. specified. This can reduce the used download quota for some remotes by
  3853. requesting only chunks from the remote that are actually read, at the
  3854. cost of an increased number of requests.
  3855. These flags control the chunking:
  3856. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  3857. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  3858. Rclone will start reading a chunk of size --vfs-read-chunk-size, and
  3859. then double the size for each read. When --vfs-read-chunk-size-limit is
  3860. specified, and greater than --vfs-read-chunk-size, the chunk size for
  3861. each open file will get doubled only until the specified value is
  3862. reached. If the value is "off", which is the default, the limit is
  3863. disabled and the chunk size will grow indefinitely.
  3864. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  3865. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  3866. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  3867. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  3868. 1200M-1700M and so on.
  3869. Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
  3870. VFS Performance
  3871. These flags may be used to enable/disable features of the VFS for
  3872. performance or other reasons. See also the chunked reading feature.
  3873. In particular S3 and Swift benefit hugely from the --no-modtime flag (or
  3874. use --use-server-modtime for a slightly different effect) as each read
  3875. of the modification time takes a transaction.
  3876. --no-checksum Don't compare checksums on up/download.
  3877. --no-modtime Don't read/write the modification time (can speed things up).
  3878. --no-seek Don't allow seeking in files.
  3879. --read-only Only allow read-only access.
  3880. Sometimes rclone is delivered reads or writes out of order. Rather than
  3881. seeking rclone will wait a short time for the in sequence read or write
  3882. to come in. These flags only come into effect when not using an on disk
  3883. cache file.
  3884. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  3885. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  3886. When using VFS write caching (--vfs-cache-mode with value writes or
  3887. full), the global flag --transfers can be set to adjust the number of
  3888. parallel uploads of modified files from the cache (the related global
  3889. flag --checkers has no effect on the VFS).
  3890. --transfers int Number of file transfers to run in parallel (default 4)
  3891. VFS Case Sensitivity
  3892. Linux file systems are case-sensitive: two files can differ only by
  3893. case, and the exact case must be used when opening a file.
  3894. File systems in modern Windows are case-insensitive but case-preserving:
  3895. although existing files can be opened using any case, the exact case
  3896. used to create the file is preserved and available for programs to
  3897. query. It is not allowed for two files in the same directory to differ
  3898. only by case.
  3899. Usually file systems on macOS are case-insensitive. It is possible to
  3900. make macOS file systems case-sensitive but that is not the default.
  3901. The --vfs-case-insensitive VFS flag controls how rclone handles these
  3902. two cases. If its value is "false", rclone passes file names to the
  3903. remote as-is. If the flag is "true" (or appears without a value on the
  3904. command line), rclone may perform a "fixup" as explained below.
  3905. The user may specify a file name to open/delete/rename/etc with a case
  3906. different than what is stored on the remote. If an argument refers to an
  3907. existing file with exactly the same name, then the case of the existing
  3908. file on the disk will be used. However, if a file name with exactly the
  3909. same name is not found but a name differing only by case exists, rclone
  3910. will transparently fixup the name. This fixup happens only when an
  3911. existing file is requested. Case sensitivity of file names created anew
  3912. by rclone is controlled by the underlying remote.
  3913. Note that case sensitivity of the operating system running rclone (the
  3914. target) may differ from case sensitivity of a file system presented by
  3915. rclone (the source). The flag controls whether "fixup" is performed to
  3916. satisfy the target.
  3917. If the flag is not provided on the command line, then its default value
  3918. depends on the operating system where rclone runs: "true" on Windows and
  3919. macOS, "false" otherwise. If the flag is provided without a value, then
  3920. it is "true".
  3921. VFS Disk Options
  3922. This flag allows you to manually set the statistics about the filing
  3923. system. It can be useful when those statistics cannot be read correctly
  3924. automatically.
  3925. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  3926. Alternate report of used bytes
  3927. Some backends, most notably S3, do not report the amount of bytes used.
  3928. If you need this information to be available when running df on the
  3929. filesystem, then pass the flag --vfs-used-is-size to rclone. With this
  3930. flag set, instead of relying on the backend to report this information,
  3931. rclone will scan the whole remote similar to rclone size and compute the
  3932. total used space itself.
  3933. WARNING. Contrary to rclone size, this flag ignores filters so that the
  3934. result is accurate. However, this is very inefficient and may cost lots
  3935. of API calls resulting in extra charges. Use it as a last resort and
  3936. only with caching.
  3937. rclone serve docker [flags]
  3938. Options
  3939. --allow-non-empty Allow mounting over a non-empty directory (not supported on Windows)
  3940. --allow-other Allow access to other users (not supported on Windows)
  3941. --allow-root Allow access to root user (not supported on Windows)
  3942. --async-read Use asynchronous reads (not supported on Windows) (default true)
  3943. --attr-timeout Duration Time for which file/directory attributes are cached (default 1s)
  3944. --base-dir string Base directory for volumes (default "/var/lib/docker-volumes/rclone")
  3945. --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)
  3946. --daemon-timeout Duration Time limit for rclone to respond to kernel (not supported on Windows) (default 0s)
  3947. --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)
  3948. --debug-fuse Debug the FUSE internals - needs -v
  3949. --default-permissions Makes kernel enforce access control based on the file mode (not supported on Windows)
  3950. --devname string Set the device name - default is remote:path
  3951. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  3952. --dir-perms FileMode Directory permissions (default 0777)
  3953. --file-perms FileMode File permissions (default 0666)
  3954. --forget-state Skip restoring previous state
  3955. --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required)
  3956. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  3957. -h, --help help for docker
  3958. --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki)
  3959. --mount-case-insensitive Tristate Tell the OS the mount is case insensitive (true) or sensitive (false) regardless of the backend (auto) (default unset)
  3960. --network-mode Mount as remote network drive, instead of fixed disk drive (supported on Windows only)
  3961. --no-checksum Don't compare checksums on up/download
  3962. --no-modtime Don't read/write the modification time (can speed things up)
  3963. --no-seek Don't allow seeking in files
  3964. --no-spec Do not write spec file
  3965. --noappledouble Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true)
  3966. --noapplexattr Ignore all "com.apple.*" extended attributes (supported on OSX only)
  3967. -o, --option stringArray Option for libfuse/WinFsp (repeat if required)
  3968. --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)
  3969. --read-only Only allow read-only access
  3970. --socket-addr string Address <host:port> or absolute path (default: /run/docker/plugins/rclone.sock)
  3971. --socket-gid int GID for unix socket (default: current process GID) (default 1000)
  3972. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  3973. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  3974. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  3975. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  3976. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  3977. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  3978. --vfs-case-insensitive If a file name not found, find a case insensitive match
  3979. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  3980. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  3981. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  3982. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  3983. --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 ('off' is unlimited) (default off)
  3984. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  3985. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  3986. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  3987. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  3988. --volname string Set the volume name (supported on Windows and OSX only)
  3989. --write-back-cache Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows)
  3990. See the global flags page for global options not listed here.
  3991. SEE ALSO
  3992. - rclone serve - Serve a remote over a protocol.
  3993. rclone serve ftp
  3994. Serve remote:path over FTP.
  3995. Synopsis
  3996. Run a basic FTP server to serve a remote over FTP protocol. This can be
  3997. viewed with a FTP client or you can make a remote of type FTP to read
  3998. and write it.
  3999. Server options
  4000. Use --addr to specify which IP address and port the server should listen
  4001. on, e.g. --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  4002. default it only listens on localhost. You can use port :0 to let the OS
  4003. choose an available port.
  4004. If you set --addr to listen on a public or LAN accessible IP address
  4005. then using Authentication is advised - see the next section for info.
  4006. Authentication
  4007. By default this will serve files without needing a login.
  4008. You can set a single username and password with the --user and --pass
  4009. flags.
  4010. VFS - Virtual File System
  4011. This command uses the VFS layer. This adapts the cloud storage objects
  4012. that rclone uses into something which looks much more like a disk filing
  4013. system.
  4014. Cloud storage objects have lots of properties which aren't like disk
  4015. files - you can't extend them or write to the middle of them, so the VFS
  4016. layer has to deal with that. Because there is no one right way of doing
  4017. this there are various options explained below.
  4018. The VFS layer also implements a directory cache - this caches info about
  4019. files and directories (but not the data) in memory.
  4020. VFS Directory Cache
  4021. Using the --dir-cache-time flag, you can control how long a directory
  4022. should be considered up to date and not refreshed from the backend.
  4023. Changes made through the VFS will appear immediately or invalidate the
  4024. cache.
  4025. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  4026. --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)
  4027. However, changes made directly on the cloud storage by the web interface
  4028. or a different copy of rclone will only be picked up once the directory
  4029. cache expires if the backend configured does not support polling for
  4030. changes. If the backend supports polling, changes will be picked up
  4031. within the polling interval.
  4032. You can send a SIGHUP signal to rclone for it to flush all directory
  4033. caches, regardless of how old they are. Assuming only one rclone
  4034. instance is running, you can reset the cache like this:
  4035. kill -SIGHUP $(pidof rclone)
  4036. If you configure rclone with a remote control then you can use rclone rc
  4037. to flush the whole directory cache:
  4038. rclone rc vfs/forget
  4039. Or individual files or directories:
  4040. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  4041. VFS File Buffering
  4042. The --buffer-size flag determines the amount of memory, that will be
  4043. used to buffer data in advance.
  4044. Each open file will try to keep the specified amount of data in memory
  4045. at all times. The buffered data is bound to one open file and won't be
  4046. shared.
  4047. This flag is a upper limit for the used memory per open file. The buffer
  4048. will only use memory for data that is downloaded but not not yet read.
  4049. If the buffer is empty, only a small amount of memory will be used.
  4050. The maximum memory used by rclone for buffering can be up to
  4051. --buffer-size * open files.
  4052. VFS File Caching
  4053. These flags control the VFS file caching options. File caching is
  4054. necessary to make the VFS layer appear compatible with a normal file
  4055. system. It can be disabled at the cost of some compatibility.
  4056. For example you'll need to enable VFS caching if you want to read and
  4057. write simultaneously to a file. See below for more details.
  4058. Note that the VFS cache is separate from the cache backend and you may
  4059. find that you need one or the other or both.
  4060. --cache-dir string Directory rclone will use for caching.
  4061. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  4062. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  4063. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  4064. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  4065. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  4066. If run with -vv rclone will print the location of the file cache. The
  4067. files are stored in the user cache file area which is OS dependent but
  4068. can be controlled with --cache-dir or setting the appropriate
  4069. environment variable.
  4070. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  4071. the cache mode the more compatible rclone becomes at the cost of using
  4072. disk space.
  4073. Note that files are written back to the remote only when they are closed
  4074. and if they haven't been accessed for --vfs-write-back seconds. If
  4075. rclone is quit or dies with files that haven't been uploaded, these will
  4076. be uploaded next time rclone is run with the same flags.
  4077. If using --vfs-cache-max-size note that the cache may exceed this size
  4078. for two reasons. Firstly because it is only checked every
  4079. --vfs-cache-poll-interval. Secondly because open files cannot be evicted
  4080. from the cache. When --vfs-cache-max-size is exceeded, rclone will
  4081. attempt to evict the least accessed files from the cache first. rclone
  4082. will start with files that haven't been accessed for the longest. This
  4083. cache flushing strategy is efficient and more relevant files are likely
  4084. to remain cached.
  4085. The --vfs-cache-max-age will evict files from the cache after the set
  4086. time since last access has passed. The default value of 1 hour will
  4087. start evicting files from cache that haven't been accessed for 1 hour.
  4088. When a cached file is accessed the 1 hour timer is reset to 0 and will
  4089. wait for 1 more hour before evicting. Specify the time with standard
  4090. notation, s, m, h, d, w .
  4091. You should not run two copies of rclone using the same VFS cache with
  4092. the same or overlapping remotes if using --vfs-cache-mode > off. This
  4093. can potentially cause data corruption if you do. You can work around
  4094. this by giving each rclone its own cache hierarchy with --cache-dir. You
  4095. don't need to worry about this if the remotes in use don't overlap.
  4096. --vfs-cache-mode off
  4097. In this mode (the default) the cache will read directly from the remote
  4098. and write directly to the remote without caching anything on disk.
  4099. This will mean some operations are not possible
  4100. - Files can't be opened for both read AND write
  4101. - Files opened for write can't be seeked
  4102. - Existing files opened for write must have O_TRUNC set
  4103. - Files open for read with O_TRUNC will be opened write only
  4104. - Files open for write only will behave as if O_TRUNC was supplied
  4105. - Open modes O_APPEND, O_TRUNC are ignored
  4106. - If an upload fails it can't be retried
  4107. --vfs-cache-mode minimal
  4108. This is very similar to "off" except that files opened for read AND
  4109. write will be buffered to disk. This means that files opened for write
  4110. will be a lot more compatible, but uses the minimal disk space.
  4111. These operations are not possible
  4112. - Files opened for write only can't be seeked
  4113. - Existing files opened for write must have O_TRUNC set
  4114. - Files opened for write only will ignore O_APPEND, O_TRUNC
  4115. - If an upload fails it can't be retried
  4116. --vfs-cache-mode writes
  4117. In this mode files opened for read only are still read directly from the
  4118. remote, write only and read/write files are buffered to disk first.
  4119. This mode should support all normal file system operations.
  4120. If an upload fails it will be retried at exponentially increasing
  4121. intervals up to 1 minute.
  4122. --vfs-cache-mode full
  4123. In this mode all reads and writes are buffered to and from disk. When
  4124. data is read from the remote this is buffered to disk as well.
  4125. In this mode the files in the cache will be sparse files and rclone will
  4126. keep track of which bits of the files it has downloaded.
  4127. So if an application only reads the starts of each file, then rclone
  4128. will only buffer the start of the file. These files will appear to be
  4129. their full size in the cache, but they will be sparse files with only
  4130. the data that has been downloaded present in them.
  4131. This mode should support all normal file system operations and is
  4132. otherwise identical to --vfs-cache-mode writes.
  4133. When reading a file rclone will read --buffer-size plus --vfs-read-ahead
  4134. bytes ahead. The --buffer-size is buffered in memory whereas the
  4135. --vfs-read-ahead is buffered on disk.
  4136. When using this mode it is recommended that --buffer-size is not set too
  4137. large and --vfs-read-ahead is set large if required.
  4138. IMPORTANT not all file systems support sparse files. In particular
  4139. FAT/exFAT do not. Rclone will perform very badly if the cache directory
  4140. is on a filesystem which doesn't support sparse files and it will log an
  4141. ERROR message if one is detected.
  4142. Fingerprinting
  4143. Various parts of the VFS use fingerprinting to see if a local file copy
  4144. has changed relative to a remote file. Fingerprints are made from:
  4145. - size
  4146. - modification time
  4147. - hash
  4148. where available on an object.
  4149. On some backends some of these attributes are slow to read (they take an
  4150. extra API call per object, or extra work per object).
  4151. For example hash is slow with the local and sftp backends as they have
  4152. to read the entire file and hash it, and modtime is slow with the s3,
  4153. swift, ftp and qinqstor backends because they need to do an extra API
  4154. call to fetch it.
  4155. If you use the --vfs-fast-fingerprint flag then rclone will not include
  4156. the slow operations in the fingerprint. This makes the fingerprinting
  4157. less accurate but much faster and will improve the opening time of
  4158. cached files.
  4159. If you are running a vfs cache over local, s3 or swift backends then
  4160. using this flag is recommended.
  4161. Note that if you change the value of this flag, the fingerprints of the
  4162. files in the cache may be invalidated and the files will need to be
  4163. downloaded again.
  4164. VFS Chunked Reading
  4165. When rclone reads files from a remote it reads them in chunks. This
  4166. means that rather than requesting the whole file rclone reads the chunk
  4167. specified. This can reduce the used download quota for some remotes by
  4168. requesting only chunks from the remote that are actually read, at the
  4169. cost of an increased number of requests.
  4170. These flags control the chunking:
  4171. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  4172. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  4173. Rclone will start reading a chunk of size --vfs-read-chunk-size, and
  4174. then double the size for each read. When --vfs-read-chunk-size-limit is
  4175. specified, and greater than --vfs-read-chunk-size, the chunk size for
  4176. each open file will get doubled only until the specified value is
  4177. reached. If the value is "off", which is the default, the limit is
  4178. disabled and the chunk size will grow indefinitely.
  4179. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  4180. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  4181. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  4182. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  4183. 1200M-1700M and so on.
  4184. Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
  4185. VFS Performance
  4186. These flags may be used to enable/disable features of the VFS for
  4187. performance or other reasons. See also the chunked reading feature.
  4188. In particular S3 and Swift benefit hugely from the --no-modtime flag (or
  4189. use --use-server-modtime for a slightly different effect) as each read
  4190. of the modification time takes a transaction.
  4191. --no-checksum Don't compare checksums on up/download.
  4192. --no-modtime Don't read/write the modification time (can speed things up).
  4193. --no-seek Don't allow seeking in files.
  4194. --read-only Only allow read-only access.
  4195. Sometimes rclone is delivered reads or writes out of order. Rather than
  4196. seeking rclone will wait a short time for the in sequence read or write
  4197. to come in. These flags only come into effect when not using an on disk
  4198. cache file.
  4199. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  4200. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  4201. When using VFS write caching (--vfs-cache-mode with value writes or
  4202. full), the global flag --transfers can be set to adjust the number of
  4203. parallel uploads of modified files from the cache (the related global
  4204. flag --checkers has no effect on the VFS).
  4205. --transfers int Number of file transfers to run in parallel (default 4)
  4206. VFS Case Sensitivity
  4207. Linux file systems are case-sensitive: two files can differ only by
  4208. case, and the exact case must be used when opening a file.
  4209. File systems in modern Windows are case-insensitive but case-preserving:
  4210. although existing files can be opened using any case, the exact case
  4211. used to create the file is preserved and available for programs to
  4212. query. It is not allowed for two files in the same directory to differ
  4213. only by case.
  4214. Usually file systems on macOS are case-insensitive. It is possible to
  4215. make macOS file systems case-sensitive but that is not the default.
  4216. The --vfs-case-insensitive VFS flag controls how rclone handles these
  4217. two cases. If its value is "false", rclone passes file names to the
  4218. remote as-is. If the flag is "true" (or appears without a value on the
  4219. command line), rclone may perform a "fixup" as explained below.
  4220. The user may specify a file name to open/delete/rename/etc with a case
  4221. different than what is stored on the remote. If an argument refers to an
  4222. existing file with exactly the same name, then the case of the existing
  4223. file on the disk will be used. However, if a file name with exactly the
  4224. same name is not found but a name differing only by case exists, rclone
  4225. will transparently fixup the name. This fixup happens only when an
  4226. existing file is requested. Case sensitivity of file names created anew
  4227. by rclone is controlled by the underlying remote.
  4228. Note that case sensitivity of the operating system running rclone (the
  4229. target) may differ from case sensitivity of a file system presented by
  4230. rclone (the source). The flag controls whether "fixup" is performed to
  4231. satisfy the target.
  4232. If the flag is not provided on the command line, then its default value
  4233. depends on the operating system where rclone runs: "true" on Windows and
  4234. macOS, "false" otherwise. If the flag is provided without a value, then
  4235. it is "true".
  4236. VFS Disk Options
  4237. This flag allows you to manually set the statistics about the filing
  4238. system. It can be useful when those statistics cannot be read correctly
  4239. automatically.
  4240. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  4241. Alternate report of used bytes
  4242. Some backends, most notably S3, do not report the amount of bytes used.
  4243. If you need this information to be available when running df on the
  4244. filesystem, then pass the flag --vfs-used-is-size to rclone. With this
  4245. flag set, instead of relying on the backend to report this information,
  4246. rclone will scan the whole remote similar to rclone size and compute the
  4247. total used space itself.
  4248. WARNING. Contrary to rclone size, this flag ignores filters so that the
  4249. result is accurate. However, this is very inefficient and may cost lots
  4250. of API calls resulting in extra charges. Use it as a last resort and
  4251. only with caching.
  4252. Auth Proxy
  4253. If you supply the parameter --auth-proxy /path/to/program then rclone
  4254. will use that program to generate backends on the fly which then are
  4255. used to authenticate incoming requests. This uses a simple JSON based
  4256. protocol with input on STDIN and output on STDOUT.
  4257. PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used together,
  4258. if --auth-proxy is set the authorized keys option will be ignored.
  4259. There is an example program bin/test_proxy.py in the rclone source code.
  4260. The program's job is to take a user and pass on the input and turn those
  4261. into the config for a backend on STDOUT in JSON format. This config will
  4262. have any default parameters for the backend added, but it won't use
  4263. configuration from environment variables or command line options - it is
  4264. the job of the proxy program to make a complete config.
  4265. This config generated must have this extra parameter - _root - root to
  4266. use for the backend
  4267. And it may have this parameter - _obscure - comma separated strings for
  4268. parameters to obscure
  4269. If password authentication was used by the client, input to the proxy
  4270. process (on STDIN) would look similar to this:
  4271. {
  4272. "user": "me",
  4273. "pass": "mypassword"
  4274. }
  4275. If public-key authentication was used by the client, input to the proxy
  4276. process (on STDIN) would look similar to this:
  4277. {
  4278. "user": "me",
  4279. "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
  4280. }
  4281. And as an example return this on STDOUT
  4282. {
  4283. "type": "sftp",
  4284. "_root": "",
  4285. "_obscure": "pass",
  4286. "user": "me",
  4287. "pass": "mypassword",
  4288. "host": "sftp.example.com"
  4289. }
  4290. This would mean that an SFTP backend would be created on the fly for the
  4291. user and pass/public_key returned in the output to the host given. Note
  4292. that since _obscure is set to pass, rclone will obscure the pass
  4293. parameter before creating the backend (which is required for sftp
  4294. backends).
  4295. The program can manipulate the supplied user in any way, for example to
  4296. make proxy to many different sftp backends, you could make the user be
  4297. user@example.com and then set the host to example.com in the output and
  4298. the user to user. For security you'd probably want to restrict the host
  4299. to a limited list.
  4300. Note that an internal cache is keyed on user so only use that for
  4301. configuration, don't use pass or public_key. This also means that if a
  4302. user's password or public-key is changed the cache will need to expire
  4303. (which takes 5 mins) before it takes effect.
  4304. This can be used to build general purpose proxies to any kind of backend
  4305. that rclone supports.
  4306. rclone serve ftp remote:path [flags]
  4307. Options
  4308. --addr string IPaddress:Port or :Port to bind server to (default "localhost:2121")
  4309. --auth-proxy string A program to use to create the backend from the auth
  4310. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  4311. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  4312. --dir-perms FileMode Directory permissions (default 0777)
  4313. --file-perms FileMode File permissions (default 0666)
  4314. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  4315. -h, --help help for ftp
  4316. --key string TLS PEM Private key
  4317. --no-checksum Don't compare checksums on up/download
  4318. --no-modtime Don't read/write the modification time (can speed things up)
  4319. --no-seek Don't allow seeking in files
  4320. --pass string Password for authentication (empty value allow every password)
  4321. --passive-port string Passive port range to use (default "30000-32000")
  4322. --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)
  4323. --public-ip string Public IP address to advertise for passive connections
  4324. --read-only Only allow read-only access
  4325. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  4326. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  4327. --user string User name for authentication (default "anonymous")
  4328. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  4329. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  4330. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  4331. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  4332. --vfs-case-insensitive If a file name not found, find a case insensitive match
  4333. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  4334. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  4335. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  4336. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  4337. --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 ('off' is unlimited) (default off)
  4338. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  4339. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  4340. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  4341. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  4342. See the global flags page for global options not listed here.
  4343. SEE ALSO
  4344. - rclone serve - Serve a remote over a protocol.
  4345. rclone serve http
  4346. Serve the remote over HTTP.
  4347. Synopsis
  4348. Run a basic web server to serve a remote over HTTP. This can be viewed
  4349. in a web browser or you can make a remote of type http read from it.
  4350. You can use the filter flags (e.g. --include, --exclude) to control what
  4351. is served.
  4352. The server will log errors. Use -v to see access logs.
  4353. --bwlimit will be respected for file transfers. Use --stats to control
  4354. the stats printing.
  4355. Server options
  4356. Use --addr to specify which IP address and port the server should listen
  4357. on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  4358. default it only listens on localhost. You can use port :0 to let the OS
  4359. choose an available port.
  4360. If you set --addr to listen on a public or LAN accessible IP address
  4361. then using Authentication is advised - see the next section for info.
  4362. You can use a unix socket by setting the url to unix:///path/to/socket
  4363. or just by using an absolute path name. Note that unix sockets bypass
  4364. the authentication - this is expected to be done with file system
  4365. permissions.
  4366. --addr may be repeated to listen on multiple IPs/ports/sockets.
  4367. --server-read-timeout and --server-write-timeout can be used to control
  4368. the timeouts on the server. Note that this is the total time for a
  4369. transfer.
  4370. --max-header-bytes controls the maximum number of bytes the server will
  4371. accept in the HTTP header.
  4372. --baseurl controls the URL prefix that rclone serves from. By default
  4373. rclone will serve from the root. If you used --baseurl "/rclone" then
  4374. rclone would serve from a URL starting with "/rclone/". This is useful
  4375. if you wish to proxy rclone serve. Rclone automatically inserts leading
  4376. and trailing "/" on --baseurl, so --baseurl "rclone",
  4377. --baseurl "/rclone" and --baseurl "/rclone/" are all treated
  4378. identically.
  4379. TLS (SSL)
  4380. By default this will serve over http. If you want you can serve over
  4381. https. You will need to supply the --cert and --key flags. If you wish
  4382. to do client side certificate validation then you will need to supply
  4383. --client-ca also.
  4384. --cert should be a either a PEM encoded certificate or a concatenation
  4385. of that with the CA certificate. --key should be the PEM encoded private
  4386. key and --client-ca should be the PEM encoded client certificate
  4387. authority certificate.
  4388. --min-tls-version is minimum TLS version that is acceptable. Valid
  4389. values are "tls1.0", "tls1.1", "tls1.2" and "tls1.3" (default "tls1.0").
  4390. Template
  4391. --template allows a user to specify a custom markup template for HTTP
  4392. and WebDAV serve functions. The server exports the following markup to
  4393. be used within the template to server pages:
  4394. -----------------------------------------------------------------------
  4395. Parameter Description
  4396. ----------------------------------- -----------------------------------
  4397. .Name The full path of a file/directory.
  4398. .Title Directory listing of .Name
  4399. .Sort The current sort used. This is
  4400. changeable via ?sort= parameter
  4401. Sort Options:
  4402. namedirfirst,name,size,time
  4403. (default namedirfirst)
  4404. .Order The current ordering used. This is
  4405. changeable via ?order= parameter
  4406. Order Options: asc,desc (default
  4407. asc)
  4408. .Query Currently unused.
  4409. .Breadcrumb Allows for creating a relative
  4410. navigation
  4411. -- .Link The relative to the root link of
  4412. the Text.
  4413. -- .Text The Name of the directory.
  4414. .Entries Information about a specific
  4415. file/directory.
  4416. -- .URL The 'url' of an entry.
  4417. -- .Leaf Currently same as 'URL' but
  4418. intended to be 'just' the name.
  4419. -- .IsDir Boolean for if an entry is a
  4420. directory or not.
  4421. -- .Size Size in Bytes of the entry.
  4422. -- .ModTime The UTC timestamp of an entry.
  4423. -----------------------------------------------------------------------
  4424. Authentication
  4425. By default this will serve files without needing a login.
  4426. You can either use an htpasswd file which can take lots of users, or set
  4427. a single username and password with the --user and --pass flags.
  4428. If no static users are configured by either of the above methods, and
  4429. client certificates are required by the --client-ca flag passed to the
  4430. server, the client certificate common name will be considered as the
  4431. username.
  4432. Use --htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  4433. standard apache format and supports MD5, SHA1 and BCrypt for basic
  4434. authentication. Bcrypt is recommended.
  4435. To create an htpasswd file:
  4436. touch htpasswd
  4437. htpasswd -B htpasswd user
  4438. htpasswd -B htpasswd anotherUser
  4439. The password file can be updated while rclone is running.
  4440. Use --realm to set the authentication realm.
  4441. Use --salt to change the password hashing salt from the default.
  4442. VFS - Virtual File System
  4443. This command uses the VFS layer. This adapts the cloud storage objects
  4444. that rclone uses into something which looks much more like a disk filing
  4445. system.
  4446. Cloud storage objects have lots of properties which aren't like disk
  4447. files - you can't extend them or write to the middle of them, so the VFS
  4448. layer has to deal with that. Because there is no one right way of doing
  4449. this there are various options explained below.
  4450. The VFS layer also implements a directory cache - this caches info about
  4451. files and directories (but not the data) in memory.
  4452. VFS Directory Cache
  4453. Using the --dir-cache-time flag, you can control how long a directory
  4454. should be considered up to date and not refreshed from the backend.
  4455. Changes made through the VFS will appear immediately or invalidate the
  4456. cache.
  4457. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  4458. --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)
  4459. However, changes made directly on the cloud storage by the web interface
  4460. or a different copy of rclone will only be picked up once the directory
  4461. cache expires if the backend configured does not support polling for
  4462. changes. If the backend supports polling, changes will be picked up
  4463. within the polling interval.
  4464. You can send a SIGHUP signal to rclone for it to flush all directory
  4465. caches, regardless of how old they are. Assuming only one rclone
  4466. instance is running, you can reset the cache like this:
  4467. kill -SIGHUP $(pidof rclone)
  4468. If you configure rclone with a remote control then you can use rclone rc
  4469. to flush the whole directory cache:
  4470. rclone rc vfs/forget
  4471. Or individual files or directories:
  4472. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  4473. VFS File Buffering
  4474. The --buffer-size flag determines the amount of memory, that will be
  4475. used to buffer data in advance.
  4476. Each open file will try to keep the specified amount of data in memory
  4477. at all times. The buffered data is bound to one open file and won't be
  4478. shared.
  4479. This flag is a upper limit for the used memory per open file. The buffer
  4480. will only use memory for data that is downloaded but not not yet read.
  4481. If the buffer is empty, only a small amount of memory will be used.
  4482. The maximum memory used by rclone for buffering can be up to
  4483. --buffer-size * open files.
  4484. VFS File Caching
  4485. These flags control the VFS file caching options. File caching is
  4486. necessary to make the VFS layer appear compatible with a normal file
  4487. system. It can be disabled at the cost of some compatibility.
  4488. For example you'll need to enable VFS caching if you want to read and
  4489. write simultaneously to a file. See below for more details.
  4490. Note that the VFS cache is separate from the cache backend and you may
  4491. find that you need one or the other or both.
  4492. --cache-dir string Directory rclone will use for caching.
  4493. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  4494. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  4495. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  4496. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  4497. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  4498. If run with -vv rclone will print the location of the file cache. The
  4499. files are stored in the user cache file area which is OS dependent but
  4500. can be controlled with --cache-dir or setting the appropriate
  4501. environment variable.
  4502. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  4503. the cache mode the more compatible rclone becomes at the cost of using
  4504. disk space.
  4505. Note that files are written back to the remote only when they are closed
  4506. and if they haven't been accessed for --vfs-write-back seconds. If
  4507. rclone is quit or dies with files that haven't been uploaded, these will
  4508. be uploaded next time rclone is run with the same flags.
  4509. If using --vfs-cache-max-size note that the cache may exceed this size
  4510. for two reasons. Firstly because it is only checked every
  4511. --vfs-cache-poll-interval. Secondly because open files cannot be evicted
  4512. from the cache. When --vfs-cache-max-size is exceeded, rclone will
  4513. attempt to evict the least accessed files from the cache first. rclone
  4514. will start with files that haven't been accessed for the longest. This
  4515. cache flushing strategy is efficient and more relevant files are likely
  4516. to remain cached.
  4517. The --vfs-cache-max-age will evict files from the cache after the set
  4518. time since last access has passed. The default value of 1 hour will
  4519. start evicting files from cache that haven't been accessed for 1 hour.
  4520. When a cached file is accessed the 1 hour timer is reset to 0 and will
  4521. wait for 1 more hour before evicting. Specify the time with standard
  4522. notation, s, m, h, d, w .
  4523. You should not run two copies of rclone using the same VFS cache with
  4524. the same or overlapping remotes if using --vfs-cache-mode > off. This
  4525. can potentially cause data corruption if you do. You can work around
  4526. this by giving each rclone its own cache hierarchy with --cache-dir. You
  4527. don't need to worry about this if the remotes in use don't overlap.
  4528. --vfs-cache-mode off
  4529. In this mode (the default) the cache will read directly from the remote
  4530. and write directly to the remote without caching anything on disk.
  4531. This will mean some operations are not possible
  4532. - Files can't be opened for both read AND write
  4533. - Files opened for write can't be seeked
  4534. - Existing files opened for write must have O_TRUNC set
  4535. - Files open for read with O_TRUNC will be opened write only
  4536. - Files open for write only will behave as if O_TRUNC was supplied
  4537. - Open modes O_APPEND, O_TRUNC are ignored
  4538. - If an upload fails it can't be retried
  4539. --vfs-cache-mode minimal
  4540. This is very similar to "off" except that files opened for read AND
  4541. write will be buffered to disk. This means that files opened for write
  4542. will be a lot more compatible, but uses the minimal disk space.
  4543. These operations are not possible
  4544. - Files opened for write only can't be seeked
  4545. - Existing files opened for write must have O_TRUNC set
  4546. - Files opened for write only will ignore O_APPEND, O_TRUNC
  4547. - If an upload fails it can't be retried
  4548. --vfs-cache-mode writes
  4549. In this mode files opened for read only are still read directly from the
  4550. remote, write only and read/write files are buffered to disk first.
  4551. This mode should support all normal file system operations.
  4552. If an upload fails it will be retried at exponentially increasing
  4553. intervals up to 1 minute.
  4554. --vfs-cache-mode full
  4555. In this mode all reads and writes are buffered to and from disk. When
  4556. data is read from the remote this is buffered to disk as well.
  4557. In this mode the files in the cache will be sparse files and rclone will
  4558. keep track of which bits of the files it has downloaded.
  4559. So if an application only reads the starts of each file, then rclone
  4560. will only buffer the start of the file. These files will appear to be
  4561. their full size in the cache, but they will be sparse files with only
  4562. the data that has been downloaded present in them.
  4563. This mode should support all normal file system operations and is
  4564. otherwise identical to --vfs-cache-mode writes.
  4565. When reading a file rclone will read --buffer-size plus --vfs-read-ahead
  4566. bytes ahead. The --buffer-size is buffered in memory whereas the
  4567. --vfs-read-ahead is buffered on disk.
  4568. When using this mode it is recommended that --buffer-size is not set too
  4569. large and --vfs-read-ahead is set large if required.
  4570. IMPORTANT not all file systems support sparse files. In particular
  4571. FAT/exFAT do not. Rclone will perform very badly if the cache directory
  4572. is on a filesystem which doesn't support sparse files and it will log an
  4573. ERROR message if one is detected.
  4574. Fingerprinting
  4575. Various parts of the VFS use fingerprinting to see if a local file copy
  4576. has changed relative to a remote file. Fingerprints are made from:
  4577. - size
  4578. - modification time
  4579. - hash
  4580. where available on an object.
  4581. On some backends some of these attributes are slow to read (they take an
  4582. extra API call per object, or extra work per object).
  4583. For example hash is slow with the local and sftp backends as they have
  4584. to read the entire file and hash it, and modtime is slow with the s3,
  4585. swift, ftp and qinqstor backends because they need to do an extra API
  4586. call to fetch it.
  4587. If you use the --vfs-fast-fingerprint flag then rclone will not include
  4588. the slow operations in the fingerprint. This makes the fingerprinting
  4589. less accurate but much faster and will improve the opening time of
  4590. cached files.
  4591. If you are running a vfs cache over local, s3 or swift backends then
  4592. using this flag is recommended.
  4593. Note that if you change the value of this flag, the fingerprints of the
  4594. files in the cache may be invalidated and the files will need to be
  4595. downloaded again.
  4596. VFS Chunked Reading
  4597. When rclone reads files from a remote it reads them in chunks. This
  4598. means that rather than requesting the whole file rclone reads the chunk
  4599. specified. This can reduce the used download quota for some remotes by
  4600. requesting only chunks from the remote that are actually read, at the
  4601. cost of an increased number of requests.
  4602. These flags control the chunking:
  4603. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  4604. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  4605. Rclone will start reading a chunk of size --vfs-read-chunk-size, and
  4606. then double the size for each read. When --vfs-read-chunk-size-limit is
  4607. specified, and greater than --vfs-read-chunk-size, the chunk size for
  4608. each open file will get doubled only until the specified value is
  4609. reached. If the value is "off", which is the default, the limit is
  4610. disabled and the chunk size will grow indefinitely.
  4611. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  4612. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  4613. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  4614. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  4615. 1200M-1700M and so on.
  4616. Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
  4617. VFS Performance
  4618. These flags may be used to enable/disable features of the VFS for
  4619. performance or other reasons. See also the chunked reading feature.
  4620. In particular S3 and Swift benefit hugely from the --no-modtime flag (or
  4621. use --use-server-modtime for a slightly different effect) as each read
  4622. of the modification time takes a transaction.
  4623. --no-checksum Don't compare checksums on up/download.
  4624. --no-modtime Don't read/write the modification time (can speed things up).
  4625. --no-seek Don't allow seeking in files.
  4626. --read-only Only allow read-only access.
  4627. Sometimes rclone is delivered reads or writes out of order. Rather than
  4628. seeking rclone will wait a short time for the in sequence read or write
  4629. to come in. These flags only come into effect when not using an on disk
  4630. cache file.
  4631. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  4632. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  4633. When using VFS write caching (--vfs-cache-mode with value writes or
  4634. full), the global flag --transfers can be set to adjust the number of
  4635. parallel uploads of modified files from the cache (the related global
  4636. flag --checkers has no effect on the VFS).
  4637. --transfers int Number of file transfers to run in parallel (default 4)
  4638. VFS Case Sensitivity
  4639. Linux file systems are case-sensitive: two files can differ only by
  4640. case, and the exact case must be used when opening a file.
  4641. File systems in modern Windows are case-insensitive but case-preserving:
  4642. although existing files can be opened using any case, the exact case
  4643. used to create the file is preserved and available for programs to
  4644. query. It is not allowed for two files in the same directory to differ
  4645. only by case.
  4646. Usually file systems on macOS are case-insensitive. It is possible to
  4647. make macOS file systems case-sensitive but that is not the default.
  4648. The --vfs-case-insensitive VFS flag controls how rclone handles these
  4649. two cases. If its value is "false", rclone passes file names to the
  4650. remote as-is. If the flag is "true" (or appears without a value on the
  4651. command line), rclone may perform a "fixup" as explained below.
  4652. The user may specify a file name to open/delete/rename/etc with a case
  4653. different than what is stored on the remote. If an argument refers to an
  4654. existing file with exactly the same name, then the case of the existing
  4655. file on the disk will be used. However, if a file name with exactly the
  4656. same name is not found but a name differing only by case exists, rclone
  4657. will transparently fixup the name. This fixup happens only when an
  4658. existing file is requested. Case sensitivity of file names created anew
  4659. by rclone is controlled by the underlying remote.
  4660. Note that case sensitivity of the operating system running rclone (the
  4661. target) may differ from case sensitivity of a file system presented by
  4662. rclone (the source). The flag controls whether "fixup" is performed to
  4663. satisfy the target.
  4664. If the flag is not provided on the command line, then its default value
  4665. depends on the operating system where rclone runs: "true" on Windows and
  4666. macOS, "false" otherwise. If the flag is provided without a value, then
  4667. it is "true".
  4668. VFS Disk Options
  4669. This flag allows you to manually set the statistics about the filing
  4670. system. It can be useful when those statistics cannot be read correctly
  4671. automatically.
  4672. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  4673. Alternate report of used bytes
  4674. Some backends, most notably S3, do not report the amount of bytes used.
  4675. If you need this information to be available when running df on the
  4676. filesystem, then pass the flag --vfs-used-is-size to rclone. With this
  4677. flag set, instead of relying on the backend to report this information,
  4678. rclone will scan the whole remote similar to rclone size and compute the
  4679. total used space itself.
  4680. WARNING. Contrary to rclone size, this flag ignores filters so that the
  4681. result is accurate. However, this is very inefficient and may cost lots
  4682. of API calls resulting in extra charges. Use it as a last resort and
  4683. only with caching.
  4684. Auth Proxy
  4685. If you supply the parameter --auth-proxy /path/to/program then rclone
  4686. will use that program to generate backends on the fly which then are
  4687. used to authenticate incoming requests. This uses a simple JSON based
  4688. protocol with input on STDIN and output on STDOUT.
  4689. PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used together,
  4690. if --auth-proxy is set the authorized keys option will be ignored.
  4691. There is an example program bin/test_proxy.py in the rclone source code.
  4692. The program's job is to take a user and pass on the input and turn those
  4693. into the config for a backend on STDOUT in JSON format. This config will
  4694. have any default parameters for the backend added, but it won't use
  4695. configuration from environment variables or command line options - it is
  4696. the job of the proxy program to make a complete config.
  4697. This config generated must have this extra parameter - _root - root to
  4698. use for the backend
  4699. And it may have this parameter - _obscure - comma separated strings for
  4700. parameters to obscure
  4701. If password authentication was used by the client, input to the proxy
  4702. process (on STDIN) would look similar to this:
  4703. {
  4704. "user": "me",
  4705. "pass": "mypassword"
  4706. }
  4707. If public-key authentication was used by the client, input to the proxy
  4708. process (on STDIN) would look similar to this:
  4709. {
  4710. "user": "me",
  4711. "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
  4712. }
  4713. And as an example return this on STDOUT
  4714. {
  4715. "type": "sftp",
  4716. "_root": "",
  4717. "_obscure": "pass",
  4718. "user": "me",
  4719. "pass": "mypassword",
  4720. "host": "sftp.example.com"
  4721. }
  4722. This would mean that an SFTP backend would be created on the fly for the
  4723. user and pass/public_key returned in the output to the host given. Note
  4724. that since _obscure is set to pass, rclone will obscure the pass
  4725. parameter before creating the backend (which is required for sftp
  4726. backends).
  4727. The program can manipulate the supplied user in any way, for example to
  4728. make proxy to many different sftp backends, you could make the user be
  4729. user@example.com and then set the host to example.com in the output and
  4730. the user to user. For security you'd probably want to restrict the host
  4731. to a limited list.
  4732. Note that an internal cache is keyed on user so only use that for
  4733. configuration, don't use pass or public_key. This also means that if a
  4734. user's password or public-key is changed the cache will need to expire
  4735. (which takes 5 mins) before it takes effect.
  4736. This can be used to build general purpose proxies to any kind of backend
  4737. that rclone supports.
  4738. rclone serve http remote:path [flags]
  4739. Options
  4740. --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080])
  4741. --auth-proxy string A program to use to create the backend from the auth
  4742. --baseurl string Prefix for URLs - leave blank for root
  4743. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  4744. --client-ca string Client certificate authority to verify clients with
  4745. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  4746. --dir-perms FileMode Directory permissions (default 0777)
  4747. --file-perms FileMode File permissions (default 0666)
  4748. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  4749. -h, --help help for http
  4750. --htpasswd string A htpasswd file - if not provided no authentication is done
  4751. --key string TLS PEM Private key
  4752. --max-header-bytes int Maximum size of request header (default 4096)
  4753. --min-tls-version string Minimum TLS version that is acceptable (default "tls1.0")
  4754. --no-checksum Don't compare checksums on up/download
  4755. --no-modtime Don't read/write the modification time (can speed things up)
  4756. --no-seek Don't allow seeking in files
  4757. --pass string Password for authentication
  4758. --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)
  4759. --read-only Only allow read-only access
  4760. --realm string Realm for authentication
  4761. --salt string Password hashing salt (default "dlPL2MqE")
  4762. --server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  4763. --server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  4764. --template string User-specified template
  4765. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  4766. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  4767. --user string User name for authentication
  4768. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  4769. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  4770. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  4771. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  4772. --vfs-case-insensitive If a file name not found, find a case insensitive match
  4773. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  4774. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  4775. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  4776. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  4777. --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 ('off' is unlimited) (default off)
  4778. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  4779. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  4780. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  4781. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  4782. See the global flags page for global options not listed here.
  4783. SEE ALSO
  4784. - rclone serve - Serve a remote over a protocol.
  4785. rclone serve restic
  4786. Serve the remote for restic's REST API.
  4787. Synopsis
  4788. Run a basic web server to serve a remote over restic's REST backend API
  4789. over HTTP. This allows restic to use rclone as a data storage mechanism
  4790. for cloud providers that restic does not support directly.
  4791. Restic is a command-line program for doing backups.
  4792. The server will log errors. Use -v to see access logs.
  4793. --bwlimit will be respected for file transfers. Use --stats to control
  4794. the stats printing.
  4795. Setting up rclone for use by restic
  4796. First set up a remote for your chosen cloud provider.
  4797. Once you have set up the remote, check it is working with, for example
  4798. "rclone lsd remote:". You may have called the remote something other
  4799. than "remote:" - just substitute whatever you called it in the following
  4800. instructions.
  4801. Now start the rclone restic server
  4802. rclone serve restic -v remote:backup
  4803. Where you can replace "backup" in the above by whatever path in the
  4804. remote you wish to use.
  4805. By default this will serve on "localhost:8080" you can change this with
  4806. use of the --addr flag.
  4807. You might wish to start this server on boot.
  4808. Adding --cache-objects=false will cause rclone to stop caching objects
  4809. returned from the List call. Caching is normally desirable as it speeds
  4810. up downloading objects, saves transactions and uses very little memory.
  4811. Setting up restic to use rclone
  4812. Now you can follow the restic instructions on setting up restic.
  4813. Note that you will need restic 0.8.2 or later to interoperate with
  4814. rclone.
  4815. For the example above you will want to use "http://localhost:8080/" as
  4816. the URL for the REST server.
  4817. For example:
  4818. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/
  4819. $ export RESTIC_PASSWORD=yourpassword
  4820. $ restic init
  4821. created restic backend 8b1a4b56ae at rest:http://localhost:8080/
  4822. Please note that knowledge of your password is required to access
  4823. the repository. Losing your password means that your data is
  4824. irrecoverably lost.
  4825. $ restic backup /path/to/files/to/backup
  4826. scan [/path/to/files/to/backup]
  4827. scanned 189 directories, 312 files in 0:00
  4828. [0:00] 100.00% 38.128 MiB / 38.128 MiB 501 / 501 items 0 errors ETA 0:00
  4829. duration: 0:00
  4830. snapshot 45c8fdd8 saved
  4831. Multiple repositories
  4832. Note that you can use the endpoint to host multiple repositories. Do
  4833. this by adding a directory name or path after the URL. Note that these
  4834. must end with /. Eg
  4835. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/
  4836. # backup user1 stuff
  4837. $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/
  4838. # backup user2 stuff
  4839. Private repositories
  4840. The--private-repos flag can be used to limit users to repositories
  4841. starting with a path of /<username>/.
  4842. Server options
  4843. Use --addr to specify which IP address and port the server should listen
  4844. on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  4845. default it only listens on localhost. You can use port :0 to let the OS
  4846. choose an available port.
  4847. If you set --addr to listen on a public or LAN accessible IP address
  4848. then using Authentication is advised - see the next section for info.
  4849. You can use a unix socket by setting the url to unix:///path/to/socket
  4850. or just by using an absolute path name. Note that unix sockets bypass
  4851. the authentication - this is expected to be done with file system
  4852. permissions.
  4853. --addr may be repeated to listen on multiple IPs/ports/sockets.
  4854. --server-read-timeout and --server-write-timeout can be used to control
  4855. the timeouts on the server. Note that this is the total time for a
  4856. transfer.
  4857. --max-header-bytes controls the maximum number of bytes the server will
  4858. accept in the HTTP header.
  4859. --baseurl controls the URL prefix that rclone serves from. By default
  4860. rclone will serve from the root. If you used --baseurl "/rclone" then
  4861. rclone would serve from a URL starting with "/rclone/". This is useful
  4862. if you wish to proxy rclone serve. Rclone automatically inserts leading
  4863. and trailing "/" on --baseurl, so --baseurl "rclone",
  4864. --baseurl "/rclone" and --baseurl "/rclone/" are all treated
  4865. identically.
  4866. TLS (SSL)
  4867. By default this will serve over http. If you want you can serve over
  4868. https. You will need to supply the --cert and --key flags. If you wish
  4869. to do client side certificate validation then you will need to supply
  4870. --client-ca also.
  4871. --cert should be a either a PEM encoded certificate or a concatenation
  4872. of that with the CA certificate. --key should be the PEM encoded private
  4873. key and --client-ca should be the PEM encoded client certificate
  4874. authority certificate.
  4875. --min-tls-version is minimum TLS version that is acceptable. Valid
  4876. values are "tls1.0", "tls1.1", "tls1.2" and "tls1.3" (default "tls1.0").
  4877. Authentication
  4878. By default this will serve files without needing a login.
  4879. You can either use an htpasswd file which can take lots of users, or set
  4880. a single username and password with the --user and --pass flags.
  4881. If no static users are configured by either of the above methods, and
  4882. client certificates are required by the --client-ca flag passed to the
  4883. server, the client certificate common name will be considered as the
  4884. username.
  4885. Use --htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  4886. standard apache format and supports MD5, SHA1 and BCrypt for basic
  4887. authentication. Bcrypt is recommended.
  4888. To create an htpasswd file:
  4889. touch htpasswd
  4890. htpasswd -B htpasswd user
  4891. htpasswd -B htpasswd anotherUser
  4892. The password file can be updated while rclone is running.
  4893. Use --realm to set the authentication realm.
  4894. Use --salt to change the password hashing salt from the default.
  4895. rclone serve restic remote:path [flags]
  4896. Options
  4897. --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080])
  4898. --append-only Disallow deletion of repository data
  4899. --baseurl string Prefix for URLs - leave blank for root
  4900. --cache-objects Cache listed objects (default true)
  4901. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  4902. --client-ca string Client certificate authority to verify clients with
  4903. -h, --help help for restic
  4904. --htpasswd string A htpasswd file - if not provided no authentication is done
  4905. --key string TLS PEM Private key
  4906. --max-header-bytes int Maximum size of request header (default 4096)
  4907. --min-tls-version string Minimum TLS version that is acceptable (default "tls1.0")
  4908. --pass string Password for authentication
  4909. --private-repos Users can only access their private repo
  4910. --realm string Realm for authentication
  4911. --salt string Password hashing salt (default "dlPL2MqE")
  4912. --server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  4913. --server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  4914. --stdio Run an HTTP2 server on stdin/stdout
  4915. --user string User name for authentication
  4916. See the global flags page for global options not listed here.
  4917. SEE ALSO
  4918. - rclone serve - Serve a remote over a protocol.
  4919. rclone serve sftp
  4920. Serve the remote over SFTP.
  4921. Synopsis
  4922. Run an SFTP server to serve a remote over SFTP. This can be used with an
  4923. SFTP client or you can make a remote of type sftp to use with it.
  4924. You can use the filter flags (e.g. --include, --exclude) to control what
  4925. is served.
  4926. The server will respond to a small number of shell commands, mainly
  4927. md5sum, sha1sum and df, which enable it to provide support for checksums
  4928. and the about feature when accessed from an sftp remote.
  4929. Note that this server uses standard 32 KiB packet payload size, which
  4930. means you must not configure the client to expect anything else, e.g.
  4931. with the chunk_size option on an sftp remote.
  4932. The server will log errors. Use -v to see access logs.
  4933. --bwlimit will be respected for file transfers. Use --stats to control
  4934. the stats printing.
  4935. You must provide some means of authentication, either with
  4936. --user/--pass, an authorized keys file (specify location with
  4937. --authorized-keys - the default is the same as ssh), an --auth-proxy, or
  4938. set the --no-auth flag for no authentication when logging in.
  4939. If you don't supply a host --key then rclone will generate rsa, ecdsa
  4940. and ed25519 variants, and cache them for later use in rclone's cache
  4941. directory (see rclone help flags cache-dir) in the "serve-sftp"
  4942. directory.
  4943. By default the server binds to localhost:2022 - if you want it to be
  4944. reachable externally then supply --addr :2022 for example.
  4945. Note that the default of --vfs-cache-mode off is fine for the rclone
  4946. sftp backend, but it may not be with other SFTP clients.
  4947. If --stdio is specified, rclone will serve SFTP over stdio, which can be
  4948. used with sshd via ~/.ssh/authorized_keys, for example:
  4949. restrict,command="rclone serve sftp --stdio ./photos" ssh-rsa ...
  4950. On the client you need to set --transfers 1 when using --stdio.
  4951. Otherwise multiple instances of the rclone server are started by OpenSSH
  4952. which can lead to "corrupted on transfer" errors. This is the case
  4953. because the client chooses indiscriminately which server to send
  4954. commands to while the servers all have different views of the state of
  4955. the filing system.
  4956. The "restrict" in authorized_keys prevents SHA1SUMs and MD5SUMs from
  4957. being used. Omitting "restrict" and using --sftp-path-override to enable
  4958. checksumming is possible but less secure and you could use the SFTP
  4959. server provided by OpenSSH in this case.
  4960. VFS - Virtual File System
  4961. This command uses the VFS layer. This adapts the cloud storage objects
  4962. that rclone uses into something which looks much more like a disk filing
  4963. system.
  4964. Cloud storage objects have lots of properties which aren't like disk
  4965. files - you can't extend them or write to the middle of them, so the VFS
  4966. layer has to deal with that. Because there is no one right way of doing
  4967. this there are various options explained below.
  4968. The VFS layer also implements a directory cache - this caches info about
  4969. files and directories (but not the data) in memory.
  4970. VFS Directory Cache
  4971. Using the --dir-cache-time flag, you can control how long a directory
  4972. should be considered up to date and not refreshed from the backend.
  4973. Changes made through the VFS will appear immediately or invalidate the
  4974. cache.
  4975. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  4976. --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)
  4977. However, changes made directly on the cloud storage by the web interface
  4978. or a different copy of rclone will only be picked up once the directory
  4979. cache expires if the backend configured does not support polling for
  4980. changes. If the backend supports polling, changes will be picked up
  4981. within the polling interval.
  4982. You can send a SIGHUP signal to rclone for it to flush all directory
  4983. caches, regardless of how old they are. Assuming only one rclone
  4984. instance is running, you can reset the cache like this:
  4985. kill -SIGHUP $(pidof rclone)
  4986. If you configure rclone with a remote control then you can use rclone rc
  4987. to flush the whole directory cache:
  4988. rclone rc vfs/forget
  4989. Or individual files or directories:
  4990. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  4991. VFS File Buffering
  4992. The --buffer-size flag determines the amount of memory, that will be
  4993. used to buffer data in advance.
  4994. Each open file will try to keep the specified amount of data in memory
  4995. at all times. The buffered data is bound to one open file and won't be
  4996. shared.
  4997. This flag is a upper limit for the used memory per open file. The buffer
  4998. will only use memory for data that is downloaded but not not yet read.
  4999. If the buffer is empty, only a small amount of memory will be used.
  5000. The maximum memory used by rclone for buffering can be up to
  5001. --buffer-size * open files.
  5002. VFS File Caching
  5003. These flags control the VFS file caching options. File caching is
  5004. necessary to make the VFS layer appear compatible with a normal file
  5005. system. It can be disabled at the cost of some compatibility.
  5006. For example you'll need to enable VFS caching if you want to read and
  5007. write simultaneously to a file. See below for more details.
  5008. Note that the VFS cache is separate from the cache backend and you may
  5009. find that you need one or the other or both.
  5010. --cache-dir string Directory rclone will use for caching.
  5011. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  5012. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  5013. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  5014. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  5015. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  5016. If run with -vv rclone will print the location of the file cache. The
  5017. files are stored in the user cache file area which is OS dependent but
  5018. can be controlled with --cache-dir or setting the appropriate
  5019. environment variable.
  5020. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  5021. the cache mode the more compatible rclone becomes at the cost of using
  5022. disk space.
  5023. Note that files are written back to the remote only when they are closed
  5024. and if they haven't been accessed for --vfs-write-back seconds. If
  5025. rclone is quit or dies with files that haven't been uploaded, these will
  5026. be uploaded next time rclone is run with the same flags.
  5027. If using --vfs-cache-max-size note that the cache may exceed this size
  5028. for two reasons. Firstly because it is only checked every
  5029. --vfs-cache-poll-interval. Secondly because open files cannot be evicted
  5030. from the cache. When --vfs-cache-max-size is exceeded, rclone will
  5031. attempt to evict the least accessed files from the cache first. rclone
  5032. will start with files that haven't been accessed for the longest. This
  5033. cache flushing strategy is efficient and more relevant files are likely
  5034. to remain cached.
  5035. The --vfs-cache-max-age will evict files from the cache after the set
  5036. time since last access has passed. The default value of 1 hour will
  5037. start evicting files from cache that haven't been accessed for 1 hour.
  5038. When a cached file is accessed the 1 hour timer is reset to 0 and will
  5039. wait for 1 more hour before evicting. Specify the time with standard
  5040. notation, s, m, h, d, w .
  5041. You should not run two copies of rclone using the same VFS cache with
  5042. the same or overlapping remotes if using --vfs-cache-mode > off. This
  5043. can potentially cause data corruption if you do. You can work around
  5044. this by giving each rclone its own cache hierarchy with --cache-dir. You
  5045. don't need to worry about this if the remotes in use don't overlap.
  5046. --vfs-cache-mode off
  5047. In this mode (the default) the cache will read directly from the remote
  5048. and write directly to the remote without caching anything on disk.
  5049. This will mean some operations are not possible
  5050. - Files can't be opened for both read AND write
  5051. - Files opened for write can't be seeked
  5052. - Existing files opened for write must have O_TRUNC set
  5053. - Files open for read with O_TRUNC will be opened write only
  5054. - Files open for write only will behave as if O_TRUNC was supplied
  5055. - Open modes O_APPEND, O_TRUNC are ignored
  5056. - If an upload fails it can't be retried
  5057. --vfs-cache-mode minimal
  5058. This is very similar to "off" except that files opened for read AND
  5059. write will be buffered to disk. This means that files opened for write
  5060. will be a lot more compatible, but uses the minimal disk space.
  5061. These operations are not possible
  5062. - Files opened for write only can't be seeked
  5063. - Existing files opened for write must have O_TRUNC set
  5064. - Files opened for write only will ignore O_APPEND, O_TRUNC
  5065. - If an upload fails it can't be retried
  5066. --vfs-cache-mode writes
  5067. In this mode files opened for read only are still read directly from the
  5068. remote, write only and read/write files are buffered to disk first.
  5069. This mode should support all normal file system operations.
  5070. If an upload fails it will be retried at exponentially increasing
  5071. intervals up to 1 minute.
  5072. --vfs-cache-mode full
  5073. In this mode all reads and writes are buffered to and from disk. When
  5074. data is read from the remote this is buffered to disk as well.
  5075. In this mode the files in the cache will be sparse files and rclone will
  5076. keep track of which bits of the files it has downloaded.
  5077. So if an application only reads the starts of each file, then rclone
  5078. will only buffer the start of the file. These files will appear to be
  5079. their full size in the cache, but they will be sparse files with only
  5080. the data that has been downloaded present in them.
  5081. This mode should support all normal file system operations and is
  5082. otherwise identical to --vfs-cache-mode writes.
  5083. When reading a file rclone will read --buffer-size plus --vfs-read-ahead
  5084. bytes ahead. The --buffer-size is buffered in memory whereas the
  5085. --vfs-read-ahead is buffered on disk.
  5086. When using this mode it is recommended that --buffer-size is not set too
  5087. large and --vfs-read-ahead is set large if required.
  5088. IMPORTANT not all file systems support sparse files. In particular
  5089. FAT/exFAT do not. Rclone will perform very badly if the cache directory
  5090. is on a filesystem which doesn't support sparse files and it will log an
  5091. ERROR message if one is detected.
  5092. Fingerprinting
  5093. Various parts of the VFS use fingerprinting to see if a local file copy
  5094. has changed relative to a remote file. Fingerprints are made from:
  5095. - size
  5096. - modification time
  5097. - hash
  5098. where available on an object.
  5099. On some backends some of these attributes are slow to read (they take an
  5100. extra API call per object, or extra work per object).
  5101. For example hash is slow with the local and sftp backends as they have
  5102. to read the entire file and hash it, and modtime is slow with the s3,
  5103. swift, ftp and qinqstor backends because they need to do an extra API
  5104. call to fetch it.
  5105. If you use the --vfs-fast-fingerprint flag then rclone will not include
  5106. the slow operations in the fingerprint. This makes the fingerprinting
  5107. less accurate but much faster and will improve the opening time of
  5108. cached files.
  5109. If you are running a vfs cache over local, s3 or swift backends then
  5110. using this flag is recommended.
  5111. Note that if you change the value of this flag, the fingerprints of the
  5112. files in the cache may be invalidated and the files will need to be
  5113. downloaded again.
  5114. VFS Chunked Reading
  5115. When rclone reads files from a remote it reads them in chunks. This
  5116. means that rather than requesting the whole file rclone reads the chunk
  5117. specified. This can reduce the used download quota for some remotes by
  5118. requesting only chunks from the remote that are actually read, at the
  5119. cost of an increased number of requests.
  5120. These flags control the chunking:
  5121. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  5122. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  5123. Rclone will start reading a chunk of size --vfs-read-chunk-size, and
  5124. then double the size for each read. When --vfs-read-chunk-size-limit is
  5125. specified, and greater than --vfs-read-chunk-size, the chunk size for
  5126. each open file will get doubled only until the specified value is
  5127. reached. If the value is "off", which is the default, the limit is
  5128. disabled and the chunk size will grow indefinitely.
  5129. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  5130. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  5131. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  5132. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  5133. 1200M-1700M and so on.
  5134. Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
  5135. VFS Performance
  5136. These flags may be used to enable/disable features of the VFS for
  5137. performance or other reasons. See also the chunked reading feature.
  5138. In particular S3 and Swift benefit hugely from the --no-modtime flag (or
  5139. use --use-server-modtime for a slightly different effect) as each read
  5140. of the modification time takes a transaction.
  5141. --no-checksum Don't compare checksums on up/download.
  5142. --no-modtime Don't read/write the modification time (can speed things up).
  5143. --no-seek Don't allow seeking in files.
  5144. --read-only Only allow read-only access.
  5145. Sometimes rclone is delivered reads or writes out of order. Rather than
  5146. seeking rclone will wait a short time for the in sequence read or write
  5147. to come in. These flags only come into effect when not using an on disk
  5148. cache file.
  5149. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  5150. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  5151. When using VFS write caching (--vfs-cache-mode with value writes or
  5152. full), the global flag --transfers can be set to adjust the number of
  5153. parallel uploads of modified files from the cache (the related global
  5154. flag --checkers has no effect on the VFS).
  5155. --transfers int Number of file transfers to run in parallel (default 4)
  5156. VFS Case Sensitivity
  5157. Linux file systems are case-sensitive: two files can differ only by
  5158. case, and the exact case must be used when opening a file.
  5159. File systems in modern Windows are case-insensitive but case-preserving:
  5160. although existing files can be opened using any case, the exact case
  5161. used to create the file is preserved and available for programs to
  5162. query. It is not allowed for two files in the same directory to differ
  5163. only by case.
  5164. Usually file systems on macOS are case-insensitive. It is possible to
  5165. make macOS file systems case-sensitive but that is not the default.
  5166. The --vfs-case-insensitive VFS flag controls how rclone handles these
  5167. two cases. If its value is "false", rclone passes file names to the
  5168. remote as-is. If the flag is "true" (or appears without a value on the
  5169. command line), rclone may perform a "fixup" as explained below.
  5170. The user may specify a file name to open/delete/rename/etc with a case
  5171. different than what is stored on the remote. If an argument refers to an
  5172. existing file with exactly the same name, then the case of the existing
  5173. file on the disk will be used. However, if a file name with exactly the
  5174. same name is not found but a name differing only by case exists, rclone
  5175. will transparently fixup the name. This fixup happens only when an
  5176. existing file is requested. Case sensitivity of file names created anew
  5177. by rclone is controlled by the underlying remote.
  5178. Note that case sensitivity of the operating system running rclone (the
  5179. target) may differ from case sensitivity of a file system presented by
  5180. rclone (the source). The flag controls whether "fixup" is performed to
  5181. satisfy the target.
  5182. If the flag is not provided on the command line, then its default value
  5183. depends on the operating system where rclone runs: "true" on Windows and
  5184. macOS, "false" otherwise. If the flag is provided without a value, then
  5185. it is "true".
  5186. VFS Disk Options
  5187. This flag allows you to manually set the statistics about the filing
  5188. system. It can be useful when those statistics cannot be read correctly
  5189. automatically.
  5190. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  5191. Alternate report of used bytes
  5192. Some backends, most notably S3, do not report the amount of bytes used.
  5193. If you need this information to be available when running df on the
  5194. filesystem, then pass the flag --vfs-used-is-size to rclone. With this
  5195. flag set, instead of relying on the backend to report this information,
  5196. rclone will scan the whole remote similar to rclone size and compute the
  5197. total used space itself.
  5198. WARNING. Contrary to rclone size, this flag ignores filters so that the
  5199. result is accurate. However, this is very inefficient and may cost lots
  5200. of API calls resulting in extra charges. Use it as a last resort and
  5201. only with caching.
  5202. Auth Proxy
  5203. If you supply the parameter --auth-proxy /path/to/program then rclone
  5204. will use that program to generate backends on the fly which then are
  5205. used to authenticate incoming requests. This uses a simple JSON based
  5206. protocol with input on STDIN and output on STDOUT.
  5207. PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used together,
  5208. if --auth-proxy is set the authorized keys option will be ignored.
  5209. There is an example program bin/test_proxy.py in the rclone source code.
  5210. The program's job is to take a user and pass on the input and turn those
  5211. into the config for a backend on STDOUT in JSON format. This config will
  5212. have any default parameters for the backend added, but it won't use
  5213. configuration from environment variables or command line options - it is
  5214. the job of the proxy program to make a complete config.
  5215. This config generated must have this extra parameter - _root - root to
  5216. use for the backend
  5217. And it may have this parameter - _obscure - comma separated strings for
  5218. parameters to obscure
  5219. If password authentication was used by the client, input to the proxy
  5220. process (on STDIN) would look similar to this:
  5221. {
  5222. "user": "me",
  5223. "pass": "mypassword"
  5224. }
  5225. If public-key authentication was used by the client, input to the proxy
  5226. process (on STDIN) would look similar to this:
  5227. {
  5228. "user": "me",
  5229. "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
  5230. }
  5231. And as an example return this on STDOUT
  5232. {
  5233. "type": "sftp",
  5234. "_root": "",
  5235. "_obscure": "pass",
  5236. "user": "me",
  5237. "pass": "mypassword",
  5238. "host": "sftp.example.com"
  5239. }
  5240. This would mean that an SFTP backend would be created on the fly for the
  5241. user and pass/public_key returned in the output to the host given. Note
  5242. that since _obscure is set to pass, rclone will obscure the pass
  5243. parameter before creating the backend (which is required for sftp
  5244. backends).
  5245. The program can manipulate the supplied user in any way, for example to
  5246. make proxy to many different sftp backends, you could make the user be
  5247. user@example.com and then set the host to example.com in the output and
  5248. the user to user. For security you'd probably want to restrict the host
  5249. to a limited list.
  5250. Note that an internal cache is keyed on user so only use that for
  5251. configuration, don't use pass or public_key. This also means that if a
  5252. user's password or public-key is changed the cache will need to expire
  5253. (which takes 5 mins) before it takes effect.
  5254. This can be used to build general purpose proxies to any kind of backend
  5255. that rclone supports.
  5256. rclone serve sftp remote:path [flags]
  5257. Options
  5258. --addr string IPaddress:Port or :Port to bind server to (default "localhost:2022")
  5259. --auth-proxy string A program to use to create the backend from the auth
  5260. --authorized-keys string Authorized keys file (default "~/.ssh/authorized_keys")
  5261. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  5262. --dir-perms FileMode Directory permissions (default 0777)
  5263. --file-perms FileMode File permissions (default 0666)
  5264. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  5265. -h, --help help for sftp
  5266. --key stringArray SSH private host key file (Can be multi-valued, leave blank to auto generate)
  5267. --no-auth Allow connections with no authentication if set
  5268. --no-checksum Don't compare checksums on up/download
  5269. --no-modtime Don't read/write the modification time (can speed things up)
  5270. --no-seek Don't allow seeking in files
  5271. --pass string Password for authentication
  5272. --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)
  5273. --read-only Only allow read-only access
  5274. --stdio Run an sftp server on stdin/stdout
  5275. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  5276. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  5277. --user string User name for authentication
  5278. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  5279. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  5280. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  5281. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  5282. --vfs-case-insensitive If a file name not found, find a case insensitive match
  5283. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  5284. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  5285. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  5286. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  5287. --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 ('off' is unlimited) (default off)
  5288. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  5289. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  5290. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  5291. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  5292. See the global flags page for global options not listed here.
  5293. SEE ALSO
  5294. - rclone serve - Serve a remote over a protocol.
  5295. rclone serve webdav
  5296. Serve remote:path over WebDAV.
  5297. Synopsis
  5298. Run a basic WebDAV server to serve a remote over HTTP via the WebDAV
  5299. protocol. This can be viewed with a WebDAV client, through a web
  5300. browser, or you can make a remote of type WebDAV to read and write it.
  5301. WebDAV options
  5302. --etag-hash
  5303. This controls the ETag header. Without this flag the ETag will be based
  5304. on the ModTime and Size of the object.
  5305. If this flag is set to "auto" then rclone will choose the first
  5306. supported hash on the backend or you can use a named hash such as "MD5"
  5307. or "SHA-1". Use the hashsum command to see the full list.
  5308. Access WebDAV on Windows
  5309. WebDAV shared folder can be mapped as a drive on Windows, however the
  5310. default settings prevent it. Windows will fail to connect to the server
  5311. using insecure Basic authentication. It will not even display any login
  5312. dialog. Windows requires SSL / HTTPS connection to be used with Basic.
  5313. If you try to connect via Add Network Location Wizard you will get the
  5314. following error: "The folder you entered does not appear to be valid.
  5315. Please choose another". However, you still can connect if you set the
  5316. following registry key on a client machine: HKEY_LOCAL_MACHINEto 2. The
  5317. BasicAuthLevel can be set to the following values: 0 - Basic
  5318. authentication disabled 1 - Basic authentication enabled for SSL
  5319. connections only 2 - Basic authentication enabled for SSL connections
  5320. and for non-SSL connections If required, increase the
  5321. FileSizeLimitInBytes to a higher value. Navigate to the Services
  5322. interface, then restart the WebClient service.
  5323. Access Office applications on WebDAV
  5324. Navigate to following registry HKEY_CURRENT_USER[14.0/15.0/16.0] Create
  5325. a new DWORD BasicAuthLevel with value 2. 0 - Basic authentication
  5326. disabled 1 - Basic authentication enabled for SSL connections only 2 -
  5327. Basic authentication enabled for SSL and for non-SSL connections
  5328. https://learn.microsoft.com/en-us/office/troubleshoot/powerpoint/office-opens-blank-from-sharepoint
  5329. Server options
  5330. Use --addr to specify which IP address and port the server should listen
  5331. on, eg --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. By
  5332. default it only listens on localhost. You can use port :0 to let the OS
  5333. choose an available port.
  5334. If you set --addr to listen on a public or LAN accessible IP address
  5335. then using Authentication is advised - see the next section for info.
  5336. You can use a unix socket by setting the url to unix:///path/to/socket
  5337. or just by using an absolute path name. Note that unix sockets bypass
  5338. the authentication - this is expected to be done with file system
  5339. permissions.
  5340. --addr may be repeated to listen on multiple IPs/ports/sockets.
  5341. --server-read-timeout and --server-write-timeout can be used to control
  5342. the timeouts on the server. Note that this is the total time for a
  5343. transfer.
  5344. --max-header-bytes controls the maximum number of bytes the server will
  5345. accept in the HTTP header.
  5346. --baseurl controls the URL prefix that rclone serves from. By default
  5347. rclone will serve from the root. If you used --baseurl "/rclone" then
  5348. rclone would serve from a URL starting with "/rclone/". This is useful
  5349. if you wish to proxy rclone serve. Rclone automatically inserts leading
  5350. and trailing "/" on --baseurl, so --baseurl "rclone",
  5351. --baseurl "/rclone" and --baseurl "/rclone/" are all treated
  5352. identically.
  5353. TLS (SSL)
  5354. By default this will serve over http. If you want you can serve over
  5355. https. You will need to supply the --cert and --key flags. If you wish
  5356. to do client side certificate validation then you will need to supply
  5357. --client-ca also.
  5358. --cert should be a either a PEM encoded certificate or a concatenation
  5359. of that with the CA certificate. --key should be the PEM encoded private
  5360. key and --client-ca should be the PEM encoded client certificate
  5361. authority certificate.
  5362. --min-tls-version is minimum TLS version that is acceptable. Valid
  5363. values are "tls1.0", "tls1.1", "tls1.2" and "tls1.3" (default "tls1.0").
  5364. Template
  5365. --template allows a user to specify a custom markup template for HTTP
  5366. and WebDAV serve functions. The server exports the following markup to
  5367. be used within the template to server pages:
  5368. -----------------------------------------------------------------------
  5369. Parameter Description
  5370. ----------------------------------- -----------------------------------
  5371. .Name The full path of a file/directory.
  5372. .Title Directory listing of .Name
  5373. .Sort The current sort used. This is
  5374. changeable via ?sort= parameter
  5375. Sort Options:
  5376. namedirfirst,name,size,time
  5377. (default namedirfirst)
  5378. .Order The current ordering used. This is
  5379. changeable via ?order= parameter
  5380. Order Options: asc,desc (default
  5381. asc)
  5382. .Query Currently unused.
  5383. .Breadcrumb Allows for creating a relative
  5384. navigation
  5385. -- .Link The relative to the root link of
  5386. the Text.
  5387. -- .Text The Name of the directory.
  5388. .Entries Information about a specific
  5389. file/directory.
  5390. -- .URL The 'url' of an entry.
  5391. -- .Leaf Currently same as 'URL' but
  5392. intended to be 'just' the name.
  5393. -- .IsDir Boolean for if an entry is a
  5394. directory or not.
  5395. -- .Size Size in Bytes of the entry.
  5396. -- .ModTime The UTC timestamp of an entry.
  5397. -----------------------------------------------------------------------
  5398. Authentication
  5399. By default this will serve files without needing a login.
  5400. You can either use an htpasswd file which can take lots of users, or set
  5401. a single username and password with the --user and --pass flags.
  5402. If no static users are configured by either of the above methods, and
  5403. client certificates are required by the --client-ca flag passed to the
  5404. server, the client certificate common name will be considered as the
  5405. username.
  5406. Use --htpasswd /path/to/htpasswd to provide an htpasswd file. This is in
  5407. standard apache format and supports MD5, SHA1 and BCrypt for basic
  5408. authentication. Bcrypt is recommended.
  5409. To create an htpasswd file:
  5410. touch htpasswd
  5411. htpasswd -B htpasswd user
  5412. htpasswd -B htpasswd anotherUser
  5413. The password file can be updated while rclone is running.
  5414. Use --realm to set the authentication realm.
  5415. Use --salt to change the password hashing salt from the default.
  5416. VFS - Virtual File System
  5417. This command uses the VFS layer. This adapts the cloud storage objects
  5418. that rclone uses into something which looks much more like a disk filing
  5419. system.
  5420. Cloud storage objects have lots of properties which aren't like disk
  5421. files - you can't extend them or write to the middle of them, so the VFS
  5422. layer has to deal with that. Because there is no one right way of doing
  5423. this there are various options explained below.
  5424. The VFS layer also implements a directory cache - this caches info about
  5425. files and directories (but not the data) in memory.
  5426. VFS Directory Cache
  5427. Using the --dir-cache-time flag, you can control how long a directory
  5428. should be considered up to date and not refreshed from the backend.
  5429. Changes made through the VFS will appear immediately or invalidate the
  5430. cache.
  5431. --dir-cache-time duration Time to cache directory entries for (default 5m0s)
  5432. --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)
  5433. However, changes made directly on the cloud storage by the web interface
  5434. or a different copy of rclone will only be picked up once the directory
  5435. cache expires if the backend configured does not support polling for
  5436. changes. If the backend supports polling, changes will be picked up
  5437. within the polling interval.
  5438. You can send a SIGHUP signal to rclone for it to flush all directory
  5439. caches, regardless of how old they are. Assuming only one rclone
  5440. instance is running, you can reset the cache like this:
  5441. kill -SIGHUP $(pidof rclone)
  5442. If you configure rclone with a remote control then you can use rclone rc
  5443. to flush the whole directory cache:
  5444. rclone rc vfs/forget
  5445. Or individual files or directories:
  5446. rclone rc vfs/forget file=path/to/file dir=path/to/dir
  5447. VFS File Buffering
  5448. The --buffer-size flag determines the amount of memory, that will be
  5449. used to buffer data in advance.
  5450. Each open file will try to keep the specified amount of data in memory
  5451. at all times. The buffered data is bound to one open file and won't be
  5452. shared.
  5453. This flag is a upper limit for the used memory per open file. The buffer
  5454. will only use memory for data that is downloaded but not not yet read.
  5455. If the buffer is empty, only a small amount of memory will be used.
  5456. The maximum memory used by rclone for buffering can be up to
  5457. --buffer-size * open files.
  5458. VFS File Caching
  5459. These flags control the VFS file caching options. File caching is
  5460. necessary to make the VFS layer appear compatible with a normal file
  5461. system. It can be disabled at the cost of some compatibility.
  5462. For example you'll need to enable VFS caching if you want to read and
  5463. write simultaneously to a file. See below for more details.
  5464. Note that the VFS cache is separate from the cache backend and you may
  5465. find that you need one or the other or both.
  5466. --cache-dir string Directory rclone will use for caching.
  5467. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  5468. --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
  5469. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  5470. --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
  5471. --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
  5472. If run with -vv rclone will print the location of the file cache. The
  5473. files are stored in the user cache file area which is OS dependent but
  5474. can be controlled with --cache-dir or setting the appropriate
  5475. environment variable.
  5476. The cache has 4 different modes selected by --vfs-cache-mode. The higher
  5477. the cache mode the more compatible rclone becomes at the cost of using
  5478. disk space.
  5479. Note that files are written back to the remote only when they are closed
  5480. and if they haven't been accessed for --vfs-write-back seconds. If
  5481. rclone is quit or dies with files that haven't been uploaded, these will
  5482. be uploaded next time rclone is run with the same flags.
  5483. If using --vfs-cache-max-size note that the cache may exceed this size
  5484. for two reasons. Firstly because it is only checked every
  5485. --vfs-cache-poll-interval. Secondly because open files cannot be evicted
  5486. from the cache. When --vfs-cache-max-size is exceeded, rclone will
  5487. attempt to evict the least accessed files from the cache first. rclone
  5488. will start with files that haven't been accessed for the longest. This
  5489. cache flushing strategy is efficient and more relevant files are likely
  5490. to remain cached.
  5491. The --vfs-cache-max-age will evict files from the cache after the set
  5492. time since last access has passed. The default value of 1 hour will
  5493. start evicting files from cache that haven't been accessed for 1 hour.
  5494. When a cached file is accessed the 1 hour timer is reset to 0 and will
  5495. wait for 1 more hour before evicting. Specify the time with standard
  5496. notation, s, m, h, d, w .
  5497. You should not run two copies of rclone using the same VFS cache with
  5498. the same or overlapping remotes if using --vfs-cache-mode > off. This
  5499. can potentially cause data corruption if you do. You can work around
  5500. this by giving each rclone its own cache hierarchy with --cache-dir. You
  5501. don't need to worry about this if the remotes in use don't overlap.
  5502. --vfs-cache-mode off
  5503. In this mode (the default) the cache will read directly from the remote
  5504. and write directly to the remote without caching anything on disk.
  5505. This will mean some operations are not possible
  5506. - Files can't be opened for both read AND write
  5507. - Files opened for write can't be seeked
  5508. - Existing files opened for write must have O_TRUNC set
  5509. - Files open for read with O_TRUNC will be opened write only
  5510. - Files open for write only will behave as if O_TRUNC was supplied
  5511. - Open modes O_APPEND, O_TRUNC are ignored
  5512. - If an upload fails it can't be retried
  5513. --vfs-cache-mode minimal
  5514. This is very similar to "off" except that files opened for read AND
  5515. write will be buffered to disk. This means that files opened for write
  5516. will be a lot more compatible, but uses the minimal disk space.
  5517. These operations are not possible
  5518. - Files opened for write only can't be seeked
  5519. - Existing files opened for write must have O_TRUNC set
  5520. - Files opened for write only will ignore O_APPEND, O_TRUNC
  5521. - If an upload fails it can't be retried
  5522. --vfs-cache-mode writes
  5523. In this mode files opened for read only are still read directly from the
  5524. remote, write only and read/write files are buffered to disk first.
  5525. This mode should support all normal file system operations.
  5526. If an upload fails it will be retried at exponentially increasing
  5527. intervals up to 1 minute.
  5528. --vfs-cache-mode full
  5529. In this mode all reads and writes are buffered to and from disk. When
  5530. data is read from the remote this is buffered to disk as well.
  5531. In this mode the files in the cache will be sparse files and rclone will
  5532. keep track of which bits of the files it has downloaded.
  5533. So if an application only reads the starts of each file, then rclone
  5534. will only buffer the start of the file. These files will appear to be
  5535. their full size in the cache, but they will be sparse files with only
  5536. the data that has been downloaded present in them.
  5537. This mode should support all normal file system operations and is
  5538. otherwise identical to --vfs-cache-mode writes.
  5539. When reading a file rclone will read --buffer-size plus --vfs-read-ahead
  5540. bytes ahead. The --buffer-size is buffered in memory whereas the
  5541. --vfs-read-ahead is buffered on disk.
  5542. When using this mode it is recommended that --buffer-size is not set too
  5543. large and --vfs-read-ahead is set large if required.
  5544. IMPORTANT not all file systems support sparse files. In particular
  5545. FAT/exFAT do not. Rclone will perform very badly if the cache directory
  5546. is on a filesystem which doesn't support sparse files and it will log an
  5547. ERROR message if one is detected.
  5548. Fingerprinting
  5549. Various parts of the VFS use fingerprinting to see if a local file copy
  5550. has changed relative to a remote file. Fingerprints are made from:
  5551. - size
  5552. - modification time
  5553. - hash
  5554. where available on an object.
  5555. On some backends some of these attributes are slow to read (they take an
  5556. extra API call per object, or extra work per object).
  5557. For example hash is slow with the local and sftp backends as they have
  5558. to read the entire file and hash it, and modtime is slow with the s3,
  5559. swift, ftp and qinqstor backends because they need to do an extra API
  5560. call to fetch it.
  5561. If you use the --vfs-fast-fingerprint flag then rclone will not include
  5562. the slow operations in the fingerprint. This makes the fingerprinting
  5563. less accurate but much faster and will improve the opening time of
  5564. cached files.
  5565. If you are running a vfs cache over local, s3 or swift backends then
  5566. using this flag is recommended.
  5567. Note that if you change the value of this flag, the fingerprints of the
  5568. files in the cache may be invalidated and the files will need to be
  5569. downloaded again.
  5570. VFS Chunked Reading
  5571. When rclone reads files from a remote it reads them in chunks. This
  5572. means that rather than requesting the whole file rclone reads the chunk
  5573. specified. This can reduce the used download quota for some remotes by
  5574. requesting only chunks from the remote that are actually read, at the
  5575. cost of an increased number of requests.
  5576. These flags control the chunking:
  5577. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
  5578. --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
  5579. Rclone will start reading a chunk of size --vfs-read-chunk-size, and
  5580. then double the size for each read. When --vfs-read-chunk-size-limit is
  5581. specified, and greater than --vfs-read-chunk-size, the chunk size for
  5582. each open file will get doubled only until the specified value is
  5583. reached. If the value is "off", which is the default, the limit is
  5584. disabled and the chunk size will grow indefinitely.
  5585. With --vfs-read-chunk-size 100M and --vfs-read-chunk-size-limit 0 the
  5586. following parts will be downloaded: 0-100M, 100M-200M, 200M-300M,
  5587. 300M-400M and so on. When --vfs-read-chunk-size-limit 500M is specified,
  5588. the result would be 0-100M, 100M-300M, 300M-700M, 700M-1200M,
  5589. 1200M-1700M and so on.
  5590. Setting --vfs-read-chunk-size to 0 or "off" disables chunked reading.
  5591. VFS Performance
  5592. These flags may be used to enable/disable features of the VFS for
  5593. performance or other reasons. See also the chunked reading feature.
  5594. In particular S3 and Swift benefit hugely from the --no-modtime flag (or
  5595. use --use-server-modtime for a slightly different effect) as each read
  5596. of the modification time takes a transaction.
  5597. --no-checksum Don't compare checksums on up/download.
  5598. --no-modtime Don't read/write the modification time (can speed things up).
  5599. --no-seek Don't allow seeking in files.
  5600. --read-only Only allow read-only access.
  5601. Sometimes rclone is delivered reads or writes out of order. Rather than
  5602. seeking rclone will wait a short time for the in sequence read or write
  5603. to come in. These flags only come into effect when not using an on disk
  5604. cache file.
  5605. --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
  5606. --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
  5607. When using VFS write caching (--vfs-cache-mode with value writes or
  5608. full), the global flag --transfers can be set to adjust the number of
  5609. parallel uploads of modified files from the cache (the related global
  5610. flag --checkers has no effect on the VFS).
  5611. --transfers int Number of file transfers to run in parallel (default 4)
  5612. VFS Case Sensitivity
  5613. Linux file systems are case-sensitive: two files can differ only by
  5614. case, and the exact case must be used when opening a file.
  5615. File systems in modern Windows are case-insensitive but case-preserving:
  5616. although existing files can be opened using any case, the exact case
  5617. used to create the file is preserved and available for programs to
  5618. query. It is not allowed for two files in the same directory to differ
  5619. only by case.
  5620. Usually file systems on macOS are case-insensitive. It is possible to
  5621. make macOS file systems case-sensitive but that is not the default.
  5622. The --vfs-case-insensitive VFS flag controls how rclone handles these
  5623. two cases. If its value is "false", rclone passes file names to the
  5624. remote as-is. If the flag is "true" (or appears without a value on the
  5625. command line), rclone may perform a "fixup" as explained below.
  5626. The user may specify a file name to open/delete/rename/etc with a case
  5627. different than what is stored on the remote. If an argument refers to an
  5628. existing file with exactly the same name, then the case of the existing
  5629. file on the disk will be used. However, if a file name with exactly the
  5630. same name is not found but a name differing only by case exists, rclone
  5631. will transparently fixup the name. This fixup happens only when an
  5632. existing file is requested. Case sensitivity of file names created anew
  5633. by rclone is controlled by the underlying remote.
  5634. Note that case sensitivity of the operating system running rclone (the
  5635. target) may differ from case sensitivity of a file system presented by
  5636. rclone (the source). The flag controls whether "fixup" is performed to
  5637. satisfy the target.
  5638. If the flag is not provided on the command line, then its default value
  5639. depends on the operating system where rclone runs: "true" on Windows and
  5640. macOS, "false" otherwise. If the flag is provided without a value, then
  5641. it is "true".
  5642. VFS Disk Options
  5643. This flag allows you to manually set the statistics about the filing
  5644. system. It can be useful when those statistics cannot be read correctly
  5645. automatically.
  5646. --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
  5647. Alternate report of used bytes
  5648. Some backends, most notably S3, do not report the amount of bytes used.
  5649. If you need this information to be available when running df on the
  5650. filesystem, then pass the flag --vfs-used-is-size to rclone. With this
  5651. flag set, instead of relying on the backend to report this information,
  5652. rclone will scan the whole remote similar to rclone size and compute the
  5653. total used space itself.
  5654. WARNING. Contrary to rclone size, this flag ignores filters so that the
  5655. result is accurate. However, this is very inefficient and may cost lots
  5656. of API calls resulting in extra charges. Use it as a last resort and
  5657. only with caching.
  5658. Auth Proxy
  5659. If you supply the parameter --auth-proxy /path/to/program then rclone
  5660. will use that program to generate backends on the fly which then are
  5661. used to authenticate incoming requests. This uses a simple JSON based
  5662. protocol with input on STDIN and output on STDOUT.
  5663. PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used together,
  5664. if --auth-proxy is set the authorized keys option will be ignored.
  5665. There is an example program bin/test_proxy.py in the rclone source code.
  5666. The program's job is to take a user and pass on the input and turn those
  5667. into the config for a backend on STDOUT in JSON format. This config will
  5668. have any default parameters for the backend added, but it won't use
  5669. configuration from environment variables or command line options - it is
  5670. the job of the proxy program to make a complete config.
  5671. This config generated must have this extra parameter - _root - root to
  5672. use for the backend
  5673. And it may have this parameter - _obscure - comma separated strings for
  5674. parameters to obscure
  5675. If password authentication was used by the client, input to the proxy
  5676. process (on STDIN) would look similar to this:
  5677. {
  5678. "user": "me",
  5679. "pass": "mypassword"
  5680. }
  5681. If public-key authentication was used by the client, input to the proxy
  5682. process (on STDIN) would look similar to this:
  5683. {
  5684. "user": "me",
  5685. "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
  5686. }
  5687. And as an example return this on STDOUT
  5688. {
  5689. "type": "sftp",
  5690. "_root": "",
  5691. "_obscure": "pass",
  5692. "user": "me",
  5693. "pass": "mypassword",
  5694. "host": "sftp.example.com"
  5695. }
  5696. This would mean that an SFTP backend would be created on the fly for the
  5697. user and pass/public_key returned in the output to the host given. Note
  5698. that since _obscure is set to pass, rclone will obscure the pass
  5699. parameter before creating the backend (which is required for sftp
  5700. backends).
  5701. The program can manipulate the supplied user in any way, for example to
  5702. make proxy to many different sftp backends, you could make the user be
  5703. user@example.com and then set the host to example.com in the output and
  5704. the user to user. For security you'd probably want to restrict the host
  5705. to a limited list.
  5706. Note that an internal cache is keyed on user so only use that for
  5707. configuration, don't use pass or public_key. This also means that if a
  5708. user's password or public-key is changed the cache will need to expire
  5709. (which takes 5 mins) before it takes effect.
  5710. This can be used to build general purpose proxies to any kind of backend
  5711. that rclone supports.
  5712. rclone serve webdav remote:path [flags]
  5713. Options
  5714. --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080])
  5715. --auth-proxy string A program to use to create the backend from the auth
  5716. --baseurl string Prefix for URLs - leave blank for root
  5717. --cert string TLS PEM key (concatenation of certificate and CA certificate)
  5718. --client-ca string Client certificate authority to verify clients with
  5719. --dir-cache-time Duration Time to cache directory entries for (default 5m0s)
  5720. --dir-perms FileMode Directory permissions (default 0777)
  5721. --disable-dir-list Disable HTML directory list on GET request for a directory
  5722. --etag-hash string Which hash to use for the ETag, or auto or blank for off
  5723. --file-perms FileMode File permissions (default 0666)
  5724. --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000)
  5725. -h, --help help for webdav
  5726. --htpasswd string A htpasswd file - if not provided no authentication is done
  5727. --key string TLS PEM Private key
  5728. --max-header-bytes int Maximum size of request header (default 4096)
  5729. --min-tls-version string Minimum TLS version that is acceptable (default "tls1.0")
  5730. --no-checksum Don't compare checksums on up/download
  5731. --no-modtime Don't read/write the modification time (can speed things up)
  5732. --no-seek Don't allow seeking in files
  5733. --pass string Password for authentication
  5734. --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)
  5735. --read-only Only allow read-only access
  5736. --realm string Realm for authentication
  5737. --salt string Password hashing salt (default "dlPL2MqE")
  5738. --server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  5739. --server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  5740. --template string User-specified template
  5741. --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000)
  5742. --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2)
  5743. --user string User name for authentication
  5744. --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s)
  5745. --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
  5746. --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
  5747. --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s)
  5748. --vfs-case-insensitive If a file name not found, find a case insensitive match
  5749. --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off)
  5750. --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection
  5751. --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full
  5752. --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi)
  5753. --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 ('off' is unlimited) (default off)
  5754. --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms)
  5755. --vfs-used-is-size rclone size Use the rclone size algorithm for Used size
  5756. --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s)
  5757. --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s)
  5758. See the global flags page for global options not listed here.
  5759. SEE ALSO
  5760. - rclone serve - Serve a remote over a protocol.
  5761. rclone settier
  5762. Changes storage class/tier of objects in remote.
  5763. Synopsis
  5764. rclone settier changes storage tier or class at remote if supported. Few
  5765. cloud storage services provides different storage classes on objects,
  5766. for example AWS S3 and Glacier, Azure Blob storage - Hot, Cool and
  5767. Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline etc.
  5768. Note that, certain tier changes make objects not available to access
  5769. immediately. For example tiering to archive in azure blob storage makes
  5770. objects in frozen state, user can restore by setting tier to Hot/Cool,
  5771. similarly S3 to Glacier makes object inaccessible.true
  5772. You can use it to tier single object
  5773. rclone settier Cool remote:path/file
  5774. Or use rclone filters to set tier on only specific files
  5775. rclone --include "*.txt" settier Hot remote:path/dir
  5776. Or just provide remote directory and all files in directory will be
  5777. tiered
  5778. rclone settier tier remote:path/dir
  5779. rclone settier tier remote:path [flags]
  5780. Options
  5781. -h, --help help for settier
  5782. See the global flags page for global options not listed here.
  5783. SEE ALSO
  5784. - rclone - Show help for rclone commands, flags and backends.
  5785. rclone test
  5786. Run a test command
  5787. Synopsis
  5788. Rclone test is used to run test commands.
  5789. Select which test command you want with the subcommand, eg
  5790. rclone test memory remote:
  5791. Each subcommand has its own options which you can see in their help.
  5792. NB Be careful running these commands, they may do strange things so
  5793. reading their documentation first is recommended.
  5794. Options
  5795. -h, --help help for test
  5796. See the global flags page for global options not listed here.
  5797. SEE ALSO
  5798. - rclone - Show help for rclone commands, flags and backends.
  5799. - rclone test changenotify - Log any change notify requests for the
  5800. remote passed in.
  5801. - rclone test histogram - Makes a histogram of file name characters.
  5802. - rclone test info - Discovers file name or other limitations for
  5803. paths.
  5804. - rclone test makefile - Make files with random contents of the size
  5805. given
  5806. - rclone test makefiles - Make a random file hierarchy in a directory
  5807. - rclone test memory - Load all the objects at remote:path into memory
  5808. and report memory stats.
  5809. rclone test changenotify
  5810. Log any change notify requests for the remote passed in.
  5811. rclone test changenotify remote: [flags]
  5812. Options
  5813. -h, --help help for changenotify
  5814. --poll-interval Duration Time to wait between polling for changes (default 10s)
  5815. See the global flags page for global options not listed here.
  5816. SEE ALSO
  5817. - rclone test - Run a test command
  5818. rclone test histogram
  5819. Makes a histogram of file name characters.
  5820. Synopsis
  5821. This command outputs JSON which shows the histogram of characters used
  5822. in filenames in the remote:path specified.
  5823. The data doesn't contain any identifying information but is useful for
  5824. the rclone developers when developing filename compression.
  5825. rclone test histogram [remote:path] [flags]
  5826. Options
  5827. -h, --help help for histogram
  5828. See the global flags page for global options not listed here.
  5829. SEE ALSO
  5830. - rclone test - Run a test command
  5831. rclone test info
  5832. Discovers file name or other limitations for paths.
  5833. Synopsis
  5834. rclone info discovers what filenames and upload methods are possible to
  5835. write to the paths passed in and how long they can be. It can take some
  5836. time. It will write test files into the remote:path passed in. It
  5837. outputs a bit of go code for each one.
  5838. NB this can create undeletable files and other hazards - use with care
  5839. rclone test info [remote:path]+ [flags]
  5840. Options
  5841. --all Run all tests
  5842. --check-control Check control characters
  5843. --check-length Check max filename length
  5844. --check-normalization Check UTF-8 Normalization
  5845. --check-streaming Check uploads with indeterminate file size
  5846. -h, --help help for info
  5847. --upload-wait Duration Wait after writing a file (default 0s)
  5848. --write-json string Write results to file
  5849. See the global flags page for global options not listed here.
  5850. SEE ALSO
  5851. - rclone test - Run a test command
  5852. rclone test makefile
  5853. Make files with random contents of the size given
  5854. rclone test makefile <size> [<file>]+ [flags]
  5855. Options
  5856. --ascii Fill files with random ASCII printable bytes only
  5857. --chargen Fill files with a ASCII chargen pattern
  5858. -h, --help help for makefile
  5859. --pattern Fill files with a periodic pattern
  5860. --seed int Seed for the random number generator (0 for random) (default 1)
  5861. --sparse Make the files sparse (appear to be filled with ASCII 0x00)
  5862. --zero Fill files with ASCII 0x00
  5863. See the global flags page for global options not listed here.
  5864. SEE ALSO
  5865. - rclone test - Run a test command
  5866. rclone test makefiles
  5867. Make a random file hierarchy in a directory
  5868. rclone test makefiles <dir> [flags]
  5869. Options
  5870. --ascii Fill files with random ASCII printable bytes only
  5871. --chargen Fill files with a ASCII chargen pattern
  5872. --files int Number of files to create (default 1000)
  5873. --files-per-directory int Average number of files per directory (default 10)
  5874. -h, --help help for makefiles
  5875. --max-depth int Maximum depth of directory hierarchy (default 10)
  5876. --max-file-size SizeSuffix Maximum size of files to create (default 100)
  5877. --max-name-length int Maximum size of file names (default 12)
  5878. --min-file-size SizeSuffix Minimum size of file to create
  5879. --min-name-length int Minimum size of file names (default 4)
  5880. --pattern Fill files with a periodic pattern
  5881. --seed int Seed for the random number generator (0 for random) (default 1)
  5882. --sparse Make the files sparse (appear to be filled with ASCII 0x00)
  5883. --zero Fill files with ASCII 0x00
  5884. See the global flags page for global options not listed here.
  5885. SEE ALSO
  5886. - rclone test - Run a test command
  5887. rclone test memory
  5888. Load all the objects at remote:path into memory and report memory stats.
  5889. rclone test memory remote:path [flags]
  5890. Options
  5891. -h, --help help for memory
  5892. See the global flags page for global options not listed here.
  5893. SEE ALSO
  5894. - rclone test - Run a test command
  5895. rclone touch
  5896. Create new file or change file modification time.
  5897. Synopsis
  5898. Set the modification time on file(s) as specified by remote:path to have
  5899. the current time.
  5900. If remote:path does not exist then a zero sized file will be created,
  5901. unless --no-create or --recursive is provided.
  5902. If --recursive is used then recursively sets the modification time on
  5903. all existing files that is found under the path. Filters are supported,
  5904. and you can test with the --dry-run or the --interactive/-i flag.
  5905. If --timestamp is used then sets the modification time to that time
  5906. instead of the current time. Times may be specified as one of:
  5907. - 'YYMMDD' - e.g. 17.10.30
  5908. - 'YYYY-MM-DDTHH:MM:SS' - e.g. 2006-01-02T15:04:05
  5909. - 'YYYY-MM-DDTHH:MM:SS.SSS' - e.g. 2006-01-02T15:04:05.123456789
  5910. Note that value of --timestamp is in UTC. If you want local time then
  5911. add the --localtime flag.
  5912. rclone touch remote:path [flags]
  5913. Options
  5914. -h, --help help for touch
  5915. --localtime Use localtime for timestamp, not UTC
  5916. -C, --no-create Do not create the file if it does not exist (implied with --recursive)
  5917. -R, --recursive Recursively touch all files
  5918. -t, --timestamp string Use specified time instead of the current time of day
  5919. See the global flags page for global options not listed here.
  5920. SEE ALSO
  5921. - rclone - Show help for rclone commands, flags and backends.
  5922. rclone tree
  5923. List the contents of the remote in a tree like fashion.
  5924. Synopsis
  5925. rclone tree lists the contents of a remote in a similar way to the unix
  5926. tree command.
  5927. For example
  5928. $ rclone tree remote:path
  5929. /
  5930. ├── file1
  5931. ├── file2
  5932. ├── file3
  5933. └── subdir
  5934. ├── file4
  5935. └── file5
  5936. 1 directories, 5 files
  5937. You can use any of the filtering options with the tree command (e.g.
  5938. --include and --exclude. You can also use --fast-list.
  5939. The tree command has many options for controlling the listing which are
  5940. compatible with the tree command, for example you can include file sizes
  5941. with --size. Note that not all of them have short options as they
  5942. conflict with rclone's short options.
  5943. For a more interactive navigation of the remote see the ncdu command.
  5944. rclone tree remote:path [flags]
  5945. Options
  5946. -a, --all All files are listed (list . files too)
  5947. -d, --dirs-only List directories only
  5948. --dirsfirst List directories before files (-U disables)
  5949. --full-path Print the full path prefix for each file
  5950. -h, --help help for tree
  5951. --level int Descend only level directories deep
  5952. -D, --modtime Print the date of last modification.
  5953. --noindent Don't print indentation lines
  5954. --noreport Turn off file/directory count at end of tree listing
  5955. -o, --output string Output to file instead of stdout
  5956. -p, --protections Print the protections for each file.
  5957. -Q, --quote Quote filenames with double quotes.
  5958. -s, --size Print the size in bytes of each file.
  5959. --sort string Select sort: name,version,size,mtime,ctime
  5960. --sort-ctime Sort files by last status change time
  5961. -t, --sort-modtime Sort files by last modification time
  5962. -r, --sort-reverse Reverse the order of the sort
  5963. -U, --unsorted Leave files unsorted
  5964. --version Sort files alphanumerically by version
  5965. See the global flags page for global options not listed here.
  5966. SEE ALSO
  5967. - rclone - Show help for rclone commands, flags and backends.
  5968. Copying single files
  5969. rclone normally syncs or copies directories. However, if the source
  5970. remote points to a file, rclone will just copy that file. The
  5971. destination remote must point to a directory - rclone will give the
  5972. error
  5973. Failed to create file system for "remote:file": is a file not a directory
  5974. if it isn't.
  5975. For example, suppose you have a remote with a file in called test.jpg,
  5976. then you could copy just that file like this
  5977. rclone copy remote:test.jpg /tmp/download
  5978. The file test.jpg will be placed inside /tmp/download.
  5979. This is equivalent to specifying
  5980. rclone copy --files-from /tmp/files remote: /tmp/download
  5981. Where /tmp/files contains the single line
  5982. test.jpg
  5983. It is recommended to use copy when copying individual files, not sync.
  5984. They have pretty much the same effect but copy will use a lot less
  5985. memory.
  5986. Syntax of remote paths
  5987. The syntax of the paths passed to the rclone command are as follows.
  5988. /path/to/dir
  5989. This refers to the local file system.
  5990. On Windows \ may be used instead of / in local paths only, non local
  5991. paths must use /. See local filesystem documentation for more about
  5992. Windows-specific paths.
  5993. These paths needn't start with a leading / - if they don't then they
  5994. will be relative to the current directory.
  5995. remote:path/to/dir
  5996. This refers to a directory path/to/dir on remote: as defined in the
  5997. config file (configured with rclone config).
  5998. remote:/path/to/dir
  5999. On most backends this is refers to the same directory as
  6000. remote:path/to/dir and that format should be preferred. On a very small
  6001. number of remotes (FTP, SFTP, Dropbox for business) this will refer to a
  6002. different directory. On these, paths without a leading / will refer to
  6003. your "home" directory and paths with a leading / will refer to the root.
  6004. :backend:path/to/dir
  6005. This is an advanced form for creating remotes on the fly. backend should
  6006. be the name or prefix of a backend (the type in the config file) and all
  6007. the configuration for the backend should be provided on the command line
  6008. (or in environment variables).
  6009. Here are some examples:
  6010. rclone lsd --http-url https://pub.rclone.org :http:
  6011. To list all the directories in the root of https://pub.rclone.org/.
  6012. rclone lsf --http-url https://example.com :http:path/to/dir
  6013. To list files and directories in https://example.com/path/to/dir/
  6014. rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir
  6015. To copy files and directories in https://example.com/path/to/dir to
  6016. /tmp/dir.
  6017. rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir
  6018. To copy files and directories from example.com in the relative directory
  6019. path/to/dir to /tmp/dir using sftp.
  6020. Connection strings
  6021. The above examples can also be written using a connection string syntax,
  6022. so instead of providing the arguments as command line parameters
  6023. --http-url https://pub.rclone.org they are provided as part of the
  6024. remote specification as a kind of connection string.
  6025. rclone lsd ":http,url='https://pub.rclone.org':"
  6026. rclone lsf ":http,url='https://example.com':path/to/dir"
  6027. rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir
  6028. rclone copy :sftp,host=example.com:path/to/dir /tmp/dir
  6029. These can apply to modify existing remotes as well as create new remotes
  6030. with the on the fly syntax. This example is equivalent to adding the
  6031. --drive-shared-with-me parameter to the remote gdrive:.
  6032. rclone lsf "gdrive,shared_with_me:path/to/dir"
  6033. The major advantage to using the connection string style syntax is that
  6034. it only applies to the remote, not to all the remotes of that type of
  6035. the command line. A common confusion is this attempt to copy a file
  6036. shared on google drive to the normal drive which does not work because
  6037. the --drive-shared-with-me flag applies to both the source and the
  6038. destination.
  6039. rclone copy --drive-shared-with-me gdrive:shared-file.txt gdrive:
  6040. However using the connection string syntax, this does work.
  6041. rclone copy "gdrive,shared_with_me:shared-file.txt" gdrive:
  6042. Note that the connection string only affects the options of the
  6043. immediate backend. If for example gdriveCrypt is a crypt based on
  6044. gdrive, then the following command will not work as intended, because
  6045. shared_with_me is ignored by the crypt backend:
  6046. rclone copy "gdriveCrypt,shared_with_me:shared-file.txt" gdriveCrypt:
  6047. The connection strings have the following syntax
  6048. remote,parameter=value,parameter2=value2:path/to/dir
  6049. :backend,parameter=value,parameter2=value2:path/to/dir
  6050. If the parameter has a : or , then it must be placed in quotes " or ',
  6051. so
  6052. remote,parameter="colon:value",parameter2="comma,value":path/to/dir
  6053. :backend,parameter='colon:value',parameter2='comma,value':path/to/dir
  6054. If a quoted value needs to include that quote, then it should be
  6055. doubled, so
  6056. remote,parameter="with""quote",parameter2='with''quote':path/to/dir
  6057. This will make parameter be with"quote and parameter2 be with'quote.
  6058. If you leave off the =parameter then rclone will substitute =true which
  6059. works very well with flags. For example, to use s3 configured in the
  6060. environment you could use:
  6061. rclone lsd :s3,env_auth:
  6062. Which is equivalent to
  6063. rclone lsd :s3,env_auth=true:
  6064. Note that on the command line you might need to surround these
  6065. connection strings with " or ' to stop the shell interpreting any
  6066. special characters within them.
  6067. If you are a shell master then you'll know which strings are OK and
  6068. which aren't, but if you aren't sure then enclose them in " and use ' as
  6069. the inside quote. This syntax works on all OSes.
  6070. rclone copy ":http,url='https://example.com':path/to/dir" /tmp/dir
  6071. On Linux/macOS some characters are still interpreted inside " strings in
  6072. the shell (notably \ and $ and ") so if your strings contain those you
  6073. can swap the roles of " and ' thus. (This syntax does not work on
  6074. Windows.)
  6075. rclone copy ':http,url="https://example.com":path/to/dir' /tmp/dir
  6076. Connection strings, config and logging
  6077. If you supply extra configuration to a backend by command line flag,
  6078. environment variable or connection string then rclone will add a suffix
  6079. based on the hash of the config to the name of the remote, eg
  6080. rclone -vv lsf --s3-chunk-size 20M s3:
  6081. Has the log message
  6082. DEBUG : s3: detected overridden config - adding "{Srj1p}" suffix to name
  6083. This is so rclone can tell the modified remote apart from the unmodified
  6084. remote when caching the backends.
  6085. This should only be noticeable in the logs.
  6086. This means that on the fly backends such as
  6087. rclone -vv lsf :s3,env_auth:
  6088. Will get their own names
  6089. DEBUG : :s3: detected overridden config - adding "{YTu53}" suffix to name
  6090. Valid remote names
  6091. Remote names are case sensitive, and must adhere to the following rules:
  6092. - May contain number, letter, _, -, ., +, @ and space. - May not start
  6093. with - or space. - May not end with space.
  6094. Starting with rclone version 1.61, any Unicode numbers and letters are
  6095. allowed, while in older versions it was limited to plain ASCII (0-9,
  6096. A-Z, a-z). If you use the same rclone configuration from different
  6097. shells, which may be configured with different character encoding, you
  6098. must be cautious to use characters that are possible to write in all of
  6099. them. This is mostly a problem on Windows, where the console
  6100. traditionally uses a non-Unicode character set - defined by the
  6101. so-called "code page".
  6102. Quoting and the shell
  6103. When you are typing commands to your computer you are using something
  6104. called the command line shell. This interprets various characters in an
  6105. OS specific way.
  6106. Here are some gotchas which may help users unfamiliar with the shell
  6107. rules
  6108. Linux / OSX
  6109. If your names have spaces or shell metacharacters (e.g. *, ?, $, ', ",
  6110. etc.) then you must quote them. Use single quotes ' by default.
  6111. rclone copy 'Important files?' remote:backup
  6112. If you want to send a ' you will need to use ", e.g.
  6113. rclone copy "O'Reilly Reviews" remote:backup
  6114. The rules for quoting metacharacters are complicated and if you want the
  6115. full details you'll have to consult the manual page for your shell.
  6116. Windows
  6117. If your names have spaces in you need to put them in ", e.g.
  6118. rclone copy "E:\folder name\folder name\folder name" remote:backup
  6119. If you are using the root directory on its own then don't quote it (see
  6120. #464 for why), e.g.
  6121. rclone copy E:\ remote:backup
  6122. Copying files or directories with : in the names
  6123. rclone uses : to mark a remote name. This is, however, a valid filename
  6124. component in non-Windows OSes. The remote name parser will only search
  6125. for a : up to the first / so if you need to act on a file or directory
  6126. like this then use the full path starting with a /, or use ./ as a
  6127. current directory prefix.
  6128. So to sync a directory called sync:me to a remote called remote: use
  6129. rclone sync --interactive ./sync:me remote:path
  6130. or
  6131. rclone sync --interactive /full/path/to/sync:me remote:path
  6132. Server Side Copy
  6133. Most remotes (but not all - see the overview) support server-side copy.
  6134. This means if you want to copy one folder to another then rclone won't
  6135. download all the files and re-upload them; it will instruct the server
  6136. to copy them in place.
  6137. Eg
  6138. rclone copy s3:oldbucket s3:newbucket
  6139. Will copy the contents of oldbucket to newbucket without downloading and
  6140. re-uploading.
  6141. Remotes which don't support server-side copy will download and re-upload
  6142. in this case.
  6143. Server side copies are used with sync and copy and will be identified in
  6144. the log when using the -v flag. The move command may also use them if
  6145. remote doesn't support server-side move directly. This is done by
  6146. issuing a server-side copy then a delete which is much quicker than a
  6147. download and re-upload.
  6148. Server side copies will only be attempted if the remote names are the
  6149. same.
  6150. This can be used when scripting to make aged backups efficiently, e.g.
  6151. rclone sync --interactive remote:current-backup remote:previous-backup
  6152. rclone sync --interactive /path/to/files remote:current-backup
  6153. Metadata support
  6154. Metadata is data about a file which isn't the contents of the file.
  6155. Normally rclone only preserves the modification time and the content
  6156. (MIME) type where possible.
  6157. Rclone supports preserving all the available metadata on files (not
  6158. directories) when using the --metadata or -M flag.
  6159. Exactly what metadata is supported and what that support means depends
  6160. on the backend. Backends that support metadata have a metadata section
  6161. in their docs and are listed in the features table (Eg local, s3)
  6162. Rclone only supports a one-time sync of metadata. This means that
  6163. metadata will be synced from the source object to the destination object
  6164. only when the source object has changed and needs to be re-uploaded. If
  6165. the metadata subsequently changes on the source object without changing
  6166. the object itself then it won't be synced to the destination object.
  6167. This is in line with the way rclone syncs Content-Type without the
  6168. --metadata flag.
  6169. Using --metadata when syncing from local to local will preserve file
  6170. attributes such as file mode, owner, extended attributes (not Windows).
  6171. Note that arbitrary metadata may be added to objects using the
  6172. --metadata-set key=value flag when the object is first uploaded. This
  6173. flag can be repeated as many times as necessary.
  6174. Types of metadata
  6175. Metadata is divided into two type. System metadata and User metadata.
  6176. Metadata which the backend uses itself is called system metadata. For
  6177. example on the local backend the system metadata uid will store the user
  6178. ID of the file when used on a unix based platform.
  6179. Arbitrary metadata is called user metadata and this can be set however
  6180. is desired.
  6181. When objects are copied from backend to backend, they will attempt to
  6182. interpret system metadata if it is supplied. Metadata may change from
  6183. being user metadata to system metadata as objects are copied between
  6184. different backends. For example copying an object from s3 sets the
  6185. content-type metadata. In a backend which understands this (like
  6186. azureblob) this will become the Content-Type of the object. In a backend
  6187. which doesn't understand this (like the local backend) this will become
  6188. user metadata. However should the local object be copied back to s3, the
  6189. Content-Type will be set correctly.
  6190. Metadata framework
  6191. Rclone implements a metadata framework which can read metadata from an
  6192. object and write it to the object when (and only when) it is being
  6193. uploaded.
  6194. This metadata is stored as a dictionary with string keys and string
  6195. values.
  6196. There are some limits on the names of the keys (these may be clarified
  6197. further in the future).
  6198. - must be lower case
  6199. - may be a-z 0-9 containing . - or _
  6200. - length is backend dependent
  6201. Each backend can provide system metadata that it understands. Some
  6202. backends can also store arbitrary user metadata.
  6203. Where possible the key names are standardized, so, for example, it is
  6204. possible to copy object metadata from s3 to azureblob for example and
  6205. metadata will be translated appropriately.
  6206. Some backends have limits on the size of the metadata and rclone will
  6207. give errors on upload if they are exceeded.
  6208. Metadata preservation
  6209. The goal of the implementation is to
  6210. 1. Preserve metadata if at all possible
  6211. 2. Interpret metadata if at all possible
  6212. The consequences of 1 is that you can copy an S3 object to a local disk
  6213. then back to S3 losslessly. Likewise you can copy a local file with file
  6214. attributes and xattrs from local disk to s3 and back again losslessly.
  6215. The consequence of 2 is that you can copy an S3 object with metadata to
  6216. Azureblob (say) and have the metadata appear on the Azureblob object
  6217. also.
  6218. Standard system metadata
  6219. Here is a table of standard system metadata which, if appropriate, a
  6220. backend may implement.
  6221. ----------------------------------------------------------------------------------------------
  6222. key description example
  6223. ---------------------------------- --------------------- -------------------------------------
  6224. mode File type and mode: 0100664
  6225. octal, unix style
  6226. uid User ID of owner: 500
  6227. decimal number
  6228. gid Group ID of owner: 500
  6229. decimal number
  6230. rdev Device ID (if special 0
  6231. file) => hexadecimal
  6232. atime Time of last access: 2006-01-02T15:04:05.999999999Z07:00
  6233. RFC 3339
  6234. mtime Time of last 2006-01-02T15:04:05.999999999Z07:00
  6235. modification: RFC
  6236. 3339
  6237. btime Time of file creation 2006-01-02T15:04:05.999999999Z07:00
  6238. (birth): RFC 3339
  6239. cache-control Cache-Control header no-cache
  6240. content-disposition Content-Disposition inline
  6241. header
  6242. content-encoding Content-Encoding gzip
  6243. header
  6244. content-language Content-Language en-US
  6245. header
  6246. content-type Content-Type header text/plain
  6247. ----------------------------------------------------------------------------------------------
  6248. The metadata keys mtime and content-type will take precedence if
  6249. supplied in the metadata over reading the Content-Type or modification
  6250. time of the source object.
  6251. Hashes are not included in system metadata as there is a well defined
  6252. way of reading those already.
  6253. Options
  6254. Rclone has a number of options to control its behaviour.
  6255. Options that take parameters can have the values passed in two ways,
  6256. --option=value or --option value. However boolean (true/false) options
  6257. behave slightly differently to the other options in that --boolean sets
  6258. the option to true and the absence of the flag sets it to false. It is
  6259. also possible to specify --boolean=false or --boolean=true. Note that
  6260. --boolean false is not valid - this is parsed as --boolean and the false
  6261. is parsed as an extra command line argument for rclone.
  6262. Time or duration options
  6263. TIME or DURATION options can be specified as a duration string or a time
  6264. string.
  6265. A duration string is a possibly signed sequence of decimal numbers, each
  6266. with optional fraction and a unit suffix, such as "300ms", "-1.5h" or
  6267. "2h45m". Default units are seconds or the following abbreviations are
  6268. valid:
  6269. - ms - Milliseconds
  6270. - s - Seconds
  6271. - m - Minutes
  6272. - h - Hours
  6273. - d - Days
  6274. - w - Weeks
  6275. - M - Months
  6276. - y - Years
  6277. These can also be specified as an absolute time in the following
  6278. formats:
  6279. - RFC3339 - e.g. 2006-01-02T15:04:05Z or 2006-01-02T15:04:05+07:00
  6280. - ISO8601 Date and time, local timezone - 2006-01-02T15:04:05
  6281. - ISO8601 Date and time, local timezone - 2006-01-02 15:04:05
  6282. - ISO8601 Date - 2006-01-02 (YYYY-MM-DD)
  6283. Size options
  6284. Options which use SIZE use KiB (multiples of 1024 bytes) by default.
  6285. However, a suffix of B for Byte, K for KiB, M for MiB, G for GiB, T for
  6286. TiB and P for PiB may be used. These are the binary units, e.g. 1,
  6287. 2**10, 2**20, 2**30 respectively.
  6288. --backup-dir=DIR
  6289. When using sync, copy or move any files which would have been
  6290. overwritten or deleted are moved in their original hierarchy into this
  6291. directory.
  6292. If --suffix is set, then the moved files will have the suffix added to
  6293. them. If there is a file with the same path (after the suffix has been
  6294. added) in DIR, then it will be overwritten.
  6295. The remote in use must support server-side move or copy and you must use
  6296. the same remote as the destination of the sync. The backup directory
  6297. must not overlap the destination directory without it being excluded by
  6298. a filter rule.
  6299. For example
  6300. rclone sync --interactive /path/to/local remote:current --backup-dir remote:old
  6301. will sync /path/to/local to remote:current, but for any files which
  6302. would have been updated or deleted will be stored in remote:old.
  6303. If running rclone from a script you might want to use today's date as
  6304. the directory name passed to --backup-dir to store the old files, or you
  6305. might want to pass --suffix with today's date.
  6306. See --compare-dest and --copy-dest.
  6307. --bind string
  6308. Local address to bind to for outgoing connections. This can be an IPv4
  6309. address (1.2.3.4), an IPv6 address (1234::789A) or host name. If the
  6310. host name doesn't resolve or resolves to more than one IP address it
  6311. will give an error.
  6312. --bwlimit=BANDWIDTH_SPEC
  6313. This option controls the bandwidth limit. For example
  6314. --bwlimit 10M
  6315. would mean limit the upload and download bandwidth to 10 MiB/s. NB this
  6316. is bytes per second not bits per second. To use a single limit, specify
  6317. the desired bandwidth in KiB/s, or use a suffix B|K|M|G|T|P. The default
  6318. is 0 which means to not limit bandwidth.
  6319. The upload and download bandwidth can be specified separately, as
  6320. --bwlimit UP:DOWN, so
  6321. --bwlimit 10M:100k
  6322. would mean limit the upload bandwidth to 10 MiB/s and the download
  6323. bandwidth to 100 KiB/s. Either limit can be "off" meaning no limit, so
  6324. to just limit the upload bandwidth you would use
  6325. --bwlimit 10M:off
  6326. this would limit the upload bandwidth to 10 MiB/s but the download
  6327. bandwidth would be unlimited.
  6328. When specified as above the bandwidth limits last for the duration of
  6329. run of the rclone binary.
  6330. It is also possible to specify a "timetable" of limits, which will cause
  6331. certain limits to be applied at certain times. To specify a timetable,
  6332. format your entries as
  6333. WEEKDAY-HH:MM,BANDWIDTH WEEKDAY-HH:MM,BANDWIDTH... where: WEEKDAY is
  6334. optional element.
  6335. - BANDWIDTH can be a single number, e.g.100k or a pair of numbers for
  6336. upload:download, e.g.10M:1M.
  6337. - WEEKDAY can be written as the whole word or only using the first 3
  6338. characters. It is optional.
  6339. - HH:MM is an hour from 00:00 to 23:59.
  6340. An example of a typical timetable to avoid link saturation during
  6341. daytime working hours could be:
  6342. --bwlimit "08:00,512k 12:00,10M 13:00,512k 18:00,30M 23:00,off"
  6343. In this example, the transfer bandwidth will be set to 512 KiB/s at 8am
  6344. every day. At noon, it will rise to 10 MiB/s, and drop back to 512
  6345. KiB/sec at 1pm. At 6pm, the bandwidth limit will be set to 30 MiB/s, and
  6346. at 11pm it will be completely disabled (full speed). Anything between
  6347. 11pm and 8am will remain unlimited.
  6348. An example of timetable with WEEKDAY could be:
  6349. --bwlimit "Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off"
  6350. It means that, the transfer bandwidth will be set to 512 KiB/s on
  6351. Monday. It will rise to 10 MiB/s before the end of Friday. At 10:00 on
  6352. Saturday it will be set to 1 MiB/s. From 20:00 on Sunday it will be
  6353. unlimited.
  6354. Timeslots without WEEKDAY are extended to the whole week. So this
  6355. example:
  6356. --bwlimit "Mon-00:00,512 12:00,1M Sun-20:00,off"
  6357. Is equivalent to this:
  6358. --bwlimit "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"
  6359. Bandwidth limit apply to the data transfer for all backends. For most
  6360. backends the directory listing bandwidth is also included (exceptions
  6361. being the non HTTP backends, ftp, sftp and storj).
  6362. Note that the units are Byte/s, not bit/s. Typically connections are
  6363. measured in bit/s - to convert divide by 8. For example, let's say you
  6364. have a 10 Mbit/s connection and you wish rclone to use half of it - 5
  6365. Mbit/s. This is 5/8 = 0.625 MiB/s so you would use a --bwlimit 0.625M
  6366. parameter for rclone.
  6367. On Unix systems (Linux, macOS, …) the bandwidth limiter can be toggled
  6368. by sending a SIGUSR2 signal to rclone. This allows to remove the
  6369. limitations of a long running rclone transfer and to restore it back to
  6370. the value specified with --bwlimit quickly when needed. Assuming there
  6371. is only one rclone instance running, you can toggle the limiter like
  6372. this:
  6373. kill -SIGUSR2 $(pidof rclone)
  6374. If you configure rclone with a remote control then you can use change
  6375. the bwlimit dynamically:
  6376. rclone rc core/bwlimit rate=1M
  6377. --bwlimit-file=BANDWIDTH_SPEC
  6378. This option controls per file bandwidth limit. For the options see the
  6379. --bwlimit flag.
  6380. For example use this to allow no transfers to be faster than 1 MiB/s
  6381. --bwlimit-file 1M
  6382. This can be used in conjunction with --bwlimit.
  6383. Note that if a schedule is provided the file will use the schedule in
  6384. effect at the start of the transfer.
  6385. --buffer-size=SIZE
  6386. Use this sized buffer to speed up file transfers. Each --transfer will
  6387. use this much memory for buffering.
  6388. When using mount or cmount each open file descriptor will use this much
  6389. memory for buffering. See the mount documentation for more details.
  6390. Set to 0 to disable the buffering for the minimum memory usage.
  6391. Note that the memory allocation of the buffers is influenced by the
  6392. --use-mmap flag.
  6393. --cache-dir=DIR
  6394. Specify the directory rclone will use for caching, to override the
  6395. default.
  6396. Default value is depending on operating system: - Windows
  6397. %LocalAppData%\rclone, if LocalAppData is defined. - macOS
  6398. $HOME/Library/Caches/rclone if HOME is defined. - Unix
  6399. $XDG_CACHE_HOME/rclone if XDG_CACHE_HOME is defined, else
  6400. $HOME/.cache/rclone if HOME is defined. - Fallback (on all OS) to
  6401. $TMPDIR/rclone, where TMPDIR is the value from --temp-dir.
  6402. You can use the config paths command to see the current value.
  6403. Cache directory is heavily used by the VFS File Caching mount feature,
  6404. but also by serve, GUI and other parts of rclone.
  6405. --check-first
  6406. If this flag is set then in a sync, copy or move, rclone will do all the
  6407. checks to see whether files need to be transferred before doing any of
  6408. the transfers. Normally rclone would start running transfers as soon as
  6409. possible.
  6410. This flag can be useful on IO limited systems where transfers interfere
  6411. with checking.
  6412. It can also be useful to ensure perfect ordering when using --order-by.
  6413. If both --check-first and --order-by are set when doing rclone move then
  6414. rclone will use the transfer thread to delete source files which don't
  6415. need transferring. This will enable perfect ordering of the transfers
  6416. and deletes but will cause the transfer stats to have more items in than
  6417. expected.
  6418. Using this flag can use more memory as it effectively sets --max-backlog
  6419. to infinite. This means that all the info on the objects to transfer is
  6420. held in memory before the transfers start.
  6421. --checkers=N
  6422. Originally controlling just the number of file checkers to run in
  6423. parallel, e.g. by rclone copy. Now a fairly universal parallelism
  6424. control used by rclone in several places.
  6425. Note: checkers do the equality checking of files during a sync. For some
  6426. storage systems (e.g. S3, Swift, Dropbox) this can take a significant
  6427. amount of time so they are run in parallel.
  6428. The default is to run 8 checkers in parallel. However, in case of
  6429. slow-reacting backends you may need to lower (rather than increase) this
  6430. default by setting --checkers to 4 or less threads. This is especially
  6431. advised if you are experiencing backend server crashes during file
  6432. checking phase (e.g. on subsequent or top-up backups where little or no
  6433. file copying is done and checking takes up most of the time). Increase
  6434. this setting only with utmost care, while monitoring your server health
  6435. and file checking throughput.
  6436. -c, --checksum
  6437. Normally rclone will look at modification time and size of files to see
  6438. if they are equal. If you set this flag then rclone will check the file
  6439. hash and size to determine if files are equal.
  6440. This is useful when the remote doesn't support setting modified time and
  6441. a more accurate sync is desired than just checking the file size.
  6442. This is very useful when transferring between remotes which store the
  6443. same hash type on the object, e.g. Drive and Swift. For details of which
  6444. remotes support which hash type see the table in the overview section.
  6445. Eg rclone --checksum sync s3:/bucket swift:/bucket would run much
  6446. quicker than without the --checksum flag.
  6447. When using this flag, rclone won't update mtimes of remote files if they
  6448. are incorrect as it would normally.
  6449. --color WHEN
  6450. Specify when colors (and other ANSI codes) should be added to the
  6451. output.
  6452. AUTO (default) only allows ANSI codes when the output is a terminal
  6453. NEVER never allow ANSI codes
  6454. ALWAYS always add ANSI codes, regardless of the output format (terminal
  6455. or file)
  6456. --compare-dest=DIR
  6457. When using sync, copy or move DIR is checked in addition to the
  6458. destination for files. If a file identical to the source is found that
  6459. file is NOT copied from source. This is useful to copy just files that
  6460. have changed since the last backup.
  6461. You must use the same remote as the destination of the sync. The compare
  6462. directory must not overlap the destination directory.
  6463. See --copy-dest and --backup-dir.
  6464. --config=CONFIG_FILE
  6465. Specify the location of the rclone configuration file, to override the
  6466. default. E.g. rclone config --config="rclone.conf".
  6467. The exact default is a bit complex to describe, due to changes
  6468. introduced through different versions of rclone while preserving
  6469. backwards compatibility, but in most cases it is as simple as:
  6470. - %APPDATA%/rclone/rclone.conf on Windows
  6471. - ~/.config/rclone/rclone.conf on other
  6472. The complete logic is as follows: Rclone will look for an existing
  6473. configuration file in any of the following locations, in priority order:
  6474. 1. rclone.conf (in program directory, where rclone executable is)
  6475. 2. %APPDATA%/rclone/rclone.conf (only on Windows)
  6476. 3. $XDG_CONFIG_HOME/rclone/rclone.conf (on all systems, including
  6477. Windows)
  6478. 4. ~/.config/rclone/rclone.conf (see below for explanation of ~ symbol)
  6479. 5. ~/.rclone.conf
  6480. If no existing configuration file is found, then a new one will be
  6481. created in the following location:
  6482. - On Windows: Location 2 listed above, except in the unlikely event
  6483. that APPDATA is not defined, then location 4 is used instead.
  6484. - On Unix: Location 3 if XDG_CONFIG_HOME is defined, else location 4.
  6485. - Fallback to location 5 (on all OS), when the rclone directory cannot
  6486. be created, but if also a home directory was not found then path
  6487. .rclone.conf relative to current working directory will be used as a
  6488. final resort.
  6489. The ~ symbol in paths above represent the home directory of the current
  6490. user on any OS, and the value is defined as following:
  6491. - On Windows: %HOME% if defined, else %USERPROFILE%, or else
  6492. %HOMEDRIVE%\%HOMEPATH%.
  6493. - On Unix: $HOME if defined, else by looking up current user in
  6494. OS-specific user database (e.g. passwd file), or else use the result
  6495. from shell command cd && pwd.
  6496. If you run rclone config file you will see where the default location is
  6497. for you.
  6498. The fact that an existing file rclone.conf in the same directory as the
  6499. rclone executable is always preferred, means that it is easy to run in
  6500. "portable" mode by downloading rclone executable to a writable directory
  6501. and then create an empty file rclone.conf in the same directory.
  6502. If the location is set to empty string "" or path to a file with name
  6503. notfound, or the os null device represented by value NUL on Windows and
  6504. /dev/null on Unix systems, then rclone will keep the config file in
  6505. memory only.
  6506. The file format is basic INI: Sections of text, led by a [section]
  6507. header and followed by key=value entries on separate lines. In rclone
  6508. each remote is represented by its own section, where the section name
  6509. defines the name of the remote. Options are specified as the key=value
  6510. entries, where the key is the option name without the --backend- prefix,
  6511. in lowercase and with _ instead of -. E.g. option --mega-hard-delete
  6512. corresponds to key hard_delete. Only backend options can be specified. A
  6513. special, and required, key type identifies the storage system, where the
  6514. value is the internal lowercase name as returned by command
  6515. rclone help backends. Comments are indicated by ; or # at the beginning
  6516. of a line.
  6517. Example:
  6518. [megaremote]
  6519. type = mega
  6520. user = you@example.com
  6521. pass = PDPcQVVjVtzFY-GTdDFozqBhTdsPg3qH
  6522. Note that passwords are in obscured form. Also, many storage systems
  6523. uses token-based authentication instead of passwords, and this requires
  6524. additional steps. It is easier, and safer, to use the interactive
  6525. command rclone config instead of manually editing the configuration
  6526. file.
  6527. The configuration file will typically contain login information, and
  6528. should therefore have restricted permissions so that only the current
  6529. user can read it. Rclone tries to ensure this when it writes the file.
  6530. You may also choose to encrypt the file.
  6531. When token-based authentication are used, the configuration file must be
  6532. writable, because rclone needs to update the tokens inside it.
  6533. To reduce risk of corrupting an existing configuration file, rclone will
  6534. not write directly to it when saving changes. Instead it will first
  6535. write to a new, temporary, file. If a configuration file already
  6536. existed, it will (on Unix systems) try to mirror its permissions to the
  6537. new file. Then it will rename the existing file to a temporary name as
  6538. backup. Next, rclone will rename the new file to the correct name,
  6539. before finally cleaning up by deleting the backup file.
  6540. If the configuration file path used by rclone is a symbolic link, then
  6541. this will be evaluated and rclone will write to the resolved path,
  6542. instead of overwriting the symbolic link. Temporary files used in the
  6543. process (described above) will be written to the same parent directory
  6544. as that of the resolved configuration file, but if this directory is
  6545. also a symbolic link it will not be resolved and the temporary files
  6546. will be written to the location of the directory symbolic link.
  6547. --contimeout=TIME
  6548. Set the connection timeout. This should be in go time format which looks
  6549. like 5s for 5 seconds, 10m for 10 minutes, or 3h30m.
  6550. The connection timeout is the amount of time rclone will wait for a
  6551. connection to go through to a remote object storage system. It is 1m by
  6552. default.
  6553. --copy-dest=DIR
  6554. When using sync, copy or move DIR is checked in addition to the
  6555. destination for files. If a file identical to the source is found that
  6556. file is server-side copied from DIR to the destination. This is useful
  6557. for incremental backup.
  6558. The remote in use must support server-side copy and you must use the
  6559. same remote as the destination of the sync. The compare directory must
  6560. not overlap the destination directory.
  6561. See --compare-dest and --backup-dir.
  6562. --dedupe-mode MODE
  6563. Mode to run dedupe command in. One of interactive, skip, first, newest,
  6564. oldest, rename. The default is interactive.
  6565. See the dedupe command for more information as to what these options
  6566. mean.
  6567. --default-time TIME
  6568. If a file or directory does have a modification time rclone can read
  6569. then rclone will display this fixed time instead.
  6570. The default is 2000-01-01 00:00:00 UTC. This can be configured in any of
  6571. the ways shown in the time or duration options.
  6572. For example --default-time 2020-06-01 to set the default time to the 1st
  6573. of June 2020 or --default-time 0s to set the default time to the time
  6574. rclone started up.
  6575. --disable FEATURE,FEATURE,...
  6576. This disables a comma separated list of optional features. For example
  6577. to disable server-side move and server-side copy use:
  6578. --disable move,copy
  6579. The features can be put in any case.
  6580. To see a list of which features can be disabled use:
  6581. --disable help
  6582. The features a remote has can be seen in JSON format with:
  6583. rclone backend features remote:
  6584. See the overview features and optional features to get an idea of which
  6585. feature does what.
  6586. Note that some features can be set to true if they are true/false
  6587. feature flag features by prefixing them with !. For example the
  6588. CaseInsensitive feature can be forced to false with
  6589. --disable CaseInsensitive and forced to true with
  6590. --disable '!CaseInsensitive'. In general it isn't a good idea doing this
  6591. but it may be useful in extremis.
  6592. (Note that ! is a shell command which you will need to escape with
  6593. single quotes or a backslash on unix like platforms.)
  6594. This flag can be useful for debugging and in exceptional circumstances
  6595. (e.g. Google Drive limiting the total volume of Server Side Copies to
  6596. 100 GiB/day).
  6597. --disable-http2
  6598. This stops rclone from trying to use HTTP/2 if available. This can
  6599. sometimes speed up transfers due to a problem in the Go standard
  6600. library.
  6601. --dscp VALUE
  6602. Specify a DSCP value or name to use in connections. This could help QoS
  6603. system to identify traffic class. BE, EF, DF, LE, CSx and AFxx are
  6604. allowed.
  6605. See the description of differentiated services to get an idea of this
  6606. field. Setting this to 1 (LE) to identify the flow to SCAVENGER class
  6607. can avoid occupying too much bandwidth in a network with DiffServ
  6608. support (RFC 8622).
  6609. For example, if you configured QoS on router to handle LE properly.
  6610. Running:
  6611. rclone copy --dscp LE from:/from to:/to
  6612. would make the priority lower than usual internet flows.
  6613. This option has no effect on Windows (see golang/go#42728).
  6614. -n, --dry-run
  6615. Do a trial run with no permanent changes. Use this to see what rclone
  6616. would do without actually doing it. Useful when setting up the sync
  6617. command which deletes files in the destination.
  6618. --expect-continue-timeout=TIME
  6619. This specifies the amount of time to wait for a server's first response
  6620. headers after fully writing the request headers if the request has an
  6621. "Expect: 100-continue" header. Not all backends support using this.
  6622. Zero means no timeout and causes the body to be sent immediately,
  6623. without waiting for the server to approve. This time does not include
  6624. the time to send the request header.
  6625. The default is 1s. Set to 0 to disable.
  6626. --error-on-no-transfer
  6627. By default, rclone will exit with return code 0 if there were no errors.
  6628. This option allows rclone to return exit code 9 if no files were
  6629. transferred between the source and destination. This allows using rclone
  6630. in scripts, and triggering follow-on actions if data was copied, or
  6631. skipping if not.
  6632. NB: Enabling this option turns a usually non-fatal error into a
  6633. potentially fatal one - please check and adjust your scripts
  6634. accordingly!
  6635. --fs-cache-expire-duration=TIME
  6636. When using rclone via the API rclone caches created remotes for 5
  6637. minutes by default in the "fs cache". This means that if you do repeated
  6638. actions on the same remote then rclone won't have to build it again from
  6639. scratch, which makes it more efficient.
  6640. This flag sets the time that the remotes are cached for. If you set it
  6641. to 0 (or negative) then rclone won't cache the remotes at all.
  6642. Note that if you use some flags, eg --backup-dir and if this is set to 0
  6643. rclone may build two remotes (one for the source or destination and one
  6644. for the --backup-dir where it may have only built one before.
  6645. --fs-cache-expire-interval=TIME
  6646. This controls how often rclone checks for cached remotes to expire. See
  6647. the --fs-cache-expire-duration documentation above for more info. The
  6648. default is 60s, set to 0 to disable expiry.
  6649. --header
  6650. Add an HTTP header for all transactions. The flag can be repeated to add
  6651. multiple headers.
  6652. If you want to add headers only for uploads use --header-upload and if
  6653. you want to add headers only for downloads use --header-download.
  6654. This flag is supported for all HTTP based backends even those not
  6655. supported by --header-upload and --header-download so may be used as a
  6656. workaround for those with care.
  6657. rclone ls remote:test --header "X-Rclone: Foo" --header "X-LetMeIn: Yes"
  6658. --header-download
  6659. Add an HTTP header for all download transactions. The flag can be
  6660. repeated to add multiple headers.
  6661. rclone sync --interactive s3:test/src ~/dst --header-download "X-Amz-Meta-Test: Foo" --header-download "X-Amz-Meta-Test2: Bar"
  6662. See the GitHub issue here for currently supported backends.
  6663. --header-upload
  6664. Add an HTTP header for all upload transactions. The flag can be repeated
  6665. to add multiple headers.
  6666. rclone sync --interactive ~/src s3:test/dst --header-upload "Content-Disposition: attachment; filename='cool.html'" --header-upload "X-Amz-Meta-Test: FooBar"
  6667. See the GitHub issue here for currently supported backends.
  6668. --human-readable
  6669. Rclone commands output values for sizes (e.g. number of bytes) and
  6670. counts (e.g. number of files) either as raw numbers, or in
  6671. human-readable format.
  6672. In human-readable format the values are scaled to larger units,
  6673. indicated with a suffix shown after the value, and rounded to three
  6674. decimals. Rclone consistently uses binary units (powers of 2) for sizes
  6675. and decimal units (powers of 10) for counts. The unit prefix for size is
  6676. according to IEC standard notation, e.g. Ki for kibi. Used with byte
  6677. unit, 1 KiB means 1024 Byte. In list type of output, only the unit
  6678. prefix appended to the value (e.g. 9.762Ki), while in more textual
  6679. output the full unit is shown (e.g. 9.762 KiB). For counts the SI
  6680. standard notation is used, e.g. prefix k for kilo. Used with file
  6681. counts, 1k means 1000 files.
  6682. The various list commands output raw numbers by default. Option
  6683. --human-readable will make them output values in human-readable format
  6684. instead (with the short unit prefix).
  6685. The about command outputs human-readable by default, with a
  6686. command-specific option --full to output the raw numbers instead.
  6687. Command size outputs both human-readable and raw numbers in the same
  6688. output.
  6689. The tree command also considers --human-readable, but it will not use
  6690. the exact same notation as the other commands: It rounds to one decimal,
  6691. and uses single letter suffix, e.g. K instead of Ki. The reason for this
  6692. is that it relies on an external library.
  6693. The interactive command ncdu shows human-readable by default, and
  6694. responds to key u for toggling human-readable format.
  6695. --ignore-case-sync
  6696. Using this option will cause rclone to ignore the case of the files when
  6697. synchronizing so files will not be copied/synced when the existing
  6698. filenames are the same, even if the casing is different.
  6699. --ignore-checksum
  6700. Normally rclone will check that the checksums of transferred files
  6701. match, and give an error "corrupted on transfer" if they don't.
  6702. You can use this option to skip that check. You should only use it if
  6703. you have had the "corrupted on transfer" error message and you are sure
  6704. you might want to transfer potentially corrupted data.
  6705. --ignore-existing
  6706. Using this option will make rclone unconditionally skip all files that
  6707. exist on the destination, no matter the content of these files.
  6708. While this isn't a generally recommended option, it can be useful in
  6709. cases where your files change due to encryption. However, it cannot
  6710. correct partial transfers in case a transfer was interrupted.
  6711. When performing a move/moveto command, this flag will leave skipped
  6712. files in the source location unchanged when a file with the same name
  6713. exists on the destination.
  6714. --ignore-size
  6715. Normally rclone will look at modification time and size of files to see
  6716. if they are equal. If you set this flag then rclone will check only the
  6717. modification time. If --checksum is set then it only checks the
  6718. checksum.
  6719. It will also cause rclone to skip verifying the sizes are the same after
  6720. transfer.
  6721. This can be useful for transferring files to and from OneDrive which
  6722. occasionally misreports the size of image files (see #399 for more
  6723. info).
  6724. -I, --ignore-times
  6725. Using this option will cause rclone to unconditionally upload all files
  6726. regardless of the state of files on the destination.
  6727. Normally rclone would skip any files that have the same modification
  6728. time and are the same size (or have the same checksum if using
  6729. --checksum).
  6730. --immutable
  6731. Treat source and destination files as immutable and disallow
  6732. modification.
  6733. With this option set, files will be created and deleted as requested,
  6734. but existing files will never be updated. If an existing file does not
  6735. match between the source and destination, rclone will give the error
  6736. Source and destination exist but do not match: immutable file modified.
  6737. Note that only commands which transfer files (e.g. sync, copy, move) are
  6738. affected by this behavior, and only modification is disallowed. Files
  6739. may still be deleted explicitly (e.g. delete, purge) or implicitly (e.g.
  6740. sync, move). Use copy --immutable if it is desired to avoid deletion as
  6741. well as modification.
  6742. This can be useful as an additional layer of protection for immutable or
  6743. append-only data sets (notably backup archives), where modification
  6744. implies corruption and should not be propagated.
  6745. --inplace
  6746. The --inplace flag changes the behaviour of rclone when uploading files
  6747. to some backends (backends with the PartialUploads feature flag set)
  6748. such as:
  6749. - local
  6750. - ftp
  6751. - sftp
  6752. Without --inplace (the default) rclone will first upload to a temporary
  6753. file with an extension like this where XXXXXX represents a random
  6754. string.
  6755. original-file-name.XXXXXX.partial
  6756. (rclone will make sure the final name is no longer than 100 characters
  6757. by truncating the original-file-name part if necessary).
  6758. When the upload is complete, rclone will rename the .partial file to the
  6759. correct name, overwriting any existing file at that point. If the upload
  6760. fails then the .partial file will be deleted.
  6761. This prevents other users of the backend from seeing partially uploaded
  6762. files in their new names and prevents overwriting the old file until the
  6763. new one is completely uploaded.
  6764. If the --inplace flag is supplied, rclone will upload directly to the
  6765. final name without creating a .partial file.
  6766. This means that an incomplete file will be visible in the directory
  6767. listings while the upload is in progress and any existing files will be
  6768. overwritten as soon as the upload starts. If the transfer fails then the
  6769. file will be deleted. This can cause data loss of the existing file if
  6770. the transfer fails.
  6771. Note that on the local file system if you don't use --inplace hard links
  6772. (Unix only) will be broken. And if you do use --inplace you won't be
  6773. able to update in use executables.
  6774. Note also that versions of rclone prior to v1.63.0 behave as if the
  6775. --inplace flag is always supplied.
  6776. -i, --interactive
  6777. This flag can be used to tell rclone that you wish a manual confirmation
  6778. before destructive operations.
  6779. It is recommended that you use this flag while learning rclone
  6780. especially with rclone sync.
  6781. For example
  6782. $ rclone delete --interactive /tmp/dir
  6783. rclone: delete "important-file.txt"?
  6784. y) Yes, this is OK (default)
  6785. n) No, skip this
  6786. s) Skip all delete operations with no more questions
  6787. !) Do all delete operations with no more questions
  6788. q) Exit rclone now.
  6789. y/n/s/!/q> n
  6790. The options mean
  6791. - y: Yes, this operation should go ahead. You can also press Return
  6792. for this to happen. You'll be asked every time unless you choose s
  6793. or !.
  6794. - n: No, do not do this operation. You'll be asked every time unless
  6795. you choose s or !.
  6796. - s: Skip all the following operations of this type with no more
  6797. questions. This takes effect until rclone exits. If there are any
  6798. different kind of operations you'll be prompted for them.
  6799. - !: Do all the following operations with no more questions. Useful if
  6800. you've decided that you don't mind rclone doing that kind of
  6801. operation. This takes effect until rclone exits . If there are any
  6802. different kind of operations you'll be prompted for them.
  6803. - q: Quit rclone now, just in case!
  6804. --leave-root
  6805. During rmdirs it will not remove root directory, even if it's empty.
  6806. --log-file=FILE
  6807. Log all of rclone's output to FILE. This is not active by default. This
  6808. can be useful for tracking down problems with syncs in combination with
  6809. the -v flag. See the Logging section for more info.
  6810. If FILE exists then rclone will append to it.
  6811. Note that if you are using the logrotate program to manage rclone's
  6812. logs, then you should use the copytruncate option as rclone doesn't have
  6813. a signal to rotate logs.
  6814. --log-format LIST
  6815. Comma separated list of log format options. Accepted options are date,
  6816. time, microseconds, pid, longfile, shortfile, UTC. Any other keywords
  6817. will be silently ignored. pid will tag log messages with process
  6818. identifier which useful with rclone mount --daemon. Other accepted
  6819. options are explained in the go documentation. The default log format is
  6820. "date,time".
  6821. --log-level LEVEL
  6822. This sets the log level for rclone. The default log level is NOTICE.
  6823. DEBUG is equivalent to -vv. It outputs lots of debug info - useful for
  6824. bug reports and really finding out what rclone is doing.
  6825. INFO is equivalent to -v. It outputs information about each transfer and
  6826. prints stats once a minute by default.
  6827. NOTICE is the default log level if no logging flags are supplied. It
  6828. outputs very little when things are working normally. It outputs
  6829. warnings and significant events.
  6830. ERROR is equivalent to -q. It only outputs error messages.
  6831. --use-json-log
  6832. This switches the log format to JSON for rclone. The fields of json log
  6833. are level, msg, source, time.
  6834. --low-level-retries NUMBER
  6835. This controls the number of low level retries rclone does.
  6836. A low level retry is used to retry a failing operation - typically one
  6837. HTTP request. This might be uploading a chunk of a big file for example.
  6838. You will see low level retries in the log with the -v flag.
  6839. This shouldn't need to be changed from the default in normal operations.
  6840. However, if you get a lot of low level retries you may wish to reduce
  6841. the value so rclone moves on to a high level retry (see the --retries
  6842. flag) quicker.
  6843. Disable low level retries with --low-level-retries 1.
  6844. --max-backlog=N
  6845. This is the maximum allowable backlog of files in a sync/copy/move
  6846. queued for being checked or transferred.
  6847. This can be set arbitrarily large. It will only use memory when the
  6848. queue is in use. Note that it will use in the order of N KiB of memory
  6849. when the backlog is in use.
  6850. Setting this large allows rclone to calculate how many files are pending
  6851. more accurately, give a more accurate estimated finish time and make
  6852. --order-by work more accurately.
  6853. Setting this small will make rclone more synchronous to the listings of
  6854. the remote which may be desirable.
  6855. Setting this to a negative number will make the backlog as large as
  6856. possible.
  6857. --max-delete=N
  6858. This tells rclone not to delete more than N files. If that limit is
  6859. exceeded then a fatal error will be generated and rclone will stop the
  6860. operation in progress.
  6861. --max-delete-size=SIZE
  6862. Rclone will stop deleting files when the total size of deletions has
  6863. reached the size specified. It defaults to off.
  6864. If that limit is exceeded then a fatal error will be generated and
  6865. rclone will stop the operation in progress.
  6866. --max-depth=N
  6867. This modifies the recursion depth for all the commands except purge.
  6868. So if you do rclone --max-depth 1 ls remote:path you will see only the
  6869. files in the top level directory. Using --max-depth 2 means you will see
  6870. all the files in first two directory levels and so on.
  6871. For historical reasons the lsd command defaults to using a --max-depth
  6872. of 1 - you can override this with the command line flag.
  6873. You can use this command to disable recursion (with --max-depth 1).
  6874. Note that if you use this with sync and --delete-excluded the files not
  6875. recursed through are considered excluded and will be deleted on the
  6876. destination. Test first with --dry-run if you are not sure what will
  6877. happen.
  6878. --max-duration=TIME
  6879. Rclone will stop scheduling new transfers when it has run for the
  6880. duration specified.
  6881. Defaults to off.
  6882. When the limit is reached any existing transfers will complete.
  6883. Rclone won't exit with an error if the transfer limit is reached.
  6884. --max-transfer=SIZE
  6885. Rclone will stop transferring when it has reached the size specified.
  6886. Defaults to off.
  6887. When the limit is reached all transfers will stop immediately.
  6888. Rclone will exit with exit code 8 if the transfer limit is reached.
  6889. -M, --metadata
  6890. Setting this flag enables rclone to copy the metadata from the source to
  6891. the destination. For local backends this is ownership, permissions,
  6892. xattr etc. See the #metadata for more info.
  6893. --metadata-set key=value
  6894. Add metadata key = value when uploading. This can be repeated as many
  6895. times as required. See the #metadata for more info.
  6896. --cutoff-mode=hard|soft|cautious
  6897. This modifies the behavior of --max-transfer Defaults to
  6898. --cutoff-mode=hard.
  6899. Specifying --cutoff-mode=hard will stop transferring immediately when
  6900. Rclone reaches the limit.
  6901. Specifying --cutoff-mode=soft will stop starting new transfers when
  6902. Rclone reaches the limit.
  6903. Specifying --cutoff-mode=cautious will try to prevent Rclone from
  6904. reaching the limit.
  6905. --modify-window=TIME
  6906. When checking whether a file has been modified, this is the maximum
  6907. allowed time difference that a file can have and still be considered
  6908. equivalent.
  6909. The default is 1ns unless this is overridden by a remote. For example OS
  6910. X only stores modification times to the nearest second so if you are
  6911. reading and writing to an OS X filing system this will be 1s by default.
  6912. This command line flag allows you to override that computed default.
  6913. --multi-thread-write-buffer-size=SIZE
  6914. When downloading with multiple threads, rclone will buffer SIZE bytes in
  6915. memory before writing to disk for each thread.
  6916. This can improve performance if the underlying filesystem does not deal
  6917. well with a lot of small writes in different positions of the file, so
  6918. if you see downloads being limited by disk write speed, you might want
  6919. to experiment with different values. Specially for magnetic drives and
  6920. remote file systems a higher value can be useful.
  6921. Nevertheless, the default of 128k should be fine for almost all use
  6922. cases, so before changing it ensure that network is not really your
  6923. bottleneck.
  6924. As a final hint, size is not the only factor: block size (or similar
  6925. concept) can have an impact. In one case, we observed that exact
  6926. multiples of 16k performed much better than other values.
  6927. --multi-thread-cutoff=SIZE
  6928. When downloading files to the local backend above this size, rclone will
  6929. use multiple threads to download the file (default 250M).
  6930. Rclone preallocates the file (using fallocate(FALLOC_FL_KEEP_SIZE) on
  6931. unix or NTSetInformationFile on Windows both of which takes no time)
  6932. then each thread writes directly into the file at the correct place.
  6933. This means that rclone won't create fragmented or sparse files and there
  6934. won't be any assembly time at the end of the transfer.
  6935. The number of threads used to download is controlled by
  6936. --multi-thread-streams.
  6937. Use -vv if you wish to see info about the threads.
  6938. This will work with the sync/copy/move commands and friends
  6939. copyto/moveto. Multi thread downloads will be used with rclone mount and
  6940. rclone serve if --vfs-cache-mode is set to writes or above.
  6941. NB that this only works for a local destination but will work with any
  6942. source.
  6943. NB that multi thread copies are disabled for local to local copies as
  6944. they are faster without unless --multi-thread-streams is set explicitly.
  6945. NB on Windows using multi-thread downloads will cause the resulting
  6946. files to be sparse. Use --local-no-sparse to disable sparse files (which
  6947. may cause long delays at the start of downloads) or disable multi-thread
  6948. downloads with --multi-thread-streams 0
  6949. --multi-thread-streams=N
  6950. When using multi thread downloads (see above --multi-thread-cutoff) this
  6951. sets the maximum number of streams to use. Set to 0 to disable multi
  6952. thread downloads (Default 4).
  6953. Exactly how many streams rclone uses for the download depends on the
  6954. size of the file. To calculate the number of download streams Rclone
  6955. divides the size of the file by the --multi-thread-cutoff and rounds up,
  6956. up to the maximum set with --multi-thread-streams.
  6957. So if --multi-thread-cutoff 250M and --multi-thread-streams 4 are in
  6958. effect (the defaults):
  6959. - 0..250 MiB files will be downloaded with 1 stream
  6960. - 250..500 MiB files will be downloaded with 2 streams
  6961. - 500..750 MiB files will be downloaded with 3 streams
  6962. - 750+ MiB files will be downloaded with 4 streams
  6963. --no-check-dest
  6964. The --no-check-dest can be used with move or copy and it causes rclone
  6965. not to check the destination at all when copying files.
  6966. This means that:
  6967. - the destination is not listed minimising the API calls
  6968. - files are always transferred
  6969. - this can cause duplicates on remotes which allow it (e.g. Google
  6970. Drive)
  6971. - --retries 1 is recommended otherwise you'll transfer everything
  6972. again on a retry
  6973. This flag is useful to minimise the transactions if you know that none
  6974. of the files are on the destination.
  6975. This is a specialized flag which should be ignored by most users!
  6976. --no-gzip-encoding
  6977. Don't set Accept-Encoding: gzip. This means that rclone won't ask the
  6978. server for compressed files automatically. Useful if you've set the
  6979. server to return files with Content-Encoding: gzip but you uploaded
  6980. compressed files.
  6981. There is no need to set this in normal operation, and doing so will
  6982. decrease the network transfer efficiency of rclone.
  6983. --no-traverse
  6984. The --no-traverse flag controls whether the destination file system is
  6985. traversed when using the copy or move commands. --no-traverse is not
  6986. compatible with sync and will be ignored if you supply it with sync.
  6987. If you are only copying a small number of files (or are filtering most
  6988. of the files) and/or have a large number of files on the destination
  6989. then --no-traverse will stop rclone listing the destination and save
  6990. time.
  6991. However, if you are copying a large number of files, especially if you
  6992. are doing a copy where lots of the files under consideration haven't
  6993. changed and won't need copying then you shouldn't use --no-traverse.
  6994. See rclone copy for an example of how to use it.
  6995. --no-unicode-normalization
  6996. Don't normalize unicode characters in filenames during the sync routine.
  6997. Sometimes, an operating system will store filenames containing unicode
  6998. parts in their decomposed form (particularly macOS). Some cloud storage
  6999. systems will then recompose the unicode, resulting in duplicate files if
  7000. the data is ever copied back to a local filesystem.
  7001. Using this flag will disable that functionality, treating each unicode
  7002. character as unique. For example, by default é and é will be normalized
  7003. into the same character. With --no-unicode-normalization they will be
  7004. treated as unique characters.
  7005. --no-update-modtime
  7006. When using this flag, rclone won't update modification times of remote
  7007. files if they are incorrect as it would normally.
  7008. This can be used if the remote is being synced with another tool also
  7009. (e.g. the Google Drive client).
  7010. --order-by string
  7011. The --order-by flag controls the order in which files in the backlog are
  7012. processed in rclone sync, rclone copy and rclone move.
  7013. The order by string is constructed like this. The first part describes
  7014. what aspect is being measured:
  7015. - size - order by the size of the files
  7016. - name - order by the full path of the files
  7017. - modtime - order by the modification date of the files
  7018. This can have a modifier appended with a comma:
  7019. - ascending or asc - order so that the smallest (or oldest) is
  7020. processed first
  7021. - descending or desc - order so that the largest (or newest) is
  7022. processed first
  7023. - mixed - order so that the smallest is processed first for some
  7024. threads and the largest for others
  7025. If the modifier is mixed then it can have an optional percentage (which
  7026. defaults to 50), e.g. size,mixed,25 which means that 25% of the threads
  7027. should be taking the smallest items and 75% the largest. The threads
  7028. which take the smallest first will always take the smallest first and
  7029. likewise the largest first threads. The mixed mode can be useful to
  7030. minimise the transfer time when you are transferring a mixture of large
  7031. and small files - the large files are guaranteed upload threads and
  7032. bandwidth and the small files will be processed continuously.
  7033. If no modifier is supplied then the order is ascending.
  7034. For example
  7035. - --order-by size,desc - send the largest files first
  7036. - --order-by modtime,ascending - send the oldest files first
  7037. - --order-by name - send the files with alphabetically by path first
  7038. If the --order-by flag is not supplied or it is supplied with an empty
  7039. string then the default ordering will be used which is as scanned. With
  7040. --checkers 1 this is mostly alphabetical, however with the default
  7041. --checkers 8 it is somewhat random.
  7042. Limitations
  7043. The --order-by flag does not do a separate pass over the data. This
  7044. means that it may transfer some files out of the order specified if
  7045. - there are no files in the backlog or the source has not been fully
  7046. scanned yet
  7047. - there are more than --max-backlog files in the backlog
  7048. Rclone will do its best to transfer the best file it has so in practice
  7049. this should not cause a problem. Think of --order-by as being more of a
  7050. best efforts flag rather than a perfect ordering.
  7051. If you want perfect ordering then you will need to specify --check-first
  7052. which will find all the files which need transferring first before
  7053. transferring any.
  7054. --password-command SpaceSepList
  7055. This flag supplies a program which should supply the config password
  7056. when run. This is an alternative to rclone prompting for the password or
  7057. setting the RCLONE_CONFIG_PASS variable.
  7058. The argument to this should be a command with a space separated list of
  7059. arguments. If one of the arguments has a space in then enclose it in ",
  7060. if you want a literal " in an argument then enclose the argument in "
  7061. and double the ". See CSV encoding for more info.
  7062. Eg
  7063. --password-command echo hello
  7064. --password-command echo "hello with space"
  7065. --password-command echo "hello with ""quotes"" and space"
  7066. See the Configuration Encryption for more info.
  7067. See a Windows PowerShell example on the Wiki.
  7068. -P, --progress
  7069. This flag makes rclone update the stats in a static block in the
  7070. terminal providing a realtime overview of the transfer.
  7071. Any log messages will scroll above the static block. Log messages will
  7072. push the static block down to the bottom of the terminal where it will
  7073. stay.
  7074. Normally this is updated every 500mS but this period can be overridden
  7075. with the --stats flag.
  7076. This can be used with the --stats-one-line flag for a simpler display.
  7077. Note: On Windows until this bug is fixed all non-ASCII characters will
  7078. be replaced with . when --progress is in use.
  7079. --progress-terminal-title
  7080. This flag, when used with -P/--progress, will print the string ETA: %s
  7081. to the terminal title.
  7082. -q, --quiet
  7083. This flag will limit rclone's output to error messages only.
  7084. --refresh-times
  7085. The --refresh-times flag can be used to update modification times of
  7086. existing files when they are out of sync on backends which don't support
  7087. hashes.
  7088. This is useful if you uploaded files with the incorrect timestamps and
  7089. you now wish to correct them.
  7090. This flag is only useful for destinations which don't support hashes
  7091. (e.g. crypt).
  7092. This can be used any of the sync commands sync, copy or move.
  7093. To use this flag you will need to be doing a modification time sync (so
  7094. not using --size-only or --checksum). The flag will have no effect when
  7095. using --size-only or --checksum.
  7096. If this flag is used when rclone comes to upload a file it will check to
  7097. see if there is an existing file on the destination. If this file
  7098. matches the source with size (and checksum if available) but has a
  7099. differing timestamp then instead of re-uploading it, rclone will update
  7100. the timestamp on the destination file. If the checksum does not match
  7101. rclone will upload the new file. If the checksum is absent (e.g. on a
  7102. crypt backend) then rclone will update the timestamp.
  7103. Note that some remotes can't set the modification time without
  7104. re-uploading the file so this flag is less useful on them.
  7105. Normally if you are doing a modification time sync rclone will update
  7106. modification times without --refresh-times provided that the remote
  7107. supports checksums and the checksums match on the file. However if the
  7108. checksums are absent then rclone will upload the file rather than
  7109. setting the timestamp as this is the safe behaviour.
  7110. --retries int
  7111. Retry the entire sync if it fails this many times it fails (default 3).
  7112. Some remotes can be unreliable and a few retries help pick up the files
  7113. which didn't get transferred because of errors.
  7114. Disable retries with --retries 1.
  7115. --retries-sleep=TIME
  7116. This sets the interval between each retry specified by --retries
  7117. The default is 0. Use 0 to disable.
  7118. --server-side-across-configs
  7119. Allow server-side operations (e.g. copy or move) to work across
  7120. different configurations.
  7121. This can be useful if you wish to do a server-side copy or move between
  7122. two remotes which use the same backend but are configured differently.
  7123. Note that this isn't enabled by default because it isn't easy for rclone
  7124. to tell if it will work between any two configurations.
  7125. --size-only
  7126. Normally rclone will look at modification time and size of files to see
  7127. if they are equal. If you set this flag then rclone will check only the
  7128. size.
  7129. This can be useful transferring files from Dropbox which have been
  7130. modified by the desktop sync client which doesn't set checksums of
  7131. modification times in the same way as rclone.
  7132. --stats=TIME
  7133. Commands which transfer data (sync, copy, copyto, move, moveto) will
  7134. print data transfer stats at regular intervals to show their progress.
  7135. This sets the interval.
  7136. The default is 1m. Use 0 to disable.
  7137. If you set the stats interval then all commands can show stats. This can
  7138. be useful when running other commands, check or mount for example.
  7139. Stats are logged at INFO level by default which means they won't show at
  7140. default log level NOTICE. Use --stats-log-level NOTICE or -v to make
  7141. them show. See the Logging section for more info on log levels.
  7142. Note that on macOS you can send a SIGINFO (which is normally ctrl-T in
  7143. the terminal) to make the stats print immediately.
  7144. --stats-file-name-length integer
  7145. By default, the --stats output will truncate file names and paths longer
  7146. than 40 characters. This is equivalent to providing
  7147. --stats-file-name-length 40. Use --stats-file-name-length 0 to disable
  7148. any truncation of file names printed by stats.
  7149. --stats-log-level string
  7150. Log level to show --stats output at. This can be DEBUG, INFO, NOTICE, or
  7151. ERROR. The default is INFO. This means at the default level of logging
  7152. which is NOTICE the stats won't show - if you want them to then use
  7153. --stats-log-level NOTICE. See the Logging section for more info on log
  7154. levels.
  7155. --stats-one-line
  7156. When this is specified, rclone condenses the stats into a single line
  7157. showing the most important stats only.
  7158. --stats-one-line-date
  7159. When this is specified, rclone enables the single-line stats and
  7160. prepends the display with a date string. The default is
  7161. 2006/01/02 15:04:05 -
  7162. --stats-one-line-date-format
  7163. When this is specified, rclone enables the single-line stats and
  7164. prepends the display with a user-supplied date string. The date string
  7165. MUST be enclosed in quotes. Follow golang specs for date formatting
  7166. syntax.
  7167. --stats-unit=bits|bytes
  7168. By default, data transfer rates will be printed in bytes per second.
  7169. This option allows the data rate to be printed in bits per second.
  7170. Data transfer volume will still be reported in bytes.
  7171. The rate is reported as a binary unit, not SI unit. So 1 Mbit/s equals
  7172. 1,048,576 bit/s and not 1,000,000 bit/s.
  7173. The default is bytes.
  7174. --suffix=SUFFIX
  7175. When using sync, copy or move any files which would have been
  7176. overwritten or deleted will have the suffix added to them. If there is a
  7177. file with the same path (after the suffix has been added), then it will
  7178. be overwritten.
  7179. The remote in use must support server-side move or copy and you must use
  7180. the same remote as the destination of the sync.
  7181. This is for use with files to add the suffix in the current directory or
  7182. with --backup-dir. See --backup-dir for more info.
  7183. For example
  7184. rclone copy --interactive /path/to/local/file remote:current --suffix .bak
  7185. will copy /path/to/local to remote:current, but for any files which
  7186. would have been updated or deleted have .bak added.
  7187. If using rclone sync with --suffix and without --backup-dir then it is
  7188. recommended to put a filter rule in excluding the suffix otherwise the
  7189. sync will delete the backup files.
  7190. rclone sync --interactive /path/to/local/file remote:current --suffix .bak --exclude "*.bak"
  7191. --suffix-keep-extension
  7192. When using --suffix, setting this causes rclone put the SUFFIX before
  7193. the extension of the files that it backs up rather than after.
  7194. So let's say we had --suffix -2019-01-01, without the flag file.txt
  7195. would be backed up to file.txt-2019-01-01 and with the flag it would be
  7196. backed up to file-2019-01-01.txt. This can be helpful to make sure the
  7197. suffixed files can still be opened.
  7198. If a file has two (or more) extensions and the second (or subsequent)
  7199. extension is recognised as a valid mime type, then the suffix will go
  7200. before that extension. So file.tar.gz would be backed up to
  7201. file-2019-01-01.tar.gz whereas file.badextension.gz would be backed up
  7202. to file.badextension-2019-01-01.gz.
  7203. --syslog
  7204. On capable OSes (not Windows or Plan9) send all log output to syslog.
  7205. This can be useful for running rclone in a script or rclone mount.
  7206. --syslog-facility string
  7207. If using --syslog this sets the syslog facility (e.g. KERN, USER). See
  7208. man syslog for a list of possible facilities. The default facility is
  7209. DAEMON.
  7210. --temp-dir=DIR
  7211. Specify the directory rclone will use for temporary files, to override
  7212. the default. Make sure the directory exists and have accessible
  7213. permissions.
  7214. By default the operating system's temp directory will be used: - On Unix
  7215. systems, $TMPDIR if non-empty, else /tmp. - On Windows, the first
  7216. non-empty value from %TMP%, %TEMP%, %USERPROFILE%, or the Windows
  7217. directory.
  7218. When overriding the default with this option, the specified path will be
  7219. set as value of environment variable TMPDIR on Unix systems and TMP and
  7220. TEMP on Windows.
  7221. You can use the config paths command to see the current value.
  7222. --tpslimit float
  7223. Limit transactions per second to this number. Default is 0 which is used
  7224. to mean unlimited transactions per second.
  7225. A transaction is roughly defined as an API call; its exact meaning will
  7226. depend on the backend. For HTTP based backends it is an HTTP
  7227. PUT/GET/POST/etc and its response. For FTP/SFTP it is a round trip
  7228. transaction over TCP.
  7229. For example, to limit rclone to 10 transactions per second use
  7230. --tpslimit 10, or to 1 transaction every 2 seconds use --tpslimit 0.5.
  7231. Use this when the number of transactions per second from rclone is
  7232. causing a problem with the cloud storage provider (e.g. getting you
  7233. banned or rate limited).
  7234. This can be very useful for rclone mount to control the behaviour of
  7235. applications using it.
  7236. This limit applies to all HTTP based backends and to the FTP and SFTP
  7237. backends. It does not apply to the local backend or the Storj backend.
  7238. See also --tpslimit-burst.
  7239. --tpslimit-burst int
  7240. Max burst of transactions for --tpslimit (default 1).
  7241. Normally --tpslimit will do exactly the number of transaction per second
  7242. specified. However if you supply --tps-burst then rclone can save up
  7243. some transactions from when it was idle giving a burst of up to the
  7244. parameter supplied.
  7245. For example if you provide --tpslimit-burst 10 then if rclone has been
  7246. idle for more than 10*--tpslimit then it can do 10 transactions very
  7247. quickly before they are limited again.
  7248. This may be used to increase performance of --tpslimit without changing
  7249. the long term average number of transactions per second.
  7250. --track-renames
  7251. By default, rclone doesn't keep track of renamed files, so if you rename
  7252. a file locally then sync it to a remote, rclone will delete the old file
  7253. on the remote and upload a new copy.
  7254. An rclone sync with --track-renames runs like a normal sync, but keeps
  7255. track of objects which exist in the destination but not in the source
  7256. (which would normally be deleted), and which objects exist in the source
  7257. but not the destination (which would normally be transferred). These
  7258. objects are then candidates for renaming.
  7259. After the sync, rclone matches up the source only and destination only
  7260. objects using the --track-renames-strategy specified and either renames
  7261. the destination object or transfers the source and deletes the
  7262. destination object. --track-renames is stateless like all of rclone's
  7263. syncs.
  7264. To use this flag the destination must support server-side copy or
  7265. server-side move, and to use a hash based --track-renames-strategy (the
  7266. default) the source and the destination must have a compatible hash.
  7267. If the destination does not support server-side copy or move, rclone
  7268. will fall back to the default behaviour and log an error level message
  7269. to the console.
  7270. Encrypted destinations are not currently supported by --track-renames if
  7271. --track-renames-strategy includes hash.
  7272. Note that --track-renames is incompatible with --no-traverse and that it
  7273. uses extra memory to keep track of all the rename candidates.
  7274. Note also that --track-renames is incompatible with --delete-before and
  7275. will select --delete-after instead of --delete-during.
  7276. --track-renames-strategy (hash,modtime,leaf,size)
  7277. This option changes the file matching criteria for --track-renames.
  7278. The matching is controlled by a comma separated selection of these
  7279. tokens:
  7280. - modtime - the modification time of the file - not supported on all
  7281. backends
  7282. - hash - the hash of the file contents - not supported on all backends
  7283. - leaf - the name of the file not including its directory name
  7284. - size - the size of the file (this is always enabled)
  7285. The default option is hash.
  7286. Using --track-renames-strategy modtime,leaf would match files based on
  7287. modification time, the leaf of the file name and the size only.
  7288. Using --track-renames-strategy modtime or leaf can enable
  7289. --track-renames support for encrypted destinations.
  7290. Note that the hash strategy is not supported with encrypted
  7291. destinations.
  7292. --delete-(before,during,after)
  7293. This option allows you to specify when files on your destination are
  7294. deleted when you sync folders.
  7295. Specifying the value --delete-before will delete all files present on
  7296. the destination, but not on the source before starting the transfer of
  7297. any new or updated files. This uses two passes through the file systems,
  7298. one for the deletions and one for the copies.
  7299. Specifying --delete-during will delete files while checking and
  7300. uploading files. This is the fastest option and uses the least memory.
  7301. Specifying --delete-after (the default value) will delay deletion of
  7302. files until all new/updated files have been successfully transferred.
  7303. The files to be deleted are collected in the copy pass then deleted
  7304. after the copy pass has completed successfully. The files to be deleted
  7305. are held in memory so this mode may use more memory. This is the safest
  7306. mode as it will only delete files if there have been no errors
  7307. subsequent to that. If there have been errors before the deletions start
  7308. then you will get the message
  7309. not deleting files as there were IO errors.
  7310. --fast-list
  7311. When doing anything which involves a directory listing (e.g. sync, copy,
  7312. ls - in fact nearly every command), rclone normally lists a directory
  7313. and processes it before using more directory lists to process any
  7314. subdirectories. This can be parallelised and works very quickly using
  7315. the least amount of memory.
  7316. However, some remotes have a way of listing all files beneath a
  7317. directory in one (or a small number) of transactions. These tend to be
  7318. the bucket-based remotes (e.g. S3, B2, GCS, Swift).
  7319. If you use the --fast-list flag then rclone will use this method for
  7320. listing directories. This will have the following consequences for the
  7321. listing:
  7322. - It will use fewer transactions (important if you pay for them)
  7323. - It will use more memory. Rclone has to load the whole listing into
  7324. memory.
  7325. - It may be faster because it uses fewer transactions
  7326. - It may be slower because it can't be parallelized
  7327. rclone should always give identical results with and without
  7328. --fast-list.
  7329. If you pay for transactions and can fit your entire sync listing into
  7330. memory then --fast-list is recommended. If you have a very big sync to
  7331. do then don't use --fast-list otherwise you will run out of memory.
  7332. If you use --fast-list on a remote which doesn't support it, then rclone
  7333. will just ignore it.
  7334. --timeout=TIME
  7335. This sets the IO idle timeout. If a transfer has started but then
  7336. becomes idle for this long it is considered broken and disconnected.
  7337. The default is 5m. Set to 0 to disable.
  7338. --transfers=N
  7339. The number of file transfers to run in parallel. It can sometimes be
  7340. useful to set this to a smaller number if the remote is giving a lot of
  7341. timeouts or bigger if you have lots of bandwidth and a fast remote.
  7342. The default is to run 4 file transfers in parallel.
  7343. Look at --multi-thread-streams if you would like to control single file
  7344. transfers.
  7345. -u, --update
  7346. This forces rclone to skip any files which exist on the destination and
  7347. have a modified time that is newer than the source file.
  7348. This can be useful in avoiding needless transfers when transferring to a
  7349. remote which doesn't support modification times directly (or when using
  7350. --use-server-modtime to avoid extra API calls) as it is more accurate
  7351. than a --size-only check and faster than using --checksum. On such
  7352. remotes (or when using --use-server-modtime) the time checked will be
  7353. the uploaded time.
  7354. If an existing destination file has a modification time older than the
  7355. source file's, it will be updated if the sizes are different. If the
  7356. sizes are the same, it will be updated if the checksum is different or
  7357. not available.
  7358. If an existing destination file has a modification time equal (within
  7359. the computed modify window) to the source file's, it will be updated if
  7360. the sizes are different. The checksum will not be checked in this case
  7361. unless the --checksum flag is provided.
  7362. In all other cases the file will not be updated.
  7363. Consider using the --modify-window flag to compensate for time skews
  7364. between the source and the backend, for backends that do not support mod
  7365. times, and instead use uploaded times. However, if the backend does not
  7366. support checksums, note that syncing or copying within the time skew
  7367. window may still result in additional transfers for safety.
  7368. --use-mmap
  7369. If this flag is set then rclone will use anonymous memory allocated by
  7370. mmap on Unix based platforms and VirtualAlloc on Windows for its
  7371. transfer buffers (size controlled by --buffer-size). Memory allocated
  7372. like this does not go on the Go heap and can be returned to the OS
  7373. immediately when it is finished with.
  7374. If this flag is not set then rclone will allocate and free the buffers
  7375. using the Go memory allocator which may use more memory as memory pages
  7376. are returned less aggressively to the OS.
  7377. It is possible this does not work well on all platforms so it is
  7378. disabled by default; in the future it may be enabled by default.
  7379. --use-server-modtime
  7380. Some object-store backends (e.g, Swift, S3) do not preserve file
  7381. modification times (modtime). On these backends, rclone stores the
  7382. original modtime as additional metadata on the object. By default it
  7383. will make an API call to retrieve the metadata when the modtime is
  7384. needed by an operation.
  7385. Use this flag to disable the extra API call and rely instead on the
  7386. server's modified time. In cases such as a local to remote sync using
  7387. --update, knowing the local file is newer than the time it was last
  7388. uploaded to the remote is sufficient. In those cases, this flag can
  7389. speed up the process and reduce the number of API calls necessary.
  7390. Using this flag on a sync operation without also using --update would
  7391. cause all files modified at any time other than the last upload time to
  7392. be uploaded again, which is probably not what you want.
  7393. -v, -vv, --verbose
  7394. With -v rclone will tell you about each file that is transferred and a
  7395. small number of significant events.
  7396. With -vv rclone will become very verbose telling you about every file it
  7397. considers and transfers. Please send bug reports with a log with this
  7398. setting.
  7399. When setting verbosity as an environment variable, use RCLONE_VERBOSE=1
  7400. or RCLONE_VERBOSE=2 for -v and -vv respectively.
  7401. -V, --version
  7402. Prints the version number
  7403. SSL/TLS options
  7404. The outgoing SSL/TLS connections rclone makes can be controlled with
  7405. these options. For example this can be very useful with the HTTP or
  7406. WebDAV backends. Rclone HTTP servers have their own set of configuration
  7407. for SSL/TLS which you can find in their documentation.
  7408. --ca-cert stringArray
  7409. This loads the PEM encoded certificate authority certificates and uses
  7410. it to verify the certificates of the servers rclone connects to.
  7411. If you have generated certificates signed with a local CA then you will
  7412. need this flag to connect to servers using those certificates.
  7413. --client-cert string
  7414. This loads the PEM encoded client side certificate.
  7415. This is used for mutual TLS authentication.
  7416. The --client-key flag is required too when using this.
  7417. --client-key string
  7418. This loads the PEM encoded client side private key used for mutual TLS
  7419. authentication. Used in conjunction with --client-cert.
  7420. --no-check-certificate=true/false
  7421. --no-check-certificate controls whether a client verifies the server's
  7422. certificate chain and host name. If --no-check-certificate is true, TLS
  7423. accepts any certificate presented by the server and any host name in
  7424. that certificate. In this mode, TLS is susceptible to man-in-the-middle
  7425. attacks.
  7426. This option defaults to false.
  7427. This should be used only for testing.
  7428. Configuration Encryption
  7429. Your configuration file contains information for logging in to your
  7430. cloud services. This means that you should keep your rclone.conf file in
  7431. a secure location.
  7432. If you are in an environment where that isn't possible, you can add a
  7433. password to your configuration. This means that you will have to supply
  7434. the password every time you start rclone.
  7435. To add a password to your rclone configuration, execute rclone config.
  7436. >rclone config
  7437. Current remotes:
  7438. e) Edit existing remote
  7439. n) New remote
  7440. d) Delete remote
  7441. s) Set configuration password
  7442. q) Quit config
  7443. e/n/d/s/q>
  7444. Go into s, Set configuration password:
  7445. e/n/d/s/q> s
  7446. Your configuration is not encrypted.
  7447. If you add a password, you will protect your login information to cloud services.
  7448. a) Add Password
  7449. q) Quit to main menu
  7450. a/q> a
  7451. Enter NEW configuration password:
  7452. password:
  7453. Confirm NEW password:
  7454. password:
  7455. Password set
  7456. Your configuration is encrypted.
  7457. c) Change Password
  7458. u) Unencrypt configuration
  7459. q) Quit to main menu
  7460. c/u/q>
  7461. Your configuration is now encrypted, and every time you start rclone you
  7462. will have to supply the password. See below for details. In the same
  7463. menu, you can change the password or completely remove encryption from
  7464. your configuration.
  7465. There is no way to recover the configuration if you lose your password.
  7466. rclone uses nacl secretbox which in turn uses XSalsa20 and Poly1305 to
  7467. encrypt and authenticate your configuration with secret-key
  7468. cryptography. The password is SHA-256 hashed, which produces the key for
  7469. secretbox. The hashed password is not stored.
  7470. While this provides very good security, we do not recommend storing your
  7471. encrypted rclone configuration in public if it contains sensitive
  7472. information, maybe except if you use a very strong password.
  7473. If it is safe in your environment, you can set the RCLONE_CONFIG_PASS
  7474. environment variable to contain your password, in which case it will be
  7475. used for decrypting the configuration.
  7476. You can set this for a session from a script. For unix like systems save
  7477. this to a file called set-rclone-password:
  7478. #!/bin/echo Source this file don't run it
  7479. read -s RCLONE_CONFIG_PASS
  7480. export RCLONE_CONFIG_PASS
  7481. Then source the file when you want to use it. From the shell you would
  7482. do source set-rclone-password. It will then ask you for the password and
  7483. set it in the environment variable.
  7484. An alternate means of supplying the password is to provide a script
  7485. which will retrieve the password and print on standard output. This
  7486. script should have a fully specified path name and not rely on any
  7487. environment variables. The script is supplied either via
  7488. --password-command="..." command line argument or via the
  7489. RCLONE_PASSWORD_COMMAND environment variable.
  7490. One useful example of this is using the passwordstore application to
  7491. retrieve the password:
  7492. export RCLONE_PASSWORD_COMMAND="pass rclone/config"
  7493. If the passwordstore password manager holds the password for the rclone
  7494. configuration, using the script method means the password is primarily
  7495. protected by the passwordstore system, and is never embedded in the
  7496. clear in scripts, nor available for examination using the standard
  7497. commands available. It is quite possible with long running rclone
  7498. sessions for copies of passwords to be innocently captured in log files
  7499. or terminal scroll buffers, etc. Using the script method of supplying
  7500. the password enhances the security of the config password considerably.
  7501. If you are running rclone inside a script, unless you are using the
  7502. --password-command method, you might want to disable password prompts.
  7503. To do that, pass the parameter --ask-password=false to rclone. This will
  7504. make rclone fail instead of asking for a password if RCLONE_CONFIG_PASS
  7505. doesn't contain a valid password, and --password-command has not been
  7506. supplied.
  7507. Whenever running commands that may be affected by options in a
  7508. configuration file, rclone will look for an existing file according to
  7509. the rules described above, and load any it finds. If an encrypted file
  7510. is found, this includes decrypting it, with the possible consequence of
  7511. a password prompt. When executing a command line that you know are not
  7512. actually using anything from such a configuration file, you can avoid it
  7513. being loaded by overriding the location, e.g. with one of the documented
  7514. special values for memory-only configuration. Since only backend options
  7515. can be stored in configuration files, this is normally unnecessary for
  7516. commands that do not operate on backends, e.g. genautocomplete. However,
  7517. it will be relevant for commands that do operate on backends in general,
  7518. but are used without referencing a stored remote, e.g. listing local
  7519. filesystem paths, or connection strings: rclone --config="" ls .
  7520. Developer options
  7521. These options are useful when developing or debugging rclone. There are
  7522. also some more remote specific options which aren't documented here
  7523. which are used for testing. These start with remote name e.g.
  7524. --drive-test-option - see the docs for the remote in question.
  7525. --cpuprofile=FILE
  7526. Write CPU profile to file. This can be analysed with go tool pprof.
  7527. --dump flag,flag,flag
  7528. The --dump flag takes a comma separated list of flags to dump info
  7529. about.
  7530. Note that some headers including Accept-Encoding as shown may not be
  7531. correct in the request and the response may not show Content-Encoding if
  7532. the go standard libraries auto gzip encoding was in effect. In this case
  7533. the body of the request will be gunzipped before showing it.
  7534. The available flags are:
  7535. --dump headers
  7536. Dump HTTP headers with Authorization: lines removed. May still contain
  7537. sensitive info. Can be very verbose. Useful for debugging only.
  7538. Use --dump auth if you do want the Authorization: headers.
  7539. --dump bodies
  7540. Dump HTTP headers and bodies - may contain sensitive info. Can be very
  7541. verbose. Useful for debugging only.
  7542. Note that the bodies are buffered in memory so don't use this for
  7543. enormous files.
  7544. --dump requests
  7545. Like --dump bodies but dumps the request bodies and the response
  7546. headers. Useful for debugging download problems.
  7547. --dump responses
  7548. Like --dump bodies but dumps the response bodies and the request
  7549. headers. Useful for debugging upload problems.
  7550. --dump auth
  7551. Dump HTTP headers - will contain sensitive info such as Authorization:
  7552. headers - use --dump headers to dump without Authorization: headers. Can
  7553. be very verbose. Useful for debugging only.
  7554. --dump filters
  7555. Dump the filters to the output. Useful to see exactly what include and
  7556. exclude options are filtering on.
  7557. --dump goroutines
  7558. This dumps a list of the running go-routines at the end of the command
  7559. to standard output.
  7560. --dump openfiles
  7561. This dumps a list of the open files at the end of the command. It uses
  7562. the lsof command to do that so you'll need that installed to use it.
  7563. --memprofile=FILE
  7564. Write memory profile to file. This can be analysed with go tool pprof.
  7565. Filtering
  7566. For the filtering options
  7567. - --delete-excluded
  7568. - --filter
  7569. - --filter-from
  7570. - --exclude
  7571. - --exclude-from
  7572. - --exclude-if-present
  7573. - --include
  7574. - --include-from
  7575. - --files-from
  7576. - --files-from-raw
  7577. - --min-size
  7578. - --max-size
  7579. - --min-age
  7580. - --max-age
  7581. - --dump filters
  7582. - --metadata-include
  7583. - --metadata-include-from
  7584. - --metadata-exclude
  7585. - --metadata-exclude-from
  7586. - --metadata-filter
  7587. - --metadata-filter-from
  7588. See the filtering section.
  7589. Remote control
  7590. For the remote control options and for instructions on how to remote
  7591. control rclone
  7592. - --rc
  7593. - and anything starting with --rc-
  7594. See the remote control section.
  7595. Logging
  7596. rclone has 4 levels of logging, ERROR, NOTICE, INFO and DEBUG.
  7597. By default, rclone logs to standard error. This means you can redirect
  7598. standard error and still see the normal output of rclone commands (e.g.
  7599. rclone ls).
  7600. By default, rclone will produce Error and Notice level messages.
  7601. If you use the -q flag, rclone will only produce Error messages.
  7602. If you use the -v flag, rclone will produce Error, Notice and Info
  7603. messages.
  7604. If you use the -vv flag, rclone will produce Error, Notice, Info and
  7605. Debug messages.
  7606. You can also control the log levels with the --log-level flag.
  7607. If you use the --log-file=FILE option, rclone will redirect Error, Info
  7608. and Debug messages along with standard error to FILE.
  7609. If you use the --syslog flag then rclone will log to syslog and the
  7610. --syslog-facility control which facility it uses.
  7611. Rclone prefixes all log messages with their level in capitals, e.g. INFO
  7612. which makes it easy to grep the log file for different kinds of
  7613. information.
  7614. Exit Code
  7615. If any errors occur during the command execution, rclone will exit with
  7616. a non-zero exit code. This allows scripts to detect when rclone
  7617. operations have failed.
  7618. During the startup phase, rclone will exit immediately if an error is
  7619. detected in the configuration. There will always be a log message
  7620. immediately before exiting.
  7621. When rclone is running it will accumulate errors as it goes along, and
  7622. only exit with a non-zero exit code if (after retries) there were still
  7623. failed transfers. For every error counted there will be a high priority
  7624. log message (visible with -q) showing the message and which file caused
  7625. the problem. A high priority message is also shown when starting a retry
  7626. so the user can see that any previous error messages may not be valid
  7627. after the retry. If rclone has done a retry it will log a high priority
  7628. message if the retry was successful.
  7629. List of exit codes
  7630. - 0 - success
  7631. - 1 - Syntax or usage error
  7632. - 2 - Error not otherwise categorised
  7633. - 3 - Directory not found
  7634. - 4 - File not found
  7635. - 5 - Temporary error (one that more retries might fix) (Retry errors)
  7636. - 6 - Less serious errors (like 461 errors from dropbox) (NoRetry
  7637. errors)
  7638. - 7 - Fatal error (one that more retries won't fix, like account
  7639. suspended) (Fatal errors)
  7640. - 8 - Transfer exceeded - limit set by --max-transfer reached
  7641. - 9 - Operation successful, but no files transferred
  7642. Environment Variables
  7643. Rclone can be configured entirely using environment variables. These can
  7644. be used to set defaults for options or config file entries.
  7645. Options
  7646. Every option in rclone can have its default set by environment variable.
  7647. To find the name of the environment variable, first, take the long
  7648. option name, strip the leading --, change - to _, make upper case and
  7649. prepend RCLONE_.
  7650. For example, to always set --stats 5s, set the environment variable
  7651. RCLONE_STATS=5s. If you set stats on the command line this will override
  7652. the environment variable setting.
  7653. Or to always use the trash in drive --drive-use-trash, set
  7654. RCLONE_DRIVE_USE_TRASH=true.
  7655. Verbosity is slightly different, the environment variable equivalent of
  7656. --verbose or -v is RCLONE_VERBOSE=1, or for -vv, RCLONE_VERBOSE=2.
  7657. The same parser is used for the options and the environment variables so
  7658. they take exactly the same form.
  7659. The options set by environment variables can be seen with the -vv flag,
  7660. e.g. rclone version -vv.
  7661. Config file
  7662. You can set defaults for values in the config file on an individual
  7663. remote basis. The names of the config items are documented in the page
  7664. for each backend.
  7665. To find the name of the environment variable, you need to set, take
  7666. RCLONE_CONFIG_ + name of remote + _ + name of config file option and
  7667. make it all uppercase.
  7668. For example, to configure an S3 remote named mys3: without a config file
  7669. (using unix ways of setting environment variables):
  7670. $ export RCLONE_CONFIG_MYS3_TYPE=s3
  7671. $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX
  7672. $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX
  7673. $ rclone lsd mys3:
  7674. -1 2016-09-21 12:54:21 -1 my-bucket
  7675. $ rclone listremotes | grep mys3
  7676. mys3:
  7677. Note that if you want to create a remote using environment variables you
  7678. must create the ..._TYPE variable as above.
  7679. Note that the name of a remote created using environment variable is
  7680. case insensitive, in contrast to regular remotes stored in config file
  7681. as documented above. You must write the name in uppercase in the
  7682. environment variable, but as seen from example above it will be listed
  7683. and can be accessed in lowercase, while you can also refer to the same
  7684. remote in uppercase:
  7685. $ rclone lsd mys3:
  7686. -1 2016-09-21 12:54:21 -1 my-bucket
  7687. $ rclone lsd MYS3:
  7688. -1 2016-09-21 12:54:21 -1 my-bucket
  7689. Note that you can only set the options of the immediate backend, so
  7690. RCLONE_CONFIG_MYS3CRYPT_ACCESS_KEY_ID has no effect, if myS3Crypt is a
  7691. crypt remote based on an S3 remote. However RCLONE_S3_ACCESS_KEY_ID will
  7692. set the access key of all remotes using S3, including myS3Crypt.
  7693. Note also that now rclone has connection strings, it is probably easier
  7694. to use those instead which makes the above example
  7695. rclone lsd :s3,access_key_id=XXX,secret_access_key=XXX:
  7696. Precedence
  7697. The various different methods of backend configuration are read in this
  7698. order and the first one with a value is used.
  7699. - Parameters in connection strings, e.g. myRemote,skip_links:
  7700. - Flag values as supplied on the command line, e.g. --skip-links
  7701. - Remote specific environment vars, e.g.
  7702. RCLONE_CONFIG_MYREMOTE_SKIP_LINKS (see above).
  7703. - Backend-specific environment vars, e.g. RCLONE_LOCAL_SKIP_LINKS.
  7704. - Backend generic environment vars, e.g. RCLONE_SKIP_LINKS.
  7705. - Config file, e.g. skip_links = true.
  7706. - Default values, e.g. false - these can't be changed.
  7707. So if both --skip-links is supplied on the command line and an
  7708. environment variable RCLONE_LOCAL_SKIP_LINKS is set, the command line
  7709. flag will take preference.
  7710. The backend configurations set by environment variables can be seen with
  7711. the -vv flag, e.g. rclone about myRemote: -vv.
  7712. For non backend configuration the order is as follows:
  7713. - Flag values as supplied on the command line, e.g. --stats 5s.
  7714. - Environment vars, e.g. RCLONE_STATS=5s.
  7715. - Default values, e.g. 1m - these can't be changed.
  7716. Other environment variables
  7717. - RCLONE_CONFIG_PASS set to contain your config file password (see
  7718. Configuration Encryption section)
  7719. - HTTP_PROXY, HTTPS_PROXY and NO_PROXY (or the lowercase versions
  7720. thereof).
  7721. - HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
  7722. - The environment values may be either a complete URL or a
  7723. "host[:port]" for, in which case the "http" scheme is assumed.
  7724. - USER and LOGNAME values are used as fallbacks for current username.
  7725. The primary method for looking up username is OS-specific: Windows
  7726. API on Windows, real user ID in /etc/passwd on Unix systems. In the
  7727. documentation the current username is simply referred to as $USER.
  7728. - RCLONE_CONFIG_DIR - rclone sets this variable for use in config
  7729. files and sub processes to point to the directory holding the config
  7730. file.
  7731. The options set by environment variables can be seen with the -vv and
  7732. --log-level=DEBUG flags, e.g. rclone version -vv.
  7733. Configuring rclone on a remote / headless machine
  7734. Some of the configurations (those involving oauth2) require an Internet
  7735. connected web browser.
  7736. If you are trying to set rclone up on a remote or headless box with no
  7737. browser available on it (e.g. a NAS or a server in a datacenter) then
  7738. you will need to use an alternative means of configuration. There are
  7739. two ways of doing it, described below.
  7740. Configuring using rclone authorize
  7741. On the headless box run rclone config but answer N to the
  7742. Use web browser to automatically authenticate? question.
  7743. ...
  7744. Remote config
  7745. Use web browser to automatically authenticate rclone with remote?
  7746. * Say Y if the machine running rclone has a web browser you can use
  7747. * Say N if running rclone on a (remote) machine without web browser access
  7748. If not sure try Y. If Y failed, try N.
  7749. y) Yes (default)
  7750. n) No
  7751. y/n> n
  7752. For this to work, you will need rclone available on a machine that has
  7753. a web browser available.
  7754. For more help and alternate methods see: https://rclone.org/remote_setup/
  7755. Execute the following on the machine with the web browser (same rclone
  7756. version recommended):
  7757. rclone authorize "amazon cloud drive"
  7758. Then paste the result below:
  7759. result>
  7760. Then on your main desktop machine
  7761. rclone authorize "amazon cloud drive"
  7762. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  7763. Log in and authorize rclone for access
  7764. Waiting for code...
  7765. Got code
  7766. Paste the following into your remote machine --->
  7767. SECRET_TOKEN
  7768. <---End paste
  7769. Then back to the headless box, paste in the code
  7770. result> SECRET_TOKEN
  7771. --------------------
  7772. [acd12]
  7773. client_id =
  7774. client_secret =
  7775. token = SECRET_TOKEN
  7776. --------------------
  7777. y) Yes this is OK
  7778. e) Edit this remote
  7779. d) Delete this remote
  7780. y/e/d>
  7781. Configuring by copying the config file
  7782. Rclone stores all of its config in a single configuration file. This can
  7783. easily be copied to configure a remote rclone.
  7784. So first configure rclone on your desktop machine with
  7785. rclone config
  7786. to set up the config file.
  7787. Find the config file by running rclone config file, for example
  7788. $ rclone config file
  7789. Configuration file is stored at:
  7790. /home/user/.rclone.conf
  7791. Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
  7792. place it in the correct place (use rclone config file on the remote box
  7793. to find out where).
  7794. Configuring using SSH Tunnel
  7795. Linux and MacOS users can utilize SSH Tunnel to redirect the headless
  7796. box port 53682 to local machine by using the following command:
  7797. ssh -L localhost:53682:localhost:53682 username@remote_server
  7798. Then on the headless box run rclone config and answer Y to the
  7799. Use web browser to automatically authenticate? question.
  7800. ...
  7801. Remote config
  7802. Use web browser to automatically authenticate rclone with remote?
  7803. * Say Y if the machine running rclone has a web browser you can use
  7804. * Say N if running rclone on a (remote) machine without web browser access
  7805. If not sure try Y. If Y failed, try N.
  7806. y) Yes (default)
  7807. n) No
  7808. y/n> y
  7809. Then copy and paste the auth url
  7810. http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx to the browser on your
  7811. local machine, complete the auth and it is done.
  7812. Filtering, includes and excludes
  7813. Filter flags determine which files rclone sync, move, ls, lsl, md5sum,
  7814. sha1sum, size, delete, check and similar commands apply to.
  7815. They are specified in terms of path/file name patterns; path/file lists;
  7816. file age and size, or presence of a file in a directory. Bucket based
  7817. remotes without the concept of directory apply filters to object key,
  7818. age and size in an analogous way.
  7819. Rclone purge does not obey filters.
  7820. To test filters without risk of damage to data, apply them to rclone ls,
  7821. or with the --dry-run and -vv flags.
  7822. Rclone filter patterns can only be used in filter command line options,
  7823. not in the specification of a remote.
  7824. E.g. rclone copy "remote:dir*.jpg" /path/to/dir does not have a filter
  7825. effect. rclone copy remote:dir /path/to/dir --include "*.jpg" does.
  7826. Important Avoid mixing any two of --include..., --exclude... or
  7827. --filter... flags in an rclone command. The results may not be what you
  7828. expect. Instead use a --filter... flag.
  7829. Patterns for matching path/file names
  7830. Pattern syntax
  7831. Here is a formal definition of the pattern syntax, examples are below.
  7832. Rclone matching rules follow a glob style:
  7833. * matches any sequence of non-separator (/) characters
  7834. ** matches any sequence of characters including / separators
  7835. ? matches any single non-separator (/) character
  7836. [ [ ! ] { character-range } ]
  7837. character class (must be non-empty)
  7838. { pattern-list }
  7839. pattern alternatives
  7840. {{ regexp }}
  7841. regular expression to match
  7842. c matches character c (c != *, **, ?, \, [, {, })
  7843. \c matches reserved character c (c = *, **, ?, \, [, {, }) or character class
  7844. character-range:
  7845. c matches character c (c != \, -, ])
  7846. \c matches reserved character c (c = \, -, ])
  7847. lo - hi matches character c for lo <= c <= hi
  7848. pattern-list:
  7849. pattern { , pattern }
  7850. comma-separated (without spaces) patterns
  7851. character classes (see Go regular expression reference) include:
  7852. Named character classes (e.g. [\d], [^\d], [\D], [^\D])
  7853. Perl character classes (e.g. \s, \S, \w, \W)
  7854. ASCII character classes (e.g. [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]])
  7855. regexp for advanced users to insert a regular expression - see below for
  7856. more info:
  7857. Any re2 regular expression not containing `}}`
  7858. If the filter pattern starts with a / then it only matches at the top
  7859. level of the directory tree, relative to the root of the remote (not
  7860. necessarily the root of the drive). If it does not start with / then it
  7861. is matched starting at the end of the path/file name but it only matches
  7862. a complete path element - it must match from a / separator or the
  7863. beginning of the path/file.
  7864. file.jpg - matches "file.jpg"
  7865. - matches "directory/file.jpg"
  7866. - doesn't match "afile.jpg"
  7867. - doesn't match "directory/afile.jpg"
  7868. /file.jpg - matches "file.jpg" in the root directory of the remote
  7869. - doesn't match "afile.jpg"
  7870. - doesn't match "directory/file.jpg"
  7871. The top level of the remote may not be the top level of the drive.
  7872. E.g. for a Microsoft Windows local directory structure
  7873. F:
  7874. ├── bkp
  7875. ├── data
  7876. │ ├── excl
  7877. │ │ ├── 123.jpg
  7878. │ │ └── 456.jpg
  7879. │ ├── incl
  7880. │ │ └── document.pdf
  7881. To copy the contents of folder data into folder bkp excluding the
  7882. contents of subfolder exclthe following command treats F:\data and
  7883. F:\bkp as top level for filtering.
  7884. rclone copy F:\data\ F:\bkp\ --exclude=/excl/**
  7885. Important Use / in path/file name patterns and not \ even if running on
  7886. Microsoft Windows.
  7887. Simple patterns are case sensitive unless the --ignore-case flag is
  7888. used.
  7889. Without --ignore-case (default)
  7890. potato - matches "potato"
  7891. - doesn't match "POTATO"
  7892. With --ignore-case
  7893. potato - matches "potato"
  7894. - matches "POTATO"
  7895. Using regular expressions in filter patterns
  7896. The syntax of filter patterns is glob style matching (like bash uses) to
  7897. make things easy for users. However this does not provide absolute
  7898. control over the matching, so for advanced users rclone also provides a
  7899. regular expression syntax.
  7900. The regular expressions used are as defined in the Go regular expression
  7901. reference. Regular expressions should be enclosed in {{ }}. They will
  7902. match only the last path segment if the glob doesn't start with / or the
  7903. whole path name if it does. Note that rclone does not attempt to parse
  7904. the supplied regular expression, meaning that using any regular
  7905. expression filter will prevent rclone from using directory filter rules,
  7906. as it will instead check every path against the supplied regular
  7907. expression(s).
  7908. Here is how the {{regexp}} is transformed into an full regular
  7909. expression to match the entire path:
  7910. {{regexp}} becomes (^|/)(regexp)$
  7911. /{{regexp}} becomes ^(regexp)$
  7912. Regexp syntax can be mixed with glob syntax, for example
  7913. *.{{jpe?g}} to match file.jpg, file.jpeg but not file.png
  7914. You can also use regexp flags - to set case insensitive, for example
  7915. *.{{(?i)jpg}} to match file.jpg, file.JPG but not file.png
  7916. Be careful with wildcards in regular expressions - you don't want them
  7917. to match path separators normally. To match any file name starting with
  7918. start and ending with end write
  7919. {{start[^/]*end\.jpg}}
  7920. Not
  7921. {{start.*end\.jpg}}
  7922. Which will match a directory called start with a file called end.jpg in
  7923. it as the .* will match / characters.
  7924. Note that you can use -vv --dump filters to show the filter patterns in
  7925. regexp format - rclone implements the glob patterns by transforming them
  7926. into regular expressions.
  7927. Filter pattern examples
  7928. Description Pattern Matches Does not match
  7929. --------------- ---------------- ------------------------------- ------------------
  7930. Wildcard *.jpg /file.jpg /file.png
  7931. /dir/file.jpg /dir/file.png
  7932. Rooted /*.jpg /file.jpg /file.png
  7933. /file2.jpg /dir/file.jpg
  7934. Alternates *.{jpg,png} /file.jpg /file.gif
  7935. /dir/file.png /dir/file.gif
  7936. Path Wildcard dir/** /dir/anyfile file.png
  7937. /subdir/dir/subsubdir/anyfile /subdir/file.png
  7938. Any Char *.t?t /file.txt /file.qxt
  7939. /dir/file.tzt /dir/file.png
  7940. Range *.[a-z] /file.a /file.0
  7941. /dir/file.b /dir/file.1
  7942. Escape *.\?\?\? /file.??? /file.abc
  7943. /dir/file.??? /dir/file.def
  7944. Class *.\d\d\d /file.012 /file.abc
  7945. /dir/file.345 /dir/file.def
  7946. Regexp *.{{jpe?g}} /file.jpeg /file.png
  7947. /dir/file.jpg /dir/file.jpeeg
  7948. Rooted Regexp /{{.*\.jpe?g}} /file.jpeg /file.png
  7949. /file.jpg /dir/file.jpg
  7950. How filter rules are applied to files
  7951. Rclone path/file name filters are made up of one or more of the
  7952. following flags:
  7953. - --include
  7954. - --include-from
  7955. - --exclude
  7956. - --exclude-from
  7957. - --filter
  7958. - --filter-from
  7959. There can be more than one instance of individual flags.
  7960. Rclone internally uses a combined list of all the include and exclude
  7961. rules. The order in which rules are processed can influence the result
  7962. of the filter.
  7963. All flags of the same type are processed together in the order above,
  7964. regardless of what order the different types of flags are included on
  7965. the command line.
  7966. Multiple instances of the same flag are processed from left to right
  7967. according to their position in the command line.
  7968. To mix up the order of processing includes and excludes use --filter...
  7969. flags.
  7970. Within --include-from, --exclude-from and --filter-from flags rules are
  7971. processed from top to bottom of the referenced file.
  7972. If there is an --include or --include-from flag specified, rclone
  7973. implies a - ** rule which it adds to the bottom of the internal rule
  7974. list. Specifying a + rule with a --filter... flag does not imply that
  7975. rule.
  7976. Each path/file name passed through rclone is matched against the
  7977. combined filter list. At first match to a rule the path/file name is
  7978. included or excluded and no further filter rules are processed for that
  7979. path/file.
  7980. If rclone does not find a match, after testing against all rules
  7981. (including the implied rule if appropriate), the path/file name is
  7982. included.
  7983. Any path/file included at that stage is processed by the rclone command.
  7984. --files-from and --files-from-raw flags over-ride and cannot be combined
  7985. with other filter options.
  7986. To see the internal combined rule list, in regular expression form, for
  7987. a command add the --dump filters flag. Running an rclone command with
  7988. --dump filters and -vv flags lists the internal filter elements and
  7989. shows how they are applied to each source path/file. There is not
  7990. currently a means provided to pass regular expression filter options
  7991. into rclone directly though character class filter rules contain
  7992. character classes. Go regular expression reference
  7993. How filter rules are applied to directories
  7994. Rclone commands are applied to path/file names not directories. The
  7995. entire contents of a directory can be matched to a filter by the pattern
  7996. directory/* or recursively by directory/**.
  7997. Directory filter rules are defined with a closing / separator.
  7998. E.g. /directory/subdirectory/ is an rclone directory filter rule.
  7999. Rclone commands can use directory filter rules to determine whether they
  8000. recurse into subdirectories. This potentially optimises access to a
  8001. remote by avoiding listing unnecessary directories. Whether optimisation
  8002. is desirable depends on the specific filter rules and source remote
  8003. content.
  8004. If any regular expression filters are in use, then no directory
  8005. recursion optimisation is possible, as rclone must check every path
  8006. against the supplied regular expression(s).
  8007. Directory recursion optimisation occurs if either:
  8008. - A source remote does not support the rclone ListR primitive. local,
  8009. sftp, Microsoft OneDrive and WebDAV do not support ListR. Google
  8010. Drive and most bucket type storage do. Full list
  8011. - On other remotes (those that support ListR), if the rclone command
  8012. is not naturally recursive, and provided it is not run with the
  8013. --fast-list flag. ls, lsf -R and size are naturally recursive but
  8014. sync, copy and move are not.
  8015. - Whenever the --disable ListR flag is applied to an rclone command.
  8016. Rclone commands imply directory filter rules from path/file filter
  8017. rules. To view the directory filter rules rclone has implied for a
  8018. command specify the --dump filters flag.
  8019. E.g. for an include rule
  8020. /a/*.jpg
  8021. Rclone implies the directory include rule
  8022. /a/
  8023. Directory filter rules specified in an rclone command can limit the
  8024. scope of an rclone command but path/file filters still have to be
  8025. specified.
  8026. E.g. rclone ls remote: --include /directory/ will not match any files.
  8027. Because it is an --include option the --exclude ** rule is implied, and
  8028. the /directory/ pattern serves only to optimise access to the remote by
  8029. ignoring everything outside of that directory.
  8030. E.g. rclone ls remote: --filter-from filter-list.txt with a file
  8031. filter-list.txt:
  8032. - /dir1/
  8033. - /dir2/
  8034. + *.pdf
  8035. - **
  8036. All files in directories dir1 or dir2 or their subdirectories are
  8037. completely excluded from the listing. Only files of suffix pdf in the
  8038. root of remote: or its subdirectories are listed. The - ** rule prevents
  8039. listing of any path/files not previously matched by the rules above.
  8040. Option exclude-if-present creates a directory exclude rule based on the
  8041. presence of a file in a directory and takes precedence over other rclone
  8042. directory filter rules.
  8043. When using pattern list syntax, if a pattern item contains either / or
  8044. **, then rclone will not able to imply a directory filter rule from this
  8045. pattern list.
  8046. E.g. for an include rule
  8047. {dir1/**,dir2/**}
  8048. Rclone will match files below directories dir1 or dir2 only, but will
  8049. not be able to use this filter to exclude a directory dir3 from being
  8050. traversed.
  8051. Directory recursion optimisation may affect performance, but normally
  8052. not the result. One exception to this is sync operations with option
  8053. --create-empty-src-dirs, where any traversed empty directories will be
  8054. created. With the pattern list example {dir1/**,dir2/**} above, this
  8055. would create an empty directory dir3 on destination (when it exists on
  8056. source). Changing the filter to {dir1,dir2}/**, or splitting it into two
  8057. include rules --include dir1/** --include dir2/**, will match the same
  8058. files while also filtering directories, with the result that an empty
  8059. directory dir3 will no longer be created.
  8060. --exclude - Exclude files matching pattern
  8061. Excludes path/file names from an rclone command based on a single
  8062. exclude rule.
  8063. This flag can be repeated. See above for the order filter flags are
  8064. processed in.
  8065. --exclude should not be used with --include, --include-from, --filter or
  8066. --filter-from flags.
  8067. --exclude has no effect when combined with --files-from or
  8068. --files-from-raw flags.
  8069. E.g. rclone ls remote: --exclude *.bak excludes all .bak files from
  8070. listing.
  8071. E.g. rclone size remote: "--exclude /dir/**" returns the total size of
  8072. all files on remote: excluding those in root directory dir and sub
  8073. directories.
  8074. E.g. on Microsoft Windows rclone ls remote: --exclude "*\[{JP,KR,HK}\]*"
  8075. lists the files in remote: with [JP] or [KR] or [HK] in their name.
  8076. Quotes prevent the shell from interpreting the \ characters.\ characters
  8077. escape the [ and ] so an rclone filter treats them literally rather than
  8078. as a character-range. The { and } define an rclone pattern list. For
  8079. other operating systems single quotes are required ie
  8080. rclone ls remote: --exclude '*\[{JP,KR,HK}\]*'
  8081. --exclude-from - Read exclude patterns from file
  8082. Excludes path/file names from an rclone command based on rules in a
  8083. named file. The file contains a list of remarks and pattern rules.
  8084. For an example exclude-file.txt:
  8085. # a sample exclude rule file
  8086. *.bak
  8087. file2.jpg
  8088. rclone ls remote: --exclude-from exclude-file.txt lists the files on
  8089. remote: except those named file2.jpg or with a suffix .bak. That is
  8090. equivalent to rclone ls remote: --exclude file2.jpg --exclude "*.bak".
  8091. This flag can be repeated. See above for the order filter flags are
  8092. processed in.
  8093. The --exclude-from flag is useful where multiple exclude filter rules
  8094. are applied to an rclone command.
  8095. --exclude-from should not be used with --include, --include-from,
  8096. --filter or --filter-from flags.
  8097. --exclude-from has no effect when combined with --files-from or
  8098. --files-from-raw flags.
  8099. --exclude-from followed by - reads filter rules from standard input.
  8100. --include - Include files matching pattern
  8101. Adds a single include rule based on path/file names to an rclone
  8102. command.
  8103. This flag can be repeated. See above for the order filter flags are
  8104. processed in.
  8105. --include has no effect when combined with --files-from or
  8106. --files-from-raw flags.
  8107. --include implies --exclude ** at the end of an rclone internal filter
  8108. list. Therefore if you mix --include and --include-from flags with
  8109. --exclude, --exclude-from, --filter or --filter-from, you must use
  8110. include rules for all the files you want in the include statement. For
  8111. more flexibility use the --filter-from flag.
  8112. E.g. rclone ls remote: --include "*.{png,jpg}" lists the files on
  8113. remote: with suffix .png and .jpg. All other files are excluded.
  8114. E.g. multiple rclone copy commands can be combined with --include and a
  8115. pattern-list.
  8116. rclone copy /vol1/A remote:A
  8117. rclone copy /vol1/B remote:B
  8118. is equivalent to:
  8119. rclone copy /vol1 remote: --include "{A,B}/**"
  8120. E.g. rclone ls remote:/wheat --include "??[^[:punct:]]*" lists the files
  8121. remote: directory wheat (and subdirectories) whose third character is
  8122. not punctuation. This example uses an ASCII character class.
  8123. --include-from - Read include patterns from file
  8124. Adds path/file names to an rclone command based on rules in a named
  8125. file. The file contains a list of remarks and pattern rules.
  8126. For an example include-file.txt:
  8127. # a sample include rule file
  8128. *.jpg
  8129. file2.avi
  8130. rclone ls remote: --include-from include-file.txt lists the files on
  8131. remote: with name file2.avi or suffix .jpg. That is equivalent to
  8132. rclone ls remote: --include file2.avi --include "*.jpg".
  8133. This flag can be repeated. See above for the order filter flags are
  8134. processed in.
  8135. The --include-from flag is useful where multiple include filter rules
  8136. are applied to an rclone command.
  8137. --include-from implies --exclude ** at the end of an rclone internal
  8138. filter list. Therefore if you mix --include and --include-from flags
  8139. with --exclude, --exclude-from, --filter or --filter-from, you must use
  8140. include rules for all the files you want in the include statement. For
  8141. more flexibility use the --filter-from flag.
  8142. --exclude-from has no effect when combined with --files-from or
  8143. --files-from-raw flags.
  8144. --exclude-from followed by - reads filter rules from standard input.
  8145. --filter - Add a file-filtering rule
  8146. Specifies path/file names to an rclone command, based on a single
  8147. include or exclude rule, in + or - format.
  8148. This flag can be repeated. See above for the order filter flags are
  8149. processed in.
  8150. --filter + differs from --include. In the case of --include rclone
  8151. implies an --exclude * rule which it adds to the bottom of the internal
  8152. rule list. --filter...+ does not imply that rule.
  8153. --filter has no effect when combined with --files-from or
  8154. --files-from-raw flags.
  8155. --filter should not be used with --include, --include-from, --exclude or
  8156. --exclude-from flags.
  8157. E.g. rclone ls remote: --filter "- *.bak" excludes all .bak files from a
  8158. list of remote:.
  8159. --filter-from - Read filtering patterns from a file
  8160. Adds path/file names to an rclone command based on rules in a named
  8161. file. The file contains a list of remarks and pattern rules. Include
  8162. rules start with + and exclude rules with -. ! clears existing rules.
  8163. Rules are processed in the order they are defined.
  8164. This flag can be repeated. See above for the order filter flags are
  8165. processed in.
  8166. Arrange the order of filter rules with the most restrictive first and
  8167. work down.
  8168. E.g. for filter-file.txt:
  8169. # a sample filter rule file
  8170. - secret*.jpg
  8171. + *.jpg
  8172. + *.png
  8173. + file2.avi
  8174. - /dir/Trash/**
  8175. + /dir/**
  8176. # exclude everything else
  8177. - *
  8178. rclone ls remote: --filter-from filter-file.txt lists the path/files on
  8179. remote: including all jpg and png files, excluding any matching
  8180. secret*.jpg and including file2.avi. It also includes everything in the
  8181. directory dir at the root of remote, except remote:dir/Trash which it
  8182. excludes. Everything else is excluded.
  8183. E.g. for an alternative filter-file.txt:
  8184. - secret*.jpg
  8185. + *.jpg
  8186. + *.png
  8187. + file2.avi
  8188. - *
  8189. Files file1.jpg, file3.png and file2.avi are listed whilst secret17.jpg
  8190. and files without the suffix .jpgor.png` are excluded.
  8191. E.g. for an alternative filter-file.txt:
  8192. + *.jpg
  8193. + *.gif
  8194. !
  8195. + 42.doc
  8196. - *
  8197. Only file 42.doc is listed. Prior rules are cleared by the !.
  8198. --files-from - Read list of source-file names
  8199. Adds path/files to an rclone command from a list in a named file. Rclone
  8200. processes the path/file names in the order of the list, and no others.
  8201. Other filter flags (--include, --include-from, --exclude,
  8202. --exclude-from, --filter and --filter-from) are ignored when
  8203. --files-from is used.
  8204. --files-from expects a list of files as its input. Leading or trailing
  8205. whitespace is stripped from the input lines. Lines starting with # or ;
  8206. are ignored.
  8207. Rclone commands with a --files-from flag traverse the remote, treating
  8208. the names in --files-from as a set of filters.
  8209. If the --no-traverse and --files-from flags are used together an rclone
  8210. command does not traverse the remote. Instead it addresses each
  8211. path/file named in the file individually. For each path/file name, that
  8212. requires typically 1 API call. This can be efficient for a short
  8213. --files-from list and a remote containing many files.
  8214. Rclone commands do not error if any names in the --files-from file are
  8215. missing from the source remote.
  8216. The --files-from flag can be repeated in a single rclone command to read
  8217. path/file names from more than one file. The files are read from left to
  8218. right along the command line.
  8219. Paths within the --files-from file are interpreted as starting with the
  8220. root specified in the rclone command. Leading / separators are ignored.
  8221. See --files-from-raw if you need the input to be processed in a raw
  8222. manner.
  8223. E.g. for a file files-from.txt:
  8224. # comment
  8225. file1.jpg
  8226. subdir/file2.jpg
  8227. rclone copy --files-from files-from.txt /home/me/pics remote:pics copies
  8228. the following, if they exist, and only those files.
  8229. /home/me/pics/file1.jpg → remote:pics/file1.jpg
  8230. /home/me/pics/subdir/file2.jpg → remote:pics/subdir/file2.jpg
  8231. E.g. to copy the following files referenced by their absolute paths:
  8232. /home/user1/42
  8233. /home/user1/dir/ford
  8234. /home/user2/prefect
  8235. First find a common subdirectory - in this case /home and put the
  8236. remaining files in files-from.txt with or without leading /, e.g.
  8237. user1/42
  8238. user1/dir/ford
  8239. user2/prefect
  8240. Then copy these to a remote:
  8241. rclone copy --files-from files-from.txt /home remote:backup
  8242. The three files are transferred as follows:
  8243. /home/user1/42 → remote:backup/user1/important
  8244. /home/user1/dir/ford → remote:backup/user1/dir/file
  8245. /home/user2/prefect → remote:backup/user2/stuff
  8246. Alternatively if / is chosen as root files-from.txt will be:
  8247. /home/user1/42
  8248. /home/user1/dir/ford
  8249. /home/user2/prefect
  8250. The copy command will be:
  8251. rclone copy --files-from files-from.txt / remote:backup
  8252. Then there will be an extra home directory on the remote:
  8253. /home/user1/42 → remote:backup/home/user1/42
  8254. /home/user1/dir/ford → remote:backup/home/user1/dir/ford
  8255. /home/user2/prefect → remote:backup/home/user2/prefect
  8256. --files-from-raw - Read list of source-file names without any processing
  8257. This flag is the same as --files-from except that input is read in a raw
  8258. manner. Lines with leading / trailing whitespace, and lines starting
  8259. with ; or # are read without any processing. rclone lsf has a compatible
  8260. format that can be used to export file lists from remotes for input to
  8261. --files-from-raw.
  8262. --ignore-case - make searches case insensitive
  8263. By default, rclone filter patterns are case sensitive. The --ignore-case
  8264. flag makes all of the filters patterns on the command line case
  8265. insensitive.
  8266. E.g. --include "zaphod.txt" does not match a file Zaphod.txt. With
  8267. --ignore-case a match is made.
  8268. Quoting shell metacharacters
  8269. Rclone commands with filter patterns containing shell metacharacters may
  8270. not as work as expected in your shell and may require quoting.
  8271. E.g. linux, OSX (* metacharacter)
  8272. - --include \*.jpg
  8273. - --include '*.jpg'
  8274. - --include='*.jpg'
  8275. Microsoft Windows expansion is done by the command, not shell, so
  8276. --include *.jpg does not require quoting.
  8277. If the rclone error
  8278. Command .... needs .... arguments maximum: you provided .... non flag arguments:
  8279. is encountered, the cause is commonly spaces within the name of a remote
  8280. or flag value. The fix then is to quote values containing spaces.
  8281. Other filters
  8282. --min-size - Don't transfer any file smaller than this
  8283. Controls the minimum size file within the scope of an rclone command.
  8284. Default units are KiB but abbreviations K, M, G, T or P are valid.
  8285. E.g. rclone ls remote: --min-size 50k lists files on remote: of 50 KiB
  8286. size or larger.
  8287. See the size option docs for more info.
  8288. --max-size - Don't transfer any file larger than this
  8289. Controls the maximum size file within the scope of an rclone command.
  8290. Default units are KiB but abbreviations K, M, G, T or P are valid.
  8291. E.g. rclone ls remote: --max-size 1G lists files on remote: of 1 GiB
  8292. size or smaller.
  8293. See the size option docs for more info.
  8294. --max-age - Don't transfer any file older than this
  8295. Controls the maximum age of files within the scope of an rclone command.
  8296. --max-age applies only to files and not to directories.
  8297. E.g. rclone ls remote: --max-age 2d lists files on remote: of 2 days old
  8298. or less.
  8299. See the time option docs for valid formats.
  8300. --min-age - Don't transfer any file younger than this
  8301. Controls the minimum age of files within the scope of an rclone command.
  8302. (see --max-age for valid formats)
  8303. --min-age applies only to files and not to directories.
  8304. E.g. rclone ls remote: --min-age 2d lists files on remote: of 2 days old
  8305. or more.
  8306. See the time option docs for valid formats.
  8307. Other flags
  8308. --delete-excluded - Delete files on dest excluded from sync
  8309. Important this flag is dangerous to your data - use with --dry-run and
  8310. -v first.
  8311. In conjunction with rclone sync, --delete-excluded deletes any files on
  8312. the destination which are excluded from the command.
  8313. E.g. the scope of rclone sync --interactive A: B: can be restricted:
  8314. rclone --min-size 50k --delete-excluded sync A: B:
  8315. All files on B: which are less than 50 KiB are deleted because they are
  8316. excluded from the rclone sync command.
  8317. --dump filters - dump the filters to the output
  8318. Dumps the defined filters to standard output in regular expression
  8319. format.
  8320. Useful for debugging.
  8321. Exclude directory based on a file
  8322. The --exclude-if-present flag controls whether a directory is within the
  8323. scope of an rclone command based on the presence of a named file within
  8324. it. The flag can be repeated to check for multiple file names, presence
  8325. of any of them will exclude the directory.
  8326. This flag has a priority over other filter flags.
  8327. E.g. for the following directory structure:
  8328. dir1/file1
  8329. dir1/dir2/file2
  8330. dir1/dir2/dir3/file3
  8331. dir1/dir2/dir3/.ignore
  8332. The command rclone ls --exclude-if-present .ignore dir1 does not list
  8333. dir3, file3 or .ignore.
  8334. Metadata filters
  8335. The metadata filters work in a very similar way to the normal file name
  8336. filters, except they match metadata on the object.
  8337. The metadata should be specified as key=value patterns. This may be
  8338. wildcarded using the normal filter patterns or regular expressions.
  8339. For example if you wished to list only local files with a mode of 100664
  8340. you could do that with:
  8341. rclone lsf -M --files-only --metadata-include "mode=100664" .
  8342. Or if you wished to show files with an atime, mtime or btime at a given
  8343. date:
  8344. rclone lsf -M --files-only --metadata-include "[abm]time=2022-12-16*" .
  8345. Like file filtering, metadata filtering only applies to files not to
  8346. directories.
  8347. The filters can be applied using these flags.
  8348. - --metadata-include - Include metadatas matching pattern
  8349. - --metadata-include-from - Read metadata include patterns from file
  8350. (use - to read from stdin)
  8351. - --metadata-exclude - Exclude metadatas matching pattern
  8352. - --metadata-exclude-from - Read metadata exclude patterns from file
  8353. (use - to read from stdin)
  8354. - --metadata-filter - Add a metadata filtering rule
  8355. - --metadata-filter-from - Read metadata filtering patterns from a
  8356. file (use - to read from stdin)
  8357. Each flag can be repeated. See the section on how filter rules are
  8358. applied for more details - these flags work in an identical way to the
  8359. file name filtering flags, but instead of file name patterns have
  8360. metadata patterns.
  8361. Common pitfalls
  8362. The most frequent filter support issues on the rclone forum are:
  8363. - Not using paths relative to the root of the remote
  8364. - Not using / to match from the root of a remote
  8365. - Not using ** to match the contents of a directory
  8366. GUI (Experimental)
  8367. Rclone can serve a web based GUI (graphical user interface). This is
  8368. somewhat experimental at the moment so things may be subject to change.
  8369. Run this command in a terminal and rclone will download and then display
  8370. the GUI in a web browser.
  8371. rclone rcd --rc-web-gui
  8372. This will produce logs like this and rclone needs to continue to run to
  8373. serve the GUI:
  8374. 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
  8375. 2019/08/25 11:40:14 NOTICE: Downloading webgui binary. Please wait. [Size: 3813937, Path : /home/USER/.cache/rclone/webgui/v0.0.6.zip]
  8376. 2019/08/25 11:40:16 NOTICE: Unzipping
  8377. 2019/08/25 11:40:16 NOTICE: Serving remote control on http://127.0.0.1:5572/
  8378. This assumes you are running rclone locally on your machine. It is
  8379. possible to separate the rclone and the GUI - see below for details.
  8380. If you wish to check for updates then you can add --rc-web-gui-update to
  8381. the command line.
  8382. If you find your GUI broken, you may force it to update by add
  8383. --rc-web-gui-force-update.
  8384. By default, rclone will open your browser. Add
  8385. --rc-web-gui-no-open-browser to disable this feature.
  8386. Using the GUI
  8387. Once the GUI opens, you will be looking at the dashboard which has an
  8388. overall overview.
  8389. On the left hand side you will see a series of view buttons you can
  8390. click on:
  8391. - Dashboard - main overview
  8392. - Configs - examine and create new configurations
  8393. - Explorer - view, download and upload files to the cloud storage
  8394. systems
  8395. - Backend - view or alter the backend config
  8396. - Log out
  8397. (More docs and walkthrough video to come!)
  8398. How it works
  8399. When you run the rclone rcd --rc-web-gui this is what happens
  8400. - Rclone starts but only runs the remote control API ("rc").
  8401. - The API is bound to localhost with an auto-generated username and
  8402. password.
  8403. - If the API bundle is missing then rclone will download it.
  8404. - rclone will start serving the files from the API bundle over the
  8405. same port as the API
  8406. - rclone will open the browser with a login_token so it can log
  8407. straight in.
  8408. Advanced use
  8409. The rclone rcd may use any of the flags documented on the rc page.
  8410. The flag --rc-web-gui is shorthand for
  8411. - Download the web GUI if necessary
  8412. - Check we are using some authentication
  8413. - --rc-user gui
  8414. - --rc-pass <random password>
  8415. - --rc-serve
  8416. These flags can be overridden as desired.
  8417. See also the rclone rcd documentation.
  8418. Example: Running a public GUI
  8419. For example the GUI could be served on a public port over SSL using an
  8420. htpasswd file using the following flags:
  8421. - --rc-web-gui
  8422. - --rc-addr :443
  8423. - --rc-htpasswd /path/to/htpasswd
  8424. - --rc-cert /path/to/ssl.crt
  8425. - --rc-key /path/to/ssl.key
  8426. Example: Running a GUI behind a proxy
  8427. If you want to run the GUI behind a proxy at /rclone you could use these
  8428. flags:
  8429. - --rc-web-gui
  8430. - --rc-baseurl rclone
  8431. - --rc-htpasswd /path/to/htpasswd
  8432. Or instead of htpasswd if you just want a single user and password:
  8433. - --rc-user me
  8434. - --rc-pass mypassword
  8435. Project
  8436. The GUI is being developed in the: rclone/rclone-webui-react repository.
  8437. Bug reports and contributions are very welcome :-)
  8438. If you have questions then please ask them on the rclone forum.
  8439. Remote controlling rclone with its API
  8440. If rclone is run with the --rc flag then it starts an HTTP server which
  8441. can be used to remote control rclone using its API.
  8442. You can either use the rc command to access the API or use HTTP
  8443. directly.
  8444. If you just want to run a remote control then see the rcd command.
  8445. Supported parameters
  8446. --rc
  8447. Flag to start the http server listen on remote requests
  8448. --rc-addr=IP
  8449. IPaddress:Port or :Port to bind server to. (default "localhost:5572")
  8450. --rc-cert=KEY
  8451. SSL PEM key (concatenation of certificate and CA certificate)
  8452. --rc-client-ca=PATH
  8453. Client certificate authority to verify clients with
  8454. --rc-htpasswd=PATH
  8455. htpasswd file - if not provided no authentication is done
  8456. --rc-key=PATH
  8457. SSL PEM Private key
  8458. --rc-max-header-bytes=VALUE
  8459. Maximum size of request header (default 4096)
  8460. --rc-min-tls-version=VALUE
  8461. The minimum TLS version that is acceptable. Valid values are "tls1.0",
  8462. "tls1.1", "tls1.2" and "tls1.3" (default "tls1.0").
  8463. --rc-user=VALUE
  8464. User name for authentication.
  8465. --rc-pass=VALUE
  8466. Password for authentication.
  8467. --rc-realm=VALUE
  8468. Realm for authentication (default "rclone")
  8469. --rc-server-read-timeout=DURATION
  8470. Timeout for server reading data (default 1h0m0s)
  8471. --rc-server-write-timeout=DURATION
  8472. Timeout for server writing data (default 1h0m0s)
  8473. --rc-serve
  8474. Enable the serving of remote objects via the HTTP interface. This means
  8475. objects will be accessible at http://127.0.0.1:5572/ by default, so you
  8476. can browse to http://127.0.0.1:5572/ or http://127.0.0.1:5572/* to see a
  8477. listing of the remotes. Objects may be requested from remotes using this
  8478. syntax http://127.0.0.1:5572/[remote:path]/path/to/object
  8479. Default Off.
  8480. --rc-files /path/to/directory
  8481. Path to local files to serve on the HTTP server.
  8482. If this is set then rclone will serve the files in that directory. It
  8483. will also open the root in the web browser if specified. This is for
  8484. implementing browser based GUIs for rclone functions.
  8485. If --rc-user or --rc-pass is set then the URL that is opened will have
  8486. the authorization in the URL in the http://user:pass@localhost/ style.
  8487. Default Off.
  8488. --rc-enable-metrics
  8489. Enable OpenMetrics/Prometheus compatible endpoint at /metrics.
  8490. Default Off.
  8491. --rc-web-gui
  8492. Set this flag to serve the default web gui on the same port as rclone.
  8493. Default Off.
  8494. --rc-allow-origin
  8495. Set the allowed Access-Control-Allow-Origin for rc requests.
  8496. Can be used with --rc-web-gui if the rclone is running on different IP
  8497. than the web-gui.
  8498. Default is IP address on which rc is running.
  8499. --rc-web-fetch-url
  8500. Set the URL to fetch the rclone-web-gui files from.
  8501. Default
  8502. https://api.github.com/repos/rclone/rclone-webui-react/releases/latest.
  8503. --rc-web-gui-update
  8504. Set this flag to check and update rclone-webui-react from the
  8505. rc-web-fetch-url.
  8506. Default Off.
  8507. --rc-web-gui-force-update
  8508. Set this flag to force update rclone-webui-react from the
  8509. rc-web-fetch-url.
  8510. Default Off.
  8511. --rc-web-gui-no-open-browser
  8512. Set this flag to disable opening browser automatically when using
  8513. web-gui.
  8514. Default Off.
  8515. --rc-job-expire-duration=DURATION
  8516. Expire finished async jobs older than DURATION (default 60s).
  8517. --rc-job-expire-interval=DURATION
  8518. Interval duration to check for expired async jobs (default 10s).
  8519. --rc-no-auth
  8520. By default rclone will require authorisation to have been set up on the
  8521. rc interface in order to use any methods which access any rclone
  8522. remotes. Eg operations/list is denied as it involved creating a remote
  8523. as is sync/copy.
  8524. If this is set then no authorisation will be required on the server to
  8525. use these methods. The alternative is to use --rc-user and --rc-pass and
  8526. use these credentials in the request.
  8527. Default Off.
  8528. --rc-baseurl
  8529. Prefix for URLs.
  8530. Default is root
  8531. --rc-template
  8532. User-specified template.
  8533. Accessing the remote control via the rclone rc command
  8534. Rclone itself implements the remote control protocol in its rclone rc
  8535. command.
  8536. You can use it like this
  8537. $ rclone rc rc/noop param1=one param2=two
  8538. {
  8539. "param1": "one",
  8540. "param2": "two"
  8541. }
  8542. Run rclone rc on its own to see the help for the installed remote
  8543. control commands.
  8544. JSON input
  8545. rclone rc also supports a --json flag which can be used to send more
  8546. complicated input parameters.
  8547. $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 } }' rc/noop
  8548. {
  8549. "p1": [
  8550. 1,
  8551. "2",
  8552. null,
  8553. 4
  8554. ],
  8555. "p2": {
  8556. "a": 1,
  8557. "b": 2
  8558. }
  8559. }
  8560. If the parameter being passed is an object then it can be passed as a
  8561. JSON string rather than using the --json flag which simplifies the
  8562. command line.
  8563. rclone rc operations/list fs=/tmp remote=test opt='{"showHash": true}'
  8564. Rather than
  8565. rclone rc operations/list --json '{"fs": "/tmp", "remote": "test", "opt": {"showHash": true}}'
  8566. Special parameters
  8567. The rc interface supports some special parameters which apply to all
  8568. commands. These start with _ to show they are different.
  8569. Running asynchronous jobs with _async = true
  8570. Each rc call is classified as a job and it is assigned its own id. By
  8571. default jobs are executed immediately as they are created or
  8572. synchronously.
  8573. If _async has a true value when supplied to an rc call then it will
  8574. return immediately with a job id and the task will be run in the
  8575. background. The job/status call can be used to get information of the
  8576. background job. The job can be queried for up to 1 minute after it has
  8577. finished.
  8578. It is recommended that potentially long running jobs, e.g. sync/sync,
  8579. sync/copy, sync/move, operations/purge are run with the _async flag to
  8580. avoid any potential problems with the HTTP request and response timing
  8581. out.
  8582. Starting a job with the _async flag:
  8583. $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 }, "_async": true }' rc/noop
  8584. {
  8585. "jobid": 2
  8586. }
  8587. Query the status to see if the job has finished. For more information on
  8588. the meaning of these return parameters see the job/status call.
  8589. $ rclone rc --json '{ "jobid":2 }' job/status
  8590. {
  8591. "duration": 0.000124163,
  8592. "endTime": "2018-10-27T11:38:07.911245881+01:00",
  8593. "error": "",
  8594. "finished": true,
  8595. "id": 2,
  8596. "output": {
  8597. "_async": true,
  8598. "p1": [
  8599. 1,
  8600. "2",
  8601. null,
  8602. 4
  8603. ],
  8604. "p2": {
  8605. "a": 1,
  8606. "b": 2
  8607. }
  8608. },
  8609. "startTime": "2018-10-27T11:38:07.911121728+01:00",
  8610. "success": true
  8611. }
  8612. job/list can be used to show the running or recently completed jobs
  8613. $ rclone rc job/list
  8614. {
  8615. "jobids": [
  8616. 2
  8617. ]
  8618. }
  8619. Setting config flags with _config
  8620. If you wish to set config (the equivalent of the global flags) for the
  8621. duration of an rc call only then pass in the _config parameter.
  8622. This should be in the same format as the config key returned by
  8623. options/get.
  8624. For example, if you wished to run a sync with the --checksum parameter,
  8625. you would pass this parameter in your JSON blob.
  8626. "_config":{"CheckSum": true}
  8627. If using rclone rc this could be passed as
  8628. rclone rc operations/sync ... _config='{"CheckSum": true}'
  8629. Any config parameters you don't set will inherit the global defaults
  8630. which were set with command line flags or environment variables.
  8631. Note that it is possible to set some values as strings or integers - see
  8632. data types for more info. Here is an example setting the equivalent of
  8633. --buffer-size in string or integer format.
  8634. "_config":{"BufferSize": "42M"}
  8635. "_config":{"BufferSize": 44040192}
  8636. If you wish to check the _config assignment has worked properly then
  8637. calling options/local will show what the value got set to.
  8638. Setting filter flags with _filter
  8639. If you wish to set filters for the duration of an rc call only then pass
  8640. in the _filter parameter.
  8641. This should be in the same format as the filter key returned by
  8642. options/get.
  8643. For example, if you wished to run a sync with these flags
  8644. --max-size 1M --max-age 42s --include "a" --include "b"
  8645. you would pass this parameter in your JSON blob.
  8646. "_filter":{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}
  8647. If using rclone rc this could be passed as
  8648. rclone rc ... _filter='{"MaxSize":"1M", "IncludeRule":["a","b"], "MaxAge":"42s"}'
  8649. Any filter parameters you don't set will inherit the global defaults
  8650. which were set with command line flags or environment variables.
  8651. Note that it is possible to set some values as strings or integers - see
  8652. data types for more info. Here is an example setting the equivalent of
  8653. --buffer-size in string or integer format.
  8654. "_filter":{"MinSize": "42M"}
  8655. "_filter":{"MinSize": 44040192}
  8656. If you wish to check the _filter assignment has worked properly then
  8657. calling options/local will show what the value got set to.
  8658. Assigning operations to groups with _group = value
  8659. Each rc call has its own stats group for tracking its metrics. By
  8660. default grouping is done by the composite group name from prefix job/
  8661. and id of the job like so job/1.
  8662. If _group has a value then stats for that request will be grouped under
  8663. that value. This allows caller to group stats under their own name.
  8664. Stats for specific group can be accessed by passing group to core/stats:
  8665. $ rclone rc --json '{ "group": "job/1" }' core/stats
  8666. {
  8667. "speed": 12345
  8668. ...
  8669. }
  8670. Data types
  8671. When the API returns types, these will mostly be straight forward
  8672. integer, string or boolean types.
  8673. However some of the types returned by the options/get call and taken by
  8674. the options/set calls as well as the vfsOpt, mountOpt and the _config
  8675. parameters.
  8676. - Duration - these are returned as an integer duration in nanoseconds.
  8677. They may be set as an integer, or they may be set with time string,
  8678. eg "5s". See the options section for more info.
  8679. - Size - these are returned as an integer number of bytes. They may be
  8680. set as an integer or they may be set with a size suffix string, eg
  8681. "10M". See the options section for more info.
  8682. - Enumerated type (such as CutoffMode, DumpFlags, LogLevel,
  8683. VfsCacheMode - these will be returned as an integer and may be set
  8684. as an integer but more conveniently they can be set as a string, eg
  8685. "HARD" for CutoffMode or DEBUG for LogLevel.
  8686. - BandwidthSpec - this will be set and returned as a string, eg "1M".
  8687. Specifying remotes to work on
  8688. Remotes are specified with the fs=, srcFs=, dstFs= parameters depending
  8689. on the command being used.
  8690. The parameters can be a string as per the rest of rclone, eg
  8691. s3:bucket/path or :sftp:/my/dir. They can also be specified as JSON
  8692. blobs.
  8693. If specifying a JSON blob it should be a object mapping strings to
  8694. strings. These values will be used to configure the remote. There are 3
  8695. special values which may be set:
  8696. - type - set to type to specify a remote called :type:
  8697. - _name - set to name to specify a remote called name:
  8698. - _root - sets the root of the remote - may be empty
  8699. One of _name or type should normally be set. If the local backend is
  8700. desired then type should be set to local. If _root isn't specified then
  8701. it defaults to the root of the remote.
  8702. For example this JSON is equivalent to remote:/tmp
  8703. {
  8704. "_name": "remote",
  8705. "_path": "/tmp"
  8706. }
  8707. And this is equivalent to :sftp,host='example.com':/tmp
  8708. {
  8709. "type": "sftp",
  8710. "host": "example.com",
  8711. "_path": "/tmp"
  8712. }
  8713. And this is equivalent to /tmp/dir
  8714. {
  8715. type = "local",
  8716. _ path = "/tmp/dir"
  8717. }
  8718. Supported commands
  8719. backend/command: Runs a backend command.
  8720. This takes the following parameters:
  8721. - command - a string with the command name
  8722. - fs - a remote name string e.g. "drive:"
  8723. - arg - a list of arguments for the backend command
  8724. - opt - a map of string to string of options
  8725. Returns:
  8726. - result - result from the backend command
  8727. Example:
  8728. rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2
  8729. Returns
  8730. {
  8731. "result": {
  8732. "arg": [
  8733. "path1",
  8734. "path2"
  8735. ],
  8736. "name": "noop",
  8737. "opt": {
  8738. "blue": "",
  8739. "echo": "yes"
  8740. }
  8741. }
  8742. }
  8743. Note that this is the direct equivalent of using this "backend" command:
  8744. rclone backend noop . -o echo=yes -o blue path1 path2
  8745. Note that arguments must be preceded by the "-a" flag
  8746. See the backend command for more information.
  8747. Authentication is required for this call.
  8748. cache/expire: Purge a remote from cache
  8749. Purge a remote from the cache backend. Supports either a directory or a
  8750. file. Params: - remote = path to remote (required) - withData =
  8751. true/false to delete cached data (chunks) as well (optional)
  8752. Eg
  8753. rclone rc cache/expire remote=path/to/sub/folder/
  8754. rclone rc cache/expire remote=/ withData=true
  8755. cache/fetch: Fetch file chunks
  8756. Ensure the specified file chunks are cached on disk.
  8757. The chunks= parameter specifies the file chunks to check. It takes a
  8758. comma separated list of array slice indices. The slice indices are
  8759. similar to Python slices: start[:end]
  8760. start is the 0 based chunk number from the beginning of the file to
  8761. fetch inclusive. end is 0 based chunk number from the beginning of the
  8762. file to fetch exclusive. Both values can be negative, in which case they
  8763. count from the back of the file. The value "-5:" represents the last 5
  8764. chunks of a file.
  8765. Some valid examples are: ":5,-5:" -> the first and last five chunks
  8766. "0,-2" -> the first and the second last chunk "0:10" -> the first ten
  8767. chunks
  8768. Any parameter with a key that starts with "file" can be used to specify
  8769. files to fetch, e.g.
  8770. rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
  8771. File names will automatically be encrypted when the a crypt remote is
  8772. used on top of the cache.
  8773. cache/stats: Get cache stats
  8774. Show statistics for the cache remote.
  8775. config/create: create the config for a remote.
  8776. This takes the following parameters:
  8777. - name - name of remote
  8778. - parameters - a map of { "key": "value" } pairs
  8779. - type - type of the new remote
  8780. - opt - a dictionary of options to control the configuration
  8781. - obscure - declare passwords are plain and need obscuring
  8782. - noObscure - declare passwords are already obscured and don't
  8783. need obscuring
  8784. - nonInteractive - don't interact with a user, return questions
  8785. - continue - continue the config process with an answer
  8786. - all - ask all the config questions not just the post config ones
  8787. - state - state to restart with - used with continue
  8788. - result - result to restart with - used with continue
  8789. See the config create command for more information on the above.
  8790. Authentication is required for this call.
  8791. config/delete: Delete a remote in the config file.
  8792. Parameters:
  8793. - name - name of remote to delete
  8794. See the config delete command for more information on the above.
  8795. Authentication is required for this call.
  8796. config/dump: Dumps the config file.
  8797. Returns a JSON object: - key: value
  8798. Where keys are remote names and values are the config parameters.
  8799. See the config dump command for more information on the above.
  8800. Authentication is required for this call.
  8801. config/get: Get a remote in the config file.
  8802. Parameters:
  8803. - name - name of remote to get
  8804. See the config dump command for more information on the above.
  8805. Authentication is required for this call.
  8806. config/listremotes: Lists the remotes in the config file and defined in environment variables.
  8807. Returns - remotes - array of remote names
  8808. See the listremotes command for more information on the above.
  8809. Authentication is required for this call.
  8810. config/password: password the config for a remote.
  8811. This takes the following parameters:
  8812. - name - name of remote
  8813. - parameters - a map of { "key": "value" } pairs
  8814. See the config password command for more information on the above.
  8815. Authentication is required for this call.
  8816. config/providers: Shows how providers are configured in the config file.
  8817. Returns a JSON object: - providers - array of objects
  8818. See the config providers command for more information on the above.
  8819. Authentication is required for this call.
  8820. config/setpath: Set the path of the config file
  8821. Parameters:
  8822. - path - path to the config file to use
  8823. Authentication is required for this call.
  8824. config/update: update the config for a remote.
  8825. This takes the following parameters:
  8826. - name - name of remote
  8827. - parameters - a map of { "key": "value" } pairs
  8828. - opt - a dictionary of options to control the configuration
  8829. - obscure - declare passwords are plain and need obscuring
  8830. - noObscure - declare passwords are already obscured and don't
  8831. need obscuring
  8832. - nonInteractive - don't interact with a user, return questions
  8833. - continue - continue the config process with an answer
  8834. - all - ask all the config questions not just the post config ones
  8835. - state - state to restart with - used with continue
  8836. - result - result to restart with - used with continue
  8837. See the config update command for more information on the above.
  8838. Authentication is required for this call.
  8839. core/bwlimit: Set the bandwidth limit.
  8840. This sets the bandwidth limit to the string passed in. This should be a
  8841. single bandwidth limit entry or a pair of upload:download bandwidth.
  8842. Eg
  8843. rclone rc core/bwlimit rate=off
  8844. {
  8845. "bytesPerSecond": -1,
  8846. "bytesPerSecondTx": -1,
  8847. "bytesPerSecondRx": -1,
  8848. "rate": "off"
  8849. }
  8850. rclone rc core/bwlimit rate=1M
  8851. {
  8852. "bytesPerSecond": 1048576,
  8853. "bytesPerSecondTx": 1048576,
  8854. "bytesPerSecondRx": 1048576,
  8855. "rate": "1M"
  8856. }
  8857. rclone rc core/bwlimit rate=1M:100k
  8858. {
  8859. "bytesPerSecond": 1048576,
  8860. "bytesPerSecondTx": 1048576,
  8861. "bytesPerSecondRx": 131072,
  8862. "rate": "1M"
  8863. }
  8864. If the rate parameter is not supplied then the bandwidth is queried
  8865. rclone rc core/bwlimit
  8866. {
  8867. "bytesPerSecond": 1048576,
  8868. "bytesPerSecondTx": 1048576,
  8869. "bytesPerSecondRx": 1048576,
  8870. "rate": "1M"
  8871. }
  8872. The format of the parameter is exactly the same as passed to --bwlimit
  8873. except only one bandwidth may be specified.
  8874. In either case "rate" is returned as a human-readable string, and
  8875. "bytesPerSecond" is returned as a number.
  8876. core/command: Run a rclone terminal command over rc.
  8877. This takes the following parameters:
  8878. - command - a string with the command name.
  8879. - arg - a list of arguments for the backend command.
  8880. - opt - a map of string to string of options.
  8881. - returnType - one of ("COMBINED_OUTPUT", "STREAM",
  8882. "STREAM_ONLY_STDOUT", "STREAM_ONLY_STDERR").
  8883. - Defaults to "COMBINED_OUTPUT" if not set.
  8884. - The STREAM returnTypes will write the output to the body of the
  8885. HTTP message.
  8886. - The COMBINED_OUTPUT will write the output to the "result"
  8887. parameter.
  8888. Returns:
  8889. - result - result from the backend command.
  8890. - Only set when using returnType "COMBINED_OUTPUT".
  8891. - error - set if rclone exits with an error code.
  8892. - returnType - one of ("COMBINED_OUTPUT", "STREAM",
  8893. "STREAM_ONLY_STDOUT", "STREAM_ONLY_STDERR").
  8894. Example:
  8895. rclone rc core/command command=ls -a mydrive:/ -o max-depth=1
  8896. rclone rc core/command -a ls -a mydrive:/ -o max-depth=1
  8897. Returns:
  8898. {
  8899. "error": false,
  8900. "result": "<Raw command line output>"
  8901. }
  8902. OR
  8903. {
  8904. "error": true,
  8905. "result": "<Raw command line output>"
  8906. }
  8907. Authentication is required for this call.
  8908. core/gc: Runs a garbage collection.
  8909. This tells the go runtime to do a garbage collection run. It isn't
  8910. necessary to call this normally, but it can be useful for debugging
  8911. memory problems.
  8912. core/group-list: Returns list of stats.
  8913. This returns list of stats groups currently in memory.
  8914. Returns the following values:
  8915. {
  8916. "groups": an array of group names:
  8917. [
  8918. "group1",
  8919. "group2",
  8920. ...
  8921. ]
  8922. }
  8923. core/memstats: Returns the memory statistics
  8924. This returns the memory statistics of the running program. What the
  8925. values mean are explained in the go docs:
  8926. https://golang.org/pkg/runtime/#MemStats
  8927. The most interesting values for most people are:
  8928. - HeapAlloc - this is the amount of memory rclone is actually using
  8929. - HeapSys - this is the amount of memory rclone has obtained from the
  8930. OS
  8931. - Sys - this is the total amount of memory requested from the OS
  8932. - It is virtual memory so may include unused memory
  8933. core/obscure: Obscures a string passed in.
  8934. Pass a clear string and rclone will obscure it for the config file: -
  8935. clear - string
  8936. Returns: - obscured - string
  8937. core/pid: Return PID of current process
  8938. This returns PID of current process. Useful for stopping rclone process.
  8939. core/quit: Terminates the app.
  8940. (Optional) Pass an exit code to be used for terminating the app: -
  8941. exitCode - int
  8942. core/stats: Returns stats about current transfers.
  8943. This returns all available stats:
  8944. rclone rc core/stats
  8945. If group is not provided then summed up stats for all groups will be
  8946. returned.
  8947. Parameters
  8948. - group - name of the stats group (string)
  8949. Returns the following values:
  8950. {
  8951. "bytes": total transferred bytes since the start of the group,
  8952. "checks": number of files checked,
  8953. "deletes" : number of files deleted,
  8954. "elapsedTime": time in floating point seconds since rclone was started,
  8955. "errors": number of errors,
  8956. "eta": estimated time in seconds until the group completes,
  8957. "fatalError": boolean whether there has been at least one fatal error,
  8958. "lastError": last error string,
  8959. "renames" : number of files renamed,
  8960. "retryError": boolean showing whether there has been at least one non-NoRetryError,
  8961. "speed": average speed in bytes per second since start of the group,
  8962. "totalBytes": total number of bytes in the group,
  8963. "totalChecks": total number of checks in the group,
  8964. "totalTransfers": total number of transfers in the group,
  8965. "transferTime" : total time spent on running jobs,
  8966. "transfers": number of transferred files,
  8967. "transferring": an array of currently active file transfers:
  8968. [
  8969. {
  8970. "bytes": total transferred bytes for this file,
  8971. "eta": estimated time in seconds until file transfer completion
  8972. "name": name of the file,
  8973. "percentage": progress of the file transfer in percent,
  8974. "speed": average speed over the whole transfer in bytes per second,
  8975. "speedAvg": current speed in bytes per second as an exponentially weighted moving average,
  8976. "size": size of the file in bytes
  8977. }
  8978. ],
  8979. "checking": an array of names of currently active file checks
  8980. []
  8981. }
  8982. Values for "transferring", "checking" and "lastError" are only assigned
  8983. if data is available. The value for "eta" is null if an eta cannot be
  8984. determined.
  8985. core/stats-delete: Delete stats group.
  8986. This deletes entire stats group.
  8987. Parameters
  8988. - group - name of the stats group (string)
  8989. core/stats-reset: Reset stats.
  8990. This clears counters, errors and finished transfers for all stats or
  8991. specific stats group if group is provided.
  8992. Parameters
  8993. - group - name of the stats group (string)
  8994. core/transferred: Returns stats about completed transfers.
  8995. This returns stats about completed transfers:
  8996. rclone rc core/transferred
  8997. If group is not provided then completed transfers for all groups will be
  8998. returned.
  8999. Note only the last 100 completed transfers are returned.
  9000. Parameters
  9001. - group - name of the stats group (string)
  9002. Returns the following values:
  9003. {
  9004. "transferred": an array of completed transfers (including failed ones):
  9005. [
  9006. {
  9007. "name": name of the file,
  9008. "size": size of the file in bytes,
  9009. "bytes": total transferred bytes for this file,
  9010. "checked": if the transfer is only checked (skipped, deleted),
  9011. "timestamp": integer representing millisecond unix epoch,
  9012. "error": string description of the error (empty if successful),
  9013. "jobid": id of the job that this transfer belongs to
  9014. }
  9015. ]
  9016. }
  9017. core/version: Shows the current version of rclone and the go runtime.
  9018. This shows the current version of go and the go runtime:
  9019. - version - rclone version, e.g. "v1.53.0"
  9020. - decomposed - version number as [major, minor, patch]
  9021. - isGit - boolean - true if this was compiled from the git version
  9022. - isBeta - boolean - true if this is a beta version
  9023. - os - OS in use as according to Go
  9024. - arch - cpu architecture in use according to Go
  9025. - goVersion - version of Go runtime in use
  9026. - linking - type of rclone executable (static or dynamic)
  9027. - goTags - space separated build tags or "none"
  9028. debug/set-block-profile-rate: Set runtime.SetBlockProfileRate for blocking profiling.
  9029. SetBlockProfileRate controls the fraction of goroutine blocking events
  9030. that are reported in the blocking profile. The profiler aims to sample
  9031. an average of one blocking event per rate nanoseconds spent blocked.
  9032. To include every blocking event in the profile, pass rate = 1. To turn
  9033. off profiling entirely, pass rate <= 0.
  9034. After calling this you can use this to see the blocking profile:
  9035. go tool pprof http://localhost:5572/debug/pprof/block
  9036. Parameters:
  9037. - rate - int
  9038. debug/set-gc-percent: Call runtime/debug.SetGCPercent for setting the garbage collection target percentage.
  9039. SetGCPercent sets the garbage collection target percentage: a collection
  9040. is triggered when the ratio of freshly allocated data to live data
  9041. remaining after the previous collection reaches this percentage.
  9042. SetGCPercent returns the previous setting. The initial setting is the
  9043. value of the GOGC environment variable at startup, or 100 if the
  9044. variable is not set.
  9045. This setting may be effectively reduced in order to maintain a memory
  9046. limit. A negative percentage effectively disables garbage collection,
  9047. unless the memory limit is reached.
  9048. See https://pkg.go.dev/runtime/debug#SetMemoryLimit for more details.
  9049. Parameters:
  9050. - gc-percent - int
  9051. debug/set-mutex-profile-fraction: Set runtime.SetMutexProfileFraction for mutex profiling.
  9052. SetMutexProfileFraction controls the fraction of mutex contention events
  9053. that are reported in the mutex profile. On average 1/rate events are
  9054. reported. The previous rate is returned.
  9055. To turn off profiling entirely, pass rate 0. To just read the current
  9056. rate, pass rate < 0. (For n>1 the details of sampling may change.)
  9057. Once this is set you can look use this to profile the mutex contention:
  9058. go tool pprof http://localhost:5572/debug/pprof/mutex
  9059. Parameters:
  9060. - rate - int
  9061. Results:
  9062. - previousRate - int
  9063. debug/set-soft-memory-limit: Call runtime/debug.SetMemoryLimit for setting a soft memory limit for the runtime.
  9064. SetMemoryLimit provides the runtime with a soft memory limit.
  9065. The runtime undertakes several processes to try to respect this memory
  9066. limit, including adjustments to the frequency of garbage collections and
  9067. returning memory to the underlying system more aggressively. This limit
  9068. will be respected even if GOGC=off (or, if SetGCPercent(-1) is
  9069. executed).
  9070. The input limit is provided as bytes, and includes all memory mapped,
  9071. managed, and not released by the Go runtime. Notably, it does not
  9072. account for space used by the Go binary and memory external to Go, such
  9073. as memory managed by the underlying system on behalf of the process, or
  9074. memory managed by non-Go code inside the same process. Examples of
  9075. excluded memory sources include: OS kernel memory held on behalf of the
  9076. process, memory allocated by C code, and memory mapped by syscall.Mmap
  9077. (because it is not managed by the Go runtime).
  9078. A zero limit or a limit that's lower than the amount of memory used by
  9079. the Go runtime may cause the garbage collector to run nearly
  9080. continuously. However, the application may still make progress.
  9081. The memory limit is always respected by the Go runtime, so to
  9082. effectively disable this behavior, set the limit very high.
  9083. math.MaxInt64 is the canonical value for disabling the limit, but values
  9084. much greater than the available memory on the underlying system work
  9085. just as well.
  9086. See https://go.dev/doc/gc-guide for a detailed guide explaining the soft
  9087. memory limit in more detail, as well as a variety of common use-cases
  9088. and scenarios.
  9089. SetMemoryLimit returns the previously set memory limit. A negative input
  9090. does not adjust the limit, and allows for retrieval of the currently set
  9091. memory limit.
  9092. Parameters:
  9093. - mem-limit - int
  9094. fscache/clear: Clear the Fs cache.
  9095. This clears the fs cache. This is where remotes created from backends
  9096. are cached for a short while to make repeated rc calls more efficient.
  9097. If you change the parameters of a backend then you may want to call this
  9098. to clear an existing remote out of the cache before re-creating it.
  9099. Authentication is required for this call.
  9100. fscache/entries: Returns the number of entries in the fs cache.
  9101. This returns the number of entries in the fs cache.
  9102. Returns - entries - number of items in the cache
  9103. Authentication is required for this call.
  9104. job/list: Lists the IDs of the running jobs
  9105. Parameters: None.
  9106. Results:
  9107. - jobids - array of integer job ids.
  9108. job/status: Reads the status of the job ID
  9109. Parameters:
  9110. - jobid - id of the job (integer).
  9111. Results:
  9112. - finished - boolean
  9113. - duration - time in seconds that the job ran for
  9114. - endTime - time the job finished (e.g.
  9115. "2018-10-26T18:50:20.528746884+01:00")
  9116. - error - error from the job or empty string for no error
  9117. - finished - boolean whether the job has finished or not
  9118. - id - as passed in above
  9119. - startTime - time the job started (e.g.
  9120. "2018-10-26T18:50:20.528336039+01:00")
  9121. - success - boolean - true for success false otherwise
  9122. - output - output of the job as would have been returned if called
  9123. synchronously
  9124. - progress - output of the progress related to the underlying job
  9125. job/stop: Stop the running job
  9126. Parameters:
  9127. - jobid - id of the job (integer).
  9128. job/stopgroup: Stop all running jobs in a group
  9129. Parameters:
  9130. - group - name of the group (string).
  9131. mount/listmounts: Show current mount points
  9132. This shows currently mounted points, which can be used for performing an
  9133. unmount.
  9134. This takes no parameters and returns
  9135. - mountPoints: list of current mount points
  9136. Eg
  9137. rclone rc mount/listmounts
  9138. Authentication is required for this call.
  9139. mount/mount: Create a new mount point
  9140. rclone allows Linux, FreeBSD, macOS and Windows to mount any of Rclone's
  9141. cloud storage systems as a file system with FUSE.
  9142. If no mountType is provided, the priority is given as follows: 1. mount
  9143. 2.cmount 3.mount2
  9144. This takes the following parameters:
  9145. - fs - a remote path to be mounted (required)
  9146. - mountPoint: valid path on the local machine (required)
  9147. - mountType: one of the values (mount, cmount, mount2) specifies the
  9148. mount implementation to use
  9149. - mountOpt: a JSON object with Mount options in.
  9150. - vfsOpt: a JSON object with VFS options in.
  9151. Example:
  9152. rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint
  9153. rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount
  9154. rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt='{"CacheMode": 2}' mountOpt='{"AllowOther": true}'
  9155. The vfsOpt are as described in options/get and can be seen in the the
  9156. "vfs" section when running and the mountOpt can be seen in the "mount"
  9157. section:
  9158. rclone rc options/get
  9159. Authentication is required for this call.
  9160. mount/types: Show all possible mount types
  9161. This shows all possible mount types and returns them as a list.
  9162. This takes no parameters and returns
  9163. - mountTypes: list of mount types
  9164. The mount types are strings like "mount", "mount2", "cmount" and can be
  9165. passed to mount/mount as the mountType parameter.
  9166. Eg
  9167. rclone rc mount/types
  9168. Authentication is required for this call.
  9169. mount/unmount: Unmount selected active mount
  9170. rclone allows Linux, FreeBSD, macOS and Windows to mount any of Rclone's
  9171. cloud storage systems as a file system with FUSE.
  9172. This takes the following parameters:
  9173. - mountPoint: valid path on the local machine where the mount was
  9174. created (required)
  9175. Example:
  9176. rclone rc mount/unmount mountPoint=/home/<user>/mountPoint
  9177. Authentication is required for this call.
  9178. mount/unmountall: Unmount all active mounts
  9179. rclone allows Linux, FreeBSD, macOS and Windows to mount any of Rclone's
  9180. cloud storage systems as a file system with FUSE.
  9181. This takes no parameters and returns error if unmount does not succeed.
  9182. Eg
  9183. rclone rc mount/unmountall
  9184. Authentication is required for this call.
  9185. operations/about: Return the space used on the remote
  9186. This takes the following parameters:
  9187. - fs - a remote name string e.g. "drive:"
  9188. The result is as returned from rclone about --json
  9189. See the about command for more information on the above.
  9190. Authentication is required for this call.
  9191. operations/cleanup: Remove trashed files in the remote or path
  9192. This takes the following parameters:
  9193. - fs - a remote name string e.g. "drive:"
  9194. See the cleanup command for more information on the above.
  9195. Authentication is required for this call.
  9196. operations/copyfile: Copy a file from source remote to destination remote
  9197. This takes the following parameters:
  9198. - srcFs - a remote name string e.g. "drive:" for the source, "/" for
  9199. local filesystem
  9200. - srcRemote - a path within that remote e.g. "file.txt" for the source
  9201. - dstFs - a remote name string e.g. "drive2:" for the destination, "/"
  9202. for local filesystem
  9203. - dstRemote - a path within that remote e.g. "file2.txt" for the
  9204. destination
  9205. Authentication is required for this call.
  9206. operations/copyurl: Copy the URL to the object
  9207. This takes the following parameters:
  9208. - fs - a remote name string e.g. "drive:"
  9209. - remote - a path within that remote e.g. "dir"
  9210. - url - string, URL to read from
  9211. - autoFilename - boolean, set to true to retrieve destination file
  9212. name from url
  9213. See the copyurl command for more information on the above.
  9214. Authentication is required for this call.
  9215. operations/delete: Remove files in the path
  9216. This takes the following parameters:
  9217. - fs - a remote name string e.g. "drive:"
  9218. See the delete command for more information on the above.
  9219. Authentication is required for this call.
  9220. operations/deletefile: Remove the single file pointed to
  9221. This takes the following parameters:
  9222. - fs - a remote name string e.g. "drive:"
  9223. - remote - a path within that remote e.g. "dir"
  9224. See the deletefile command for more information on the above.
  9225. Authentication is required for this call.
  9226. operations/fsinfo: Return information about the remote
  9227. This takes the following parameters:
  9228. - fs - a remote name string e.g. "drive:"
  9229. This returns info about the remote passed in;
  9230. {
  9231. // optional features and whether they are available or not
  9232. "Features": {
  9233. "About": true,
  9234. "BucketBased": false,
  9235. "BucketBasedRootOK": false,
  9236. "CanHaveEmptyDirectories": true,
  9237. "CaseInsensitive": false,
  9238. "ChangeNotify": false,
  9239. "CleanUp": false,
  9240. "Command": true,
  9241. "Copy": false,
  9242. "DirCacheFlush": false,
  9243. "DirMove": true,
  9244. "Disconnect": false,
  9245. "DuplicateFiles": false,
  9246. "GetTier": false,
  9247. "IsLocal": true,
  9248. "ListR": false,
  9249. "MergeDirs": false,
  9250. "MetadataInfo": true,
  9251. "Move": true,
  9252. "OpenWriterAt": true,
  9253. "PublicLink": false,
  9254. "Purge": true,
  9255. "PutStream": true,
  9256. "PutUnchecked": false,
  9257. "ReadMetadata": true,
  9258. "ReadMimeType": false,
  9259. "ServerSideAcrossConfigs": false,
  9260. "SetTier": false,
  9261. "SetWrapper": false,
  9262. "Shutdown": false,
  9263. "SlowHash": true,
  9264. "SlowModTime": false,
  9265. "UnWrap": false,
  9266. "UserInfo": false,
  9267. "UserMetadata": true,
  9268. "WrapFs": false,
  9269. "WriteMetadata": true,
  9270. "WriteMimeType": false
  9271. },
  9272. // Names of hashes available
  9273. "Hashes": [
  9274. "md5",
  9275. "sha1",
  9276. "whirlpool",
  9277. "crc32",
  9278. "sha256",
  9279. "dropbox",
  9280. "mailru",
  9281. "quickxor"
  9282. ],
  9283. "Name": "local", // Name as created
  9284. "Precision": 1, // Precision of timestamps in ns
  9285. "Root": "/", // Path as created
  9286. "String": "Local file system at /", // how the remote will appear in logs
  9287. // Information about the system metadata for this backend
  9288. "MetadataInfo": {
  9289. "System": {
  9290. "atime": {
  9291. "Help": "Time of last access",
  9292. "Type": "RFC 3339",
  9293. "Example": "2006-01-02T15:04:05.999999999Z07:00"
  9294. },
  9295. "btime": {
  9296. "Help": "Time of file birth (creation)",
  9297. "Type": "RFC 3339",
  9298. "Example": "2006-01-02T15:04:05.999999999Z07:00"
  9299. },
  9300. "gid": {
  9301. "Help": "Group ID of owner",
  9302. "Type": "decimal number",
  9303. "Example": "500"
  9304. },
  9305. "mode": {
  9306. "Help": "File type and mode",
  9307. "Type": "octal, unix style",
  9308. "Example": "0100664"
  9309. },
  9310. "mtime": {
  9311. "Help": "Time of last modification",
  9312. "Type": "RFC 3339",
  9313. "Example": "2006-01-02T15:04:05.999999999Z07:00"
  9314. },
  9315. "rdev": {
  9316. "Help": "Device ID (if special file)",
  9317. "Type": "hexadecimal",
  9318. "Example": "1abc"
  9319. },
  9320. "uid": {
  9321. "Help": "User ID of owner",
  9322. "Type": "decimal number",
  9323. "Example": "500"
  9324. }
  9325. },
  9326. "Help": "Textual help string\n"
  9327. }
  9328. }
  9329. This command does not have a command line equivalent so use this
  9330. instead:
  9331. rclone rc --loopback operations/fsinfo fs=remote:
  9332. operations/list: List the given remote and path in JSON format
  9333. This takes the following parameters:
  9334. - fs - a remote name string e.g. "drive:"
  9335. - remote - a path within that remote e.g. "dir"
  9336. - opt - a dictionary of options to control the listing (optional)
  9337. - recurse - If set recurse directories
  9338. - noModTime - If set return modification time
  9339. - showEncrypted - If set show decrypted names
  9340. - showOrigIDs - If set show the IDs for each item if known
  9341. - showHash - If set return a dictionary of hashes
  9342. - noMimeType - If set don't show mime types
  9343. - dirsOnly - If set only show directories
  9344. - filesOnly - If set only show files
  9345. - metadata - If set return metadata of objects also
  9346. - hashTypes - array of strings of hash types to show if showHash
  9347. set
  9348. Returns:
  9349. - list
  9350. - This is an array of objects as described in the lsjson command
  9351. See the lsjson command for more information on the above and examples.
  9352. Authentication is required for this call.
  9353. operations/mkdir: Make a destination directory or container
  9354. This takes the following parameters:
  9355. - fs - a remote name string e.g. "drive:"
  9356. - remote - a path within that remote e.g. "dir"
  9357. See the mkdir command for more information on the above.
  9358. Authentication is required for this call.
  9359. operations/movefile: Move a file from source remote to destination remote
  9360. This takes the following parameters:
  9361. - srcFs - a remote name string e.g. "drive:" for the source, "/" for
  9362. local filesystem
  9363. - srcRemote - a path within that remote e.g. "file.txt" for the source
  9364. - dstFs - a remote name string e.g. "drive2:" for the destination, "/"
  9365. for local filesystem
  9366. - dstRemote - a path within that remote e.g. "file2.txt" for the
  9367. destination
  9368. Authentication is required for this call.
  9369. operations/publiclink: Create or retrieve a public link to the given file or folder.
  9370. This takes the following parameters:
  9371. - fs - a remote name string e.g. "drive:"
  9372. - remote - a path within that remote e.g. "dir"
  9373. - unlink - boolean - if set removes the link rather than adding it
  9374. (optional)
  9375. - expire - string - the expiry time of the link e.g. "1d" (optional)
  9376. Returns:
  9377. - url - URL of the resource
  9378. See the link command for more information on the above.
  9379. Authentication is required for this call.
  9380. operations/purge: Remove a directory or container and all of its contents
  9381. This takes the following parameters:
  9382. - fs - a remote name string e.g. "drive:"
  9383. - remote - a path within that remote e.g. "dir"
  9384. See the purge command for more information on the above.
  9385. Authentication is required for this call.
  9386. operations/rmdir: Remove an empty directory or container
  9387. This takes the following parameters:
  9388. - fs - a remote name string e.g. "drive:"
  9389. - remote - a path within that remote e.g. "dir"
  9390. See the rmdir command for more information on the above.
  9391. Authentication is required for this call.
  9392. operations/rmdirs: Remove all the empty directories in the path
  9393. This takes the following parameters:
  9394. - fs - a remote name string e.g. "drive:"
  9395. - remote - a path within that remote e.g. "dir"
  9396. - leaveRoot - boolean, set to true not to delete the root
  9397. See the rmdirs command for more information on the above.
  9398. Authentication is required for this call.
  9399. operations/size: Count the number of bytes and files in remote
  9400. This takes the following parameters:
  9401. - fs - a remote name string e.g. "drive:path/to/dir"
  9402. Returns:
  9403. - count - number of files
  9404. - bytes - number of bytes in those files
  9405. See the size command for more information on the above.
  9406. Authentication is required for this call.
  9407. operations/stat: Give information about the supplied file or directory
  9408. This takes the following parameters
  9409. - fs - a remote name string eg "drive:"
  9410. - remote - a path within that remote eg "dir"
  9411. - opt - a dictionary of options to control the listing (optional)
  9412. - see operations/list for the options
  9413. The result is
  9414. - item - an object as described in the lsjson command. Will be null if
  9415. not found.
  9416. Note that if you are only interested in files then it is much more
  9417. efficient to set the filesOnly flag in the options.
  9418. See the lsjson command for more information on the above and examples.
  9419. Authentication is required for this call.
  9420. operations/uploadfile: Upload file using multiform/form-data
  9421. This takes the following parameters:
  9422. - fs - a remote name string e.g. "drive:"
  9423. - remote - a path within that remote e.g. "dir"
  9424. - each part in body represents a file to be uploaded
  9425. See the uploadfile command for more information on the above.
  9426. Authentication is required for this call.
  9427. options/blocks: List all the option blocks
  9428. Returns: - options - a list of the options block names
  9429. options/get: Get all the global options
  9430. Returns an object where keys are option block names and values are an
  9431. object with the current option values in.
  9432. Note that these are the global options which are unaffected by use of
  9433. the _config and _filter parameters. If you wish to read the parameters
  9434. set in _config then use options/config and for _filter use
  9435. options/filter.
  9436. This shows the internal names of the option within rclone which should
  9437. map to the external options very easily with a few exceptions.
  9438. options/local: Get the currently active config for this call
  9439. Returns an object with the keys "config" and "filter". The "config" key
  9440. contains the local config and the "filter" key contains the local
  9441. filters.
  9442. Note that these are the local options specific to this rc call. If
  9443. _config was not supplied then they will be the global options. Likewise
  9444. with "_filter".
  9445. This call is mostly useful for seeing if _config and _filter passing is
  9446. working.
  9447. This shows the internal names of the option within rclone which should
  9448. map to the external options very easily with a few exceptions.
  9449. options/set: Set an option
  9450. Parameters:
  9451. - option block name containing an object with
  9452. - key: value
  9453. Repeated as often as required.
  9454. Only supply the options you wish to change. If an option is unknown it
  9455. will be silently ignored. Not all options will have an effect when
  9456. changed like this.
  9457. For example:
  9458. This sets DEBUG level logs (-vv) (these can be set by number or string)
  9459. rclone rc options/set --json '{"main": {"LogLevel": "DEBUG"}}'
  9460. rclone rc options/set --json '{"main": {"LogLevel": 8}}'
  9461. And this sets INFO level logs (-v)
  9462. rclone rc options/set --json '{"main": {"LogLevel": "INFO"}}'
  9463. And this sets NOTICE level logs (normal without -v)
  9464. rclone rc options/set --json '{"main": {"LogLevel": "NOTICE"}}'
  9465. pluginsctl/addPlugin: Add a plugin using url
  9466. Used for adding a plugin to the webgui.
  9467. This takes the following parameters:
  9468. - url - http url of the github repo where the plugin is hosted
  9469. (http://github.com/rclone/rclone-webui-react).
  9470. Example:
  9471. rclone rc pluginsctl/addPlugin
  9472. Authentication is required for this call.
  9473. pluginsctl/getPluginsForType: Get plugins with type criteria
  9474. This shows all possible plugins by a mime type.
  9475. This takes the following parameters:
  9476. - type - supported mime type by a loaded plugin e.g. (video/mp4,
  9477. audio/mp3).
  9478. - pluginType - filter plugins based on their type e.g. (DASHBOARD,
  9479. FILE_HANDLER, TERMINAL).
  9480. Returns:
  9481. - loadedPlugins - list of current production plugins.
  9482. - testPlugins - list of temporarily loaded development plugins,
  9483. usually running on a different server.
  9484. Example:
  9485. rclone rc pluginsctl/getPluginsForType type=video/mp4
  9486. Authentication is required for this call.
  9487. pluginsctl/listPlugins: Get the list of currently loaded plugins
  9488. This allows you to get the currently enabled plugins and their details.
  9489. This takes no parameters and returns:
  9490. - loadedPlugins - list of current production plugins.
  9491. - testPlugins - list of temporarily loaded development plugins,
  9492. usually running on a different server.
  9493. E.g.
  9494. rclone rc pluginsctl/listPlugins
  9495. Authentication is required for this call.
  9496. pluginsctl/listTestPlugins: Show currently loaded test plugins
  9497. Allows listing of test plugins with the rclone.test set to true in
  9498. package.json of the plugin.
  9499. This takes no parameters and returns:
  9500. - loadedTestPlugins - list of currently available test plugins.
  9501. E.g.
  9502. rclone rc pluginsctl/listTestPlugins
  9503. Authentication is required for this call.
  9504. pluginsctl/removePlugin: Remove a loaded plugin
  9505. This allows you to remove a plugin using it's name.
  9506. This takes parameters:
  9507. - name - name of the plugin in the format author/plugin_name.
  9508. E.g.
  9509. rclone rc pluginsctl/removePlugin name=rclone/video-plugin
  9510. Authentication is required for this call.
  9511. pluginsctl/removeTestPlugin: Remove a test plugin
  9512. This allows you to remove a plugin using it's name.
  9513. This takes the following parameters:
  9514. - name - name of the plugin in the format author/plugin_name.
  9515. Example:
  9516. rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react
  9517. Authentication is required for this call.
  9518. rc/error: This returns an error
  9519. This returns an error with the input as part of its error string. Useful
  9520. for testing error handling.
  9521. rc/list: List all the registered remote control commands
  9522. This lists all the registered remote control commands as a JSON map in
  9523. the commands response.
  9524. rc/noop: Echo the input to the output parameters
  9525. This echoes the input parameters to the output parameters for testing
  9526. purposes. It can be used to check that rclone is still alive and to
  9527. check that parameter passing is working properly.
  9528. rc/noopauth: Echo the input to the output parameters requiring auth
  9529. This echoes the input parameters to the output parameters for testing
  9530. purposes. It can be used to check that rclone is still alive and to
  9531. check that parameter passing is working properly.
  9532. Authentication is required for this call.
  9533. sync/bisync: Perform bidirectional synchronization between two paths.
  9534. This takes the following parameters
  9535. - path1 - a remote directory string e.g. drive:path1
  9536. - path2 - a remote directory string e.g. drive:path2
  9537. - dryRun - dry-run mode
  9538. - resync - performs the resync run
  9539. - checkAccess - abort if RCLONE_TEST files are not found on both
  9540. filesystems
  9541. - checkFilename - file name for checkAccess (default: RCLONE_TEST)
  9542. - maxDelete - abort sync if percentage of deleted files is above this
  9543. threshold (default: 50)
  9544. - force - maxDelete safety check and run the sync
  9545. - checkSync - true by default, false disables comparison of final
  9546. listings, only will skip sync, only compare listings from the last
  9547. run
  9548. - removeEmptyDirs - remove empty directories at the final cleanup step
  9549. - filtersFile - read filtering patterns from a file
  9550. - workdir - server directory for history files (default:
  9551. /home/ncw/.cache/rclone/bisync)
  9552. - noCleanup - retain working files
  9553. See bisync command help and full bisync description for more
  9554. information.
  9555. Authentication is required for this call.
  9556. sync/copy: copy a directory from source remote to destination remote
  9557. This takes the following parameters:
  9558. - srcFs - a remote name string e.g. "drive:src" for the source
  9559. - dstFs - a remote name string e.g. "drive:dst" for the destination
  9560. - createEmptySrcDirs - create empty src directories on destination if
  9561. set
  9562. See the copy command for more information on the above.
  9563. Authentication is required for this call.
  9564. sync/move: move a directory from source remote to destination remote
  9565. This takes the following parameters:
  9566. - srcFs - a remote name string e.g. "drive:src" for the source
  9567. - dstFs - a remote name string e.g. "drive:dst" for the destination
  9568. - createEmptySrcDirs - create empty src directories on destination if
  9569. set
  9570. - deleteEmptySrcDirs - delete empty src directories if set
  9571. See the move command for more information on the above.
  9572. Authentication is required for this call.
  9573. sync/sync: sync a directory from source remote to destination remote
  9574. This takes the following parameters:
  9575. - srcFs - a remote name string e.g. "drive:src" for the source
  9576. - dstFs - a remote name string e.g. "drive:dst" for the destination
  9577. - createEmptySrcDirs - create empty src directories on destination if
  9578. set
  9579. See the sync command for more information on the above.
  9580. Authentication is required for this call.
  9581. vfs/forget: Forget files or directories in the directory cache.
  9582. This forgets the paths in the directory cache causing them to be re-read
  9583. from the remote when needed.
  9584. If no paths are passed in then it will forget all the paths in the
  9585. directory cache.
  9586. rclone rc vfs/forget
  9587. Otherwise pass files or dirs in as file=path or dir=path. Any parameter
  9588. key starting with file will forget that file and any starting with dir
  9589. will forget that dir, e.g.
  9590. rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
  9591. This command takes an "fs" parameter. If this parameter is not supplied
  9592. and if there is only one VFS in use then that VFS will be used. If there
  9593. is more than one VFS in use then the "fs" parameter must be supplied.
  9594. vfs/list: List active VFSes.
  9595. This lists the active VFSes.
  9596. It returns a list under the key "vfses" where the values are the VFS
  9597. names that could be passed to the other VFS commands in the "fs"
  9598. parameter.
  9599. vfs/poll-interval: Get the status or update the value of the poll-interval option.
  9600. Without any parameter given this returns the current status of the
  9601. poll-interval setting.
  9602. When the interval=duration parameter is set, the poll-interval value is
  9603. updated and the polling function is notified. Setting interval=0
  9604. disables poll-interval.
  9605. rclone rc vfs/poll-interval interval=5m
  9606. The timeout=duration parameter can be used to specify a time to wait for
  9607. the current poll function to apply the new value. If timeout is less or
  9608. equal 0, which is the default, wait indefinitely.
  9609. The new poll-interval value will only be active when the timeout is not
  9610. reached.
  9611. If poll-interval is updated or disabled temporarily, some changes might
  9612. not get picked up by the polling function, depending on the used remote.
  9613. This command takes an "fs" parameter. If this parameter is not supplied
  9614. and if there is only one VFS in use then that VFS will be used. If there
  9615. is more than one VFS in use then the "fs" parameter must be supplied.
  9616. vfs/refresh: Refresh the directory cache.
  9617. This reads the directories for the specified paths and freshens the
  9618. directory cache.
  9619. If no paths are passed in then it will refresh the root directory.
  9620. rclone rc vfs/refresh
  9621. Otherwise pass directories in as dir=path. Any parameter key starting
  9622. with dir will refresh that directory, e.g.
  9623. rclone rc vfs/refresh dir=home/junk dir2=data/misc
  9624. If the parameter recursive=true is given the whole directory tree will
  9625. get refreshed. This refresh will use --fast-list if enabled.
  9626. This command takes an "fs" parameter. If this parameter is not supplied
  9627. and if there is only one VFS in use then that VFS will be used. If there
  9628. is more than one VFS in use then the "fs" parameter must be supplied.
  9629. vfs/stats: Stats for a VFS.
  9630. This returns stats for the selected VFS.
  9631. {
  9632. // Status of the disk cache - only present if --vfs-cache-mode > off
  9633. "diskCache": {
  9634. "bytesUsed": 0,
  9635. "erroredFiles": 0,
  9636. "files": 0,
  9637. "hashType": 1,
  9638. "outOfSpace": false,
  9639. "path": "/home/user/.cache/rclone/vfs/local/mnt/a",
  9640. "pathMeta": "/home/user/.cache/rclone/vfsMeta/local/mnt/a",
  9641. "uploadsInProgress": 0,
  9642. "uploadsQueued": 0
  9643. },
  9644. "fs": "/mnt/a",
  9645. "inUse": 1,
  9646. // Status of the in memory metadata cache
  9647. "metadataCache": {
  9648. "dirs": 1,
  9649. "files": 0
  9650. },
  9651. // Options as returned by options/get
  9652. "opt": {
  9653. "CacheMaxAge": 3600000000000,
  9654. // ...
  9655. "WriteWait": 1000000000
  9656. }
  9657. }
  9658. This command takes an "fs" parameter. If this parameter is not supplied
  9659. and if there is only one VFS in use then that VFS will be used. If there
  9660. is more than one VFS in use then the "fs" parameter must be supplied.
  9661. Accessing the remote control via HTTP
  9662. Rclone implements a simple HTTP based protocol.
  9663. Each endpoint takes an JSON object and returns a JSON object or an
  9664. error. The JSON objects are essentially a map of string names to values.
  9665. All calls must made using POST.
  9666. The input objects can be supplied using URL parameters, POST parameters
  9667. or by supplying "Content-Type: application/json" and a JSON blob in the
  9668. body. There are examples of these below using curl.
  9669. The response will be a JSON blob in the body of the response. This is
  9670. formatted to be reasonably human-readable.
  9671. Error returns
  9672. If an error occurs then there will be an HTTP error status (e.g. 500)
  9673. and the body of the response will contain a JSON encoded error object,
  9674. e.g.
  9675. {
  9676. "error": "Expecting string value for key \"remote\" (was float64)",
  9677. "input": {
  9678. "fs": "/tmp",
  9679. "remote": 3
  9680. },
  9681. "status": 400
  9682. "path": "operations/rmdir",
  9683. }
  9684. The keys in the error response are - error - error string - input - the
  9685. input parameters to the call - status - the HTTP status code - path -
  9686. the path of the call
  9687. CORS
  9688. The sever implements basic CORS support and allows all origins for that.
  9689. The response to a preflight OPTIONS request will echo the requested
  9690. "Access-Control-Request-Headers" back.
  9691. Using POST with URL parameters only
  9692. curl -X POST 'http://localhost:5572/rc/noop?potato=1&sausage=2'
  9693. Response
  9694. {
  9695. "potato": "1",
  9696. "sausage": "2"
  9697. }
  9698. Here is what an error response looks like:
  9699. curl -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
  9700. {
  9701. "error": "arbitrary error on input map[potato:1 sausage:2]",
  9702. "input": {
  9703. "potato": "1",
  9704. "sausage": "2"
  9705. }
  9706. }
  9707. Note that curl doesn't return errors to the shell unless you use the -f
  9708. option
  9709. $ curl -f -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
  9710. curl: (22) The requested URL returned error: 400 Bad Request
  9711. $ echo $?
  9712. 22
  9713. Using POST with a form
  9714. curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop
  9715. Response
  9716. {
  9717. "potato": "1",
  9718. "sausage": "2"
  9719. }
  9720. Note that you can combine these with URL parameters too with the POST
  9721. parameters taking precedence.
  9722. curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop?rutabaga=3&sausage=4"
  9723. Response
  9724. {
  9725. "potato": "1",
  9726. "rutabaga": "3",
  9727. "sausage": "4"
  9728. }
  9729. Using POST with a JSON blob
  9730. curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop
  9731. response
  9732. {
  9733. "password": "xyz",
  9734. "username": "xyz"
  9735. }
  9736. This can be combined with URL parameters too if required. The JSON blob
  9737. takes precedence.
  9738. curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop?rutabaga=3&potato=4'
  9739. {
  9740. "potato": 2,
  9741. "rutabaga": "3",
  9742. "sausage": 1
  9743. }
  9744. Debugging rclone with pprof
  9745. If you use the --rc flag this will also enable the use of the go
  9746. profiling tools on the same port.
  9747. To use these, first install go.
  9748. Debugging memory use
  9749. To profile rclone's memory use you can run:
  9750. go tool pprof -web http://localhost:5572/debug/pprof/heap
  9751. This should open a page in your browser showing what is using what
  9752. memory.
  9753. You can also use the -text flag to produce a textual summary
  9754. $ go tool pprof -text http://localhost:5572/debug/pprof/heap
  9755. Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
  9756. flat flat% sum% cum cum%
  9757. 1024.03kB 66.62% 66.62% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
  9758. 513kB 33.38% 100% 513kB 33.38% net/http.newBufioWriterSize
  9759. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/all.init
  9760. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve.init
  9761. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/cmd/serve/restic.init
  9762. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2.init
  9763. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init
  9764. 0 0% 100% 1024.03kB 66.62% github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0
  9765. 0 0% 100% 1024.03kB 66.62% main.init
  9766. 0 0% 100% 513kB 33.38% net/http.(*conn).readRequest
  9767. 0 0% 100% 513kB 33.38% net/http.(*conn).serve
  9768. 0 0% 100% 1024.03kB 66.62% runtime.main
  9769. Debugging go routine leaks
  9770. Memory leaks are most often caused by go routine leaks keeping memory
  9771. alive which should have been garbage collected.
  9772. See all active go routines using
  9773. curl http://localhost:5572/debug/pprof/goroutine?debug=1
  9774. Or go to http://localhost:5572/debug/pprof/goroutine?debug=1 in your
  9775. browser.
  9776. Other profiles to look at
  9777. You can see a summary of profiles available at
  9778. http://localhost:5572/debug/pprof/
  9779. Here is how to use some of them:
  9780. - Memory: go tool pprof http://localhost:5572/debug/pprof/heap
  9781. - Go routines:
  9782. curl http://localhost:5572/debug/pprof/goroutine?debug=1
  9783. - 30-second CPU profile:
  9784. go tool pprof http://localhost:5572/debug/pprof/profile
  9785. - 5-second execution trace:
  9786. wget http://localhost:5572/debug/pprof/trace?seconds=5
  9787. - Goroutine blocking profile
  9788. - Enable first with: rclone rc debug/set-block-profile-rate rate=1
  9789. (docs)
  9790. - go tool pprof http://localhost:5572/debug/pprof/block
  9791. - Contended mutexes:
  9792. - Enable first with:
  9793. rclone rc debug/set-mutex-profile-fraction rate=1 (docs)
  9794. - go tool pprof http://localhost:5572/debug/pprof/mutex
  9795. See the net/http/pprof docs for more info on how to use the profiling
  9796. and for a general overview see the Go team's blog post on profiling go
  9797. programs.
  9798. The profiling hook is zero overhead unless it is used.
  9799. Overview of cloud storage systems
  9800. Each cloud storage system is slightly different. Rclone attempts to
  9801. provide a unified interface to them, but some underlying differences
  9802. show through.
  9803. Features
  9804. Here is an overview of the major features of each cloud storage system.
  9805. Name Hash ModTime Case Insensitive Duplicate Files MIME Type Metadata
  9806. ------------------------------ ------------------ --------- ------------------ ----------------- ----------- ----------
  9807. 1Fichier Whirlpool - No Yes R -
  9808. Akamai Netstorage MD5, SHA256 R/W No No R -
  9809. Amazon Drive MD5 - Yes No R -
  9810. Amazon S3 (or S3 compatible) MD5 R/W No No R/W RWU
  9811. Backblaze B2 SHA1 R/W No No R/W -
  9812. Box SHA1 R/W Yes No - -
  9813. Citrix ShareFile MD5 R/W Yes No - -
  9814. Dropbox DBHASH ¹ R Yes No - -
  9815. Enterprise File Fabric - R/W Yes No R/W -
  9816. FTP - R/W ¹⁰ No No - -
  9817. Google Cloud Storage MD5 R/W No No R/W -
  9818. Google Drive MD5 R/W No Yes R/W -
  9819. Google Photos - - No Yes R -
  9820. HDFS - R/W No No - -
  9821. HiDrive HiDrive ¹² R/W No No - -
  9822. HTTP - R No No R -
  9823. Internet Archive MD5, SHA1, CRC32 R/W ¹¹ No No - RWU
  9824. Jottacloud MD5 R/W Yes No R -
  9825. Koofr MD5 - Yes No - -
  9826. Mail.ru Cloud Mailru ⁶ R/W Yes No - -
  9827. Mega - - No Yes - -
  9828. Memory MD5 R/W No No - -
  9829. Microsoft Azure Blob Storage MD5 R/W No No R/W -
  9830. Microsoft OneDrive QuickXorHash ⁵ R/W Yes No R -
  9831. OpenDrive MD5 R/W Yes Partial ⁸ - -
  9832. OpenStack Swift MD5 R/W No No R/W -
  9833. Oracle Object Storage MD5 R/W No No R/W -
  9834. pCloud MD5, SHA1 ⁷ R No No W -
  9835. PikPak MD5 R No No R -
  9836. premiumize.me - - Yes No R -
  9837. put.io CRC-32 R/W No Yes R -
  9838. QingStor MD5 - ⁹ No No R/W -
  9839. Seafile - - No No - -
  9840. SFTP MD5, SHA1 ² R/W Depends No - -
  9841. Sia - - No No - -
  9842. SMB - - Yes No - -
  9843. SugarSync - - No No - -
  9844. Storj - R No No - -
  9845. Uptobox - - No Yes - -
  9846. WebDAV MD5, SHA1 ³ R ⁴ Depends No - -
  9847. Yandex Disk MD5 R/W No No R -
  9848. Zoho WorkDrive - - No No - -
  9849. The local filesystem All R/W Depends No - RWU
  9850. Notes
  9851. ¹ Dropbox supports its own custom hash. This is an SHA256 sum of all the
  9852. 4 MiB block SHA256s.
  9853. ² SFTP supports checksums if the same login has shell access and md5sum
  9854. or sha1sum as well as echo are in the remote's PATH.
  9855. ³ WebDAV supports hashes when used with Fastmail Files. Owncloud and
  9856. Nextcloud only.
  9857. ⁴ WebDAV supports modtimes when used with Fastmail Files, Owncloud and
  9858. Nextcloud only.
  9859. ⁵ QuickXorHash is Microsoft's own hash.
  9860. ⁶ Mail.ru uses its own modified SHA1 hash
  9861. ⁷ pCloud only supports SHA1 (not MD5) in its EU region
  9862. ⁸ Opendrive does not support creation of duplicate files using their web
  9863. client interface or other stock clients, but the underlying storage
  9864. platform has been determined to allow duplicate files, and it is
  9865. possible to create them with rclone. It may be that this is a mistake or
  9866. an unsupported feature.
  9867. ⁹ QingStor does not support SetModTime for objects bigger than 5 GiB.
  9868. ¹⁰ FTP supports modtimes for the major FTP servers, and also others if
  9869. they advertised required protocol extensions. See this for more details.
  9870. ¹¹ Internet Archive requires option wait_archive to be set to a non-zero
  9871. value for full modtime support.
  9872. ¹² HiDrive supports its own custom hash. It combines SHA1 sums for each
  9873. 4 KiB block hierarchically to a single top-level sum.
  9874. Hash
  9875. The cloud storage system supports various hash types of the objects. The
  9876. hashes are used when transferring data as an integrity check and can be
  9877. specifically used with the --checksum flag in syncs and in the check
  9878. command.
  9879. To use the verify checksums when transferring between cloud storage
  9880. systems they must support a common hash type.
  9881. ModTime
  9882. Almost all cloud storage systems store some sort of timestamp on
  9883. objects, but several of them not something that is appropriate to use
  9884. for syncing. E.g. some backends will only write a timestamp that
  9885. represent the time of the upload. To be relevant for syncing it should
  9886. be able to store the modification time of the source object. If this is
  9887. not the case, rclone will only check the file size by default, though
  9888. can be configured to check the file hash (with the --checksum flag).
  9889. Ideally it should also be possible to change the timestamp of an
  9890. existing file without having to re-upload it.
  9891. Storage systems with a - in the ModTime column, means the modification
  9892. read on objects is not the modification time of the file when uploaded.
  9893. It is most likely the time the file was uploaded, or possibly something
  9894. else (like the time the picture was taken in Google Photos).
  9895. Storage systems with a R (for read-only) in the ModTime column, means
  9896. the it keeps modification times on objects, and updates them when
  9897. uploading objects, but it does not support changing only the
  9898. modification time (SetModTime operation) without re-uploading, possibly
  9899. not even without deleting existing first. Some operations in rclone,
  9900. such as copy and sync commands, will automatically check for SetModTime
  9901. support and re-upload if necessary to keep the modification times in
  9902. sync. Other commands will not work without SetModTime support, e.g.
  9903. touch command on an existing file will fail, and changes to modification
  9904. time only on a files in a mount will be silently ignored.
  9905. Storage systems with R/W (for read/write) in the ModTime column, means
  9906. they do also support modtime-only operations.
  9907. Case Insensitive
  9908. If a cloud storage systems is case sensitive then it is possible to have
  9909. two files which differ only in case, e.g. file.txt and FILE.txt. If a
  9910. cloud storage system is case insensitive then that isn't possible.
  9911. This can cause problems when syncing between a case insensitive system
  9912. and a case sensitive system. The symptom of this is that no matter how
  9913. many times you run the sync it never completes fully.
  9914. The local filesystem and SFTP may or may not be case sensitive depending
  9915. on OS.
  9916. - Windows - usually case insensitive, though case is preserved
  9917. - OSX - usually case insensitive, though it is possible to format case
  9918. sensitive
  9919. - Linux - usually case sensitive, but there are case insensitive file
  9920. systems (e.g. FAT formatted USB keys)
  9921. Most of the time this doesn't cause any problems as people tend to avoid
  9922. files whose name differs only by case even on case sensitive systems.
  9923. Duplicate files
  9924. If a cloud storage system allows duplicate files then it can have two
  9925. objects with the same name.
  9926. This confuses rclone greatly when syncing - use the rclone dedupe
  9927. command to rename or remove duplicates.
  9928. Restricted filenames
  9929. Some cloud storage systems might have restrictions on the characters
  9930. that are usable in file or directory names. When rclone detects such a
  9931. name during a file upload, it will transparently replace the restricted
  9932. characters with similar looking Unicode characters. To handle the
  9933. different sets of restricted characters for different backends, rclone
  9934. uses something it calls encoding.
  9935. This process is designed to avoid ambiguous file names as much as
  9936. possible and allow to move files between many cloud storage systems
  9937. transparently.
  9938. The name shown by rclone to the user or during log output will only
  9939. contain a minimal set of replaced characters to ensure correct
  9940. formatting and not necessarily the actual name used on the cloud
  9941. storage.
  9942. This transformation is reversed when downloading a file or parsing
  9943. rclone arguments. For example, when uploading a file named my file?.txt
  9944. to Onedrive, it will be displayed as my file?.txt on the console, but
  9945. stored as my file?.txt to Onedrive (the ? gets replaced by the similar
  9946. looking ? character, the so-called "fullwidth question mark"). The
  9947. reverse transformation allows to read a file unusual/name.txt from
  9948. Google Drive, by passing the name unusual/name.txt on the command line
  9949. (the / needs to be replaced by the similar looking / character).
  9950. Caveats
  9951. The filename encoding system works well in most cases, at least where
  9952. file names are written in English or similar languages. You might not
  9953. even notice it: It just works. In some cases it may lead to issues,
  9954. though. E.g. when file names are written in Chinese, or Japanese, where
  9955. it is always the Unicode fullwidth variants of the punctuation marks
  9956. that are used.
  9957. On Windows, the characters :, * and ? are examples of restricted
  9958. characters. If these are used in filenames on a remote that supports it,
  9959. Rclone will transparently convert them to their fullwidth Unicode
  9960. variants *, ? and : when downloading to Windows, and back again when
  9961. uploading. This way files with names that are not allowed on Windows can
  9962. still be stored.
  9963. However, if you have files on your Windows system originally with these
  9964. same Unicode characters in their names, they will be included in the
  9965. same conversion process. E.g. if you create a file in your Windows
  9966. filesystem with name Test:1.jpg, where : is the Unicode fullwidth
  9967. colon symbol, and use rclone to upload it to Google Drive, which
  9968. supports regular : (halfwidth question mark), rclone will replace the
  9969. fullwidth : with the halfwidth : and store the file as Test:1.jpg in
  9970. Google Drive. Since both Windows and Google Drive allows the name
  9971. Test:1.jpg, it would probably be better if rclone just kept the name as
  9972. is in this case.
  9973. With the opposite situation; if you have a file named Test:1.jpg, in
  9974. your Google Drive, e.g. uploaded from a Linux system where : is valid in
  9975. file names. Then later use rclone to copy this file to your Windows
  9976. computer you will notice that on your local disk it gets renamed to
  9977. Test:1.jpg. The original filename is not legal on Windows, due to the
  9978. :, and rclone therefore renames it to make the copy possible. That is
  9979. all good. However, this can also lead to an issue: If you already had a
  9980. different file named Test:1.jpg on Windows, and then use rclone to copy
  9981. either way. Rclone will then treat the file originally named Test:1.jpg
  9982. on Google Drive and the file originally named Test:1.jpg on Windows as
  9983. the same file, and replace the contents from one with the other.
  9984. Its virtually impossible to handle all cases like these correctly in all
  9985. situations, but by customizing the encoding option, changing the set of
  9986. characters that rclone should convert, you should be able to create a
  9987. configuration that works well for your specific situation. See also the
  9988. example below.
  9989. (Windows was used as an example of a file system with many restricted
  9990. characters, and Google drive a storage system with few.)
  9991. Default restricted characters
  9992. The table below shows the characters that are replaced by default.
  9993. When a replacement character is found in a filename, this character will
  9994. be escaped with the ‛ character to avoid ambiguous file names. (e.g. a
  9995. file named ␀.txt would shown as ‛␀.txt)
  9996. Each cloud storage backend can use a different set of characters, which
  9997. will be specified in the documentation for each backend.
  9998. Character Value Replacement
  9999. ----------- ------- -------------
  10000. NUL 0x00 ␀
  10001. SOH 0x01 ␁
  10002. STX 0x02 ␂
  10003. ETX 0x03 ␃
  10004. EOT 0x04 ␄
  10005. ENQ 0x05 ␅
  10006. ACK 0x06 ␆
  10007. BEL 0x07 ␇
  10008. BS 0x08 ␈
  10009. HT 0x09 ␉
  10010. LF 0x0A ␊
  10011. VT 0x0B ␋
  10012. FF 0x0C ␌
  10013. CR 0x0D ␍
  10014. SO 0x0E ␎
  10015. SI 0x0F ␏
  10016. DLE 0x10 ␐
  10017. DC1 0x11 ␑
  10018. DC2 0x12 ␒
  10019. DC3 0x13 ␓
  10020. DC4 0x14 ␔
  10021. NAK 0x15 ␕
  10022. SYN 0x16 ␖
  10023. ETB 0x17 ␗
  10024. CAN 0x18 ␘
  10025. EM 0x19 ␙
  10026. SUB 0x1A ␚
  10027. ESC 0x1B ␛
  10028. FS 0x1C ␜
  10029. GS 0x1D ␝
  10030. RS 0x1E ␞
  10031. US 0x1F ␟
  10032. / 0x2F /
  10033. DEL 0x7F ␡
  10034. The default encoding will also encode these file names as they are
  10035. problematic with many cloud storage systems.
  10036. File name Replacement
  10037. ----------- -------------
  10038. . .
  10039. .. ..
  10040. Invalid UTF-8 bytes
  10041. Some backends only support a sequence of well formed UTF-8 bytes as file
  10042. or directory names.
  10043. In this case all invalid UTF-8 bytes will be replaced with a quoted
  10044. representation of the byte value to allow uploading a file to such a
  10045. backend. For example, the invalid byte 0xFE will be encoded as ‛FE.
  10046. A common source of invalid UTF-8 bytes are local filesystems, that store
  10047. names in a different encoding than UTF-8 or UTF-16, like latin1. See the
  10048. local filenames section for details.
  10049. Encoding option
  10050. Most backends have an encoding option, specified as a flag
  10051. --backend-encoding where backend is the name of the backend, or as a
  10052. config parameter encoding (you'll need to select the Advanced config in
  10053. rclone config to see it).
  10054. This will have default value which encodes and decodes characters in
  10055. such a way as to preserve the maximum number of characters (see above).
  10056. However this can be incorrect in some scenarios, for example if you have
  10057. a Windows file system with Unicode fullwidth characters *, ? or :,
  10058. that you want to remain as those characters on the remote rather than
  10059. being translated to regular (halfwidth) *, ? and :.
  10060. The --backend-encoding flags allow you to change that. You can disable
  10061. the encoding completely with --backend-encoding None or set
  10062. encoding = None in the config file.
  10063. Encoding takes a comma separated list of encodings. You can see the list
  10064. of all possible values by passing an invalid value to this flag, e.g.
  10065. --local-encoding "help". The command rclone help flags encoding will
  10066. show you the defaults for the backends.
  10067. ----------------------------------------------------------------------------------
  10068. Encoding Characters Encoded as
  10069. ---------------------- ------------------------ ----------------------------------
  10070. Asterisk * *
  10071. BackQuote ` `
  10072. BackSlash \ \
  10073. Colon : :
  10074. CrLf CR 0x0D, LF 0x0A ␍, ␊
  10075. Ctl All control characters ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟
  10076. 0x00-0x1F
  10077. Del DEL 0x7F ␡
  10078. Dollar $ $
  10079. Dot . or .. as entire string ., ..
  10080. DoubleQuote " "
  10081. Hash # #
  10082. InvalidUtf8 An invalid UTF-8 �
  10083. character (e.g. latin1)
  10084. LeftCrLfHtVt CR 0x0D, LF 0x0A, HT ␍, ␊, ␉, ␋
  10085. 0x09, VT 0x0B on the
  10086. left of a string
  10087. LeftPeriod . on the left of a .
  10088. string
  10089. LeftSpace SPACE on the left of a ␠
  10090. string
  10091. LeftTilde ~ on the left of a ~
  10092. string
  10093. LtGt <, > <, >
  10094. None No characters are
  10095. encoded
  10096. Percent % %
  10097. Pipe | |
  10098. Question ? ?
  10099. RightCrLfHtVt CR 0x0D, LF 0x0A, HT ␍, ␊, ␉, ␋
  10100. 0x09, VT 0x0B on the
  10101. right of a string
  10102. RightPeriod . on the right of a .
  10103. string
  10104. RightSpace SPACE on the right of a ␠
  10105. string
  10106. Semicolon ; ;
  10107. SingleQuote ' '
  10108. Slash / /
  10109. SquareBracket [, ] [, ]
  10110. ----------------------------------------------------------------------------------
  10111. Encoding example: FTP
  10112. To take a specific example, the FTP backend's default encoding is
  10113. --ftp-encoding "Slash,Del,Ctl,RightSpace,Dot"
  10114. However, let's say the FTP server is running on Windows and can't have
  10115. any of the invalid Windows characters in file names. You are backing up
  10116. Linux servers to this FTP server which do have those characters in file
  10117. names. So you would add the Windows set which are
  10118. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
  10119. to the existing ones, giving:
  10120. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace
  10121. This can be specified using the --ftp-encoding flag or using an encoding
  10122. parameter in the config file.
  10123. Encoding example: Windows
  10124. As a nother example, take a Windows system where there is a file with
  10125. name Test:1.jpg, where : is the Unicode fullwidth colon symbol. When
  10126. using rclone to copy this to a remote which supports :, the regular
  10127. (halfwidth) colon (such as Google Drive), you will notice that the file
  10128. gets renamed to Test:1.jpg.
  10129. To avoid this you can change the set of characters rclone should convert
  10130. for the local filesystem, using command-line argument --local-encoding.
  10131. Rclone's default behavior on Windows corresponds to
  10132. --local-encoding "Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"
  10133. If you want to use fullwidth characters :, * and ? in your filenames
  10134. without rclone changing them when uploading to a remote, then set the
  10135. same as the default value but without Colon,Question,Asterisk:
  10136. --local-encoding "Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"
  10137. Alternatively, you can disable the conversion of any characters with
  10138. --local-encoding None.
  10139. Instead of using command-line argument --local-encoding, you may also
  10140. set it as environment variable RCLONE_LOCAL_ENCODING, or configure a
  10141. remote of type local in your config, and set the encoding option there.
  10142. The risk by doing this is that if you have a filename with the regular
  10143. (halfwidth) :, * and ? in your cloud storage, and you try to download it
  10144. to your Windows filesystem, this will fail. These characters are not
  10145. valid in filenames on Windows, and you have told rclone not to work
  10146. around this by converting them to valid fullwidth variants.
  10147. MIME Type
  10148. MIME types (also known as media types) classify types of documents using
  10149. a simple text classification, e.g. text/html or application/pdf.
  10150. Some cloud storage systems support reading (R) the MIME type of objects
  10151. and some support writing (W) the MIME type of objects.
  10152. The MIME type can be important if you are serving files directly to HTTP
  10153. from the storage system.
  10154. If you are copying from a remote which supports reading (R) to a remote
  10155. which supports writing (W) then rclone will preserve the MIME types.
  10156. Otherwise they will be guessed from the extension, or the remote itself
  10157. may assign the MIME type.
  10158. Metadata
  10159. Backends may or may support reading or writing metadata. They may
  10160. support reading and writing system metadata (metadata intrinsic to that
  10161. backend) and/or user metadata (general purpose metadata).
  10162. The levels of metadata support are
  10163. Key Explanation
  10164. ----- -----------------------------------------------------------------
  10165. R Read only System Metadata
  10166. RW Read and write System Metadata
  10167. RWU Read and write System Metadata and read and write User Metadata
  10168. See the metadata docs for more info.
  10169. Optional Features
  10170. All rclone remotes support a base command set. Other features depend
  10171. upon backend-specific capabilities.
  10172. Name Purge Copy Move DirMove CleanUp ListR StreamUpload LinkSharing About EmptyDir
  10173. ------------------------------ ------- ------ ------ --------- --------- ------- -------------- ------------- ------- ----------
  10174. 1Fichier No Yes Yes No No No No Yes No Yes
  10175. Akamai Netstorage Yes No No No No Yes Yes No No Yes
  10176. Amazon Drive Yes No Yes Yes No No No No No Yes
  10177. Amazon S3 (or S3 compatible) No Yes No No Yes Yes Yes Yes No No
  10178. Backblaze B2 No Yes No No Yes Yes Yes Yes No No
  10179. Box Yes Yes Yes Yes Yes ‡‡ No Yes Yes Yes Yes
  10180. Citrix ShareFile Yes Yes Yes Yes No No No No No Yes
  10181. Dropbox Yes Yes Yes Yes No No Yes Yes Yes Yes
  10182. Enterprise File Fabric Yes Yes Yes Yes Yes No No No No Yes
  10183. FTP No No Yes Yes No No Yes No No Yes
  10184. Google Cloud Storage Yes Yes No No No Yes Yes No No No
  10185. Google Drive Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
  10186. Google Photos No No No No No No No No No No
  10187. HDFS Yes No Yes Yes No No Yes No Yes Yes
  10188. HiDrive Yes Yes Yes Yes No No Yes No No Yes
  10189. HTTP No No No No No No No No No Yes
  10190. Internet Archive No Yes No No Yes Yes No Yes Yes No
  10191. Jottacloud Yes Yes Yes Yes Yes Yes No Yes Yes Yes
  10192. Koofr Yes Yes Yes Yes No No Yes Yes Yes Yes
  10193. Mail.ru Cloud Yes Yes Yes Yes Yes No No Yes Yes Yes
  10194. Mega Yes No Yes Yes Yes No No Yes Yes Yes
  10195. Memory No Yes No No No Yes Yes No No No
  10196. Microsoft Azure Blob Storage Yes Yes No No No Yes Yes No No No
  10197. Microsoft OneDrive Yes Yes Yes Yes Yes No No Yes Yes Yes
  10198. OpenDrive Yes Yes Yes Yes No No No No No Yes
  10199. OpenStack Swift Yes † Yes No No No Yes Yes No Yes No
  10200. Oracle Object Storage No Yes No No Yes Yes Yes No No No
  10201. pCloud Yes Yes Yes Yes Yes No No Yes Yes Yes
  10202. PikPak Yes Yes Yes Yes Yes No No Yes Yes Yes
  10203. premiumize.me Yes No Yes Yes No No No Yes Yes Yes
  10204. put.io Yes No Yes Yes Yes No Yes No Yes Yes
  10205. QingStor No Yes No No Yes Yes No No No No
  10206. Seafile Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
  10207. SFTP No No Yes Yes No No Yes No Yes Yes
  10208. Sia No No No No No No Yes No No Yes
  10209. SMB No No Yes Yes No No Yes No No Yes
  10210. SugarSync Yes Yes Yes Yes No No Yes Yes No Yes
  10211. Storj Yes ☨ Yes Yes No No Yes Yes Yes No No
  10212. Uptobox No Yes Yes Yes No No No No No No
  10213. WebDAV Yes Yes Yes Yes No No Yes ‡ No Yes Yes
  10214. Yandex Disk Yes Yes Yes Yes Yes No Yes Yes Yes Yes
  10215. Zoho WorkDrive Yes Yes Yes Yes No No No No Yes Yes
  10216. The local filesystem Yes No Yes Yes No No Yes No Yes Yes
  10217. Purge
  10218. This deletes a directory quicker than just deleting all the files in the
  10219. directory.
  10220. † Note Swift implements this in order to delete directory markers but
  10221. they don't actually have a quicker way of deleting files other than
  10222. deleting them individually.
  10223. ☨ Storj implements this efficiently only for entire buckets. If purging
  10224. a directory inside a bucket, files are deleted individually.
  10225. ‡ StreamUpload is not supported with Nextcloud
  10226. Copy
  10227. Used when copying an object to and from the same remote. This known as a
  10228. server-side copy so you can copy a file without downloading it and
  10229. uploading it again. It is used if you use rclone copy or rclone move if
  10230. the remote doesn't support Move directly.
  10231. If the server doesn't support Copy directly then for copy operations the
  10232. file is downloaded then re-uploaded.
  10233. Move
  10234. Used when moving/renaming an object on the same remote. This is known as
  10235. a server-side move of a file. This is used in rclone move if the server
  10236. doesn't support DirMove.
  10237. If the server isn't capable of Move then rclone simulates it with Copy
  10238. then delete. If the server doesn't support Copy then rclone will
  10239. download the file and re-upload it.
  10240. DirMove
  10241. This is used to implement rclone move to move a directory if possible.
  10242. If it isn't then it will use Move on each file (which falls back to Copy
  10243. then download and upload - see Move section).
  10244. CleanUp
  10245. This is used for emptying the trash for a remote by rclone cleanup.
  10246. If the server can't do CleanUp then rclone cleanup will return an error.
  10247. ‡‡ Note that while Box implements this it has to delete every file
  10248. individually so it will be slower than emptying the trash via the WebUI
  10249. ListR
  10250. The remote supports a recursive list to list all the contents beneath a
  10251. directory quickly. This enables the --fast-list flag to work. See the
  10252. rclone docs for more details.
  10253. StreamUpload
  10254. Some remotes allow files to be uploaded without knowing the file size in
  10255. advance. This allows certain operations to work without spooling the
  10256. file to local disk first, e.g. rclone rcat.
  10257. LinkSharing
  10258. Sets the necessary permissions on a file or folder and prints a link
  10259. that allows others to access them, even if they don't have an account on
  10260. the particular cloud provider.
  10261. About
  10262. Rclone about prints quota information for a remote. Typical output
  10263. includes bytes used, free, quota and in trash.
  10264. If a remote lacks about capability rclone about remote:returns an error.
  10265. Backends without about capability cannot determine free space for an
  10266. rclone mount, or use policy mfs (most free space) as a member of an
  10267. rclone union remote.
  10268. See rclone about command
  10269. EmptyDir
  10270. The remote supports empty directories. See Limitations for details. Most
  10271. Object/Bucket-based remotes do not support this.
  10272. Global Flags
  10273. This describes the global flags available to every rclone command split
  10274. into two groups, non backend and backend flags.
  10275. Non Backend Flags
  10276. These flags are available for every command.
  10277. --ask-password Allow prompt for password for encrypted configuration (default true)
  10278. --auto-confirm If enabled, do not request console confirmation
  10279. --backup-dir string Make backups into hierarchy based in DIR
  10280. --bind string Local address to bind to for outgoing connections, IPv4, IPv6 or name
  10281. --buffer-size SizeSuffix In memory buffer size when reading files for each --transfer (default 16Mi)
  10282. --bwlimit BwTimetable Bandwidth limit in KiB/s, or use suffix B|K|M|G|T|P or a full timetable
  10283. --bwlimit-file BwTimetable Bandwidth limit per file in KiB/s, or use suffix B|K|M|G|T|P or a full timetable
  10284. --ca-cert stringArray CA certificate used to verify servers
  10285. --cache-dir string Directory rclone will use for caching (default "$HOME/.cache/rclone")
  10286. --check-first Do all the checks before starting transfers
  10287. --checkers int Number of checkers to run in parallel (default 8)
  10288. -c, --checksum Skip based on checksum (if available) & size, not mod-time & size
  10289. --client-cert string Client SSL certificate (PEM) for mutual TLS auth
  10290. --client-key string Client SSL private key (PEM) for mutual TLS auth
  10291. --color string When to show colors (and other ANSI codes) AUTO|NEVER|ALWAYS (default "AUTO")
  10292. --compare-dest stringArray Include additional comma separated server-side paths during comparison
  10293. --config string Config file (default "$HOME/.config/rclone/rclone.conf")
  10294. --contimeout Duration Connect timeout (default 1m0s)
  10295. --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
  10296. --cpuprofile string Write cpu profile to file
  10297. --cutoff-mode string Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default "HARD")
  10298. --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
  10299. --delete-after When synchronizing, delete files on destination after transferring (default)
  10300. --delete-before When synchronizing, delete files on destination before transferring
  10301. --delete-during When synchronizing, delete files during transfer
  10302. --delete-excluded Delete files on dest excluded from sync
  10303. --disable string Disable a comma separated list of features (use --disable help to see a list)
  10304. --disable-http-keep-alives Disable HTTP keep-alives and use each connection once.
  10305. --disable-http2 Disable HTTP/2 in the global transport
  10306. -n, --dry-run Do a trial run with no permanent changes
  10307. --dscp string Set DSCP value to connections, value or name, e.g. CS1, LE, DF, AF21
  10308. --dump DumpFlags List of items to dump from: headers,bodies,requests,responses,auth,filters,goroutines,openfiles
  10309. --dump-bodies Dump HTTP headers and bodies - may contain sensitive info
  10310. --dump-headers Dump HTTP headers - may contain sensitive info
  10311. --error-on-no-transfer Sets exit code 9 if no files are transferred, useful in scripts
  10312. --exclude stringArray Exclude files matching pattern
  10313. --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
  10314. --exclude-if-present stringArray Exclude directories if filename is present
  10315. --expect-continue-timeout Duration Timeout when using expect / 100-continue in HTTP (default 1s)
  10316. --fast-list Use recursive list if available; uses more memory but fewer transactions
  10317. --files-from stringArray Read list of source-file names from file (use - to read from stdin)
  10318. --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin)
  10319. -f, --filter stringArray Add a file filtering rule
  10320. --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin)
  10321. --fs-cache-expire-duration Duration Cache remotes for this long (0 to disable caching) (default 5m0s)
  10322. --fs-cache-expire-interval Duration Interval to check for expired remotes (default 1m0s)
  10323. --header stringArray Set HTTP header for all transactions
  10324. --header-download stringArray Set HTTP header for download transactions
  10325. --header-upload stringArray Set HTTP header for upload transactions
  10326. --human-readable Print numbers in a human-readable format, sizes with suffix Ki|Mi|Gi|Ti|Pi
  10327. --ignore-case Ignore case in filters (case insensitive)
  10328. --ignore-case-sync Ignore case when synchronizing
  10329. --ignore-checksum Skip post copy check of checksums
  10330. --ignore-errors Delete even if there are I/O errors
  10331. --ignore-existing Skip all files that exist on destination
  10332. --ignore-size Ignore size when skipping use mod-time or checksum
  10333. -I, --ignore-times Don't skip files that match size and time - transfer all files
  10334. --immutable Do not modify files, fail if existing files have been modified
  10335. --include stringArray Include files matching pattern
  10336. --include-from stringArray Read file include patterns from file (use - to read from stdin)
  10337. --inplace Download directly to destination file instead of atomic download to temp/rename
  10338. -i, --interactive Enable interactive mode
  10339. --kv-lock-time Duration Maximum time to keep key-value database locked by process (default 1s)
  10340. --log-file string Log everything to this file
  10341. --log-format string Comma separated list of log format options (default "date,time")
  10342. --log-level string Log level DEBUG|INFO|NOTICE|ERROR (default "NOTICE")
  10343. --log-systemd Activate systemd integration for the logger
  10344. --low-level-retries int Number of low level retries to do (default 10)
  10345. --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  10346. --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
  10347. --max-delete int When synchronizing, limit the number of deletes (default -1)
  10348. --max-delete-size SizeSuffix When synchronizing, limit the total size of deletes (default off)
  10349. --max-depth int If set limits the recursion depth to this (default -1)
  10350. --max-duration Duration Maximum duration rclone will transfer data for (default 0s)
  10351. --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off)
  10352. --max-stats-groups int Maximum number of stats groups to keep in memory, on max oldest is discarded (default 1000)
  10353. --max-transfer SizeSuffix Maximum size of data to transfer (default off)
  10354. --memprofile string Write memory profile to file
  10355. -M, --metadata If set, preserve metadata when copying objects
  10356. --metadata-exclude stringArray Exclude metadatas matching pattern
  10357. --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin)
  10358. --metadata-filter stringArray Add a metadata filtering rule
  10359. --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin)
  10360. --metadata-include stringArray Include metadatas matching pattern
  10361. --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
  10362. --metadata-set stringArray Add metadata key=value when uploading
  10363. --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
  10364. --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
  10365. --modify-window Duration Max time diff to be considered the same (default 1ns)
  10366. --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 250Mi)
  10367. --multi-thread-streams int Max number of streams to use for multi-thread downloads (default 4)
  10368. --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki)
  10369. --no-check-certificate Do not verify the server SSL certificate (insecure)
  10370. --no-check-dest Don't check the destination, copy regardless
  10371. --no-console Hide console window (supported on Windows only)
  10372. --no-gzip-encoding Don't set Accept-Encoding: gzip
  10373. --no-traverse Don't traverse destination file system on copy
  10374. --no-unicode-normalization Don't normalize unicode characters in filenames
  10375. --no-update-modtime Don't update destination mod-time if files identical
  10376. --order-by string Instructions on how to order the transfers, e.g. 'size,descending'
  10377. --password-command SpaceSepList Command for supplying password for encrypted configuration
  10378. -P, --progress Show progress during transfer
  10379. --progress-terminal-title Show progress on the terminal title (requires -P/--progress)
  10380. -q, --quiet Print as little stuff as possible
  10381. --rc Enable the remote control server
  10382. --rc-addr stringArray IPaddress:Port or :Port to bind server to (default [localhost:5572])
  10383. --rc-allow-origin string Set the allowed origin for CORS
  10384. --rc-baseurl string Prefix for URLs - leave blank for root
  10385. --rc-cert string TLS PEM key (concatenation of certificate and CA certificate)
  10386. --rc-client-ca string Client certificate authority to verify clients with
  10387. --rc-enable-metrics Enable prometheus metrics on /metrics
  10388. --rc-files string Path to local files to serve on the HTTP server
  10389. --rc-htpasswd string A htpasswd file - if not provided no authentication is done
  10390. --rc-job-expire-duration Duration Expire finished async jobs older than this value (default 1m0s)
  10391. --rc-job-expire-interval Duration Interval to check for expired async jobs (default 10s)
  10392. --rc-key string TLS PEM Private key
  10393. --rc-max-header-bytes int Maximum size of request header (default 4096)
  10394. --rc-min-tls-version string Minimum TLS version that is acceptable (default "tls1.0")
  10395. --rc-no-auth Don't require auth for certain methods
  10396. --rc-pass string Password for authentication
  10397. --rc-realm string Realm for authentication
  10398. --rc-salt string Password hashing salt (default "dlPL2MqE")
  10399. --rc-serve Enable the serving of remote objects
  10400. --rc-server-read-timeout Duration Timeout for server reading data (default 1h0m0s)
  10401. --rc-server-write-timeout Duration Timeout for server writing data (default 1h0m0s)
  10402. --rc-template string User-specified template
  10403. --rc-user string User name for authentication
  10404. --rc-web-fetch-url string URL to fetch the releases for webgui (default "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest")
  10405. --rc-web-gui Launch WebGUI on localhost
  10406. --rc-web-gui-force-update Force update to latest version of web gui
  10407. --rc-web-gui-no-open-browser Don't open the browser automatically
  10408. --rc-web-gui-update Check and update to latest version of web gui
  10409. --refresh-times Refresh the modtime of remote files
  10410. --retries int Retry operations this many times if they fail (default 3)
  10411. --retries-sleep Duration Interval between retrying operations if they fail, e.g. 500ms, 60s, 5m (0 to disable) (default 0s)
  10412. --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs
  10413. --size-only Skip based on size only, not mod-time or checksum
  10414. --stats Duration Interval between printing stats, e.g. 500ms, 60s, 5m (0 to disable) (default 1m0s)
  10415. --stats-file-name-length int Max file name length in stats (0 for no limit) (default 45)
  10416. --stats-log-level string Log level to show --stats output DEBUG|INFO|NOTICE|ERROR (default "INFO")
  10417. --stats-one-line Make the stats fit on one line
  10418. --stats-one-line-date Enable --stats-one-line and add current date/time prefix
  10419. --stats-one-line-date-format string Enable --stats-one-line-date and use custom formatted date: Enclose date string in double quotes ("), see https://golang.org/pkg/time/#Time.Format
  10420. --stats-unit string Show data rate in stats as either 'bits' or 'bytes' per second (default "bytes")
  10421. --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)
  10422. --suffix string Suffix to add to changed files
  10423. --suffix-keep-extension Preserve the extension when using --suffix
  10424. --syslog Use Syslog for logging
  10425. --syslog-facility string Facility for syslog, e.g. KERN,USER,... (default "DAEMON")
  10426. --temp-dir string Directory rclone will use for temporary files (default "/tmp")
  10427. --timeout Duration IO idle timeout (default 5m0s)
  10428. --tpslimit float Limit HTTP transactions per second to this
  10429. --tpslimit-burst int Max burst of transactions for --tpslimit (default 1)
  10430. --track-renames When synchronizing, track file renames and do a server-side move if possible
  10431. --track-renames-strategy string Strategies to use when synchronizing using track-renames hash|modtime|leaf (default "hash")
  10432. --transfers int Number of file transfers to run in parallel (default 4)
  10433. -u, --update Skip files that are newer on the destination
  10434. --use-cookies Enable session cookiejar
  10435. --use-json-log Use json log format
  10436. --use-mmap Use mmap allocator (see docs)
  10437. --use-server-modtime Use server modified time instead of object metadata
  10438. --user-agent string Set the user-agent to a specified string (default "rclone/v1.63.0")
  10439. -v, --verbose count Print lots more stuff (repeat for more)
  10440. Backend Flags
  10441. These flags are available for every command. They control the backends
  10442. and may be set in the config file.
  10443. --acd-auth-url string Auth server URL
  10444. --acd-client-id string OAuth Client Id
  10445. --acd-client-secret string OAuth Client Secret
  10446. --acd-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot)
  10447. --acd-templink-threshold SizeSuffix Files >= this size will be downloaded via their tempLink (default 9Gi)
  10448. --acd-token string OAuth Access Token as a JSON blob
  10449. --acd-token-url string Token server url
  10450. --acd-upload-wait-per-gb Duration Additional time per GiB to wait after a failed complete upload to see if it appears (default 3m0s)
  10451. --alias-remote string Remote or path to alias
  10452. --azureblob-access-tier string Access tier of blob: hot, cool or archive
  10453. --azureblob-account string Azure Storage Account Name
  10454. --azureblob-archive-tier-delete Delete archive tier blobs before overwriting
  10455. --azureblob-chunk-size SizeSuffix Upload chunk size (default 4Mi)
  10456. --azureblob-client-certificate-password string Password for the certificate file (optional) (obscured)
  10457. --azureblob-client-certificate-path string Path to a PEM or PKCS12 certificate file including the private key
  10458. --azureblob-client-id string The ID of the client in use
  10459. --azureblob-client-secret string One of the service principal's client secrets
  10460. --azureblob-client-send-certificate-chain Send the certificate chain when using certificate auth
  10461. --azureblob-directory-markers Upload an empty object with a trailing slash when a new directory is created
  10462. --azureblob-disable-checksum Don't store MD5 checksum with object metadata
  10463. --azureblob-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8)
  10464. --azureblob-endpoint string Endpoint for the service
  10465. --azureblob-env-auth Read credentials from runtime (environment variables, CLI or MSI)
  10466. --azureblob-key string Storage Account Shared Key
  10467. --azureblob-list-chunk int Size of blob list (default 5000)
  10468. --azureblob-memory-pool-flush-time Duration How often internal memory buffer pools will be flushed (default 1m0s)
  10469. --azureblob-memory-pool-use-mmap Whether to use mmap buffers in internal memory pool
  10470. --azureblob-msi-client-id string Object ID of the user-assigned MSI to use, if any
  10471. --azureblob-msi-mi-res-id string Azure resource ID of the user-assigned MSI to use, if any
  10472. --azureblob-msi-object-id string Object ID of the user-assigned MSI to use, if any
  10473. --azureblob-no-check-container If set, don't attempt to check the container exists or create it
  10474. --azureblob-no-head-object If set, do not do HEAD before GET when getting objects
  10475. --azureblob-password string The user's password (obscured)
  10476. --azureblob-public-access string Public access level of a container: blob or container
  10477. --azureblob-sas-url string SAS URL for container level access only
  10478. --azureblob-service-principal-file string Path to file containing credentials for use with a service principal
  10479. --azureblob-tenant string ID of the service principal's tenant. Also called its directory ID
  10480. --azureblob-upload-concurrency int Concurrency for multipart uploads (default 16)
  10481. --azureblob-upload-cutoff string Cutoff for switching to chunked upload (<= 256 MiB) (deprecated)
  10482. --azureblob-use-emulator Uses local storage emulator if provided as 'true'
  10483. --azureblob-use-msi Use a managed service identity to authenticate (only works in Azure)
  10484. --azureblob-username string User name (usually an email address)
  10485. --b2-account string Account ID or Application Key ID
  10486. --b2-chunk-size SizeSuffix Upload chunk size (default 96Mi)
  10487. --b2-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4Gi)
  10488. --b2-disable-checksum Disable checksums for large (> upload cutoff) files
  10489. --b2-download-auth-duration Duration Time before the authorization token will expire in s or suffix ms|s|m|h|d (default 1w)
  10490. --b2-download-url string Custom endpoint for downloads
  10491. --b2-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  10492. --b2-endpoint string Endpoint for the service
  10493. --b2-hard-delete Permanently delete files on remote removal, otherwise hide files
  10494. --b2-key string Application Key
  10495. --b2-memory-pool-flush-time Duration How often internal memory buffer pools will be flushed (default 1m0s)
  10496. --b2-memory-pool-use-mmap Whether to use mmap buffers in internal memory pool
  10497. --b2-test-mode string A flag string for X-Bz-Test-Mode header for debugging
  10498. --b2-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  10499. --b2-version-at Time Show file versions as they were at the specified time (default off)
  10500. --b2-versions Include old versions in directory listings
  10501. --box-access-token string Box App Primary Access Token
  10502. --box-auth-url string Auth server URL
  10503. --box-box-config-file string Box App config.json location
  10504. --box-box-sub-type string (default "user")
  10505. --box-client-id string OAuth Client Id
  10506. --box-client-secret string OAuth Client Secret
  10507. --box-commit-retries int Max number of times to try committing a multipart file (default 100)
  10508. --box-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot)
  10509. --box-list-chunk int Size of listing chunk 1-1000 (default 1000)
  10510. --box-owned-by string Only show items owned by the login (email address) passed in
  10511. --box-root-folder-id string Fill in for rclone to use a non root folder as its starting point
  10512. --box-token string OAuth Access Token as a JSON blob
  10513. --box-token-url string Token server url
  10514. --box-upload-cutoff SizeSuffix Cutoff for switching to multipart upload (>= 50 MiB) (default 50Mi)
  10515. --cache-chunk-clean-interval Duration How often should the cache perform cleanups of the chunk storage (default 1m0s)
  10516. --cache-chunk-no-memory Disable the in-memory cache for storing chunks during streaming
  10517. --cache-chunk-path string Directory to cache chunk files (default "$HOME/.cache/rclone/cache-backend")
  10518. --cache-chunk-size SizeSuffix The size of a chunk (partial file data) (default 5Mi)
  10519. --cache-chunk-total-size SizeSuffix The total size that the chunks can take up on the local disk (default 10Gi)
  10520. --cache-db-path string Directory to store file structure metadata DB (default "$HOME/.cache/rclone/cache-backend")
  10521. --cache-db-purge Clear all the cached data for this remote on start
  10522. --cache-db-wait-time Duration How long to wait for the DB to be available - 0 is unlimited (default 1s)
  10523. --cache-info-age Duration How long to cache file structure information (directory listings, file size, times, etc.) (default 6h0m0s)
  10524. --cache-plex-insecure string Skip all certificate verification when connecting to the Plex server
  10525. --cache-plex-password string The password of the Plex user (obscured)
  10526. --cache-plex-url string The URL of the Plex server
  10527. --cache-plex-username string The username of the Plex user
  10528. --cache-read-retries int How many times to retry a read from a cache storage (default 10)
  10529. --cache-remote string Remote to cache
  10530. --cache-rps int Limits the number of requests per second to the source FS (-1 to disable) (default -1)
  10531. --cache-tmp-upload-path string Directory to keep temporary files until they are uploaded
  10532. --cache-tmp-wait-time Duration How long should files be stored in local cache before being uploaded (default 15s)
  10533. --cache-workers int How many workers should run in parallel to download chunks (default 4)
  10534. --cache-writes Cache file data on writes through the FS
  10535. --chunker-chunk-size SizeSuffix Files larger than chunk size will be split in chunks (default 2Gi)
  10536. --chunker-fail-hard Choose how chunker should handle files with missing or invalid chunks
  10537. --chunker-hash-type string Choose how chunker handles hash sums (default "md5")
  10538. --chunker-remote string Remote to chunk/unchunk
  10539. --combine-upstreams SpaceSepList Upstreams for combining
  10540. --compress-level int GZIP compression level (-2 to 9) (default -1)
  10541. --compress-mode string Compression mode (default "gzip")
  10542. --compress-ram-cache-limit SizeSuffix Some remotes don't allow the upload of files with unknown size (default 20Mi)
  10543. --compress-remote string Remote to compress
  10544. -L, --copy-links Follow symlinks and copy the pointed to item
  10545. --crypt-directory-name-encryption Option to either encrypt directory names or leave them intact (default true)
  10546. --crypt-filename-encoding string How to encode the encrypted filename to text string (default "base32")
  10547. --crypt-filename-encryption string How to encrypt the filenames (default "standard")
  10548. --crypt-no-data-encryption Option to either encrypt file data or leave it unencrypted
  10549. --crypt-pass-bad-blocks If set this will pass bad blocks through as all 0
  10550. --crypt-password string Password or pass phrase for encryption (obscured)
  10551. --crypt-password2 string Password or pass phrase for salt (obscured)
  10552. --crypt-remote string Remote to encrypt/decrypt
  10553. --crypt-server-side-across-configs Deprecated: use --server-side-across-configs instead
  10554. --crypt-show-mapping For all files listed show how the names encrypt
  10555. --crypt-suffix string If this is set it will override the default suffix of ".bin" (default ".bin")
  10556. --drive-acknowledge-abuse Set to allow files which return cannotDownloadAbusiveFile to be downloaded
  10557. --drive-allow-import-name-change Allow the filetype to change when uploading Google docs
  10558. --drive-auth-owner-only Only consider files owned by the authenticated user
  10559. --drive-auth-url string Auth server URL
  10560. --drive-chunk-size SizeSuffix Upload chunk size (default 8Mi)
  10561. --drive-client-id string Google Application Client Id
  10562. --drive-client-secret string OAuth Client Secret
  10563. --drive-copy-shortcut-content Server side copy contents of shortcuts instead of the shortcut
  10564. --drive-disable-http2 Disable drive using http2 (default true)
  10565. --drive-encoding MultiEncoder The encoding for the backend (default InvalidUtf8)
  10566. --drive-env-auth Get IAM credentials from runtime (environment variables or instance meta data if no env vars)
  10567. --drive-export-formats string Comma separated list of preferred formats for downloading Google docs (default "docx,xlsx,pptx,svg")
  10568. --drive-formats string Deprecated: See export_formats
  10569. --drive-impersonate string Impersonate this user when using a service account
  10570. --drive-import-formats string Comma separated list of preferred formats for uploading Google docs
  10571. --drive-keep-revision-forever Keep new head revision of each file forever
  10572. --drive-list-chunk int Size of listing chunk 100-1000, 0 to disable (default 1000)
  10573. --drive-pacer-burst int Number of API calls to allow without sleeping (default 100)
  10574. --drive-pacer-min-sleep Duration Minimum time to sleep between API calls (default 100ms)
  10575. --drive-resource-key string Resource key for accessing a link-shared file
  10576. --drive-root-folder-id string ID of the root folder
  10577. --drive-scope string Scope that rclone should use when requesting access from drive
  10578. --drive-server-side-across-configs Deprecated: use --server-side-across-configs instead
  10579. --drive-service-account-credentials string Service Account Credentials JSON blob
  10580. --drive-service-account-file string Service Account Credentials JSON file path
  10581. --drive-shared-with-me Only show files that are shared with me
  10582. --drive-size-as-quota Show sizes as storage quota usage, not actual size
  10583. --drive-skip-checksum-gphotos Skip MD5 checksum on Google photos and videos only
  10584. --drive-skip-dangling-shortcuts If set skip dangling shortcut files
  10585. --drive-skip-gdocs Skip google documents in all listings
  10586. --drive-skip-shortcuts If set skip shortcut files
  10587. --drive-starred-only Only show files that are starred
  10588. --drive-stop-on-download-limit Make download limit errors be fatal
  10589. --drive-stop-on-upload-limit Make upload limit errors be fatal
  10590. --drive-team-drive string ID of the Shared Drive (Team Drive)
  10591. --drive-token string OAuth Access Token as a JSON blob
  10592. --drive-token-url string Token server url
  10593. --drive-trashed-only Only show files that are in the trash
  10594. --drive-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 8Mi)
  10595. --drive-use-created-date Use file created date instead of modified date
  10596. --drive-use-shared-date Use date file was shared instead of modified date
  10597. --drive-use-trash Send files to the trash instead of deleting permanently (default true)
  10598. --drive-v2-download-min-size SizeSuffix If Object's are greater, use drive v2 API to download (default off)
  10599. --dropbox-auth-url string Auth server URL
  10600. --dropbox-batch-commit-timeout Duration Max time to wait for a batch to finish committing (default 10m0s)
  10601. --dropbox-batch-mode string Upload file batching sync|async|off (default "sync")
  10602. --dropbox-batch-size int Max number of files in upload batch
  10603. --dropbox-batch-timeout Duration Max time to allow an idle upload batch before uploading (default 0s)
  10604. --dropbox-chunk-size SizeSuffix Upload chunk size (< 150Mi) (default 48Mi)
  10605. --dropbox-client-id string OAuth Client Id
  10606. --dropbox-client-secret string OAuth Client Secret
  10607. --dropbox-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot)
  10608. --dropbox-impersonate string Impersonate this user when using a business account
  10609. --dropbox-pacer-min-sleep Duration Minimum time to sleep between API calls (default 10ms)
  10610. --dropbox-shared-files Instructs rclone to work on individual shared files
  10611. --dropbox-shared-folders Instructs rclone to work on shared folders
  10612. --dropbox-token string OAuth Access Token as a JSON blob
  10613. --dropbox-token-url string Token server url
  10614. --fichier-api-key string Your API Key, get it from https://1fichier.com/console/params.pl
  10615. --fichier-cdn Set if you wish to use CDN download links
  10616. --fichier-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot)
  10617. --fichier-file-password string If you want to download a shared file that is password protected, add this parameter (obscured)
  10618. --fichier-folder-password string If you want to list the files in a shared folder that is password protected, add this parameter (obscured)
  10619. --fichier-shared-folder string If you want to download a shared folder, add this parameter
  10620. --filefabric-encoding MultiEncoder The encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot)
  10621. --filefabric-permanent-token string Permanent Authentication Token
  10622. --filefabric-root-folder-id string ID of the root folder
  10623. --filefabric-token string Session Token
  10624. --filefabric-token-expiry string Token expiry time
  10625. --filefabric-url string URL of the Enterprise File Fabric to connect to
  10626. --filefabric-version string Version read from the file fabric
  10627. --ftp-ask-password Allow asking for FTP password when needed
  10628. --ftp-close-timeout Duration Maximum time to wait for a response to close (default 1m0s)
  10629. --ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited
  10630. --ftp-disable-epsv Disable using EPSV even if server advertises support
  10631. --ftp-disable-mlsd Disable using MLSD even if server advertises support
  10632. --ftp-disable-tls13 Disable TLS 1.3 (workaround for FTP servers with buggy TLS)
  10633. --ftp-disable-utf8 Disable using UTF-8 even if server advertises support
  10634. --ftp-encoding MultiEncoder The encoding for the backend (default Slash,Del,Ctl,RightSpace,Dot)
  10635. --ftp-explicit-tls Use Explicit FTPS (FTP over TLS)
  10636. --ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD
  10637. --ftp-host string FTP host to connect to
  10638. --ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
  10639. --ftp-no-check-certificate Do not verify the TLS certificate of the server
  10640. --ftp-pass string FTP password (obscured)
  10641. --ftp-port int FTP port number (default 21)
  10642. --ftp-shut-timeout Duration Maximum time to wait for data connection closing status (default 1m0s)
  10643. --ftp-tls Use Implicit FTPS (FTP over TLS)
  10644. --ftp-tls-cache-size int Size of TLS session cache for all control and data connections (default 32)
  10645. --ftp-user string FTP username (default "$USER")
  10646. --ftp-writing-mdtm Use MDTM to set modification time (VsFtpd quirk)
  10647. --gcs-anonymous Access public buckets and objects without credentials
  10648. --gcs-auth-url string Auth server URL
  10649. --gcs-bucket-acl string Access Control List for new buckets
  10650. --gcs-bucket-policy-only Access checks should use bucket-level IAM policies
  10651. --gcs-client-id string OAuth Client Id
  10652. --gcs-client-secret string OAuth Client Secret
  10653. --gcs-decompress If set this will decompress gzip encoded objects
  10654. --gcs-directory-markers Upload an empty object with a trailing slash when a new directory is created
  10655. --gcs-encoding MultiEncoder The encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot)
  10656. --gcs-endpoint string Endpoint for the service
  10657. --gcs-env-auth Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars)
  10658. --gcs-location string Location for the newly created buckets
  10659. --gcs-no-check-bucket If set, don't attempt to check the bucket exists or create it
  10660. --gcs-object-acl string Access Control List for new objects
  10661. --gcs-project-number string Project number
  10662. --gcs-service-account-file string Service Account Credentials JSON file path
  10663. --gcs-storage-class string The storage class to use when storing objects in Google Cloud Storage
  10664. --gcs-token string OAuth Access Token as a JSON blob
  10665. --gcs-token-url string Token server url
  10666. --gcs-user-project string User project
  10667. --gphotos-auth-url string Auth server URL
  10668. --gphotos-client-id string OAuth Client Id
  10669. --gphotos-client-secret string OAuth Client Secret
  10670. --gphotos-encoding MultiEncoder The encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot)
  10671. --gphotos-include-archived Also view and download archived media
  10672. --gphotos-read-only Set to make the Google Photos backend read only
  10673. --gphotos-read-size Set to read the size of media items
  10674. --gphotos-start-year int Year limits the photos to be downloaded to those which are uploaded after the given year (default 2000)
  10675. --gphotos-token string OAuth Access Token as a JSON blob
  10676. --gphotos-token-url string Token server url
  10677. --hasher-auto-size SizeSuffix Auto-update checksum for files smaller than this size (disabled by default)
  10678. --hasher-hashes CommaSepList Comma separated list of supported checksum types (default md5,sha1)
  10679. --hasher-max-age Duration Maximum time to keep checksums in cache (0 = no cache, off = cache forever) (default off)
  10680. --hasher-remote string Remote to cache checksums for (e.g. myRemote:path)
  10681. --hdfs-data-transfer-protection string Kerberos data transfer protection: authentication|integrity|privacy
  10682. --hdfs-encoding MultiEncoder The encoding for the backend (default Slash,Colon,Del,Ctl,InvalidUtf8,Dot)
  10683. --hdfs-namenode string Hadoop name node and port
  10684. --hdfs-service-principal-name string Kerberos service principal name for the namenode
  10685. --hdfs-username string Hadoop user name
  10686. --hidrive-auth-url string Auth server URL
  10687. --hidrive-chunk-size SizeSuffix Chunksize for chunked uploads (default 48Mi)
  10688. --hidrive-client-id string OAuth Client Id
  10689. --hidrive-client-secret string OAuth Client Secret
  10690. --hidrive-disable-fetching-member-count Do not fetch number of objects in directories unless it is absolutely necessary
  10691. --hidrive-encoding MultiEncoder The encoding for the backend (default Slash,Dot)
  10692. --hidrive-endpoint string Endpoint for the service (default "https://api.hidrive.strato.com/2.1")
  10693. --hidrive-root-prefix string The root/parent folder for all paths (default "/")
  10694. --hidrive-scope-access string Access permissions that rclone should use when requesting access from HiDrive (default "rw")
  10695. --hidrive-scope-role string User-level that rclone should use when requesting access from HiDrive (default "user")
  10696. --hidrive-token string OAuth Access Token as a JSON blob
  10697. --hidrive-token-url string Token server url
  10698. --hidrive-upload-concurrency int Concurrency for chunked uploads (default 4)
  10699. --hidrive-upload-cutoff SizeSuffix Cutoff/Threshold for chunked uploads (default 96Mi)
  10700. --http-headers CommaSepList Set HTTP headers for all transactions
  10701. --http-no-head Don't use HEAD requests
  10702. --http-no-slash Set this if the site doesn't end directories with /
  10703. --http-url string URL of HTTP host to connect to
  10704. --internetarchive-access-key-id string IAS3 Access Key
  10705. --internetarchive-disable-checksum Don't ask the server to test against MD5 checksum calculated by rclone (default true)
  10706. --internetarchive-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot)
  10707. --internetarchive-endpoint string IAS3 Endpoint (default "https://s3.us.archive.org")
  10708. --internetarchive-front-endpoint string Host of InternetArchive Frontend (default "https://archive.org")
  10709. --internetarchive-secret-access-key string IAS3 Secret Key (password)
  10710. --internetarchive-wait-archive Duration Timeout for waiting the server's processing tasks (specifically archive and book_op) to finish (default 0s)
  10711. --jottacloud-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot)
  10712. --jottacloud-hard-delete Delete files permanently rather than putting them into the trash
  10713. --jottacloud-md5-memory-limit SizeSuffix Files bigger than this will be cached on disk to calculate the MD5 if required (default 10Mi)
  10714. --jottacloud-no-versions Avoid server side versioning by deleting files and recreating files instead of overwriting them
  10715. --jottacloud-trashed-only Only show files that are in the trash
  10716. --jottacloud-upload-resume-limit SizeSuffix Files bigger than this can be resumed if the upload fail's (default 10Mi)
  10717. --koofr-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  10718. --koofr-endpoint string The Koofr API endpoint to use
  10719. --koofr-mountid string Mount ID of the mount to use
  10720. --koofr-password string Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
  10721. --koofr-provider string Choose your storage provider
  10722. --koofr-setmtime Does the backend support setting modification time (default true)
  10723. --koofr-user string Your user name
  10724. -l, --links Translate symlinks to/from regular files with a '.rclonelink' extension
  10725. --local-case-insensitive Force the filesystem to report itself as case insensitive
  10726. --local-case-sensitive Force the filesystem to report itself as case sensitive
  10727. --local-encoding MultiEncoder The encoding for the backend (default Slash,Dot)
  10728. --local-no-check-updated Don't check to see if the files change during upload
  10729. --local-no-preallocate Disable preallocation of disk space for transferred files
  10730. --local-no-set-modtime Disable setting modtime
  10731. --local-no-sparse Disable sparse files for multi-thread downloads
  10732. --local-nounc Disable UNC (long path names) conversion on Windows
  10733. --local-unicode-normalization Apply unicode NFC normalization to paths and filenames
  10734. --local-zero-size-links Assume the Stat size of links is zero (and read them instead) (deprecated)
  10735. --mailru-check-hash What should copy do if file checksum is mismatched or invalid (default true)
  10736. --mailru-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  10737. --mailru-pass string Password (obscured)
  10738. --mailru-speedup-enable Skip full upload if there is another file with same data hash (default true)
  10739. --mailru-speedup-file-patterns string Comma separated list of file name patterns eligible for speedup (put by hash) (default "*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf")
  10740. --mailru-speedup-max-disk SizeSuffix This option allows you to disable speedup (put by hash) for large files (default 3Gi)
  10741. --mailru-speedup-max-memory SizeSuffix Files larger than the size given below will always be hashed on disk (default 32Mi)
  10742. --mailru-user string User name (usually email)
  10743. --mega-debug Output more debug from Mega
  10744. --mega-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot)
  10745. --mega-hard-delete Delete files permanently rather than putting them into the trash
  10746. --mega-pass string Password (obscured)
  10747. --mega-use-https Use HTTPS for transfers
  10748. --mega-user string User name
  10749. --netstorage-account string Set the NetStorage account name
  10750. --netstorage-host string Domain+path of NetStorage host to connect to
  10751. --netstorage-protocol string Select between HTTP or HTTPS protocol (default "https")
  10752. --netstorage-secret string Set the NetStorage account secret/G2O key for authentication (obscured)
  10753. -x, --one-file-system Don't cross filesystem boundaries (unix/macOS only)
  10754. --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)
  10755. --onedrive-auth-url string Auth server URL
  10756. --onedrive-av-override Allows download of files the server thinks has a virus
  10757. --onedrive-chunk-size SizeSuffix Chunk size to upload files with - must be multiple of 320k (327,680 bytes) (default 10Mi)
  10758. --onedrive-client-id string OAuth Client Id
  10759. --onedrive-client-secret string OAuth Client Secret
  10760. --onedrive-drive-id string The ID of the drive to use
  10761. --onedrive-drive-type string The type of the drive (personal | business | documentLibrary)
  10762. --onedrive-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot)
  10763. --onedrive-expose-onenote-files Set to make OneNote files show up in directory listings
  10764. --onedrive-hash-type string Specify the hash in use for the backend (default "auto")
  10765. --onedrive-link-password string Set the password for links created by the link command
  10766. --onedrive-link-scope string Set the scope of the links created by the link command (default "anonymous")
  10767. --onedrive-link-type string Set the type of the links created by the link command (default "view")
  10768. --onedrive-list-chunk int Size of listing chunk (default 1000)
  10769. --onedrive-no-versions Remove all versions on modifying operations
  10770. --onedrive-region string Choose national cloud region for OneDrive (default "global")
  10771. --onedrive-root-folder-id string ID of the root folder
  10772. --onedrive-server-side-across-configs Deprecated: use --server-side-across-configs instead
  10773. --onedrive-token string OAuth Access Token as a JSON blob
  10774. --onedrive-token-url string Token server url
  10775. --oos-chunk-size SizeSuffix Chunk size to use for uploading (default 5Mi)
  10776. --oos-compartment string Object storage compartment OCID
  10777. --oos-config-file string Path to OCI config file (default "~/.oci/config")
  10778. --oos-config-profile string Profile name inside the oci config file (default "Default")
  10779. --oos-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4.656Gi)
  10780. --oos-copy-timeout Duration Timeout for copy (default 1m0s)
  10781. --oos-disable-checksum Don't store MD5 checksum with object metadata
  10782. --oos-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot)
  10783. --oos-endpoint string Endpoint for Object storage API
  10784. --oos-leave-parts-on-error If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery
  10785. --oos-namespace string Object storage namespace
  10786. --oos-no-check-bucket If set, don't attempt to check the bucket exists or create it
  10787. --oos-provider string Choose your Auth Provider (default "env_auth")
  10788. --oos-region string Object storage Region
  10789. --oos-sse-customer-algorithm string If using SSE-C, the optional header that specifies "AES256" as the encryption algorithm
  10790. --oos-sse-customer-key string To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to
  10791. --oos-sse-customer-key-file string To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated
  10792. --oos-sse-customer-key-sha256 string If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption
  10793. --oos-sse-kms-key-id string if using your own master key in vault, this header specifies the
  10794. --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 "Standard")
  10795. --oos-upload-concurrency int Concurrency for multipart uploads (default 10)
  10796. --oos-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  10797. --opendrive-chunk-size SizeSuffix Files will be uploaded in chunks this size (default 10Mi)
  10798. --opendrive-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot)
  10799. --opendrive-password string Password (obscured)
  10800. --opendrive-username string Username
  10801. --pcloud-auth-url string Auth server URL
  10802. --pcloud-client-id string OAuth Client Id
  10803. --pcloud-client-secret string OAuth Client Secret
  10804. --pcloud-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  10805. --pcloud-hostname string Hostname to connect to (default "api.pcloud.com")
  10806. --pcloud-password string Your pcloud password (obscured)
  10807. --pcloud-root-folder-id string Fill in for rclone to use a non root folder as its starting point (default "d0")
  10808. --pcloud-token string OAuth Access Token as a JSON blob
  10809. --pcloud-token-url string Token server url
  10810. --pcloud-username string Your pcloud username
  10811. --pikpak-auth-url string Auth server URL
  10812. --pikpak-client-id string OAuth Client Id
  10813. --pikpak-client-secret string OAuth Client Secret
  10814. --pikpak-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot)
  10815. --pikpak-hash-memory-limit SizeSuffix Files bigger than this will be cached on disk to calculate hash if required (default 10Mi)
  10816. --pikpak-pass string Pikpak password (obscured)
  10817. --pikpak-root-folder-id string ID of the root folder
  10818. --pikpak-token string OAuth Access Token as a JSON blob
  10819. --pikpak-token-url string Token server url
  10820. --pikpak-trashed-only Only show files that are in the trash
  10821. --pikpak-use-trash Send files to the trash instead of deleting permanently (default true)
  10822. --pikpak-user string Pikpak username
  10823. --premiumizeme-encoding MultiEncoder The encoding for the backend (default Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  10824. --putio-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
  10825. --qingstor-access-key-id string QingStor Access Key ID
  10826. --qingstor-chunk-size SizeSuffix Chunk size to use for uploading (default 4Mi)
  10827. --qingstor-connection-retries int Number of connection retries (default 3)
  10828. --qingstor-encoding MultiEncoder The encoding for the backend (default Slash,Ctl,InvalidUtf8)
  10829. --qingstor-endpoint string Enter an endpoint URL to connection QingStor API
  10830. --qingstor-env-auth Get QingStor credentials from runtime
  10831. --qingstor-secret-access-key string QingStor Secret Access Key (password)
  10832. --qingstor-upload-concurrency int Concurrency for multipart uploads (default 1)
  10833. --qingstor-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  10834. --qingstor-zone string Zone to connect to
  10835. --s3-access-key-id string AWS Access Key ID
  10836. --s3-acl string Canned ACL used when creating buckets and storing or copying objects
  10837. --s3-bucket-acl string Canned ACL used when creating buckets
  10838. --s3-chunk-size SizeSuffix Chunk size to use for uploading (default 5Mi)
  10839. --s3-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4.656Gi)
  10840. --s3-decompress If set this will decompress gzip encoded objects
  10841. --s3-directory-markers Upload an empty object with a trailing slash when a new directory is created
  10842. --s3-disable-checksum Don't store MD5 checksum with object metadata
  10843. --s3-disable-http2 Disable usage of http2 for S3 backends
  10844. --s3-download-url string Custom endpoint for downloads
  10845. --s3-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot)
  10846. --s3-endpoint string Endpoint for S3 API
  10847. --s3-env-auth Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars)
  10848. --s3-force-path-style If true use path style access if false use virtual hosted style (default true)
  10849. --s3-leave-parts-on-error If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery
  10850. --s3-list-chunk int Size of listing chunk (response list for each ListObject S3 request) (default 1000)
  10851. --s3-list-url-encode Tristate Whether to url encode listings: true/false/unset (default unset)
  10852. --s3-list-version int Version of ListObjects to use: 1,2 or 0 for auto
  10853. --s3-location-constraint string Location constraint - must be set to match the Region
  10854. --s3-max-upload-parts int Maximum number of parts in a multipart upload (default 10000)
  10855. --s3-memory-pool-flush-time Duration How often internal memory buffer pools will be flushed (default 1m0s)
  10856. --s3-memory-pool-use-mmap Whether to use mmap buffers in internal memory pool
  10857. --s3-might-gzip Tristate Set this if the backend might gzip objects (default unset)
  10858. --s3-no-check-bucket If set, don't attempt to check the bucket exists or create it
  10859. --s3-no-head If set, don't HEAD uploaded objects to check integrity
  10860. --s3-no-head-object If set, do not do HEAD before GET when getting objects
  10861. --s3-no-system-metadata Suppress setting and reading of system metadata
  10862. --s3-profile string Profile to use in the shared credentials file
  10863. --s3-provider string Choose your S3 provider
  10864. --s3-region string Region to connect to
  10865. --s3-requester-pays Enables requester pays option when interacting with S3 bucket
  10866. --s3-secret-access-key string AWS Secret Access Key (password)
  10867. --s3-server-side-encryption string The server-side encryption algorithm used when storing this object in S3
  10868. --s3-session-token string An AWS session token
  10869. --s3-shared-credentials-file string Path to the shared credentials file
  10870. --s3-sse-customer-algorithm string If using SSE-C, the server-side encryption algorithm used when storing this object in S3
  10871. --s3-sse-customer-key string To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data
  10872. --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
  10873. --s3-sse-customer-key-md5 string If using SSE-C you may provide the secret encryption key MD5 checksum (optional)
  10874. --s3-sse-kms-key-id string If using KMS ID you must provide the ARN of Key
  10875. --s3-storage-class string The storage class to use when storing new objects in S3
  10876. --s3-sts-endpoint string Endpoint for STS
  10877. --s3-upload-concurrency int Concurrency for multipart uploads (default 4)
  10878. --s3-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi)
  10879. --s3-use-accelerate-endpoint If true use the AWS S3 accelerated endpoint
  10880. --s3-use-accept-encoding-gzip Accept-Encoding: gzip Whether to send Accept-Encoding: gzip header (default unset)
  10881. --s3-use-multipart-etag Tristate Whether to use ETag in multipart uploads for verification (default unset)
  10882. --s3-use-presigned-request Whether to use a presigned request or PutObject for single part uploads
  10883. --s3-v2-auth If true use v2 authentication
  10884. --s3-version-at Time Show file versions as they were at the specified time (default off)
  10885. --s3-versions Include old versions in directory listings
  10886. --seafile-2fa Two-factor authentication ('true' if the account has 2FA enabled)
  10887. --seafile-create-library Should rclone create a library if it doesn't exist
  10888. --seafile-encoding MultiEncoder The encoding for the backend (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
  10889. --seafile-library string Name of the library
  10890. --seafile-library-key string Library password (for encrypted libraries only) (obscured)
  10891. --seafile-pass string Password (obscured)
  10892. --seafile-url string URL of seafile host to connect to
  10893. --seafile-user string User name (usually email address)
  10894. --sftp-ask-password Allow asking for SFTP password when needed
  10895. --sftp-chunk-size SizeSuffix Upload and download chunk size (default 32Ki)
  10896. --sftp-ciphers SpaceSepList Space separated list of ciphers to be used for session encryption, ordered by preference
  10897. --sftp-concurrency int The maximum number of outstanding requests for one file (default 64)
  10898. --sftp-disable-concurrent-reads If set don't use concurrent reads
  10899. --sftp-disable-concurrent-writes If set don't use concurrent writes
  10900. --sftp-disable-hashcheck Disable the execution of SSH commands to determine if remote file hashing is available
  10901. --sftp-host string SSH host to connect to
  10902. --sftp-host-key-algorithms SpaceSepList Space separated list of host key algorithms, ordered by preference
  10903. --sftp-idle-timeout Duration Max time before closing idle connections (default 1m0s)
  10904. --sftp-key-exchange SpaceSepList Space separated list of key exchange algorithms, ordered by preference
  10905. --sftp-key-file string Path to PEM-encoded private key file
  10906. --sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file (obscured)
  10907. --sftp-key-pem string Raw PEM-encoded private key
  10908. --sftp-key-use-agent When set forces the usage of the ssh-agent
  10909. --sftp-known-hosts-file string Optional path to known_hosts file
  10910. --sftp-macs SpaceSepList Space separated list of MACs (message authentication code) algorithms, ordered by preference
  10911. --sftp-md5sum-command string The command used to read md5 hashes
  10912. --sftp-pass string SSH password, leave blank to use ssh-agent (obscured)
  10913. --sftp-path-override string Override path used by SSH shell commands
  10914. --sftp-port int SSH port number (default 22)
  10915. --sftp-pubkey-file string Optional path to public key file
  10916. --sftp-server-command string Specifies the path or command to run a sftp server on the remote host
  10917. --sftp-set-env SpaceSepList Environment variables to pass to sftp and commands
  10918. --sftp-set-modtime Set the modified time on the remote if set (default true)
  10919. --sftp-sha1sum-command string The command used to read sha1 hashes
  10920. --sftp-shell-type string The type of SSH shell on remote server, if any
  10921. --sftp-skip-links Set to skip any symlinks and any other non regular files
  10922. --sftp-subsystem string Specifies the SSH2 subsystem on the remote host (default "sftp")
  10923. --sftp-use-fstat If set use fstat instead of stat
  10924. --sftp-use-insecure-cipher Enable the use of insecure ciphers and key exchange methods
  10925. --sftp-user string SSH username (default "$USER")
  10926. --sharefile-chunk-size SizeSuffix Upload chunk size (default 64Mi)
  10927. --sharefile-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot)
  10928. --sharefile-endpoint string Endpoint for API calls
  10929. --sharefile-root-folder-id string ID of the root folder
  10930. --sharefile-upload-cutoff SizeSuffix Cutoff for switching to multipart upload (default 128Mi)
  10931. --sia-api-password string Sia Daemon API Password (obscured)
  10932. --sia-api-url string Sia daemon API URL, like http://sia.daemon.host:9980 (default "http://127.0.0.1:9980")
  10933. --sia-encoding MultiEncoder The encoding for the backend (default Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot)
  10934. --sia-user-agent string Siad User Agent (default "Sia-Agent")
  10935. --skip-links Don't warn about skipped symlinks
  10936. --smb-case-insensitive Whether the server is configured to be case-insensitive (default true)
  10937. --smb-domain string Domain name for NTLM authentication (default "WORKGROUP")
  10938. --smb-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot)
  10939. --smb-hide-special-share Hide special shares (e.g. print$) which users aren't supposed to access (default true)
  10940. --smb-host string SMB server hostname to connect to
  10941. --smb-idle-timeout Duration Max time before closing idle connections (default 1m0s)
  10942. --smb-pass string SMB password (obscured)
  10943. --smb-port int SMB port number (default 445)
  10944. --smb-spn string Service principal name
  10945. --smb-user string SMB username (default "$USER")
  10946. --storj-access-grant string Access grant
  10947. --storj-api-key string API key
  10948. --storj-passphrase string Encryption passphrase
  10949. --storj-provider string Choose an authentication method (default "existing")
  10950. --storj-satellite-address string Satellite address (default "us1.storj.io")
  10951. --sugarsync-access-key-id string Sugarsync Access Key ID
  10952. --sugarsync-app-id string Sugarsync App ID
  10953. --sugarsync-authorization string Sugarsync authorization
  10954. --sugarsync-authorization-expiry string Sugarsync authorization expiry
  10955. --sugarsync-deleted-id string Sugarsync deleted folder id
  10956. --sugarsync-encoding MultiEncoder The encoding for the backend (default Slash,Ctl,InvalidUtf8,Dot)
  10957. --sugarsync-hard-delete Permanently delete files if true
  10958. --sugarsync-private-access-key string Sugarsync Private Access Key
  10959. --sugarsync-refresh-token string Sugarsync refresh token
  10960. --sugarsync-root-id string Sugarsync root id
  10961. --sugarsync-user string Sugarsync user
  10962. --swift-application-credential-id string Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
  10963. --swift-application-credential-name string Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
  10964. --swift-application-credential-secret string Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
  10965. --swift-auth string Authentication URL for server (OS_AUTH_URL)
  10966. --swift-auth-token string Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  10967. --swift-auth-version int AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
  10968. --swift-chunk-size SizeSuffix Above this size files will be chunked into a _segments container (default 5Gi)
  10969. --swift-domain string User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  10970. --swift-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8)
  10971. --swift-endpoint-type string Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) (default "public")
  10972. --swift-env-auth Get swift credentials from environment variables in standard OpenStack form
  10973. --swift-key string API key or password (OS_PASSWORD)
  10974. --swift-leave-parts-on-error If true avoid calling abort upload on a failure
  10975. --swift-no-chunk Don't chunk files during streaming upload
  10976. --swift-no-large-objects Disable support for static and dynamic large objects
  10977. --swift-region string Region name - optional (OS_REGION_NAME)
  10978. --swift-storage-policy string The storage policy to use when creating a new container
  10979. --swift-storage-url string Storage URL - optional (OS_STORAGE_URL)
  10980. --swift-tenant string Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
  10981. --swift-tenant-domain string Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  10982. --swift-tenant-id string Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
  10983. --swift-user string User name to log in (OS_USERNAME)
  10984. --swift-user-id string User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID)
  10985. --union-action-policy string Policy to choose upstream on ACTION category (default "epall")
  10986. --union-cache-time int Cache time of usage and free space (in seconds) (default 120)
  10987. --union-create-policy string Policy to choose upstream on CREATE category (default "epmfs")
  10988. --union-min-free-space SizeSuffix Minimum viable free space for lfs/eplfs policies (default 1Gi)
  10989. --union-search-policy string Policy to choose upstream on SEARCH category (default "ff")
  10990. --union-upstreams string List of space separated upstreams
  10991. --uptobox-access-token string Your access token
  10992. --uptobox-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot)
  10993. --uptobox-private Set to make uploaded files private
  10994. --webdav-bearer-token string Bearer token instead of user/pass (e.g. a Macaroon)
  10995. --webdav-bearer-token-command string Command to run to get a bearer token
  10996. --webdav-encoding string The encoding for the backend
  10997. --webdav-headers CommaSepList Set HTTP headers for all transactions
  10998. --webdav-nextcloud-chunk-size SizeSuffix Nextcloud upload chunk size (default 10Mi)
  10999. --webdav-pacer-min-sleep Duration Minimum time to sleep between API calls (default 10ms)
  11000. --webdav-pass string Password (obscured)
  11001. --webdav-url string URL of http host to connect to
  11002. --webdav-user string User name
  11003. --webdav-vendor string Name of the WebDAV site/service/software you are using
  11004. --yandex-auth-url string Auth server URL
  11005. --yandex-client-id string OAuth Client Id
  11006. --yandex-client-secret string OAuth Client Secret
  11007. --yandex-encoding MultiEncoder The encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot)
  11008. --yandex-hard-delete Delete files permanently rather than putting them into the trash
  11009. --yandex-token string OAuth Access Token as a JSON blob
  11010. --yandex-token-url string Token server url
  11011. --zoho-auth-url string Auth server URL
  11012. --zoho-client-id string OAuth Client Id
  11013. --zoho-client-secret string OAuth Client Secret
  11014. --zoho-encoding MultiEncoder The encoding for the backend (default Del,Ctl,InvalidUtf8)
  11015. --zoho-region string Zoho region to connect to
  11016. --zoho-token string OAuth Access Token as a JSON blob
  11017. --zoho-token-url string Token server url
  11018. Docker Volume Plugin
  11019. Introduction
  11020. Docker 1.9 has added support for creating named volumes via command-line
  11021. interface and mounting them in containers as a way to share data between
  11022. them. Since Docker 1.10 you can create named volumes with Docker Compose
  11023. by descriptions in docker-compose.yml files for use by container groups
  11024. on a single host. As of Docker 1.12 volumes are supported by Docker
  11025. Swarm included with Docker Engine and created from descriptions in swarm
  11026. compose v3 files for use with swarm stacks across multiple cluster
  11027. nodes.
  11028. Docker Volume Plugins augment the default local volume driver included
  11029. in Docker with stateful volumes shared across containers and hosts.
  11030. Unlike local volumes, your data will not be deleted when such volume is
  11031. removed. Plugins can run managed by the docker daemon, as a native
  11032. system service (under systemd, sysv or upstart) or as a standalone
  11033. executable. Rclone can run as docker volume plugin in all these modes.
  11034. It interacts with the local docker daemon via plugin API and handles
  11035. mounting of remote file systems into docker containers so it must run on
  11036. the same host as the docker daemon or on every Swarm node.
  11037. Getting started
  11038. In the first example we will use the SFTP rclone volume with Docker
  11039. engine on a standalone Ubuntu machine.
  11040. Start from installing Docker on the host.
  11041. The FUSE driver is a prerequisite for rclone mounting and should be
  11042. installed on host:
  11043. sudo apt-get -y install fuse
  11044. Create two directories required by rclone docker plugin:
  11045. sudo mkdir -p /var/lib/docker-plugins/rclone/config
  11046. sudo mkdir -p /var/lib/docker-plugins/rclone/cache
  11047. Install the managed rclone docker plugin for your architecture (here
  11048. amd64):
  11049. docker plugin install rclone/docker-volume-rclone:amd64 args="-v" --alias rclone --grant-all-permissions
  11050. docker plugin list
  11051. Create your SFTP volume:
  11052. 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
  11053. Note that since all options are static, you don't even have to run
  11054. rclone config or create the rclone.conf file (but the config directory
  11055. should still be present). In the simplest case you can use localhost as
  11056. hostname and your SSH credentials as username and password. You can also
  11057. change the remote path to your home directory on the host, for example
  11058. -o path=/home/username.
  11059. Time to create a test container and mount the volume into it:
  11060. docker run --rm -it -v firstvolume:/mnt --workdir /mnt ubuntu:latest bash
  11061. If all goes well, you will enter the new container and change right to
  11062. the mounted SFTP remote. You can type ls to list the mounted directory
  11063. or otherwise play with it. Type exit when you are done. The container
  11064. will stop but the volume will stay, ready to be reused. When it's not
  11065. needed anymore, remove it:
  11066. docker volume list
  11067. docker volume remove firstvolume
  11068. Now let us try something more elaborate: Google Drive volume on
  11069. multi-node Docker Swarm.
  11070. You should start from installing Docker and FUSE, creating plugin
  11071. directories and installing rclone plugin on every swarm node. Then setup
  11072. the Swarm.
  11073. Google Drive volumes need an access token which can be setup via web
  11074. browser and will be periodically renewed by rclone. The managed plugin
  11075. cannot run a browser so we will use a technique similar to the rclone
  11076. setup on a headless box.
  11077. Run rclone config on another machine equipped with web browser and
  11078. graphical user interface. Create the Google Drive remote. When done,
  11079. transfer the resulting rclone.conf to the Swarm cluster and save as
  11080. /var/lib/docker-plugins/rclone/config/rclone.conf on every node. By
  11081. default this location is accessible only to the root user so you will
  11082. need appropriate privileges. The resulting config will look like this:
  11083. [gdrive]
  11084. type = drive
  11085. scope = drive
  11086. drive_id = 1234567...
  11087. root_folder_id = 0Abcd...
  11088. token = {"access_token":...}
  11089. Now create the file named example.yml with a swarm stack description
  11090. like this:
  11091. version: '3'
  11092. services:
  11093. heimdall:
  11094. image: linuxserver/heimdall:latest
  11095. ports: [8080:80]
  11096. volumes: [configdata:/config]
  11097. volumes:
  11098. configdata:
  11099. driver: rclone
  11100. driver_opts:
  11101. remote: 'gdrive:heimdall'
  11102. allow_other: 'true'
  11103. vfs_cache_mode: full
  11104. poll_interval: 0
  11105. and run the stack:
  11106. docker stack deploy example -c ./example.yml
  11107. After a few seconds docker will spread the parsed stack description over
  11108. cluster, create the example_heimdall service on port 8080, run service
  11109. containers on one or more cluster nodes and request the
  11110. example_configdata volume from rclone plugins on the node hosts. You can
  11111. use the following commands to confirm results:
  11112. docker service ls
  11113. docker service ps example_heimdall
  11114. docker volume ls
  11115. Point your browser to http://cluster.host.address:8080 and play with the
  11116. service. Stop it with docker stack remove example when you are done.
  11117. Note that the example_configdata volume(s) created on demand at the
  11118. cluster nodes will not be automatically removed together with the stack
  11119. but stay for future reuse. You can remove them manually by invoking the
  11120. docker volume remove example_configdata command on every node.
  11121. Creating Volumes via CLI
  11122. Volumes can be created with docker volume create. Here are a few
  11123. examples:
  11124. docker volume create vol1 -d rclone -o remote=storj: -o vfs-cache-mode=full
  11125. docker volume create vol2 -d rclone -o remote=:storj,access_grant=xxx:heimdall
  11126. docker volume create vol3 -d rclone -o type=storj -o path=heimdall -o storj-access-grant=xxx -o poll-interval=0
  11127. Note the -d rclone flag that tells docker to request volume from the
  11128. rclone driver. This works even if you installed managed driver by its
  11129. full name rclone/docker-volume-rclone because you provided the
  11130. --alias rclone option.
  11131. Volumes can be inspected as follows:
  11132. docker volume list
  11133. docker volume inspect vol1
  11134. Volume Configuration
  11135. Rclone flags and volume options are set via the -o flag to the
  11136. docker volume create command. They include backend-specific parameters
  11137. as well as mount and VFS options. Also there are a few special -o
  11138. options: remote, fs, type, path, mount-type and persist.
  11139. remote determines an existing remote name from the config file, with
  11140. trailing colon and optionally with a remote path. See the full syntax in
  11141. the rclone documentation. This option can be aliased as fs to prevent
  11142. confusion with the remote parameter of such backends as crypt or alias.
  11143. The remote=:backend:dir/subdir syntax can be used to create on-the-fly
  11144. (config-less) remotes, while the type and path options provide a simpler
  11145. alternative for this. Using two split options
  11146. -o type=backend -o path=dir/subdir
  11147. is equivalent to the combined syntax
  11148. -o remote=:backend:dir/subdir
  11149. but is arguably easier to parameterize in scripts. The path part is
  11150. optional.
  11151. Mount and VFS options as well as backend parameters are named like their
  11152. twin command-line flags without the -- CLI prefix. Optionally you can
  11153. use underscores instead of dashes in option names. For example,
  11154. --vfs-cache-mode full becomes -o vfs-cache-mode=full or
  11155. -o vfs_cache_mode=full. Boolean CLI flags without value will gain the
  11156. true value, e.g. --allow-other becomes -o allow-other=true or
  11157. -o allow_other=true.
  11158. Please note that you can provide parameters only for the backend
  11159. immediately referenced by the backend type of mounted remote. If this is
  11160. a wrapping backend like alias, chunker or crypt, you cannot provide
  11161. options for the referred to remote or backend. This limitation is
  11162. imposed by the rclone connection string parser. The only workaround is
  11163. to feed plugin with rclone.conf or configure plugin arguments (see
  11164. below).
  11165. Special Volume Options
  11166. mount-type determines the mount method and in general can be one of:
  11167. mount, cmount, or mount2. This can be aliased as mount_type. It should
  11168. be noted that the managed rclone docker plugin currently does not
  11169. support the cmount method and mount2 is rarely needed. This option
  11170. defaults to the first found method, which is usually mount so you
  11171. generally won't need it.
  11172. persist is a reserved boolean (true/false) option. In future it will
  11173. allow to persist on-the-fly remotes in the plugin rclone.conf file.
  11174. Connection Strings
  11175. The remote value can be extended with connection strings as an
  11176. alternative way to supply backend parameters. This is equivalent to the
  11177. -o backend options with one syntactic difference. Inside connection
  11178. string the backend prefix must be dropped from parameter names but in
  11179. the -o param=value array it must be present. For instance, compare the
  11180. following option array
  11181. -o remote=:sftp:/home -o sftp-host=localhost
  11182. with equivalent connection string:
  11183. -o remote=:sftp,host=localhost:/home
  11184. This difference exists because flag options -o key=val include not only
  11185. backend parameters but also mount/VFS flags and possibly other settings.
  11186. Also it allows to discriminate the remote option from the crypt-remote
  11187. (or similarly named backend parameters) and arguably simplifies
  11188. scripting due to clearer value substitution.
  11189. Using with Swarm or Compose
  11190. Both Docker Swarm and Docker Compose use YAML-formatted text files to
  11191. describe groups (stacks) of containers, their properties, networks and
  11192. volumes. Compose uses the compose v2 format, Swarm uses the compose v3
  11193. format. They are mostly similar, differences are explained in the docker
  11194. documentation.
  11195. Volumes are described by the children of the top-level volumes: node.
  11196. Each of them should be named after its volume and have at least two
  11197. elements, the self-explanatory driver: rclone value and the driver_opts:
  11198. structure playing the same role as -o key=val CLI flags:
  11199. volumes:
  11200. volume_name_1:
  11201. driver: rclone
  11202. driver_opts:
  11203. remote: 'gdrive:'
  11204. allow_other: 'true'
  11205. vfs_cache_mode: full
  11206. token: '{"type": "borrower", "expires": "2021-12-31"}'
  11207. poll_interval: 0
  11208. Notice a few important details: - YAML prefers _ in option names instead
  11209. of -. - YAML treats single and double quotes interchangeably. Simple
  11210. strings and integers can be left unquoted. - Boolean values must be
  11211. quoted like 'true' or "false" because these two words are reserved by
  11212. YAML. - The filesystem string is keyed with remote (or with fs).
  11213. Normally you can omit quotes here, but if the string ends with colon,
  11214. you must quote it like remote: "storage_box:". - YAML is picky about
  11215. surrounding braces in values as this is in fact another syntax for
  11216. key/value mappings. For example, JSON access tokens usually contain
  11217. double quotes and surrounding braces, so you must put them in single
  11218. quotes.
  11219. Installing as Managed Plugin
  11220. Docker daemon can install plugins from an image registry and run them
  11221. managed. We maintain the docker-volume-rclone plugin image on Docker
  11222. Hub.
  11223. Rclone volume plugin requires Docker Engine >= 19.03.15
  11224. The plugin requires presence of two directories on the host before it
  11225. can be installed. Note that plugin will not create them automatically.
  11226. By default they must exist on host at the following locations (though
  11227. you can tweak the paths): - /var/lib/docker-plugins/rclone/config is
  11228. reserved for the rclone.conf config file and must exist even if it's
  11229. empty and the config file is not present. -
  11230. /var/lib/docker-plugins/rclone/cache holds the plugin state file as well
  11231. as optional VFS caches.
  11232. You can install managed plugin with default settings as follows:
  11233. docker plugin install rclone/docker-volume-rclone:amd64 --grant-all-permissions --alias rclone
  11234. The :amd64 part of the image specification after colon is called a tag.
  11235. Usually you will want to install the latest plugin for your
  11236. architecture. In this case the tag will just name it, like amd64 above.
  11237. The following plugin architectures are currently available: - amd64 -
  11238. arm64 - arm-v7
  11239. Sometimes you might want a concrete plugin version, not the latest one.
  11240. Then you should use image tag in the form :ARCHITECTURE-VERSION. For
  11241. example, to install plugin version v1.56.2 on architecture arm64 you
  11242. will use tag arm64-1.56.2 (note the removed v) so the full image
  11243. specification becomes rclone/docker-volume-rclone:arm64-1.56.2.
  11244. We also provide the latest plugin tag, but since docker does not support
  11245. multi-architecture plugins as of the time of this writing, this tag is
  11246. currently an alias for amd64. By convention the latest tag is the
  11247. default one and can be omitted, thus both
  11248. rclone/docker-volume-rclone:latest and just rclone/docker-volume-rclone
  11249. will refer to the latest plugin release for the amd64 platform.
  11250. Also the amd64 part can be omitted from the versioned rclone plugin
  11251. tags. For example, rclone image reference
  11252. rclone/docker-volume-rclone:amd64-1.56.2 can be abbreviated as
  11253. rclone/docker-volume-rclone:1.56.2 for convenience. However, for
  11254. non-intel architectures you still have to use the full tag as amd64 or
  11255. latest will fail to start.
  11256. Managed plugin is in fact a special container running in a namespace
  11257. separate from normal docker containers. Inside it runs the
  11258. rclone serve docker command. The config and cache directories are
  11259. bind-mounted into the container at start. The docker daemon connects to
  11260. a unix socket created by the command inside the container. The command
  11261. creates on-demand remote mounts right inside, then docker machinery
  11262. propagates them through kernel mount namespaces and bind-mounts into
  11263. requesting user containers.
  11264. You can tweak a few plugin settings after installation when it's
  11265. disabled (not in use), for instance:
  11266. docker plugin disable rclone
  11267. docker plugin set rclone RCLONE_VERBOSE=2 config=/etc/rclone args="--vfs-cache-mode=writes --allow-other"
  11268. docker plugin enable rclone
  11269. docker plugin inspect rclone
  11270. Note that if docker refuses to disable the plugin, you should find and
  11271. remove all active volumes connected with it as well as containers and
  11272. swarm services that use them. This is rather tedious so please carefully
  11273. plan in advance.
  11274. You can tweak the following settings: args, config, cache, HTTP_PROXY,
  11275. HTTPS_PROXY, NO_PROXY and RCLONE_VERBOSE. It's your task to keep plugin
  11276. settings in sync across swarm cluster nodes.
  11277. args sets command-line arguments for the rclone serve docker command
  11278. (none by default). Arguments should be separated by space so you will
  11279. normally want to put them in quotes on the docker plugin set command
  11280. line. Both serve docker flags and generic rclone flags are supported,
  11281. including backend parameters that will be used as defaults for volume
  11282. creation. Note that plugin will fail (due to this docker bug) if the
  11283. args value is empty. Use e.g. args="-v" as a workaround.
  11284. config=/host/dir sets alternative host location for the config
  11285. directory. Plugin will look for rclone.conf here. It's not an error if
  11286. the config file is not present but the directory must exist. Please note
  11287. that plugin can periodically rewrite the config file, for example when
  11288. it renews storage access tokens. Keep this in mind and try to avoid
  11289. races between the plugin and other instances of rclone on the host that
  11290. might try to change the config simultaneously resulting in corrupted
  11291. rclone.conf. You can also put stuff like private key files for SFTP
  11292. remotes in this directory. Just note that it's bind-mounted inside the
  11293. plugin container at the predefined path /data/config. For example, if
  11294. your key file is named sftp-box1.key on the host, the corresponding
  11295. volume config option should read
  11296. -o sftp-key-file=/data/config/sftp-box1.key.
  11297. cache=/host/dir sets alternative host location for the cache directory.
  11298. The plugin will keep VFS caches here. Also it will create and maintain
  11299. the docker-plugin.state file in this directory. When the plugin is
  11300. restarted or reinstalled, it will look in this file to recreate any
  11301. volumes that existed previously. However, they will not be re-mounted
  11302. into consuming containers after restart. Usually this is not a problem
  11303. as the docker daemon normally will restart affected user containers
  11304. after failures, daemon restarts or host reboots.
  11305. RCLONE_VERBOSE sets plugin verbosity from 0 (errors only, by default) to
  11306. 2 (debugging). Verbosity can be also tweaked via args="-v [-v] ...".
  11307. Since arguments are more generic, you will rarely need this setting. The
  11308. plugin output by default feeds the docker daemon log on local host. Log
  11309. entries are reflected as errors in the docker log but retain their
  11310. actual level assigned by rclone in the encapsulated message string.
  11311. HTTP_PROXY, HTTPS_PROXY, NO_PROXY customize the plugin proxy settings.
  11312. You can set custom plugin options right when you install it, in one go:
  11313. docker plugin remove rclone
  11314. docker plugin install rclone/docker-volume-rclone:amd64 \
  11315. --alias rclone --grant-all-permissions \
  11316. args="-v --allow-other" config=/etc/rclone
  11317. docker plugin inspect rclone
  11318. Healthchecks
  11319. The docker plugin volume protocol doesn't provide a way for plugins to
  11320. inform the docker daemon that a volume is (un-)available. As a
  11321. workaround you can setup a healthcheck to verify that the mount is
  11322. responding, for example:
  11323. services:
  11324. my_service:
  11325. image: my_image
  11326. healthcheck:
  11327. test: ls /path/to/rclone/mount || exit 1
  11328. interval: 1m
  11329. timeout: 15s
  11330. retries: 3
  11331. start_period: 15s
  11332. Running Plugin under Systemd
  11333. In most cases you should prefer managed mode. Moreover, MacOS and
  11334. Windows do not support native Docker plugins. Please use managed mode on
  11335. these systems. Proceed further only if you are on Linux.
  11336. First, install rclone. You can just run it (type rclone serve docker and
  11337. hit enter) for the test.
  11338. Install FUSE:
  11339. sudo apt-get -y install fuse
  11340. Download two systemd configuration files: docker-volume-rclone.service
  11341. and docker-volume-rclone.socket.
  11342. Put them to the /etc/systemd/system/ directory:
  11343. cp docker-volume-plugin.service /etc/systemd/system/
  11344. cp docker-volume-plugin.socket /etc/systemd/system/
  11345. Please note that all commands in this section must be run as root but we
  11346. omit sudo prefix for brevity. Now create directories required by the
  11347. service:
  11348. mkdir -p /var/lib/docker-volumes/rclone
  11349. mkdir -p /var/lib/docker-plugins/rclone/config
  11350. mkdir -p /var/lib/docker-plugins/rclone/cache
  11351. Run the docker plugin service in the socket activated mode:
  11352. systemctl daemon-reload
  11353. systemctl start docker-volume-rclone.service
  11354. systemctl enable docker-volume-rclone.socket
  11355. systemctl start docker-volume-rclone.socket
  11356. systemctl restart docker
  11357. Or run the service directly: - run systemctl daemon-reload to let
  11358. systemd pick up new config - run
  11359. systemctl enable docker-volume-rclone.service to make the new service
  11360. start automatically when you power on your machine. - run
  11361. systemctl start docker-volume-rclone.service to start the service now. -
  11362. run systemctl restart docker to restart docker daemon and let it detect
  11363. the new plugin socket. Note that this step is not needed in managed mode
  11364. where docker knows about plugin state changes.
  11365. The two methods are equivalent from the user perspective, but I
  11366. personally prefer socket activation.
  11367. Troubleshooting
  11368. You can see managed plugin settings with
  11369. docker plugin list
  11370. docker plugin inspect rclone
  11371. Note that docker (including latest 20.10.7) will not show actual values
  11372. of args, just the defaults.
  11373. Use journalctl --unit docker to see managed plugin output as part of the
  11374. docker daemon log. Note that docker reflects plugin lines as errors but
  11375. their actual level can be seen from encapsulated message string.
  11376. You will usually install the latest version of managed plugin for your
  11377. platform. Use the following commands to print the actual installed
  11378. version:
  11379. PLUGID=$(docker plugin list --no-trunc | awk '/rclone/{print$1}')
  11380. sudo runc --root /run/docker/runtime-runc/plugins.moby exec $PLUGID rclone version
  11381. You can even use runc to run shell inside the plugin container:
  11382. sudo runc --root /run/docker/runtime-runc/plugins.moby exec --tty $PLUGID bash
  11383. Also you can use curl to check the plugin socket connectivity:
  11384. docker plugin list --no-trunc
  11385. PLUGID=123abc...
  11386. sudo curl -H Content-Type:application/json -XPOST -d {} --unix-socket /run/docker/plugins/$PLUGID/rclone.sock http://localhost/Plugin.Activate
  11387. though this is rarely needed.
  11388. Caveats
  11389. Finally I'd like to mention a caveat with updating volume settings.
  11390. Docker CLI does not have a dedicated command like docker volume update.
  11391. It may be tempting to invoke docker volume create with updated options
  11392. on existing volume, but there is a gotcha. The command will do nothing,
  11393. it won't even return an error. I hope that docker maintainers will fix
  11394. this some day. In the meantime be aware that you must remove your volume
  11395. before recreating it with new settings:
  11396. docker volume remove my_vol
  11397. docker volume create my_vol -d rclone -o opt1=new_val1 ...
  11398. and verify that settings did update:
  11399. docker volume list
  11400. docker volume inspect my_vol
  11401. If docker refuses to remove the volume, you should find containers or
  11402. swarm services that use it and stop them first.
  11403. Getting started
  11404. - Install rclone and setup your remotes.
  11405. - Bisync will create its working directory at ~/.cache/rclone/bisync
  11406. on Linux or C:\Users\MyLogin\AppData\Local\rclone\bisync on Windows.
  11407. Make sure that this location is writable.
  11408. - Run bisync with the --resync flag, specifying the paths to the local
  11409. and remote sync directory roots.
  11410. - For successive sync runs, leave off the --resync flag.
  11411. - Consider using a filters file for excluding unnecessary files and
  11412. directories from the sync.
  11413. - Consider setting up the --check-access feature for safety.
  11414. - On Linux, consider setting up a crontab entry. bisync can safely run
  11415. in concurrent cron jobs thanks to lock files it maintains.
  11416. Here is a typical run log (with timestamps removed for clarity):
  11417. rclone bisync /testdir/path1/ /testdir/path2/ --verbose
  11418. INFO : Synching Path1 "/testdir/path1/" with Path2 "/testdir/path2/"
  11419. INFO : Path1 checking for diffs
  11420. INFO : - Path1 File is new - file11.txt
  11421. INFO : - Path1 File is newer - file2.txt
  11422. INFO : - Path1 File is newer - file5.txt
  11423. INFO : - Path1 File is newer - file7.txt
  11424. INFO : - Path1 File was deleted - file4.txt
  11425. INFO : - Path1 File was deleted - file6.txt
  11426. INFO : - Path1 File was deleted - file8.txt
  11427. INFO : Path1: 7 changes: 1 new, 3 newer, 0 older, 3 deleted
  11428. INFO : Path2 checking for diffs
  11429. INFO : - Path2 File is new - file10.txt
  11430. INFO : - Path2 File is newer - file1.txt
  11431. INFO : - Path2 File is newer - file5.txt
  11432. INFO : - Path2 File is newer - file6.txt
  11433. INFO : - Path2 File was deleted - file3.txt
  11434. INFO : - Path2 File was deleted - file7.txt
  11435. INFO : - Path2 File was deleted - file8.txt
  11436. INFO : Path2: 7 changes: 1 new, 3 newer, 0 older, 3 deleted
  11437. INFO : Applying changes
  11438. INFO : - Path1 Queue copy to Path2 - /testdir/path2/file11.txt
  11439. INFO : - Path1 Queue copy to Path2 - /testdir/path2/file2.txt
  11440. INFO : - Path2 Queue delete - /testdir/path2/file4.txt
  11441. NOTICE: - WARNING New or changed in both paths - file5.txt
  11442. NOTICE: - Path1 Renaming Path1 copy - /testdir/path1/file5.txt..path1
  11443. NOTICE: - Path1 Queue copy to Path2 - /testdir/path2/file5.txt..path1
  11444. NOTICE: - Path2 Renaming Path2 copy - /testdir/path2/file5.txt..path2
  11445. NOTICE: - Path2 Queue copy to Path1 - /testdir/path1/file5.txt..path2
  11446. INFO : - Path2 Queue copy to Path1 - /testdir/path1/file6.txt
  11447. INFO : - Path1 Queue copy to Path2 - /testdir/path2/file7.txt
  11448. INFO : - Path2 Queue copy to Path1 - /testdir/path1/file1.txt
  11449. INFO : - Path2 Queue copy to Path1 - /testdir/path1/file10.txt
  11450. INFO : - Path1 Queue delete - /testdir/path1/file3.txt
  11451. INFO : - Path2 Do queued copies to - Path1
  11452. INFO : - Path1 Do queued copies to - Path2
  11453. INFO : - Do queued deletes on - Path1
  11454. INFO : - Do queued deletes on - Path2
  11455. INFO : Updating listings
  11456. INFO : Validating listings for Path1 "/testdir/path1/" vs Path2 "/testdir/path2/"
  11457. INFO : Bisync successful
  11458. Command line syntax
  11459. $ rclone bisync --help
  11460. Usage:
  11461. rclone bisync remote1:path1 remote2:path2 [flags]
  11462. Positional arguments:
  11463. Path1, Path2 Local path, or remote storage with ':' plus optional path.
  11464. Type 'rclone listremotes' for list of configured remotes.
  11465. Optional Flags:
  11466. --check-access Ensure expected `RCLONE_TEST` files are found on
  11467. both Path1 and Path2 filesystems, else abort.
  11468. --check-filename FILENAME Filename for `--check-access` (default: `RCLONE_TEST`)
  11469. --check-sync CHOICE Controls comparison of final listings:
  11470. `true | false | only` (default: true)
  11471. If set to `only`, bisync will only compare listings
  11472. from the last run but skip actual sync.
  11473. --filters-file PATH Read filtering patterns from a file
  11474. --max-delete PERCENT Safety check on maximum percentage of deleted files allowed.
  11475. If exceeded, the bisync run will abort. (default: 50%)
  11476. --force Bypass `--max-delete` safety check and run the sync.
  11477. Consider using with `--verbose`
  11478. --remove-empty-dirs Remove empty directories at the final cleanup step.
  11479. -1, --resync Performs the resync run.
  11480. Warning: Path1 files may overwrite Path2 versions.
  11481. Consider using `--verbose` or `--dry-run` first.
  11482. --localtime Use local time in listings (default: UTC)
  11483. --no-cleanup Retain working files (useful for troubleshooting and testing).
  11484. --workdir PATH Use custom working directory (useful for testing).
  11485. (default: `~/.cache/rclone/bisync`)
  11486. -n, --dry-run Go through the motions - No files are copied/deleted.
  11487. -v, --verbose Increases logging verbosity.
  11488. May be specified more than once for more details.
  11489. -h, --help help for bisync
  11490. Arbitrary rclone flags may be specified on the bisync command line, for
  11491. example
  11492. rclone bisync ./testdir/path1/ gdrive:testdir/path2/ --drive-skip-gdocs -v -v --timeout 10s
  11493. Note that interactions of various rclone flags with bisync process flow
  11494. has not been fully tested yet.
  11495. Paths
  11496. Path1 and Path2 arguments may be references to any mix of local
  11497. directory paths (absolute or relative), UNC paths (//server/share/path),
  11498. Windows drive paths (with a drive letter and :) or configured remotes
  11499. with optional subdirectory paths. Cloud references are distinguished by
  11500. having a : in the argument (see Windows support below).
  11501. Path1 and Path2 are treated equally, in that neither has priority for
  11502. file changes, and access efficiency does not change whether a remote is
  11503. on Path1 or Path2.
  11504. The listings in bisync working directory (default:
  11505. ~/.cache/rclone/bisync) are named based on the Path1 and Path2 arguments
  11506. so that separate syncs to individual directories within the tree may be
  11507. set up, e.g.: path_to_local_tree..dropbox_subdir.lst.
  11508. Any empty directories after the sync on both the Path1 and Path2
  11509. filesystems are not deleted by default. If the --remove-empty-dirs flag
  11510. is specified, then both paths will have any empty directories purged as
  11511. the last step in the process.
  11512. Command-line flags
  11513. --resync
  11514. This will effectively make both Path1 and Path2 filesystems contain a
  11515. matching superset of all files. Path2 files that do not exist in Path1
  11516. will be copied to Path1, and the process will then sync the Path1 tree
  11517. to Path2.
  11518. The base directories on the both Path1 and Path2 filesystems must exist
  11519. or bisync will fail. This is required for safety - that bisync can
  11520. verify that both paths are valid.
  11521. When using --resync, a newer version of a file either on Path1 or Path2
  11522. filesystem, will overwrite the file on the other path (only the last
  11523. version will be kept). Carefully evaluate deltas using --dry-run.
  11524. For a resync run, one of the paths may be empty (no files in the path
  11525. tree). The resync run should result in files on both paths, else a
  11526. normal non-resync run will fail.
  11527. For a non-resync run, either path being empty (no files in the tree)
  11528. fails with
  11529. Empty current PathN listing. Cannot sync to an empty directory: X.pathN.lst
  11530. This is a safety check that an unexpected empty path does not result in
  11531. deleting everything in the other path.
  11532. --check-access
  11533. Access check files are an additional safety measure against data loss.
  11534. bisync will ensure it can find matching RCLONE_TEST files in the same
  11535. places in the Path1 and Path2 filesystems. RCLONE_TEST files are not
  11536. generated automatically. For --check-accessto succeed, you must first
  11537. either: A) Place one or more RCLONE_TEST files in the Path1 or Path2
  11538. filesystem and then do either a run without --check-access or a --resync
  11539. to set matching files on both filesystems, or B) Set --check-filename to
  11540. a filename already in use in various locations throughout your sync'd
  11541. fileset. Time stamps and file contents are not important, just the names
  11542. and locations. If you have symbolic links in your sync tree it is
  11543. recommended to place RCLONE_TEST files in the linked-to directory tree
  11544. to protect against bisync assuming a bunch of deleted files if the
  11545. linked-to tree should not be accessible. See also the --check-filename
  11546. flag.
  11547. --check-filename
  11548. Name of the file(s) used in access health validation. The default
  11549. --check-filename is RCLONE_TEST. One or more files having this filename
  11550. must exist, synchronized between your source and destination filesets,
  11551. in order for --check-access to succeed. See --check-access for
  11552. additional details.
  11553. --max-delete
  11554. As a safety check, if greater than the --max-delete percent of files
  11555. were deleted on either the Path1 or Path2 filesystem, then bisync will
  11556. abort with a warning message, without making any changes. The default
  11557. --max-delete is 50%. One way to trigger this limit is to rename a
  11558. directory that contains more than half of your files. This will appear
  11559. to bisync as a bunch of deleted files and a bunch of new files. This
  11560. safety check is intended to block bisync from deleting all of the files
  11561. on both filesystems due to a temporary network access issue, or if the
  11562. user had inadvertently deleted the files on one side or the other. To
  11563. force the sync either set a different delete percentage limit, e.g.
  11564. --max-delete 75 (allows up to 75% deletion), or use --force to bypass
  11565. the check.
  11566. Also see the all files changed check.
  11567. --filters-file
  11568. By using rclone filter features you can exclude file types or directory
  11569. sub-trees from the sync. See the bisync filters section and generic
  11570. --filter-from documentation. An example filters file contains filters
  11571. for non-allowed files for synching with Dropbox.
  11572. If you make changes to your filters file then bisync requires a run with
  11573. --resync. This is a safety feature, which avoids existing files on the
  11574. Path1 and/or Path2 side from seeming to disappear from view (since they
  11575. are excluded in the new listings), which would fool bisync into seeing
  11576. them as deleted (as compared to the prior run listings), and then bisync
  11577. would proceed to delete them for real.
  11578. To block this from happening bisync calculates an MD5 hash of the
  11579. filters file and stores the hash in a .md5 file in the same place as
  11580. your filters file. On the next runs with --filters-file set, bisync
  11581. re-calculates the MD5 hash of the current filters file and compares it
  11582. to the hash stored in .md5 file. If they don't match the run aborts with
  11583. a critical error and thus forces you to do a --resync, likely avoiding a
  11584. disaster.
  11585. --check-sync
  11586. Enabled by default, the check-sync function checks that all of the same
  11587. files exist in both the Path1 and Path2 history listings. This
  11588. check-sync integrity check is performed at the end of the sync run by
  11589. default. Any untrapped failing copy/deletes between the two paths might
  11590. result in differences between the two listings and in the untracked file
  11591. content differences between the two paths. A resync run would correct
  11592. the error.
  11593. Note that the default-enabled integrity check locally executes a load of
  11594. both the final Path1 and Path2 listings, and thus adds to the run time
  11595. of a sync. Using --check-sync=false will disable it and may
  11596. significantly reduce the sync run times for very large numbers of files.
  11597. The check may be run manually with --check-sync=only. It runs only the
  11598. integrity check and terminates without actually synching.
  11599. Operation
  11600. Runtime flow details
  11601. bisync retains the listings of the Path1 and Path2 filesystems from the
  11602. prior run. On each successive run it will:
  11603. - list files on path1 and path2, and check for changes on each side.
  11604. Changes include New, Newer, Older, and Deleted files.
  11605. - Propagate changes on path1 to path2, and vice-versa.
  11606. Safety measures
  11607. - Lock file prevents multiple simultaneous runs when taking a while.
  11608. This can be particularly useful if bisync is run by cron scheduler.
  11609. - Handle change conflicts non-destructively by creating ..path1 and
  11610. ..path2 file versions.
  11611. - File system access health check using RCLONE_TEST files (see the
  11612. --check-access flag).
  11613. - Abort on excessive deletes - protects against a failed listing being
  11614. interpreted as all the files were deleted. See the --max-delete and
  11615. --force flags.
  11616. - If something evil happens, bisync goes into a safe state to block
  11617. damage by later runs. (See Error Handling)
  11618. Normal sync checks
  11619. ------------------------------------------------------------------------
  11620. Type Description Result Implementation
  11621. --------- ---------------------------- --------------- -----------------
  11622. Path2 new File is new on Path2, does Path2 version rclone copy Path2
  11623. not exist on Path1 survives to Path1
  11624. Path2 File is newer on Path2, Path2 version rclone copy Path2
  11625. newer unchanged on Path1 survives to Path1
  11626. Path2 File is deleted on Path2, File is deleted rclone delete
  11627. deleted unchanged on Path1 Path1
  11628. Path1 new File is new on Path1, does Path1 version rclone copy Path1
  11629. not exist on Path2 survives to Path2
  11630. Path1 File is newer on Path1, Path1 version rclone copy Path1
  11631. newer unchanged on Path2 survives to Path2
  11632. Path1 File is older on Path1, Path1 version rclone copy Path1
  11633. older unchanged on Path2 survives to Path2
  11634. Path2 File is older on Path2, Path2 version rclone copy Path2
  11635. older unchanged on Path1 survives to Path1
  11636. Path1 File no longer exists on File is deleted rclone delete
  11637. deleted Path1 Path2
  11638. ------------------------------------------------------------------------
  11639. Unusual sync checks
  11640. ----------------------------------------------------------------------------
  11641. Type Description Result Implementation
  11642. ----------------- --------------------- ------------------- ----------------
  11643. Path1 new AND File is new on Path1 Files renamed to rclone copy
  11644. Path2 new AND new on Path2 _Path1 and _Path2 _Path2 file to
  11645. Path1,
  11646. rclone copy
  11647. _Path1 file to
  11648. Path2
  11649. Path2 newer AND File is newer on Files renamed to rclone copy
  11650. Path1 changed Path2 AND also _Path1 and _Path2 _Path2 file to
  11651. changed Path1,
  11652. (newer/older/size) on rclone copy
  11653. Path1 _Path1 file to
  11654. Path2
  11655. Path2 newer AND File is newer on Path2 version rclone copy
  11656. Path1 deleted Path2 AND also survives Path2 to Path1
  11657. deleted on Path1
  11658. Path2 deleted AND File is deleted on Path1 version rclone copy
  11659. Path1 changed Path2 AND changed survives Path1 to Path2
  11660. (newer/older/size) on
  11661. Path1
  11662. Path1 deleted AND File is deleted on Path2 version rclone copy
  11663. Path2 changed Path1 AND changed survives Path2 to Path1
  11664. (newer/older/size) on
  11665. Path2
  11666. ----------------------------------------------------------------------------
  11667. All files changed check
  11668. if all prior existing files on either of the filesystems have changed
  11669. (e.g. timestamps have changed due to changing the system's timezone)
  11670. then bisync will abort without making any changes. Any new files are not
  11671. considered for this check. You could use --force to force the sync
  11672. (whichever side has the changed timestamp files wins). Alternately, a
  11673. --resync may be used (Path1 versions will be pushed to Path2). Consider
  11674. the situation carefully and perhaps use --dry-run before you commit to
  11675. the changes.
  11676. Modification time
  11677. Bisync relies on file timestamps to identify changed files and will
  11678. refuse to operate if backend lacks the modification time support.
  11679. If you or your application should change the content of a file without
  11680. changing the modification time then bisync will not notice the change,
  11681. and thus will not copy it to the other side.
  11682. Note that on some cloud storage systems it is not possible to have file
  11683. timestamps that match precisely between the local and other filesystems.
  11684. Bisync's approach to this problem is by tracking the changes on each
  11685. side separately over time with a local database of files in that side
  11686. then applying the resulting changes on the other side.
  11687. Error handling
  11688. Certain bisync critical errors, such as file copy/move failing, will
  11689. result in a bisync lockout of following runs. The lockout is asserted
  11690. because the sync status and history of the Path1 and Path2 filesystems
  11691. cannot be trusted, so it is safer to block any further changes until
  11692. someone checks things out. The recovery is to do a --resync again.
  11693. It is recommended to use --resync --dry-run --verbose initially and
  11694. carefully review what changes will be made before running the --resync
  11695. without --dry-run.
  11696. Most of these events come up due to a error status from an internal
  11697. call. On such a critical error the {...}.path1.lst and {...}.path2.lst
  11698. listing files are renamed to extension .lst-err, which blocks any future
  11699. bisync runs (since the normal .lst files are not found). Bisync keeps
  11700. them under bisync subdirectory of the rclone cache directory, typically
  11701. at ${HOME}/.cache/rclone/bisync/ on Linux.
  11702. Some errors are considered temporary and re-running the bisync is not
  11703. blocked. The critical return blocks further bisync runs.
  11704. Lock file
  11705. When bisync is running, a lock file is created in the bisync working
  11706. directory, typically at ~/.cache/rclone/bisync/PATH1..PATH2.lck on
  11707. Linux. If bisync should crash or hang, the lock file will remain in
  11708. place and block any further runs of bisync for the same paths. Delete
  11709. the lock file as part of debugging the situation. The lock file
  11710. effectively blocks follow-on (e.g., scheduled by cron) runs when the
  11711. prior invocation is taking a long time. The lock file contains PID of
  11712. the blocking process, which may help in debug.
  11713. Note that while concurrent bisync runs are allowed, be very cautious
  11714. that there is no overlap in the trees being synched between concurrent
  11715. runs, lest there be replicated files, deleted files and general mayhem.
  11716. Return codes
  11717. rclone bisync returns the following codes to calling program: - 0 on a
  11718. successful run, - 1 for a non-critical failing run (a rerun may be
  11719. successful), - 2 for a critically aborted run (requires a --resync to
  11720. recover).
  11721. Limitations
  11722. Supported backends
  11723. Bisync is considered BETA and has been tested with the following
  11724. backends: - Local filesystem - Google Drive - Dropbox - OneDrive - S3 -
  11725. SFTP - Yandex Disk
  11726. It has not been fully tested with other services yet. If it works, or
  11727. sorta works, please let us know and we'll update the list. Run the test
  11728. suite to check for proper operation as described below.
  11729. First release of rclone bisync requires that underlying backend
  11730. supported the modification time feature and will refuse to run
  11731. otherwise. This limitation will be lifted in a future rclone bisync
  11732. release.
  11733. Concurrent modifications
  11734. When using Local, FTP or SFTP remotes rclone does not create temporary
  11735. files at the destination when copying, and thus if the connection is
  11736. lost the created file may be corrupt, which will likely propagate back
  11737. to the original path on the next sync, resulting in data loss. This will
  11738. be solved in a future release, there is no workaround at the moment.
  11739. Files that change during a bisync run may result in data loss. This has
  11740. been seen in a highly dynamic environment, where the filesystem is
  11741. getting hammered by running processes during the sync. The solution is
  11742. to sync at quiet times or filter out unnecessary directories and files.
  11743. Empty directories
  11744. New empty directories on one path are not propagated to the other side.
  11745. This is because bisync (and rclone) natively works on files not
  11746. directories. The following sequence is a workaround but will not
  11747. propagate the delete of an empty directory to the other side:
  11748. rclone bisync PATH1 PATH2
  11749. rclone copy PATH1 PATH2 --filter "+ */" --filter "- **" --create-empty-src-dirs
  11750. rclone copy PATH2 PATH2 --filter "+ */" --filter "- **" --create-empty-src-dirs
  11751. Renamed directories
  11752. Renaming a folder on the Path1 side results is deleting all files on the
  11753. Path2 side and then copying all files again from Path1 to Path2. Bisync
  11754. sees this as all files in the old directory name as deleted and all
  11755. files in the new directory name as new. Similarly, renaming a directory
  11756. on both sides to the same name will result in creating ..path1 and
  11757. ..path2 files on both sides. Currently the most effective and efficient
  11758. method of renaming a directory is to rename it on both sides, then do a
  11759. --resync.
  11760. Case sensitivity
  11761. Synching with case-insensitive filesystems, such as Windows or Box, can
  11762. result in file name conflicts. This will be fixed in a future release.
  11763. The near term workaround is to make sure that files on both sides don't
  11764. have spelling case differences (Smile.jpg vs. smile.jpg).
  11765. Windows support
  11766. Bisync has been tested on Windows 8.1, Windows 10 Pro 64-bit and on
  11767. Windows GitHub runners.
  11768. Drive letters are allowed, including drive letters mapped to network
  11769. drives (rclone bisync J:\localsync GDrive:). If a drive letter is
  11770. omitted, the shell current drive is the default. Drive letters are a
  11771. single character follows by :, so cloud names must be more than one
  11772. character long.
  11773. Absolute paths (with or without a drive letter), and relative paths
  11774. (with or without a drive letter) are supported.
  11775. Working directory is created at
  11776. C:\Users\MyLogin\AppData\Local\rclone\bisync.
  11777. Note that bisync output may show a mix of forward / and back \ slashes.
  11778. Be careful of case independent directory and file naming on Windows vs.
  11779. case dependent Linux
  11780. Filtering
  11781. See filtering documentation for how filter rules are written and
  11782. interpreted.
  11783. Bisync's --filters-file flag slightly extends the rclone's --filter-from
  11784. filtering mechanism. For a given bisync run you may provide only one
  11785. --filters-file. The --include*, --exclude*, and --filter flags are also
  11786. supported.
  11787. How to filter directories
  11788. Filtering portions of the directory tree is a critical feature for
  11789. synching.
  11790. Examples of directory trees (always beneath the Path1/Path2 root level)
  11791. you may want to exclude from your sync: - Directory trees containing
  11792. only software build intermediate files. - Directory trees containing
  11793. application temporary files and data such as the Windows
  11794. C:\Users\MyLogin\AppData\ tree. - Directory trees containing files that
  11795. are large, less important, or are getting thrashed continuously by
  11796. ongoing processes.
  11797. On the other hand, there may be only select directories that you
  11798. actually want to sync, and exclude all others. See the Example
  11799. include-style filters for Windows user directories below.
  11800. Filters file writing guidelines
  11801. 1. Begin with excluding directory trees:
  11802. - e.g. `- /AppData/`
  11803. - ** on the end is not necessary. Once a given directory level is
  11804. excluded then everything beneath it won't be looked at by
  11805. rclone.
  11806. - Exclude such directories that are unneeded, are big, dynamically
  11807. thrashed, or where there may be access permission issues.
  11808. - Excluding such dirs first will make rclone operations (much)
  11809. faster.
  11810. - Specific files may also be excluded, as with the Dropbox
  11811. exclusions example below.
  11812. 2. Decide if its easier (or cleaner) to:
  11813. - Include select directories and therefore exclude everything else
  11814. -- or --
  11815. - Exclude select directories and therefore include everything else
  11816. 3. Include select directories:
  11817. - Add lines like: `+ /Documents/PersonalFiles/**` to select which
  11818. directories to include in the sync.
  11819. - ** on the end specifies to include the full depth of the
  11820. specified tree.
  11821. - With Include-style filters, files at the Path1/Path2 root are
  11822. not included. They may be included with `+ /*`.
  11823. - Place RCLONE_TEST files within these included directory trees.
  11824. They will only be looked for in these directory trees.
  11825. - Finish by excluding everything else by adding `- **` at the end
  11826. of the filters file.
  11827. - Disregard step 4.
  11828. 4. Exclude select directories:
  11829. - Add more lines like in step 1. For example:
  11830. -/Desktop/tempfiles/, or `- /testdir/. Again, a**` on the end
  11831. is not necessary.
  11832. - Do not add a `- **` in the file. Without this line, everything
  11833. will be included that has not be explicitly excluded.
  11834. - Disregard step 3.
  11835. A few rules for the syntax of a filter file expanding on filtering
  11836. documentation:
  11837. - Lines may start with spaces and tabs - rclone strips leading
  11838. whitespace.
  11839. - If the first non-whitespace character is a # then the line is a
  11840. comment and will be ignored.
  11841. - Blank lines are ignored.
  11842. - The first non-whitespace character on a filter line must be a + or
  11843. -.
  11844. - Exactly 1 space is allowed between the +/- and the path term.
  11845. - Only forward slashes (/) are used in path terms, even on Windows.
  11846. - The rest of the line is taken as the path term. Trailing whitespace
  11847. is taken literally, and probably is an error.
  11848. Example include-style filters for Windows user directories
  11849. This Windows include-style example is based on the sync root (Path1) set
  11850. to C:\Users\MyLogin. The strategy is to select specific directories to
  11851. be synched with a network drive (Path2).
  11852. - `- /AppData/` excludes an entire tree of Windows stored stuff that
  11853. need not be synched. In my case, AppData has >11 GB of stuff I don't
  11854. care about, and there are some subdirectories beneath AppData that
  11855. are not accessible to my user login, resulting in bisync critical
  11856. aborts.
  11857. - Windows creates cache files starting with both upper and lowercase
  11858. NTUSER at C:\Users\MyLogin. These files may be dynamic, locked, and
  11859. are generally don't care.
  11860. - There are just a few directories with my data that I do want
  11861. synched, in the form of `+
  11862. /. By selecting only the directory trees I want to avoid the dozen plus directories that various apps make atC:`.
  11863. - Include files in the root of the sync point, C:\Users\MyLogin, by
  11864. adding the `+ /*` line.
  11865. - This is an Include-style filters file, therefore it ends with `- **`
  11866. which excludes everything not explicitly included.
  11867. - /AppData/
  11868. - NTUSER*
  11869. - ntuser*
  11870. + /Documents/Family/**
  11871. + /Documents/Sketchup/**
  11872. + /Documents/Microcapture_Photo/**
  11873. + /Documents/Microcapture_Video/**
  11874. + /Desktop/**
  11875. + /Pictures/**
  11876. + /*
  11877. - **
  11878. Note also that Windows implements several "library" links such as
  11879. C:\Users\MyLogin\My Documents\My Music pointing to
  11880. C:\Users\MyLogin\Music. rclone sees these as links, so you must add
  11881. --links to the bisync command line if you which to follow these links. I
  11882. find that I get permission errors in trying to follow the links, so I
  11883. don't include the rclone --links flag, but then you get lots of
  11884. Can't follow symlink… noise from rclone about not following the links.
  11885. This noise can be quashed by adding --quiet to the bisync command line.
  11886. Example exclude-style filters files for use with Dropbox
  11887. - Dropbox disallows synching the listed temporary and
  11888. configuration/data files. The `- ` filters exclude these files where
  11889. ever they may occur in the sync tree. Consider adding similar
  11890. exclusions for file types you don't need to sync, such as core dump
  11891. and software build files.
  11892. - bisync testing creates /testdir/ at the top level of the sync tree,
  11893. and usually deletes the tree after the test. If a normal sync should
  11894. run while the /testdir/ tree exists the --check-access phase may
  11895. fail due to unbalanced RCLONE_TEST files. The `- /testdir/` filter
  11896. blocks this tree from being synched. You don't need this exclusion
  11897. if you are not doing bisync development testing.
  11898. - Everything else beneath the Path1/Path2 root will be synched.
  11899. - RCLONE_TEST files may be placed anywhere within the tree, including
  11900. the root.
  11901. Example filters file for Dropbox
  11902. # Filter file for use with bisync
  11903. # See https://rclone.org/filtering/ for filtering rules
  11904. # NOTICE: If you make changes to this file you MUST do a --resync run.
  11905. # Run with --dry-run to see what changes will be made.
  11906. # Dropbox won't sync some files so filter them away here.
  11907. # See https://help.dropbox.com/installs-integrations/sync-uploads/files-not-syncing
  11908. - .dropbox.attr
  11909. - ~*.tmp
  11910. - ~$*
  11911. - .~*
  11912. - desktop.ini
  11913. - .dropbox
  11914. # Used for bisync testing, so excluded from normal runs
  11915. - /testdir/
  11916. # Other example filters
  11917. #- /TiBU/
  11918. #- /Photos/
  11919. How --check-access handles filters
  11920. At the start of a bisync run, listings are gathered for Path1 and Path2
  11921. while using the user's --filters-file. During the check access phase,
  11922. bisync scans these listings for RCLONE_TEST files. Any RCLONE_TEST files
  11923. hidden by the --filters-file are not in the listings and thus not
  11924. checked during the check access phase.
  11925. Troubleshooting
  11926. Reading bisync logs
  11927. Here are two normal runs. The first one has a newer file on the remote.
  11928. The second has no deltas between local and remote.
  11929. 2021/05/16 00:24:38 INFO : Synching Path1 "/path/to/local/tree/" with Path2 "dropbox:/"
  11930. 2021/05/16 00:24:38 INFO : Path1 checking for diffs
  11931. 2021/05/16 00:24:38 INFO : - Path1 File is new - file.txt
  11932. 2021/05/16 00:24:38 INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted
  11933. 2021/05/16 00:24:38 INFO : Path2 checking for diffs
  11934. 2021/05/16 00:24:38 INFO : Applying changes
  11935. 2021/05/16 00:24:38 INFO : - Path1 Queue copy to Path2 - dropbox:/file.txt
  11936. 2021/05/16 00:24:38 INFO : - Path1 Do queued copies to - Path2
  11937. 2021/05/16 00:24:38 INFO : Updating listings
  11938. 2021/05/16 00:24:38 INFO : Validating listings for Path1 "/path/to/local/tree/" vs Path2 "dropbox:/"
  11939. 2021/05/16 00:24:38 INFO : Bisync successful
  11940. 2021/05/16 00:36:52 INFO : Synching Path1 "/path/to/local/tree/" with Path2 "dropbox:/"
  11941. 2021/05/16 00:36:52 INFO : Path1 checking for diffs
  11942. 2021/05/16 00:36:52 INFO : Path2 checking for diffs
  11943. 2021/05/16 00:36:52 INFO : No changes found
  11944. 2021/05/16 00:36:52 INFO : Updating listings
  11945. 2021/05/16 00:36:52 INFO : Validating listings for Path1 "/path/to/local/tree/" vs Path2 "dropbox:/"
  11946. 2021/05/16 00:36:52 INFO : Bisync successful
  11947. Dry run oddity
  11948. The --dry-run messages may indicate that it would try to delete some
  11949. files. For example, if a file is new on Path2 and does not exist on
  11950. Path1 then it would normally be copied to Path1, but with --dry-run
  11951. enabled those copies don't happen, which leads to the attempted delete
  11952. on the Path2, blocked again by --dry-run: ... Not deleting as --dry-run.
  11953. This whole confusing situation is an artifact of the --dry-run flag.
  11954. Scrutinize the proposed deletes carefully, and if the files would have
  11955. been copied to Path1 then the threatened deletes on Path2 may be
  11956. disregarded.
  11957. Retries
  11958. Rclone has built in retries. If you run with --verbose you'll see error
  11959. and retry messages such as shown below. This is usually not a bug. If at
  11960. the end of the run you see Bisync successful and not
  11961. Bisync critical error or Bisync aborted then the run was successful, and
  11962. you can ignore the error messages.
  11963. The following run shows an intermittent fail. Lines 5 and _6- are low
  11964. level messages. Line 6 is a bubbled-up warning message, conveying the
  11965. error. Rclone normally retries failing commands, so there may be
  11966. numerous such messages in the log.
  11967. Since there are no final error/warning messages on line 7, rclone has
  11968. recovered from failure after a retry, and the overall sync was
  11969. successful.
  11970. 1: 2021/05/14 00:44:12 INFO : Synching Path1 "/path/to/local/tree" with Path2 "dropbox:"
  11971. 2: 2021/05/14 00:44:12 INFO : Path1 checking for diffs
  11972. 3: 2021/05/14 00:44:12 INFO : Path2 checking for diffs
  11973. 4: 2021/05/14 00:44:12 INFO : Path2: 113 changes: 22 new, 0 newer, 0 older, 91 deleted
  11974. 5: 2021/05/14 00:44:12 ERROR : /path/to/local/tree/objects/af: error listing: unexpected end of JSON input
  11975. 6: 2021/05/14 00:44:12 NOTICE: WARNING listing try 1 failed. - dropbox:
  11976. 7: 2021/05/14 00:44:12 INFO : Bisync successful
  11977. This log shows a Critical failure which requires a --resync to recover
  11978. from. See the Runtime Error Handling section.
  11979. 2021/05/12 00:49:40 INFO : Google drive root '': Waiting for checks to finish
  11980. 2021/05/12 00:49:40 INFO : Google drive root '': Waiting for transfers to finish
  11981. 2021/05/12 00:49:40 INFO : Google drive root '': not deleting files as there were IO errors
  11982. 2021/05/12 00:49:40 ERROR : Attempt 3/3 failed with 3 errors and: not deleting files as there were IO errors
  11983. 2021/05/12 00:49:40 ERROR : Failed to sync: not deleting files as there were IO errors
  11984. 2021/05/12 00:49:40 NOTICE: WARNING rclone sync try 3 failed. - /path/to/local/tree/
  11985. 2021/05/12 00:49:40 ERROR : Bisync aborted. Must run --resync to recover.
  11986. Denied downloads of "infected" or "abusive" files
  11987. Google Drive has a filter for certain file types (.exe, .apk, et cetera)
  11988. that by default cannot be copied from Google Drive to the local
  11989. filesystem. If you are having problems, run with --verbose to see
  11990. specifically which files are generating complaints. If the error is
  11991. This file has been identified as malware or spam and cannot be downloaded,
  11992. consider using the flag --drive-acknowledge-abuse.
  11993. Google Doc files
  11994. Google docs exist as virtual files on Google Drive and cannot be
  11995. transferred to other filesystems natively. While it is possible to
  11996. export a Google doc to a normal file (with .xlsx extension, for
  11997. example), it is not possible to import a normal file back into a Google
  11998. document.
  11999. Bisync's handling of Google Doc files is to flag them in the run log
  12000. output for user's attention and ignore them for any file transfers,
  12001. deletes, or syncs. They will show up with a length of -1 in the
  12002. listings. This bisync run is otherwise successful:
  12003. 2021/05/11 08:23:15 INFO : Synching Path1 "/path/to/local/tree/base/" with Path2 "GDrive:"
  12004. 2021/05/11 08:23:15 INFO : ...path2.lst-new: Ignoring incorrect line: "- -1 - - 2018-07-29T08:49:30.136000000+0000 GoogleDoc.docx"
  12005. 2021/05/11 08:23:15 INFO : Bisync successful
  12006. Usage examples
  12007. Cron
  12008. Rclone does not yet have a built-in capability to monitor the local file
  12009. system for changes and must be blindly run periodically. On Windows this
  12010. can be done using a Task Scheduler, on Linux you can use Cron which is
  12011. described below.
  12012. The 1st example runs a sync every 5 minutes between a local directory
  12013. and an OwnCloud server, with output logged to a runlog file:
  12014. # Minute (0-59)
  12015. # Hour (0-23)
  12016. # Day of Month (1-31)
  12017. # Month (1-12 or Jan-Dec)
  12018. # Day of Week (0-6 or Sun-Sat)
  12019. # Command
  12020. */5 * * * * /path/to/rclone bisync /local/files MyCloud: --check-access --filters-file /path/to/bysync-filters.txt --log-file /path/to//bisync.log
  12021. See crontab syntax). for the details of crontab time interval
  12022. expressions.
  12023. If you run rclone bisync as a cron job, redirect stdout/stderr to a
  12024. file. The 2nd example runs a sync to Dropbox every hour and logs all
  12025. stdout (via the >>) and stderr (via 2>&1) to a log file.
  12026. 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
  12027. Sharing an encrypted folder tree between hosts
  12028. bisync can keep a local folder in sync with a cloud service, but what if
  12029. you have some highly sensitive files to be synched?
  12030. Usage of a cloud service is for exchanging both routine and sensitive
  12031. personal files between one's home network, one's personal notebook when
  12032. on the road, and with one's work computer. The routine data is not
  12033. sensitive. For the sensitive data, configure an rclone crypt remote to
  12034. point to a subdirectory within the local disk tree that is bisync'd to
  12035. Dropbox, and then set up an bisync for this local crypt directory to a
  12036. directory outside of the main sync tree.
  12037. Linux server setup
  12038. - /path/to/DBoxroot is the root of my local sync tree. There are
  12039. numerous subdirectories.
  12040. - /path/to/DBoxroot/crypt is the root subdirectory for files that are
  12041. encrypted. This local directory target is setup as an rclone crypt
  12042. remote named Dropcrypt:. See rclone.conf snippet below.
  12043. - /path/to/my/unencrypted/files is the root of my sensitive files -
  12044. not encrypted, not within the tree synched to Dropbox.
  12045. - To sync my local unencrypted files with the encrypted Dropbox
  12046. versions I manually run
  12047. bisync /path/to/my/unencrypted/files DropCrypt:. This step could be
  12048. bundled into a script to run before and after the full Dropbox tree
  12049. sync in the last step, thus actively keeping the sensitive files in
  12050. sync.
  12051. - bisync /path/to/DBoxroot Dropbox: runs periodically via cron,
  12052. keeping my full local sync tree in sync with Dropbox.
  12053. Windows notebook setup
  12054. - The Dropbox client runs keeping the local tree
  12055. C:\Users\MyLogin\Dropbox always in sync with Dropbox. I could have
  12056. used rclone bisync instead.
  12057. - A separate directory tree at C:\Users\MyLogin\Documents\DropLocal
  12058. hosts the tree of unencrypted files/folders.
  12059. - To sync my local unencrypted files with the encrypted Dropbox
  12060. versions I manually run the following command:
  12061. rclone bisync C:\Users\MyLogin\Documents\DropLocal Dropcrypt:.
  12062. - The Dropbox client then syncs the changes with Dropbox.
  12063. rclone.conf snippet
  12064. [Dropbox]
  12065. type = dropbox
  12066. ...
  12067. [Dropcrypt]
  12068. type = crypt
  12069. remote = /path/to/DBoxroot/crypt # on the Linux server
  12070. remote = C:\Users\MyLogin\Dropbox\crypt # on the Windows notebook
  12071. filename_encryption = standard
  12072. directory_name_encryption = true
  12073. password = ...
  12074. ...
  12075. Testing
  12076. You should read this section only if you are developing for rclone. You
  12077. need to have rclone source code locally to work with bisync tests.
  12078. Bisync has a dedicated test framework implemented in the bisync_test.go
  12079. file located in the rclone source tree. The test suite is based on the
  12080. go test command. Series of tests are stored in subdirectories below the
  12081. cmd/bisync/testdata directory. Individual tests can be invoked by their
  12082. directory name, e.g.
  12083. go test . -case basic -remote local -remote2 gdrive: -v
  12084. Tests will make a temporary folder on remote and purge it afterwards. If
  12085. during test run there are intermittent errors and rclone retries, these
  12086. errors will be captured and flagged as invalid MISCOMPAREs. Rerunning
  12087. the test will let it pass. Consider such failures as noise.
  12088. Test command syntax
  12089. usage: go test ./cmd/bisync [options...]
  12090. Options:
  12091. -case NAME Name(s) of the test case(s) to run. Multiple names should
  12092. be separated by commas. You can remove the `test_` prefix
  12093. and replace `_` by `-` in test name for convenience.
  12094. If not `all`, the name(s) should map to a directory under
  12095. `./cmd/bisync/testdata`.
  12096. Use `all` to run all tests (default: all)
  12097. -remote PATH1 `local` or name of cloud service with `:` (default: local)
  12098. -remote2 PATH2 `local` or name of cloud service with `:` (default: local)
  12099. -no-compare Disable comparing test results with the golden directory
  12100. (default: compare)
  12101. -no-cleanup Disable cleanup of Path1 and Path2 testdirs.
  12102. Useful for troubleshooting. (default: cleanup)
  12103. -golden Store results in the golden directory (default: false)
  12104. This flag can be used with multiple tests.
  12105. -debug Print debug messages
  12106. -stop-at NUM Stop test after given step number. (default: run to the end)
  12107. Implies `-no-compare` and `-no-cleanup`, if the test really
  12108. ends prematurely. Only meaningful for a single test case.
  12109. -refresh-times Force refreshing the target modtime, useful for Dropbox
  12110. (default: false)
  12111. -verbose Run tests verbosely
  12112. Note: unlike rclone flags which must be prefixed by double dash (--),
  12113. the test command flags can be equally prefixed by a single - or double
  12114. dash.
  12115. Running tests
  12116. - go test . -case basic -remote local -remote2 local runs the
  12117. test_basic test case using only the local filesystem, synching one
  12118. local directory with another local directory. Test script output is
  12119. to the console, while commands within scenario.txt have their output
  12120. sent to the .../workdir/test.log file, which is finally compared to
  12121. the golden copy.
  12122. - The first argument after go test should be a relative name of the
  12123. directory containing bisync source code. If you run tests right from
  12124. there, the argument will be . (current directory) as in most
  12125. examples below. If you run bisync tests from the rclone source
  12126. directory, the command should be go test ./cmd/bisync ....
  12127. - The test engine will mangle rclone output to ensure comparability
  12128. with golden listings and logs.
  12129. - Test scenarios are located in ./cmd/bisync/testdata. The test -case
  12130. argument should match the full name of a subdirectory under that
  12131. directory. Every test subdirectory name on disk must start with
  12132. test_, this prefix can be omitted on command line for brevity. Also,
  12133. underscores in the name can be replaced by dashes for convenience.
  12134. - go test . -remote local -remote2 local -case all runs all tests.
  12135. - Path1 and Path2 may either be the keyword local or may be names of
  12136. configured cloud services.
  12137. go test . -remote gdrive: -remote2 dropbox: -case basic will run the
  12138. test between these two services, without transferring any files to
  12139. the local filesystem.
  12140. - Test run stdout and stderr console output may be directed to a file,
  12141. e.g.
  12142. go test . -remote gdrive: -remote2 local -case all > runlog.txt 2>&1
  12143. Test execution flow
  12144. 1. The base setup in the initial directory of the testcase is applied
  12145. on the Path1 and Path2 filesystems (via rclone copy the initial
  12146. directory to Path1, then rclone sync Path1 to Path2).
  12147. 2. The commands in the scenario.txt file are applied, with output
  12148. directed to the test.log file in the test working directory.
  12149. Typically, the first actual command in the scenario.txt file is to
  12150. do a --resync, which establishes the baseline {...}.path1.lst and
  12151. {...}.path2.lst files in the test working directory (.../workdir/
  12152. relative to the temporary test directory). Various commands and
  12153. listing snapshots are done within the test.
  12154. 3. Finally, the contents of the test working directory are compared to
  12155. the contents of the testcase's golden directory.
  12156. Notes about testing
  12157. - Test cases are in individual directories beneath
  12158. ./cmd/bisync/testdata. A command line reference to a test is
  12159. understood to reference a directory beneath testdata. For example,
  12160. go test ./cmd/bisync -case dry-run -remote gdrive: -remote2 local
  12161. refers to the test case in ./cmd/bisync/testdata/test_dry_run.
  12162. - The test working directory is located at .../workdir relative to a
  12163. temporary test directory, usually under /tmp on Linux.
  12164. - The local test sync tree is created at a temporary directory named
  12165. like bisync.XXX under system temporary directory.
  12166. - The remote test sync tree is located at a temporary directory under
  12167. <remote:>/bisync.XXX/.
  12168. - path1 and/or path2 subdirectories are created in a temporary
  12169. directory under the respective local or cloud test remote.
  12170. - By default, the Path1 and Path2 test dirs and workdir will be
  12171. deleted after each test run. The -no-cleanup flag disables purging
  12172. these directories when validating and debugging a given test. These
  12173. directories will be flushed before running another test, independent
  12174. of the -no-cleanup usage.
  12175. - You will likely want to add `-
  12176. /testdir/to your normal bisync--filters-fileso that normal syncs do not attempt to sync the test temporary directories, which may haveRCLONE_TESTmiscompares in some testcases which would otherwise trip the--check-accesssystem. The--check-accessmechanism is hard-coded to ignoreRCLONE_TESTfiles beneathbisync/testdata`,
  12177. so the test cases may reside on the synched tree even if there are
  12178. check file mismatches in the test tree.
  12179. - Some Dropbox tests can fail, notably printing the following message:
  12180. src and dst identical but can't set mod time without deleting and re-uploading
  12181. This is expected and happens due a way Dropbox handles modification
  12182. times. You should use the -refresh-times test flag to make up for
  12183. this.
  12184. - If Dropbox tests hit request limit for you and print error message
  12185. too_many_requests/...: Too many requests or write operations. then
  12186. follow the Dropbox App ID instructions.
  12187. Updating golden results
  12188. Sometimes even a slight change in the bisync source can cause little
  12189. changes spread around many log files. Updating them manually would be a
  12190. nightmare.
  12191. The -golden flag will store the test.log and *.lst listings from each
  12192. test case into respective golden directories. Golden results will
  12193. automatically contain generic strings instead of local or cloud paths
  12194. which means that they should match when run with a different cloud
  12195. service.
  12196. Your normal workflow might be as follows: 1. Git-clone the rclone
  12197. sources locally 2. Modify bisync source and check that it builds 3. Run
  12198. the whole test suite go test ./cmd/bisync -remote local 4. If some tests
  12199. show log difference, recheck them individually, e.g.:
  12200. go test ./cmd/bisync -remote local -case basic 5. If you are convinced
  12201. with the difference, goldenize all tests at once:
  12202. go test ./cmd/bisync -remote local -golden 6. Use word diff:
  12203. git diff --word-diff ./cmd/bisync/testdata/. Please note that normal
  12204. line-level diff is generally useless here. 7. Check the difference
  12205. carefully! 8. Commit the change (git commit) only if you are sure. If
  12206. unsure, save your code changes then wipe the log diffs from git:
  12207. git reset [--hard].
  12208. Structure of test scenarios
  12209. - <testname>/initial/ contains a tree of files that will be set as the
  12210. initial condition on both Path1 and Path2 testdirs.
  12211. - <testname>/modfiles/ contains files that will be used to modify the
  12212. Path1 and/or Path2 filesystems.
  12213. - <testname>/golden/ contains the expected content of the test working
  12214. directory (workdir) at the completion of the testcase.
  12215. - <testname>/scenario.txt contains the body of the test, in the form
  12216. of various commands to modify files, run bisync, and snapshot
  12217. listings. Output from these commands is captured to
  12218. .../workdir/test.log for comparison to the golden files.
  12219. Supported test commands
  12220. - test <some message> Print the line to the console and to the
  12221. test.log: test sync is working correctly with options x, y, z
  12222. - copy-listings <prefix> Save a copy of all .lst listings in the test
  12223. working directory with the specified prefix:
  12224. save-listings exclude-pass-run
  12225. - move-listings <prefix> Similar to copy-listings but removes the
  12226. source
  12227. - purge-children <dir> This will delete all child files and purge all
  12228. child subdirs under given directory but keep the parent intact. This
  12229. behavior is important for tests with Google Drive because removing
  12230. and re-creating the parent would change its ID.
  12231. - delete-file <file> Delete a single file.
  12232. - delete-glob <dir> <pattern> Delete a group of files located one
  12233. level deep in the given directory with names matching a given glob
  12234. pattern.
  12235. - touch-glob YYYY-MM-DD <dir> <pattern> Change modification time on a
  12236. group of files.
  12237. - touch-copy YYYY-MM-DD <source-file> <dest-dir> Change file
  12238. modification time then copy it to destination.
  12239. - copy-file <source-file> <dest-dir> Copy a single file to given
  12240. directory.
  12241. - copy-as <source-file> <dest-file> Similar to above but destination
  12242. must include both directory and the new file name at destination.
  12243. - copy-dir <src> <dst> and sync-dir <src> <dst> Copy/sync a directory.
  12244. Equivalent of rclone copy and rclone sync.
  12245. - list-dirs <dir> Equivalent to rclone lsf -R --dirs-only <dir>
  12246. - bisync [options] Runs bisync against -remote and -remote2.
  12247. Supported substitution terms
  12248. - {testdir/} - the root dir of the testcase
  12249. - {datadir/} - the modfiles dir under the testcase root
  12250. - {workdir/} - the temporary test working directory
  12251. - {path1/} - the root of the Path1 test directory tree
  12252. - {path2/} - the root of the Path2 test directory tree
  12253. - {session} - base name of the test listings
  12254. - {/} - OS-specific path separator
  12255. - {spc}, {tab}, {eol} - whitespace
  12256. - {chr:HH} - raw byte with given hexadecimal code
  12257. Substitution results of the terms named like {dir/} will end with / (or
  12258. backslash on Windows), so it is not necessary to include slash in the
  12259. usage, for example delete-file {path1/}file1.txt.
  12260. Benchmarks
  12261. This section is work in progress.
  12262. Here are a few data points for scale, execution times, and memory usage.
  12263. The first set of data was taken between a local disk to Dropbox. The
  12264. speedtest.net download speed was ~170 Mbps, and upload speed was ~10
  12265. Mbps. 500 files (~9.5 MB each) had been already synched. 50 files were
  12266. added in a new directory, each ~9.5 MB, ~475 MB total.
  12267. ------------------------------------------------------------------------
  12268. Change Operations and times Overall run
  12269. time
  12270. ------------------------ ----------------------------------- -----------
  12271. 500 files synched 1x listings for Path1 & Path2 1.5 sec
  12272. (nothing to move)
  12273. 500 files synched with 1x listings for Path1 & Path2 1.5 sec
  12274. --check-access
  12275. 50 new files on remote Queued 50 copies down: 27 sec 29 sec
  12276. Moved local dir Queued 50 copies up: 410 sec, 50 421 sec
  12277. deletes up: 9 sec
  12278. Moved remote dir Queued 50 copies down: 31 sec, 50 33 sec
  12279. deletes down: <1 sec
  12280. Delete local dir Queued 50 deletes up: 9 sec 13 sec
  12281. ------------------------------------------------------------------------
  12282. This next data is from a user's application. They had ~400GB of data
  12283. over 1.96 million files being sync'ed between a Windows local disk and
  12284. some remote cloud. The file full path length was on average 35
  12285. characters (which factors into load time and RAM required).
  12286. - Loading the prior listing into memory (1.96 million files, listing
  12287. file size 140 MB) took ~30 sec and occupied about 1 GB of RAM.
  12288. - Getting a fresh listing of the local file system (producing the 140
  12289. MB output file) took about XXX sec.
  12290. - Getting a fresh listing of the remote file system (producing the 140
  12291. MB output file) took about XXX sec. The network download speed was
  12292. measured at XXX Mb/s.
  12293. - Once the prior and current Path1 and Path2 listings were loaded (a
  12294. total of four to be loaded, two at a time), determining the deltas
  12295. was pretty quick (a few seconds for this test case), and the
  12296. transfer time for any files to be copied was dominated by the
  12297. network bandwidth.
  12298. References
  12299. rclone's bisync implementation was derived from the rclonesync-V2
  12300. project, including documentation and test mechanisms, with
  12301. [@cjnaz](https://github.com/cjnaz)'s full support and encouragement.
  12302. rclone bisync is similar in nature to a range of other projects:
  12303. - unison
  12304. - syncthing
  12305. - cjnaz/rclonesync
  12306. - ConorWilliams/rsinc
  12307. - jwink3101/syncrclone
  12308. - DavideRossi/upback
  12309. Bisync adopts the differential synchronization technique, which is based
  12310. on keeping history of changes performed by both synchronizing sides. See
  12311. the Dual Shadow Method section in the Neil Fraser's article.
  12312. Also note a number of academic publications by Benjamin Pierce about
  12313. Unison and synchronization in general.
  12314. 1Fichier
  12315. This is a backend for the 1fichier cloud storage service. Note that a
  12316. Premium subscription is required to use the API.
  12317. Paths are specified as remote:path
  12318. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  12319. Configuration
  12320. The initial setup for 1Fichier involves getting the API key from the
  12321. website which you need to do in your browser.
  12322. Here is an example of how to make a remote called remote. First run:
  12323. rclone config
  12324. This will guide you through an interactive setup process:
  12325. No remotes found, make a new one?
  12326. n) New remote
  12327. s) Set configuration password
  12328. q) Quit config
  12329. n/s/q> n
  12330. name> remote
  12331. Type of storage to configure.
  12332. Enter a string value. Press Enter for the default ("").
  12333. Choose a number from below, or type in your own value
  12334. [snip]
  12335. XX / 1Fichier
  12336. \ "fichier"
  12337. [snip]
  12338. Storage> fichier
  12339. ** See help for fichier backend at: https://rclone.org/fichier/ **
  12340. Your API Key, get it from https://1fichier.com/console/params.pl
  12341. Enter a string value. Press Enter for the default ("").
  12342. api_key> example_key
  12343. Edit advanced config? (y/n)
  12344. y) Yes
  12345. n) No
  12346. y/n>
  12347. Remote config
  12348. --------------------
  12349. [remote]
  12350. type = fichier
  12351. api_key = example_key
  12352. --------------------
  12353. y) Yes this is OK
  12354. e) Edit this remote
  12355. d) Delete this remote
  12356. y/e/d> y
  12357. Once configured you can then use rclone like this,
  12358. List directories in top level of your 1Fichier account
  12359. rclone lsd remote:
  12360. List all the files in your 1Fichier account
  12361. rclone ls remote:
  12362. To copy a local directory to a 1Fichier directory called backup
  12363. rclone copy /home/source remote:backup
  12364. Modified time and hashes
  12365. 1Fichier does not support modification times. It supports the Whirlpool
  12366. hash algorithm.
  12367. Duplicated files
  12368. 1Fichier can have two files with exactly the same name and path (unlike
  12369. a normal file system).
  12370. Duplicated files cause problems with the syncing and you will see
  12371. messages in the log about duplicates.
  12372. Restricted filename characters
  12373. In addition to the default restricted characters set the following
  12374. characters are also replaced:
  12375. Character Value Replacement
  12376. ----------- ------- -------------
  12377. \ 0x5C \
  12378. < 0x3C <
  12379. > 0x3E >
  12380. " 0x22 "
  12381. $ 0x24 $
  12382. ` 0x60 `
  12383. ' 0x27 '
  12384. File names can also not start or end with the following characters.
  12385. These only get replaced if they are the first or last character in the
  12386. name:
  12387. Character Value Replacement
  12388. ----------- ------- -------------
  12389. SP 0x20 ␠
  12390. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  12391. strings.
  12392. Standard options
  12393. Here are the Standard options specific to fichier (1Fichier).
  12394. --fichier-api-key
  12395. Your API Key, get it from https://1fichier.com/console/params.pl.
  12396. Properties:
  12397. - Config: api_key
  12398. - Env Var: RCLONE_FICHIER_API_KEY
  12399. - Type: string
  12400. - Required: false
  12401. Advanced options
  12402. Here are the Advanced options specific to fichier (1Fichier).
  12403. --fichier-shared-folder
  12404. If you want to download a shared folder, add this parameter.
  12405. Properties:
  12406. - Config: shared_folder
  12407. - Env Var: RCLONE_FICHIER_SHARED_FOLDER
  12408. - Type: string
  12409. - Required: false
  12410. --fichier-file-password
  12411. If you want to download a shared file that is password protected, add
  12412. this parameter.
  12413. NB Input to this must be obscured - see rclone obscure.
  12414. Properties:
  12415. - Config: file_password
  12416. - Env Var: RCLONE_FICHIER_FILE_PASSWORD
  12417. - Type: string
  12418. - Required: false
  12419. --fichier-folder-password
  12420. If you want to list the files in a shared folder that is password
  12421. protected, add this parameter.
  12422. NB Input to this must be obscured - see rclone obscure.
  12423. Properties:
  12424. - Config: folder_password
  12425. - Env Var: RCLONE_FICHIER_FOLDER_PASSWORD
  12426. - Type: string
  12427. - Required: false
  12428. --fichier-cdn
  12429. Set if you wish to use CDN download links.
  12430. Properties:
  12431. - Config: cdn
  12432. - Env Var: RCLONE_FICHIER_CDN
  12433. - Type: bool
  12434. - Default: false
  12435. --fichier-encoding
  12436. The encoding for the backend.
  12437. See the encoding section in the overview for more info.
  12438. Properties:
  12439. - Config: encoding
  12440. - Env Var: RCLONE_FICHIER_ENCODING
  12441. - Type: MultiEncoder
  12442. - Default:
  12443. Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot
  12444. Limitations
  12445. rclone about is not supported by the 1Fichier backend. Backends without
  12446. this capability cannot determine free space for an rclone mount or use
  12447. policy mfs (most free space) as a member of an rclone union remote.
  12448. See List of backends that do not support rclone about and rclone about
  12449. Alias
  12450. The alias remote provides a new name for another remote.
  12451. Paths may be as deep as required or a local path, e.g.
  12452. remote:directory/subdirectory or /directory/subdirectory.
  12453. During the initial setup with rclone config you will specify the target
  12454. remote. The target remote can either be a local path or another remote.
  12455. Subfolders can be used in target remote. Assume an alias remote named
  12456. backup with the target mydrive:private/backup. Invoking
  12457. rclone mkdir backup:desktop is exactly the same as invoking
  12458. rclone mkdir mydrive:private/backup/desktop.
  12459. There will be no special handling of paths containing .. segments.
  12460. Invoking rclone mkdir backup:../desktop is exactly the same as invoking
  12461. rclone mkdir mydrive:private/backup/../desktop. The empty path is not
  12462. allowed as a remote. To alias the current directory use . instead.
  12463. The target remote can also be a connection string. This can be used to
  12464. modify the config of a remote for different uses, e.g. the alias
  12465. myDriveTrash with the target remote myDrive,trashed_only: can be used to
  12466. only show the trashed files in myDrive.
  12467. Configuration
  12468. Here is an example of how to make an alias called remote for local
  12469. folder. First run:
  12470. rclone config
  12471. This will guide you through an interactive setup process:
  12472. No remotes found, make a new one?
  12473. n) New remote
  12474. s) Set configuration password
  12475. q) Quit config
  12476. n/s/q> n
  12477. name> remote
  12478. Type of storage to configure.
  12479. Choose a number from below, or type in your own value
  12480. [snip]
  12481. XX / Alias for an existing remote
  12482. \ "alias"
  12483. [snip]
  12484. Storage> alias
  12485. Remote or path to alias.
  12486. Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path".
  12487. remote> /mnt/storage/backup
  12488. Remote config
  12489. --------------------
  12490. [remote]
  12491. remote = /mnt/storage/backup
  12492. --------------------
  12493. y) Yes this is OK
  12494. e) Edit this remote
  12495. d) Delete this remote
  12496. y/e/d> y
  12497. Current remotes:
  12498. Name Type
  12499. ==== ====
  12500. remote alias
  12501. e) Edit existing remote
  12502. n) New remote
  12503. d) Delete remote
  12504. r) Rename remote
  12505. c) Copy remote
  12506. s) Set configuration password
  12507. q) Quit config
  12508. e/n/d/r/c/s/q> q
  12509. Once configured you can then use rclone like this,
  12510. List directories in top level in /mnt/storage/backup
  12511. rclone lsd remote:
  12512. List all the files in /mnt/storage/backup
  12513. rclone ls remote:
  12514. Copy another local directory to the alias directory called source
  12515. rclone copy /home/source remote:source
  12516. Standard options
  12517. Here are the Standard options specific to alias (Alias for an existing
  12518. remote).
  12519. --alias-remote
  12520. Remote or path to alias.
  12521. Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or
  12522. "/local/path".
  12523. Properties:
  12524. - Config: remote
  12525. - Env Var: RCLONE_ALIAS_REMOTE
  12526. - Type: string
  12527. - Required: true
  12528. Amazon Drive
  12529. Amazon Drive, formerly known as Amazon Cloud Drive, is a cloud storage
  12530. service run by Amazon for consumers.
  12531. Status
  12532. Important: rclone supports Amazon Drive only if you have your own set of
  12533. API keys. Unfortunately the Amazon Drive developer program is now closed
  12534. to new entries so if you don't already have your own set of keys you
  12535. will not be able to use rclone with Amazon Drive.
  12536. For the history on why rclone no longer has a set of Amazon Drive API
  12537. keys see the forum.
  12538. If you happen to know anyone who works at Amazon then please ask them to
  12539. re-instate rclone into the Amazon Drive developer program - thanks!
  12540. Configuration
  12541. The initial setup for Amazon Drive involves getting a token from Amazon
  12542. which you need to do in your browser. rclone config walks you through
  12543. it.
  12544. The configuration process for Amazon Drive may involve using an oauth
  12545. proxy. This is used to keep the Amazon credentials out of the source
  12546. code. The proxy runs in Google's very secure App Engine environment and
  12547. doesn't store any credentials which pass through it.
  12548. Since rclone doesn't currently have its own Amazon Drive credentials so
  12549. you will either need to have your own client_id and client_secret with
  12550. Amazon Drive, or use a third-party oauth proxy in which case you will
  12551. need to enter client_id, client_secret, auth_url and token_url.
  12552. Note also if you are not using Amazon's auth_url and token_url, (ie you
  12553. filled in something for those) then if setting up on a remote machine
  12554. you can only use the copying the config method of configuration -
  12555. rclone authorize will not work.
  12556. Here is an example of how to make a remote called remote. First run:
  12557. rclone config
  12558. This will guide you through an interactive setup process:
  12559. No remotes found, make a new one?
  12560. n) New remote
  12561. r) Rename remote
  12562. c) Copy remote
  12563. s) Set configuration password
  12564. q) Quit config
  12565. n/r/c/s/q> n
  12566. name> remote
  12567. Type of storage to configure.
  12568. Choose a number from below, or type in your own value
  12569. [snip]
  12570. XX / Amazon Drive
  12571. \ "amazon cloud drive"
  12572. [snip]
  12573. Storage> amazon cloud drive
  12574. Amazon Application Client Id - required.
  12575. client_id> your client ID goes here
  12576. Amazon Application Client Secret - required.
  12577. client_secret> your client secret goes here
  12578. Auth server URL - leave blank to use Amazon's.
  12579. auth_url> Optional auth URL
  12580. Token server url - leave blank to use Amazon's.
  12581. token_url> Optional token URL
  12582. Remote config
  12583. Make sure your Redirect URL is set to "http://127.0.0.1:53682/" in your custom config.
  12584. Use web browser to automatically authenticate rclone with remote?
  12585. * Say Y if the machine running rclone has a web browser you can use
  12586. * Say N if running rclone on a (remote) machine without web browser access
  12587. If not sure try Y. If Y failed, try N.
  12588. y) Yes
  12589. n) No
  12590. y/n> y
  12591. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  12592. Log in and authorize rclone for access
  12593. Waiting for code...
  12594. Got code
  12595. --------------------
  12596. [remote]
  12597. client_id = your client ID goes here
  12598. client_secret = your client secret goes here
  12599. auth_url = Optional auth URL
  12600. token_url = Optional token URL
  12601. token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","refresh_token":"xxxxxxxxxxxxxxxxxx","expiry":"2015-09-06T16:07:39.658438471+01:00"}
  12602. --------------------
  12603. y) Yes this is OK
  12604. e) Edit this remote
  12605. d) Delete this remote
  12606. y/e/d> y
  12607. See the remote setup docs for how to set it up on a machine with no
  12608. Internet browser available.
  12609. Note that rclone runs a webserver on your local machine to collect the
  12610. token as returned from Amazon. This only runs from the moment it opens
  12611. your browser to the moment you get back the verification code. This is
  12612. on http://127.0.0.1:53682/ and this it may require you to unblock it
  12613. temporarily if you are running a host firewall.
  12614. Once configured you can then use rclone like this,
  12615. List directories in top level of your Amazon Drive
  12616. rclone lsd remote:
  12617. List all the files in your Amazon Drive
  12618. rclone ls remote:
  12619. To copy a local directory to an Amazon Drive directory called backup
  12620. rclone copy /home/source remote:backup
  12621. Modified time and MD5SUMs
  12622. Amazon Drive doesn't allow modification times to be changed via the API
  12623. so these won't be accurate or used for syncing.
  12624. It does store MD5SUMs so for a more accurate sync, you can use the
  12625. --checksum flag.
  12626. Restricted filename characters
  12627. Character Value Replacement
  12628. ----------- ------- -------------
  12629. NUL 0x00 ␀
  12630. / 0x2F /
  12631. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  12632. strings.
  12633. Deleting files
  12634. Any files you delete with rclone will end up in the trash. Amazon don't
  12635. provide an API to permanently delete files, nor to empty the trash, so
  12636. you will have to do that with one of Amazon's apps or via the Amazon
  12637. Drive website. As of November 17, 2016, files are automatically deleted
  12638. by Amazon from the trash after 30 days.
  12639. Using with non .com Amazon accounts
  12640. Let's say you usually use amazon.co.uk. When you authenticate with
  12641. rclone it will take you to an amazon.com page to log in. Your
  12642. amazon.co.uk email and password should work here just fine.
  12643. Standard options
  12644. Here are the Standard options specific to amazon cloud drive (Amazon
  12645. Drive).
  12646. --acd-client-id
  12647. OAuth Client Id.
  12648. Leave blank normally.
  12649. Properties:
  12650. - Config: client_id
  12651. - Env Var: RCLONE_ACD_CLIENT_ID
  12652. - Type: string
  12653. - Required: false
  12654. --acd-client-secret
  12655. OAuth Client Secret.
  12656. Leave blank normally.
  12657. Properties:
  12658. - Config: client_secret
  12659. - Env Var: RCLONE_ACD_CLIENT_SECRET
  12660. - Type: string
  12661. - Required: false
  12662. Advanced options
  12663. Here are the Advanced options specific to amazon cloud drive (Amazon
  12664. Drive).
  12665. --acd-token
  12666. OAuth Access Token as a JSON blob.
  12667. Properties:
  12668. - Config: token
  12669. - Env Var: RCLONE_ACD_TOKEN
  12670. - Type: string
  12671. - Required: false
  12672. --acd-auth-url
  12673. Auth server URL.
  12674. Leave blank to use the provider defaults.
  12675. Properties:
  12676. - Config: auth_url
  12677. - Env Var: RCLONE_ACD_AUTH_URL
  12678. - Type: string
  12679. - Required: false
  12680. --acd-token-url
  12681. Token server url.
  12682. Leave blank to use the provider defaults.
  12683. Properties:
  12684. - Config: token_url
  12685. - Env Var: RCLONE_ACD_TOKEN_URL
  12686. - Type: string
  12687. - Required: false
  12688. --acd-checkpoint
  12689. Checkpoint for internal polling (debug).
  12690. Properties:
  12691. - Config: checkpoint
  12692. - Env Var: RCLONE_ACD_CHECKPOINT
  12693. - Type: string
  12694. - Required: false
  12695. --acd-upload-wait-per-gb
  12696. Additional time per GiB to wait after a failed complete upload to see if
  12697. it appears.
  12698. Sometimes Amazon Drive gives an error when a file has been fully
  12699. uploaded but the file appears anyway after a little while. This happens
  12700. sometimes for files over 1 GiB in size and nearly every time for files
  12701. bigger than 10 GiB. This parameter controls the time rclone waits for
  12702. the file to appear.
  12703. The default value for this parameter is 3 minutes per GiB, so by default
  12704. it will wait 3 minutes for every GiB uploaded to see if the file
  12705. appears.
  12706. You can disable this feature by setting it to 0. This may cause conflict
  12707. errors as rclone retries the failed upload but the file will most likely
  12708. appear correctly eventually.
  12709. These values were determined empirically by observing lots of uploads of
  12710. big files for a range of file sizes.
  12711. Upload with the "-v" flag to see more info about what rclone is doing in
  12712. this situation.
  12713. Properties:
  12714. - Config: upload_wait_per_gb
  12715. - Env Var: RCLONE_ACD_UPLOAD_WAIT_PER_GB
  12716. - Type: Duration
  12717. - Default: 3m0s
  12718. --acd-templink-threshold
  12719. Files >= this size will be downloaded via their tempLink.
  12720. Files this size or more will be downloaded via their "tempLink". This is
  12721. to work around a problem with Amazon Drive which blocks downloads of
  12722. files bigger than about 10 GiB. The default for this is 9 GiB which
  12723. shouldn't need to be changed.
  12724. To download files above this threshold, rclone requests a "tempLink"
  12725. which downloads the file through a temporary URL directly from the
  12726. underlying S3 storage.
  12727. Properties:
  12728. - Config: templink_threshold
  12729. - Env Var: RCLONE_ACD_TEMPLINK_THRESHOLD
  12730. - Type: SizeSuffix
  12731. - Default: 9Gi
  12732. --acd-encoding
  12733. The encoding for the backend.
  12734. See the encoding section in the overview for more info.
  12735. Properties:
  12736. - Config: encoding
  12737. - Env Var: RCLONE_ACD_ENCODING
  12738. - Type: MultiEncoder
  12739. - Default: Slash,InvalidUtf8,Dot
  12740. Limitations
  12741. Note that Amazon Drive is case insensitive so you can't have a file
  12742. called "Hello.doc" and one called "hello.doc".
  12743. Amazon Drive has rate limiting so you may notice errors in the sync (429
  12744. errors). rclone will automatically retry the sync up to 3 times by
  12745. default (see --retries flag) which should hopefully work around this
  12746. problem.
  12747. Amazon Drive has an internal limit of file sizes that can be uploaded to
  12748. the service. This limit is not officially published, but all files
  12749. larger than this will fail.
  12750. At the time of writing (Jan 2016) is in the area of 50 GiB per file.
  12751. This means that larger files are likely to fail.
  12752. Unfortunately there is no way for rclone to see that this failure is
  12753. because of file size, so it will retry the operation, as any other
  12754. failure. To avoid this problem, use --max-size 50000M option to limit
  12755. the maximum size of uploaded files. Note that --max-size does not split
  12756. files into segments, it only ignores files over this size.
  12757. rclone about is not supported by the Amazon Drive backend. Backends
  12758. without this capability cannot determine free space for an rclone mount
  12759. or use policy mfs (most free space) as a member of an rclone union
  12760. remote.
  12761. See List of backends that do not support rclone about and rclone about
  12762. Amazon S3 Storage Providers
  12763. The S3 backend can be used with a number of different providers:
  12764. - AWS S3
  12765. - Alibaba Cloud (Aliyun) Object Storage System (OSS)
  12766. - Ceph
  12767. - China Mobile Ecloud Elastic Object Storage (EOS)
  12768. - Cloudflare R2
  12769. - Arvan Cloud Object Storage (AOS)
  12770. - DigitalOcean Spaces
  12771. - Dreamhost
  12772. - GCS
  12773. - Huawei OBS
  12774. - IBM COS S3
  12775. - IDrive e2
  12776. - IONOS Cloud
  12777. - Liara Object Storage
  12778. - Minio
  12779. - Petabox
  12780. - Qiniu Cloud Object Storage (Kodo)
  12781. - RackCorp Object Storage
  12782. - Scaleway
  12783. - Seagate Lyve Cloud
  12784. - SeaweedFS
  12785. - StackPath
  12786. - Storj
  12787. - Tencent Cloud Object Storage (COS)
  12788. - Wasabi
  12789. Paths are specified as remote:bucket (or remote: for the lsd command.)
  12790. You may put subdirectories in too, e.g. remote:bucket/path/to/dir.
  12791. Once you have made a remote (see the provider specific section above)
  12792. you can use it like this:
  12793. See all buckets
  12794. rclone lsd remote:
  12795. Make a new bucket
  12796. rclone mkdir remote:bucket
  12797. List the contents of a bucket
  12798. rclone ls remote:bucket
  12799. Sync /home/local/directory to the remote bucket, deleting any excess
  12800. files in the bucket.
  12801. rclone sync --interactive /home/local/directory remote:bucket
  12802. Configuration
  12803. Here is an example of making an s3 configuration for the AWS S3
  12804. provider. Most applies to the other providers as well, any differences
  12805. are described below.
  12806. First run
  12807. rclone config
  12808. This will guide you through an interactive setup process.
  12809. No remotes found, make a new one?
  12810. n) New remote
  12811. s) Set configuration password
  12812. q) Quit config
  12813. n/s/q> n
  12814. name> remote
  12815. Type of storage to configure.
  12816. Choose a number from below, or type in your own value
  12817. [snip]
  12818. XX / Amazon S3 Compliant Storage Providers including AWS, Ceph, ChinaMobile, ArvanCloud, Dreamhost, IBM COS, Liara, Minio, and Tencent COS
  12819. \ "s3"
  12820. [snip]
  12821. Storage> s3
  12822. Choose your S3 provider.
  12823. Choose a number from below, or type in your own value
  12824. 1 / Amazon Web Services (AWS) S3
  12825. \ "AWS"
  12826. 2 / Ceph Object Storage
  12827. \ "Ceph"
  12828. 3 / DigitalOcean Spaces
  12829. \ "DigitalOcean"
  12830. 4 / Dreamhost DreamObjects
  12831. \ "Dreamhost"
  12832. 5 / IBM COS S3
  12833. \ "IBMCOS"
  12834. 6 / Minio Object Storage
  12835. \ "Minio"
  12836. 7 / Wasabi Object Storage
  12837. \ "Wasabi"
  12838. 8 / Any other S3 compatible provider
  12839. \ "Other"
  12840. provider> 1
  12841. 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.
  12842. Choose a number from below, or type in your own value
  12843. 1 / Enter AWS credentials in the next step
  12844. \ "false"
  12845. 2 / Get AWS credentials from the environment (env vars or IAM)
  12846. \ "true"
  12847. env_auth> 1
  12848. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  12849. access_key_id> XXX
  12850. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  12851. secret_access_key> YYY
  12852. Region to connect to.
  12853. Choose a number from below, or type in your own value
  12854. / The default endpoint - a good choice if you are unsure.
  12855. 1 | US Region, Northern Virginia, or Pacific Northwest.
  12856. | Leave location constraint empty.
  12857. \ "us-east-1"
  12858. / US East (Ohio) Region
  12859. 2 | Needs location constraint us-east-2.
  12860. \ "us-east-2"
  12861. / US West (Oregon) Region
  12862. 3 | Needs location constraint us-west-2.
  12863. \ "us-west-2"
  12864. / US West (Northern California) Region
  12865. 4 | Needs location constraint us-west-1.
  12866. \ "us-west-1"
  12867. / Canada (Central) Region
  12868. 5 | Needs location constraint ca-central-1.
  12869. \ "ca-central-1"
  12870. / EU (Ireland) Region
  12871. 6 | Needs location constraint EU or eu-west-1.
  12872. \ "eu-west-1"
  12873. / EU (London) Region
  12874. 7 | Needs location constraint eu-west-2.
  12875. \ "eu-west-2"
  12876. / EU (Frankfurt) Region
  12877. 8 | Needs location constraint eu-central-1.
  12878. \ "eu-central-1"
  12879. / Asia Pacific (Singapore) Region
  12880. 9 | Needs location constraint ap-southeast-1.
  12881. \ "ap-southeast-1"
  12882. / Asia Pacific (Sydney) Region
  12883. 10 | Needs location constraint ap-southeast-2.
  12884. \ "ap-southeast-2"
  12885. / Asia Pacific (Tokyo) Region
  12886. 11 | Needs location constraint ap-northeast-1.
  12887. \ "ap-northeast-1"
  12888. / Asia Pacific (Seoul)
  12889. 12 | Needs location constraint ap-northeast-2.
  12890. \ "ap-northeast-2"
  12891. / Asia Pacific (Mumbai)
  12892. 13 | Needs location constraint ap-south-1.
  12893. \ "ap-south-1"
  12894. / Asia Pacific (Hong Kong) Region
  12895. 14 | Needs location constraint ap-east-1.
  12896. \ "ap-east-1"
  12897. / South America (Sao Paulo) Region
  12898. 15 | Needs location constraint sa-east-1.
  12899. \ "sa-east-1"
  12900. region> 1
  12901. Endpoint for S3 API.
  12902. Leave blank if using AWS to use the default endpoint for the region.
  12903. endpoint>
  12904. Location constraint - must be set to match the Region. Used when creating buckets only.
  12905. Choose a number from below, or type in your own value
  12906. 1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
  12907. \ ""
  12908. 2 / US East (Ohio) Region.
  12909. \ "us-east-2"
  12910. 3 / US West (Oregon) Region.
  12911. \ "us-west-2"
  12912. 4 / US West (Northern California) Region.
  12913. \ "us-west-1"
  12914. 5 / Canada (Central) Region.
  12915. \ "ca-central-1"
  12916. 6 / EU (Ireland) Region.
  12917. \ "eu-west-1"
  12918. 7 / EU (London) Region.
  12919. \ "eu-west-2"
  12920. 8 / EU Region.
  12921. \ "EU"
  12922. 9 / Asia Pacific (Singapore) Region.
  12923. \ "ap-southeast-1"
  12924. 10 / Asia Pacific (Sydney) Region.
  12925. \ "ap-southeast-2"
  12926. 11 / Asia Pacific (Tokyo) Region.
  12927. \ "ap-northeast-1"
  12928. 12 / Asia Pacific (Seoul)
  12929. \ "ap-northeast-2"
  12930. 13 / Asia Pacific (Mumbai)
  12931. \ "ap-south-1"
  12932. 14 / Asia Pacific (Hong Kong)
  12933. \ "ap-east-1"
  12934. 15 / South America (Sao Paulo) Region.
  12935. \ "sa-east-1"
  12936. location_constraint> 1
  12937. Canned ACL used when creating buckets and/or storing objects in S3.
  12938. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  12939. Choose a number from below, or type in your own value
  12940. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  12941. \ "private"
  12942. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
  12943. \ "public-read"
  12944. / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
  12945. 3 | Granting this on a bucket is generally not recommended.
  12946. \ "public-read-write"
  12947. 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
  12948. \ "authenticated-read"
  12949. / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
  12950. 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  12951. \ "bucket-owner-read"
  12952. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  12953. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  12954. \ "bucket-owner-full-control"
  12955. acl> 1
  12956. The server-side encryption algorithm used when storing this object in S3.
  12957. Choose a number from below, or type in your own value
  12958. 1 / None
  12959. \ ""
  12960. 2 / AES256
  12961. \ "AES256"
  12962. server_side_encryption> 1
  12963. The storage class to use when storing objects in S3.
  12964. Choose a number from below, or type in your own value
  12965. 1 / Default
  12966. \ ""
  12967. 2 / Standard storage class
  12968. \ "STANDARD"
  12969. 3 / Reduced redundancy storage class
  12970. \ "REDUCED_REDUNDANCY"
  12971. 4 / Standard Infrequent Access storage class
  12972. \ "STANDARD_IA"
  12973. 5 / One Zone Infrequent Access storage class
  12974. \ "ONEZONE_IA"
  12975. 6 / Glacier storage class
  12976. \ "GLACIER"
  12977. 7 / Glacier Deep Archive storage class
  12978. \ "DEEP_ARCHIVE"
  12979. 8 / Intelligent-Tiering storage class
  12980. \ "INTELLIGENT_TIERING"
  12981. 9 / Glacier Instant Retrieval storage class
  12982. \ "GLACIER_IR"
  12983. storage_class> 1
  12984. Remote config
  12985. --------------------
  12986. [remote]
  12987. type = s3
  12988. provider = AWS
  12989. env_auth = false
  12990. access_key_id = XXX
  12991. secret_access_key = YYY
  12992. region = us-east-1
  12993. endpoint =
  12994. location_constraint =
  12995. acl = private
  12996. server_side_encryption =
  12997. storage_class =
  12998. --------------------
  12999. y) Yes this is OK
  13000. e) Edit this remote
  13001. d) Delete this remote
  13002. y/e/d>
  13003. Modified time
  13004. The modified time is stored as metadata on the object as
  13005. X-Amz-Meta-Mtime as floating point since the epoch, accurate to 1 ns.
  13006. If the modification time needs to be updated rclone will attempt to
  13007. perform a server side copy to update the modification if the object can
  13008. be copied in a single part. In the case the object is larger than 5Gb or
  13009. is in Glacier or Glacier Deep Archive storage the object will be
  13010. uploaded rather than copied.
  13011. Note that reading this from the object takes an additional HEAD request
  13012. as the metadata isn't returned in object listings.
  13013. Reducing costs
  13014. Avoiding HEAD requests to read the modification time
  13015. By default, rclone will use the modification time of objects stored in
  13016. S3 for syncing. This is stored in object metadata which unfortunately
  13017. takes an extra HEAD request to read which can be expensive (in time and
  13018. money).
  13019. The modification time is used by default for all operations that require
  13020. checking the time a file was last updated. It allows rclone to treat the
  13021. remote more like a true filesystem, but it is inefficient on S3 because
  13022. it requires an extra API call to retrieve the metadata.
  13023. The extra API calls can be avoided when syncing (using rclone sync or
  13024. rclone copy) in a few different ways, each with its own tradeoffs.
  13025. - --size-only
  13026. - Only checks the size of files.
  13027. - Uses no extra transactions.
  13028. - If the file doesn't change size then rclone won't detect it has
  13029. changed.
  13030. - rclone sync --size-only /path/to/source s3:bucket
  13031. - --checksum
  13032. - Checks the size and MD5 checksum of files.
  13033. - Uses no extra transactions.
  13034. - The most accurate detection of changes possible.
  13035. - Will cause the source to read an MD5 checksum which, if it is a
  13036. local disk, will cause lots of disk activity.
  13037. - If the source and destination are both S3 this is the
  13038. recommended flag to use for maximum efficiency.
  13039. - rclone sync --checksum /path/to/source s3:bucket
  13040. - --update --use-server-modtime
  13041. - Uses no extra transactions.
  13042. - Modification time becomes the time the object was uploaded.
  13043. - For many operations this is sufficient to determine if it needs
  13044. uploading.
  13045. - Using --update along with --use-server-modtime, avoids the extra
  13046. API call and uploads files whose local modification time is
  13047. newer than the time it was last uploaded.
  13048. - Files created with timestamps in the past will be missed by the
  13049. sync.
  13050. - rclone sync --update --use-server-modtime /path/to/source s3:bucket
  13051. These flags can and should be used in combination with --fast-list - see
  13052. below.
  13053. If using rclone mount or any command using the VFS (eg rclone serve)
  13054. commands then you might want to consider using the VFS flag --no-modtime
  13055. which will stop rclone reading the modification time for every object.
  13056. You could also use --use-server-modtime if you are happy with the
  13057. modification times of the objects being the time of upload.
  13058. Avoiding GET requests to read directory listings
  13059. Rclone's default directory traversal is to process each directory
  13060. individually. This takes one API call per directory. Using the
  13061. --fast-list flag will read all info about the objects into memory first
  13062. using a smaller number of API calls (one per 1000 objects). See the
  13063. rclone docs for more details.
  13064. rclone sync --fast-list --checksum /path/to/source s3:bucket
  13065. --fast-list trades off API transactions for memory use. As a rough guide
  13066. rclone uses 1k of memory per object stored, so using --fast-list on a
  13067. sync of a million objects will use roughly 1 GiB of RAM.
  13068. If you are only copying a small number of files into a big repository
  13069. then using --no-traverse is a good idea. This finds objects directly
  13070. instead of through directory listings. You can do a "top-up" sync very
  13071. cheaply by using --max-age and --no-traverse to copy only recent files,
  13072. eg
  13073. rclone copy --max-age 24h --no-traverse /path/to/source s3:bucket
  13074. You'd then do a full rclone sync less often.
  13075. Note that --fast-list isn't required in the top-up sync.
  13076. Avoiding HEAD requests after PUT
  13077. By default, rclone will HEAD every object it uploads. It does this to
  13078. check the object got uploaded correctly.
  13079. You can disable this with the --s3-no-head option - see there for more
  13080. details.
  13081. Setting this flag increases the chance for undetected upload failures.
  13082. Hashes
  13083. For small objects which weren't uploaded as multipart uploads (objects
  13084. sized below --s3-upload-cutoff if uploaded with rclone) rclone uses the
  13085. ETag: header as an MD5 checksum.
  13086. However for objects which were uploaded as multipart uploads or with
  13087. server side encryption (SSE-AWS or SSE-C) the ETag header is no longer
  13088. the MD5 sum of the data, so rclone adds an additional piece of metadata
  13089. X-Amz-Meta-Md5chksum which is a base64 encoded MD5 hash (in the same
  13090. format as is required for Content-MD5). You can use base64 -d and
  13091. hexdump to check this value manually:
  13092. echo 'VWTGdNx3LyXQDfA0e2Edxw==' | base64 -d | hexdump
  13093. or you can use rclone check to verify the hashes are OK.
  13094. For large objects, calculating this hash can take some time so the
  13095. addition of this hash can be disabled with --s3-disable-checksum. This
  13096. will mean that these objects do not have an MD5 checksum.
  13097. Note that reading this from the object takes an additional HEAD request
  13098. as the metadata isn't returned in object listings.
  13099. Versions
  13100. When bucket versioning is enabled (this can be done with rclone with the
  13101. rclone backend versioning command) when rclone uploads a new version of
  13102. a file it creates a new version of it Likewise when you delete a file,
  13103. the old version will be marked hidden and still be available.
  13104. Old versions of files, where available, are visible using the
  13105. --s3-versions flag.
  13106. It is also possible to view a bucket as it was at a certain point in
  13107. time, using the --s3-version-at flag. This will show the file versions
  13108. as they were at that time, showing files that have been deleted
  13109. afterwards, and hiding files that were created since.
  13110. If you wish to remove all the old versions then you can use the
  13111. rclone backend cleanup-hidden remote:bucket command which will delete
  13112. all the old hidden versions of files, leaving the current ones intact.
  13113. You can also supply a path and only old versions under that path will be
  13114. deleted, e.g. rclone backend cleanup-hidden remote:bucket/path/to/stuff.
  13115. When you purge a bucket, the current and the old versions will be
  13116. deleted then the bucket will be deleted.
  13117. However delete will cause the current versions of the files to become
  13118. hidden old versions.
  13119. Here is a session showing the listing and retrieval of an old version
  13120. followed by a cleanup of the old versions.
  13121. Show current version and all the versions with --s3-versions flag.
  13122. $ rclone -q ls s3:cleanup-test
  13123. 9 one.txt
  13124. $ rclone -q --s3-versions ls s3:cleanup-test
  13125. 9 one.txt
  13126. 8 one-v2016-07-04-141032-000.txt
  13127. 16 one-v2016-07-04-141003-000.txt
  13128. 15 one-v2016-07-02-155621-000.txt
  13129. Retrieve an old version
  13130. $ rclone -q --s3-versions copy s3:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
  13131. $ ls -l /tmp/one-v2016-07-04-141003-000.txt
  13132. -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
  13133. Clean up all the old versions and show that they've gone.
  13134. $ rclone -q backend cleanup-hidden s3:cleanup-test
  13135. $ rclone -q ls s3:cleanup-test
  13136. 9 one.txt
  13137. $ rclone -q --s3-versions ls s3:cleanup-test
  13138. 9 one.txt
  13139. Cleanup
  13140. If you run rclone cleanup s3:bucket then it will remove all pending
  13141. multipart uploads older than 24 hours. You can use the --interactive/i
  13142. or --dry-run flag to see exactly what it will do. If you want more
  13143. control over the expiry date then run
  13144. rclone backend cleanup s3:bucket -o max-age=1h to expire all uploads
  13145. older than one hour. You can use
  13146. rclone backend list-multipart-uploads s3:bucket to see the pending
  13147. multipart uploads.
  13148. Restricted filename characters
  13149. S3 allows any valid UTF-8 string as a key.
  13150. Invalid UTF-8 bytes will be replaced, as they can't be used in XML.
  13151. The following characters are replaced since these are problematic when
  13152. dealing with the REST API:
  13153. Character Value Replacement
  13154. ----------- ------- -------------
  13155. NUL 0x00 ␀
  13156. / 0x2F /
  13157. The encoding will also encode these file names as they don't seem to
  13158. work with the SDK properly:
  13159. File name Replacement
  13160. ----------- -------------
  13161. . .
  13162. .. ..
  13163. Multipart uploads
  13164. rclone supports multipart uploads with S3 which means that it can upload
  13165. files bigger than 5 GiB.
  13166. Note that files uploaded both with multipart upload and through crypt
  13167. remotes do not have MD5 sums.
  13168. rclone switches from single part uploads to multipart uploads at the
  13169. point specified by --s3-upload-cutoff. This can be a maximum of 5 GiB
  13170. and a minimum of 0 (ie always upload multipart files).
  13171. The chunk sizes used in the multipart upload are specified by
  13172. --s3-chunk-size and the number of chunks uploaded concurrently is
  13173. specified by --s3-upload-concurrency.
  13174. Multipart uploads will use --transfers * --s3-upload-concurrency *
  13175. --s3-chunk-size extra memory. Single part uploads to not use extra
  13176. memory.
  13177. Single part transfers can be faster than multipart transfers or slower
  13178. depending on your latency from S3 - the more latency, the more likely
  13179. single part transfers will be faster.
  13180. Increasing --s3-upload-concurrency will increase throughput (8 would be
  13181. a sensible value) and increasing --s3-chunk-size also increases
  13182. throughput (16M would be sensible). Increasing either of these will use
  13183. more memory. The default values are high enough to gain most of the
  13184. possible performance without using too much memory.
  13185. Buckets and Regions
  13186. With Amazon S3 you can list buckets (rclone lsd) using any region, but
  13187. you can only access the content of a bucket from the region it was
  13188. created in. If you attempt to access a bucket from the wrong region, you
  13189. will get an error, incorrect region, the bucket is not in 'XXX' region.
  13190. Authentication
  13191. There are a number of ways to supply rclone with a set of AWS
  13192. credentials, with and without using the environment.
  13193. The different authentication methods are tried in this order:
  13194. - Directly in the rclone configuration file (env_auth = false in the
  13195. config file):
  13196. - access_key_id and secret_access_key are required.
  13197. - session_token can be optionally set when using AWS STS.
  13198. - Runtime configuration (env_auth = true in the config file):
  13199. - Export the following environment variables before running
  13200. rclone:
  13201. - Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
  13202. - Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
  13203. - Session Token: AWS_SESSION_TOKEN (optional)
  13204. - Or, use a named profile:
  13205. - Profile files are standard files used by AWS CLI tools
  13206. - By default it will use the profile in your home directory
  13207. (e.g. ~/.aws/credentials on unix based systems) file and the
  13208. "default" profile, to change set these environment
  13209. variables:
  13210. - AWS_SHARED_CREDENTIALS_FILE to control which file.
  13211. - AWS_PROFILE to control which profile to use.
  13212. - Or, run rclone in an ECS task with an IAM role (AWS only).
  13213. - Or, run rclone on an EC2 instance with an IAM role (AWS only).
  13214. - Or, run rclone in an EKS pod with an IAM role that is associated
  13215. with a service account (AWS only).
  13216. If none of these option actually end up providing rclone with AWS
  13217. credentials then S3 interaction will be non-authenticated (see below).
  13218. S3 Permissions
  13219. When using the sync subcommand of rclone the following minimum
  13220. permissions are required to be available on the bucket being written to:
  13221. - ListBucket
  13222. - DeleteObject
  13223. - GetObject
  13224. - PutObject
  13225. - PutObjectACL
  13226. When using the lsd subcommand, the ListAllMyBuckets permission is
  13227. required.
  13228. Example policy:
  13229. {
  13230. "Version": "2012-10-17",
  13231. "Statement": [
  13232. {
  13233. "Effect": "Allow",
  13234. "Principal": {
  13235. "AWS": "arn:aws:iam::USER_SID:user/USER_NAME"
  13236. },
  13237. "Action": [
  13238. "s3:ListBucket",
  13239. "s3:DeleteObject",
  13240. "s3:GetObject",
  13241. "s3:PutObject",
  13242. "s3:PutObjectAcl"
  13243. ],
  13244. "Resource": [
  13245. "arn:aws:s3:::BUCKET_NAME/*",
  13246. "arn:aws:s3:::BUCKET_NAME"
  13247. ]
  13248. },
  13249. {
  13250. "Effect": "Allow",
  13251. "Action": "s3:ListAllMyBuckets",
  13252. "Resource": "arn:aws:s3:::*"
  13253. }
  13254. ]
  13255. }
  13256. Notes on above:
  13257. 1. This is a policy that can be used when creating bucket. It assumes
  13258. that USER_NAME has been created.
  13259. 2. The Resource entry must include both resource ARNs, as one implies
  13260. the bucket and the other implies the bucket's objects.
  13261. For reference, here's an Ansible script that will generate one or more
  13262. buckets that will work with rclone sync.
  13263. Key Management System (KMS)
  13264. If you are using server-side encryption with KMS then you must make sure
  13265. rclone is configured with server_side_encryption = aws:kms otherwise you
  13266. will find you can't transfer small objects - these will create checksum
  13267. errors.
  13268. Glacier and Glacier Deep Archive
  13269. You can upload objects using the glacier storage class or transition
  13270. them to glacier using a lifecycle policy. The bucket can still be synced
  13271. or copied into normally, but if rclone tries to access data from the
  13272. glacier storage class you will see an error like below.
  13273. 2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file
  13274. In this case you need to restore the object(s) in question before using
  13275. rclone.
  13276. Note that rclone only speaks the S3 API it does not speak the Glacier
  13277. Vault API, so rclone cannot directly access Glacier Vaults.
  13278. Object-lock enabled S3 bucket
  13279. According to AWS's documentation on S3 Object Lock:
  13280. If you configure a default retention period on a bucket, requests to
  13281. upload objects in such a bucket must include the Content-MD5 header.
  13282. As mentioned in the Hashes section, small files that are not uploaded as
  13283. multipart, use a different tag, causing the upload to fail. A simple
  13284. solution is to set the --s3-upload-cutoff 0 and force all the files to
  13285. be uploaded as multipart.
  13286. Standard options
  13287. Here are the Standard options specific to s3 (Amazon S3 Compliant
  13288. Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, China
  13289. Mobile, Cloudflare, GCS, DigitalOcean, Dreamhost, Huawei OBS, IBM COS,
  13290. IDrive e2, IONOS Cloud, Liara, Lyve Cloud, Minio, Netease, Petabox,
  13291. RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and
  13292. Wasabi).
  13293. --s3-provider
  13294. Choose your S3 provider.
  13295. Properties:
  13296. - Config: provider
  13297. - Env Var: RCLONE_S3_PROVIDER
  13298. - Type: string
  13299. - Required: false
  13300. - Examples:
  13301. - "AWS"
  13302. - Amazon Web Services (AWS) S3
  13303. - "Alibaba"
  13304. - Alibaba Cloud Object Storage System (OSS) formerly Aliyun
  13305. - "ArvanCloud"
  13306. - Arvan Cloud Object Storage (AOS)
  13307. - "Ceph"
  13308. - Ceph Object Storage
  13309. - "ChinaMobile"
  13310. - China Mobile Ecloud Elastic Object Storage (EOS)
  13311. - "Cloudflare"
  13312. - Cloudflare R2 Storage
  13313. - "DigitalOcean"
  13314. - DigitalOcean Spaces
  13315. - "Dreamhost"
  13316. - Dreamhost DreamObjects
  13317. - "GCS"
  13318. - Google Cloud Storage
  13319. - "HuaweiOBS"
  13320. - Huawei Object Storage Service
  13321. - "IBMCOS"
  13322. - IBM COS S3
  13323. - "IDrive"
  13324. - IDrive e2
  13325. - "IONOS"
  13326. - IONOS Cloud
  13327. - "LyveCloud"
  13328. - Seagate Lyve Cloud
  13329. - "Liara"
  13330. - Liara Object Storage
  13331. - "Minio"
  13332. - Minio Object Storage
  13333. - "Netease"
  13334. - Netease Object Storage (NOS)
  13335. - "Petabox"
  13336. - Petabox Object Storage
  13337. - "RackCorp"
  13338. - RackCorp Object Storage
  13339. - "Scaleway"
  13340. - Scaleway Object Storage
  13341. - "SeaweedFS"
  13342. - SeaweedFS S3
  13343. - "StackPath"
  13344. - StackPath Object Storage
  13345. - "Storj"
  13346. - Storj (S3 Compatible Gateway)
  13347. - "TencentCOS"
  13348. - Tencent Cloud Object Storage (COS)
  13349. - "Wasabi"
  13350. - Wasabi Object Storage
  13351. - "Qiniu"
  13352. - Qiniu Object Storage (Kodo)
  13353. - "Other"
  13354. - Any other S3 compatible provider
  13355. --s3-env-auth
  13356. Get AWS credentials from runtime (environment variables or EC2/ECS meta
  13357. data if no env vars).
  13358. Only applies if access_key_id and secret_access_key is blank.
  13359. Properties:
  13360. - Config: env_auth
  13361. - Env Var: RCLONE_S3_ENV_AUTH
  13362. - Type: bool
  13363. - Default: false
  13364. - Examples:
  13365. - "false"
  13366. - Enter AWS credentials in the next step.
  13367. - "true"
  13368. - Get AWS credentials from the environment (env vars or IAM).
  13369. --s3-access-key-id
  13370. AWS Access Key ID.
  13371. Leave blank for anonymous access or runtime credentials.
  13372. Properties:
  13373. - Config: access_key_id
  13374. - Env Var: RCLONE_S3_ACCESS_KEY_ID
  13375. - Type: string
  13376. - Required: false
  13377. --s3-secret-access-key
  13378. AWS Secret Access Key (password).
  13379. Leave blank for anonymous access or runtime credentials.
  13380. Properties:
  13381. - Config: secret_access_key
  13382. - Env Var: RCLONE_S3_SECRET_ACCESS_KEY
  13383. - Type: string
  13384. - Required: false
  13385. --s3-region
  13386. Region to connect to.
  13387. Properties:
  13388. - Config: region
  13389. - Env Var: RCLONE_S3_REGION
  13390. - Provider: AWS
  13391. - Type: string
  13392. - Required: false
  13393. - Examples:
  13394. - "us-east-1"
  13395. - The default endpoint - a good choice if you are unsure.
  13396. - US Region, Northern Virginia, or Pacific Northwest.
  13397. - Leave location constraint empty.
  13398. - "us-east-2"
  13399. - US East (Ohio) Region.
  13400. - Needs location constraint us-east-2.
  13401. - "us-west-1"
  13402. - US West (Northern California) Region.
  13403. - Needs location constraint us-west-1.
  13404. - "us-west-2"
  13405. - US West (Oregon) Region.
  13406. - Needs location constraint us-west-2.
  13407. - "ca-central-1"
  13408. - Canada (Central) Region.
  13409. - Needs location constraint ca-central-1.
  13410. - "eu-west-1"
  13411. - EU (Ireland) Region.
  13412. - Needs location constraint EU or eu-west-1.
  13413. - "eu-west-2"
  13414. - EU (London) Region.
  13415. - Needs location constraint eu-west-2.
  13416. - "eu-west-3"
  13417. - EU (Paris) Region.
  13418. - Needs location constraint eu-west-3.
  13419. - "eu-north-1"
  13420. - EU (Stockholm) Region.
  13421. - Needs location constraint eu-north-1.
  13422. - "eu-south-1"
  13423. - EU (Milan) Region.
  13424. - Needs location constraint eu-south-1.
  13425. - "eu-central-1"
  13426. - EU (Frankfurt) Region.
  13427. - Needs location constraint eu-central-1.
  13428. - "ap-southeast-1"
  13429. - Asia Pacific (Singapore) Region.
  13430. - Needs location constraint ap-southeast-1.
  13431. - "ap-southeast-2"
  13432. - Asia Pacific (Sydney) Region.
  13433. - Needs location constraint ap-southeast-2.
  13434. - "ap-northeast-1"
  13435. - Asia Pacific (Tokyo) Region.
  13436. - Needs location constraint ap-northeast-1.
  13437. - "ap-northeast-2"
  13438. - Asia Pacific (Seoul).
  13439. - Needs location constraint ap-northeast-2.
  13440. - "ap-northeast-3"
  13441. - Asia Pacific (Osaka-Local).
  13442. - Needs location constraint ap-northeast-3.
  13443. - "ap-south-1"
  13444. - Asia Pacific (Mumbai).
  13445. - Needs location constraint ap-south-1.
  13446. - "ap-east-1"
  13447. - Asia Pacific (Hong Kong) Region.
  13448. - Needs location constraint ap-east-1.
  13449. - "sa-east-1"
  13450. - South America (Sao Paulo) Region.
  13451. - Needs location constraint sa-east-1.
  13452. - "me-south-1"
  13453. - Middle East (Bahrain) Region.
  13454. - Needs location constraint me-south-1.
  13455. - "af-south-1"
  13456. - Africa (Cape Town) Region.
  13457. - Needs location constraint af-south-1.
  13458. - "cn-north-1"
  13459. - China (Beijing) Region.
  13460. - Needs location constraint cn-north-1.
  13461. - "cn-northwest-1"
  13462. - China (Ningxia) Region.
  13463. - Needs location constraint cn-northwest-1.
  13464. - "us-gov-east-1"
  13465. - AWS GovCloud (US-East) Region.
  13466. - Needs location constraint us-gov-east-1.
  13467. - "us-gov-west-1"
  13468. - AWS GovCloud (US) Region.
  13469. - Needs location constraint us-gov-west-1.
  13470. --s3-region
  13471. region - the location where your bucket will be created and your data
  13472. stored.
  13473. Properties:
  13474. - Config: region
  13475. - Env Var: RCLONE_S3_REGION
  13476. - Provider: RackCorp
  13477. - Type: string
  13478. - Required: false
  13479. - Examples:
  13480. - "global"
  13481. - Global CDN (All locations) Region
  13482. - "au"
  13483. - Australia (All states)
  13484. - "au-nsw"
  13485. - NSW (Australia) Region
  13486. - "au-qld"
  13487. - QLD (Australia) Region
  13488. - "au-vic"
  13489. - VIC (Australia) Region
  13490. - "au-wa"
  13491. - Perth (Australia) Region
  13492. - "ph"
  13493. - Manila (Philippines) Region
  13494. - "th"
  13495. - Bangkok (Thailand) Region
  13496. - "hk"
  13497. - HK (Hong Kong) Region
  13498. - "mn"
  13499. - Ulaanbaatar (Mongolia) Region
  13500. - "kg"
  13501. - Bishkek (Kyrgyzstan) Region
  13502. - "id"
  13503. - Jakarta (Indonesia) Region
  13504. - "jp"
  13505. - Tokyo (Japan) Region
  13506. - "sg"
  13507. - SG (Singapore) Region
  13508. - "de"
  13509. - Frankfurt (Germany) Region
  13510. - "us"
  13511. - USA (AnyCast) Region
  13512. - "us-east-1"
  13513. - New York (USA) Region
  13514. - "us-west-1"
  13515. - Freemont (USA) Region
  13516. - "nz"
  13517. - Auckland (New Zealand) Region
  13518. --s3-region
  13519. Region to connect to.
  13520. Properties:
  13521. - Config: region
  13522. - Env Var: RCLONE_S3_REGION
  13523. - Provider: Scaleway
  13524. - Type: string
  13525. - Required: false
  13526. - Examples:
  13527. - "nl-ams"
  13528. - Amsterdam, The Netherlands
  13529. - "fr-par"
  13530. - Paris, France
  13531. - "pl-waw"
  13532. - Warsaw, Poland
  13533. --s3-region
  13534. Region to connect to. - the location where your bucket will be created
  13535. and your data stored. Need bo be same with your endpoint.
  13536. Properties:
  13537. - Config: region
  13538. - Env Var: RCLONE_S3_REGION
  13539. - Provider: HuaweiOBS
  13540. - Type: string
  13541. - Required: false
  13542. - Examples:
  13543. - "af-south-1"
  13544. - AF-Johannesburg
  13545. - "ap-southeast-2"
  13546. - AP-Bangkok
  13547. - "ap-southeast-3"
  13548. - AP-Singapore
  13549. - "cn-east-3"
  13550. - CN East-Shanghai1
  13551. - "cn-east-2"
  13552. - CN East-Shanghai2
  13553. - "cn-north-1"
  13554. - CN North-Beijing1
  13555. - "cn-north-4"
  13556. - CN North-Beijing4
  13557. - "cn-south-1"
  13558. - CN South-Guangzhou
  13559. - "ap-southeast-1"
  13560. - CN-Hong Kong
  13561. - "sa-argentina-1"
  13562. - LA-Buenos Aires1
  13563. - "sa-peru-1"
  13564. - LA-Lima1
  13565. - "na-mexico-1"
  13566. - LA-Mexico City1
  13567. - "sa-chile-1"
  13568. - LA-Santiago2
  13569. - "sa-brazil-1"
  13570. - LA-Sao Paulo1
  13571. - "ru-northwest-2"
  13572. - RU-Moscow2
  13573. --s3-region
  13574. Region to connect to.
  13575. Properties:
  13576. - Config: region
  13577. - Env Var: RCLONE_S3_REGION
  13578. - Provider: Cloudflare
  13579. - Type: string
  13580. - Required: false
  13581. - Examples:
  13582. - "auto"
  13583. - R2 buckets are automatically distributed across Cloudflare's
  13584. data centers for low latency.
  13585. --s3-region
  13586. Region to connect to.
  13587. Properties:
  13588. - Config: region
  13589. - Env Var: RCLONE_S3_REGION
  13590. - Provider: Qiniu
  13591. - Type: string
  13592. - Required: false
  13593. - Examples:
  13594. - "cn-east-1"
  13595. - The default endpoint - a good choice if you are unsure.
  13596. - East China Region 1.
  13597. - Needs location constraint cn-east-1.
  13598. - "cn-east-2"
  13599. - East China Region 2.
  13600. - Needs location constraint cn-east-2.
  13601. - "cn-north-1"
  13602. - North China Region 1.
  13603. - Needs location constraint cn-north-1.
  13604. - "cn-south-1"
  13605. - South China Region 1.
  13606. - Needs location constraint cn-south-1.
  13607. - "us-north-1"
  13608. - North America Region.
  13609. - Needs location constraint us-north-1.
  13610. - "ap-southeast-1"
  13611. - Southeast Asia Region 1.
  13612. - Needs location constraint ap-southeast-1.
  13613. - "ap-northeast-1"
  13614. - Northeast Asia Region 1.
  13615. - Needs location constraint ap-northeast-1.
  13616. --s3-region
  13617. Region where your bucket will be created and your data stored.
  13618. Properties:
  13619. - Config: region
  13620. - Env Var: RCLONE_S3_REGION
  13621. - Provider: IONOS
  13622. - Type: string
  13623. - Required: false
  13624. - Examples:
  13625. - "de"
  13626. - Frankfurt, Germany
  13627. - "eu-central-2"
  13628. - Berlin, Germany
  13629. - "eu-south-2"
  13630. - Logrono, Spain
  13631. --s3-region
  13632. Region where your bucket will be created and your data stored.
  13633. Properties:
  13634. - Config: region
  13635. - Env Var: RCLONE_S3_REGION
  13636. - Provider: Petabox
  13637. - Type: string
  13638. - Required: false
  13639. - Examples:
  13640. - "us-east-1"
  13641. - US East (N. Virginia)
  13642. - "eu-central-1"
  13643. - Europe (Frankfurt)
  13644. - "ap-southeast-1"
  13645. - Asia Pacific (Singapore)
  13646. - "me-south-1"
  13647. - Middle East (Bahrain)
  13648. - "sa-east-1"
  13649. - South America (São Paulo)
  13650. --s3-region
  13651. Region to connect to.
  13652. Leave blank if you are using an S3 clone and you don't have a region.
  13653. Properties:
  13654. - Config: region
  13655. - Env Var: RCLONE_S3_REGION
  13656. - Provider:
  13657. !AWS,Alibaba,ArvanCloud,ChinaMobile,Cloudflare,IONOS,Petabox,Liara,Qiniu,RackCorp,Scaleway,Storj,TencentCOS,HuaweiOBS,IDrive
  13658. - Type: string
  13659. - Required: false
  13660. - Examples:
  13661. - ""
  13662. - Use this if unsure.
  13663. - Will use v4 signatures and an empty region.
  13664. - "other-v2-signature"
  13665. - Use this only if v4 signatures don't work.
  13666. - E.g. pre Jewel/v10 CEPH.
  13667. --s3-endpoint
  13668. Endpoint for S3 API.
  13669. Leave blank if using AWS to use the default endpoint for the region.
  13670. Properties:
  13671. - Config: endpoint
  13672. - Env Var: RCLONE_S3_ENDPOINT
  13673. - Provider: AWS
  13674. - Type: string
  13675. - Required: false
  13676. --s3-endpoint
  13677. Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API.
  13678. Properties:
  13679. - Config: endpoint
  13680. - Env Var: RCLONE_S3_ENDPOINT
  13681. - Provider: ChinaMobile
  13682. - Type: string
  13683. - Required: false
  13684. - Examples:
  13685. - "eos-wuxi-1.cmecloud.cn"
  13686. - The default endpoint - a good choice if you are unsure.
  13687. - East China (Suzhou)
  13688. - "eos-jinan-1.cmecloud.cn"
  13689. - East China (Jinan)
  13690. - "eos-ningbo-1.cmecloud.cn"
  13691. - East China (Hangzhou)
  13692. - "eos-shanghai-1.cmecloud.cn"
  13693. - East China (Shanghai-1)
  13694. - "eos-zhengzhou-1.cmecloud.cn"
  13695. - Central China (Zhengzhou)
  13696. - "eos-hunan-1.cmecloud.cn"
  13697. - Central China (Changsha-1)
  13698. - "eos-zhuzhou-1.cmecloud.cn"
  13699. - Central China (Changsha-2)
  13700. - "eos-guangzhou-1.cmecloud.cn"
  13701. - South China (Guangzhou-2)
  13702. - "eos-dongguan-1.cmecloud.cn"
  13703. - South China (Guangzhou-3)
  13704. - "eos-beijing-1.cmecloud.cn"
  13705. - North China (Beijing-1)
  13706. - "eos-beijing-2.cmecloud.cn"
  13707. - North China (Beijing-2)
  13708. - "eos-beijing-4.cmecloud.cn"
  13709. - North China (Beijing-3)
  13710. - "eos-huhehaote-1.cmecloud.cn"
  13711. - North China (Huhehaote)
  13712. - "eos-chengdu-1.cmecloud.cn"
  13713. - Southwest China (Chengdu)
  13714. - "eos-chongqing-1.cmecloud.cn"
  13715. - Southwest China (Chongqing)
  13716. - "eos-guiyang-1.cmecloud.cn"
  13717. - Southwest China (Guiyang)
  13718. - "eos-xian-1.cmecloud.cn"
  13719. - Nouthwest China (Xian)
  13720. - "eos-yunnan.cmecloud.cn"
  13721. - Yunnan China (Kunming)
  13722. - "eos-yunnan-2.cmecloud.cn"
  13723. - Yunnan China (Kunming-2)
  13724. - "eos-tianjin-1.cmecloud.cn"
  13725. - Tianjin China (Tianjin)
  13726. - "eos-jilin-1.cmecloud.cn"
  13727. - Jilin China (Changchun)
  13728. - "eos-hubei-1.cmecloud.cn"
  13729. - Hubei China (Xiangyan)
  13730. - "eos-jiangxi-1.cmecloud.cn"
  13731. - Jiangxi China (Nanchang)
  13732. - "eos-gansu-1.cmecloud.cn"
  13733. - Gansu China (Lanzhou)
  13734. - "eos-shanxi-1.cmecloud.cn"
  13735. - Shanxi China (Taiyuan)
  13736. - "eos-liaoning-1.cmecloud.cn"
  13737. - Liaoning China (Shenyang)
  13738. - "eos-hebei-1.cmecloud.cn"
  13739. - Hebei China (Shijiazhuang)
  13740. - "eos-fujian-1.cmecloud.cn"
  13741. - Fujian China (Xiamen)
  13742. - "eos-guangxi-1.cmecloud.cn"
  13743. - Guangxi China (Nanning)
  13744. - "eos-anhui-1.cmecloud.cn"
  13745. - Anhui China (Huainan)
  13746. --s3-endpoint
  13747. Endpoint for Arvan Cloud Object Storage (AOS) API.
  13748. Properties:
  13749. - Config: endpoint
  13750. - Env Var: RCLONE_S3_ENDPOINT
  13751. - Provider: ArvanCloud
  13752. - Type: string
  13753. - Required: false
  13754. - Examples:
  13755. - "s3.ir-thr-at1.arvanstorage.ir"
  13756. - The default endpoint - a good choice if you are unsure.
  13757. - Tehran Iran (Simin)
  13758. - "s3.ir-tbz-sh1.arvanstorage.ir"
  13759. - Tabriz Iran (Shahriar)
  13760. --s3-endpoint
  13761. Endpoint for IBM COS S3 API.
  13762. Specify if using an IBM COS On Premise.
  13763. Properties:
  13764. - Config: endpoint
  13765. - Env Var: RCLONE_S3_ENDPOINT
  13766. - Provider: IBMCOS
  13767. - Type: string
  13768. - Required: false
  13769. - Examples:
  13770. - "s3.us.cloud-object-storage.appdomain.cloud"
  13771. - US Cross Region Endpoint
  13772. - "s3.dal.us.cloud-object-storage.appdomain.cloud"
  13773. - US Cross Region Dallas Endpoint
  13774. - "s3.wdc.us.cloud-object-storage.appdomain.cloud"
  13775. - US Cross Region Washington DC Endpoint
  13776. - "s3.sjc.us.cloud-object-storage.appdomain.cloud"
  13777. - US Cross Region San Jose Endpoint
  13778. - "s3.private.us.cloud-object-storage.appdomain.cloud"
  13779. - US Cross Region Private Endpoint
  13780. - "s3.private.dal.us.cloud-object-storage.appdomain.cloud"
  13781. - US Cross Region Dallas Private Endpoint
  13782. - "s3.private.wdc.us.cloud-object-storage.appdomain.cloud"
  13783. - US Cross Region Washington DC Private Endpoint
  13784. - "s3.private.sjc.us.cloud-object-storage.appdomain.cloud"
  13785. - US Cross Region San Jose Private Endpoint
  13786. - "s3.us-east.cloud-object-storage.appdomain.cloud"
  13787. - US Region East Endpoint
  13788. - "s3.private.us-east.cloud-object-storage.appdomain.cloud"
  13789. - US Region East Private Endpoint
  13790. - "s3.us-south.cloud-object-storage.appdomain.cloud"
  13791. - US Region South Endpoint
  13792. - "s3.private.us-south.cloud-object-storage.appdomain.cloud"
  13793. - US Region South Private Endpoint
  13794. - "s3.eu.cloud-object-storage.appdomain.cloud"
  13795. - EU Cross Region Endpoint
  13796. - "s3.fra.eu.cloud-object-storage.appdomain.cloud"
  13797. - EU Cross Region Frankfurt Endpoint
  13798. - "s3.mil.eu.cloud-object-storage.appdomain.cloud"
  13799. - EU Cross Region Milan Endpoint
  13800. - "s3.ams.eu.cloud-object-storage.appdomain.cloud"
  13801. - EU Cross Region Amsterdam Endpoint
  13802. - "s3.private.eu.cloud-object-storage.appdomain.cloud"
  13803. - EU Cross Region Private Endpoint
  13804. - "s3.private.fra.eu.cloud-object-storage.appdomain.cloud"
  13805. - EU Cross Region Frankfurt Private Endpoint
  13806. - "s3.private.mil.eu.cloud-object-storage.appdomain.cloud"
  13807. - EU Cross Region Milan Private Endpoint
  13808. - "s3.private.ams.eu.cloud-object-storage.appdomain.cloud"
  13809. - EU Cross Region Amsterdam Private Endpoint
  13810. - "s3.eu-gb.cloud-object-storage.appdomain.cloud"
  13811. - Great Britain Endpoint
  13812. - "s3.private.eu-gb.cloud-object-storage.appdomain.cloud"
  13813. - Great Britain Private Endpoint
  13814. - "s3.eu-de.cloud-object-storage.appdomain.cloud"
  13815. - EU Region DE Endpoint
  13816. - "s3.private.eu-de.cloud-object-storage.appdomain.cloud"
  13817. - EU Region DE Private Endpoint
  13818. - "s3.ap.cloud-object-storage.appdomain.cloud"
  13819. - APAC Cross Regional Endpoint
  13820. - "s3.tok.ap.cloud-object-storage.appdomain.cloud"
  13821. - APAC Cross Regional Tokyo Endpoint
  13822. - "s3.hkg.ap.cloud-object-storage.appdomain.cloud"
  13823. - APAC Cross Regional HongKong Endpoint
  13824. - "s3.seo.ap.cloud-object-storage.appdomain.cloud"
  13825. - APAC Cross Regional Seoul Endpoint
  13826. - "s3.private.ap.cloud-object-storage.appdomain.cloud"
  13827. - APAC Cross Regional Private Endpoint
  13828. - "s3.private.tok.ap.cloud-object-storage.appdomain.cloud"
  13829. - APAC Cross Regional Tokyo Private Endpoint
  13830. - "s3.private.hkg.ap.cloud-object-storage.appdomain.cloud"
  13831. - APAC Cross Regional HongKong Private Endpoint
  13832. - "s3.private.seo.ap.cloud-object-storage.appdomain.cloud"
  13833. - APAC Cross Regional Seoul Private Endpoint
  13834. - "s3.jp-tok.cloud-object-storage.appdomain.cloud"
  13835. - APAC Region Japan Endpoint
  13836. - "s3.private.jp-tok.cloud-object-storage.appdomain.cloud"
  13837. - APAC Region Japan Private Endpoint
  13838. - "s3.au-syd.cloud-object-storage.appdomain.cloud"
  13839. - APAC Region Australia Endpoint
  13840. - "s3.private.au-syd.cloud-object-storage.appdomain.cloud"
  13841. - APAC Region Australia Private Endpoint
  13842. - "s3.ams03.cloud-object-storage.appdomain.cloud"
  13843. - Amsterdam Single Site Endpoint
  13844. - "s3.private.ams03.cloud-object-storage.appdomain.cloud"
  13845. - Amsterdam Single Site Private Endpoint
  13846. - "s3.che01.cloud-object-storage.appdomain.cloud"
  13847. - Chennai Single Site Endpoint
  13848. - "s3.private.che01.cloud-object-storage.appdomain.cloud"
  13849. - Chennai Single Site Private Endpoint
  13850. - "s3.mel01.cloud-object-storage.appdomain.cloud"
  13851. - Melbourne Single Site Endpoint
  13852. - "s3.private.mel01.cloud-object-storage.appdomain.cloud"
  13853. - Melbourne Single Site Private Endpoint
  13854. - "s3.osl01.cloud-object-storage.appdomain.cloud"
  13855. - Oslo Single Site Endpoint
  13856. - "s3.private.osl01.cloud-object-storage.appdomain.cloud"
  13857. - Oslo Single Site Private Endpoint
  13858. - "s3.tor01.cloud-object-storage.appdomain.cloud"
  13859. - Toronto Single Site Endpoint
  13860. - "s3.private.tor01.cloud-object-storage.appdomain.cloud"
  13861. - Toronto Single Site Private Endpoint
  13862. - "s3.seo01.cloud-object-storage.appdomain.cloud"
  13863. - Seoul Single Site Endpoint
  13864. - "s3.private.seo01.cloud-object-storage.appdomain.cloud"
  13865. - Seoul Single Site Private Endpoint
  13866. - "s3.mon01.cloud-object-storage.appdomain.cloud"
  13867. - Montreal Single Site Endpoint
  13868. - "s3.private.mon01.cloud-object-storage.appdomain.cloud"
  13869. - Montreal Single Site Private Endpoint
  13870. - "s3.mex01.cloud-object-storage.appdomain.cloud"
  13871. - Mexico Single Site Endpoint
  13872. - "s3.private.mex01.cloud-object-storage.appdomain.cloud"
  13873. - Mexico Single Site Private Endpoint
  13874. - "s3.sjc04.cloud-object-storage.appdomain.cloud"
  13875. - San Jose Single Site Endpoint
  13876. - "s3.private.sjc04.cloud-object-storage.appdomain.cloud"
  13877. - San Jose Single Site Private Endpoint
  13878. - "s3.mil01.cloud-object-storage.appdomain.cloud"
  13879. - Milan Single Site Endpoint
  13880. - "s3.private.mil01.cloud-object-storage.appdomain.cloud"
  13881. - Milan Single Site Private Endpoint
  13882. - "s3.hkg02.cloud-object-storage.appdomain.cloud"
  13883. - Hong Kong Single Site Endpoint
  13884. - "s3.private.hkg02.cloud-object-storage.appdomain.cloud"
  13885. - Hong Kong Single Site Private Endpoint
  13886. - "s3.par01.cloud-object-storage.appdomain.cloud"
  13887. - Paris Single Site Endpoint
  13888. - "s3.private.par01.cloud-object-storage.appdomain.cloud"
  13889. - Paris Single Site Private Endpoint
  13890. - "s3.sng01.cloud-object-storage.appdomain.cloud"
  13891. - Singapore Single Site Endpoint
  13892. - "s3.private.sng01.cloud-object-storage.appdomain.cloud"
  13893. - Singapore Single Site Private Endpoint
  13894. --s3-endpoint
  13895. Endpoint for IONOS S3 Object Storage.
  13896. Specify the endpoint from the same region.
  13897. Properties:
  13898. - Config: endpoint
  13899. - Env Var: RCLONE_S3_ENDPOINT
  13900. - Provider: IONOS
  13901. - Type: string
  13902. - Required: false
  13903. - Examples:
  13904. - "s3-eu-central-1.ionoscloud.com"
  13905. - Frankfurt, Germany
  13906. - "s3-eu-central-2.ionoscloud.com"
  13907. - Berlin, Germany
  13908. - "s3-eu-south-2.ionoscloud.com"
  13909. - Logrono, Spain
  13910. --s3-endpoint
  13911. Endpoint for Petabox S3 Object Storage.
  13912. Specify the endpoint from the same region.
  13913. Properties:
  13914. - Config: endpoint
  13915. - Env Var: RCLONE_S3_ENDPOINT
  13916. - Provider: Petabox
  13917. - Type: string
  13918. - Required: true
  13919. - Examples:
  13920. - "s3.petabox.io"
  13921. - US East (N. Virginia)
  13922. - "s3.us-east-1.petabox.io"
  13923. - US East (N. Virginia)
  13924. - "s3.eu-central-1.petabox.io"
  13925. - Europe (Frankfurt)
  13926. - "s3.ap-southeast-1.petabox.io"
  13927. - Asia Pacific (Singapore)
  13928. - "s3.me-south-1.petabox.io"
  13929. - Middle East (Bahrain)
  13930. - "s3.sa-east-1.petabox.io"
  13931. - South America (São Paulo)
  13932. --s3-endpoint
  13933. Endpoint for Liara Object Storage API.
  13934. Properties:
  13935. - Config: endpoint
  13936. - Env Var: RCLONE_S3_ENDPOINT
  13937. - Provider: Liara
  13938. - Type: string
  13939. - Required: false
  13940. - Examples:
  13941. - "storage.iran.liara.space"
  13942. - The default endpoint
  13943. - Iran
  13944. --s3-endpoint
  13945. Endpoint for OSS API.
  13946. Properties:
  13947. - Config: endpoint
  13948. - Env Var: RCLONE_S3_ENDPOINT
  13949. - Provider: Alibaba
  13950. - Type: string
  13951. - Required: false
  13952. - Examples:
  13953. - "oss-accelerate.aliyuncs.com"
  13954. - Global Accelerate
  13955. - "oss-accelerate-overseas.aliyuncs.com"
  13956. - Global Accelerate (outside mainland China)
  13957. - "oss-cn-hangzhou.aliyuncs.com"
  13958. - East China 1 (Hangzhou)
  13959. - "oss-cn-shanghai.aliyuncs.com"
  13960. - East China 2 (Shanghai)
  13961. - "oss-cn-qingdao.aliyuncs.com"
  13962. - North China 1 (Qingdao)
  13963. - "oss-cn-beijing.aliyuncs.com"
  13964. - North China 2 (Beijing)
  13965. - "oss-cn-zhangjiakou.aliyuncs.com"
  13966. - North China 3 (Zhangjiakou)
  13967. - "oss-cn-huhehaote.aliyuncs.com"
  13968. - North China 5 (Hohhot)
  13969. - "oss-cn-wulanchabu.aliyuncs.com"
  13970. - North China 6 (Ulanqab)
  13971. - "oss-cn-shenzhen.aliyuncs.com"
  13972. - South China 1 (Shenzhen)
  13973. - "oss-cn-heyuan.aliyuncs.com"
  13974. - South China 2 (Heyuan)
  13975. - "oss-cn-guangzhou.aliyuncs.com"
  13976. - South China 3 (Guangzhou)
  13977. - "oss-cn-chengdu.aliyuncs.com"
  13978. - West China 1 (Chengdu)
  13979. - "oss-cn-hongkong.aliyuncs.com"
  13980. - Hong Kong (Hong Kong)
  13981. - "oss-us-west-1.aliyuncs.com"
  13982. - US West 1 (Silicon Valley)
  13983. - "oss-us-east-1.aliyuncs.com"
  13984. - US East 1 (Virginia)
  13985. - "oss-ap-southeast-1.aliyuncs.com"
  13986. - Southeast Asia Southeast 1 (Singapore)
  13987. - "oss-ap-southeast-2.aliyuncs.com"
  13988. - Asia Pacific Southeast 2 (Sydney)
  13989. - "oss-ap-southeast-3.aliyuncs.com"
  13990. - Southeast Asia Southeast 3 (Kuala Lumpur)
  13991. - "oss-ap-southeast-5.aliyuncs.com"
  13992. - Asia Pacific Southeast 5 (Jakarta)
  13993. - "oss-ap-northeast-1.aliyuncs.com"
  13994. - Asia Pacific Northeast 1 (Japan)
  13995. - "oss-ap-south-1.aliyuncs.com"
  13996. - Asia Pacific South 1 (Mumbai)
  13997. - "oss-eu-central-1.aliyuncs.com"
  13998. - Central Europe 1 (Frankfurt)
  13999. - "oss-eu-west-1.aliyuncs.com"
  14000. - West Europe (London)
  14001. - "oss-me-east-1.aliyuncs.com"
  14002. - Middle East 1 (Dubai)
  14003. --s3-endpoint
  14004. Endpoint for OBS API.
  14005. Properties:
  14006. - Config: endpoint
  14007. - Env Var: RCLONE_S3_ENDPOINT
  14008. - Provider: HuaweiOBS
  14009. - Type: string
  14010. - Required: false
  14011. - Examples:
  14012. - "obs.af-south-1.myhuaweicloud.com"
  14013. - AF-Johannesburg
  14014. - "obs.ap-southeast-2.myhuaweicloud.com"
  14015. - AP-Bangkok
  14016. - "obs.ap-southeast-3.myhuaweicloud.com"
  14017. - AP-Singapore
  14018. - "obs.cn-east-3.myhuaweicloud.com"
  14019. - CN East-Shanghai1
  14020. - "obs.cn-east-2.myhuaweicloud.com"
  14021. - CN East-Shanghai2
  14022. - "obs.cn-north-1.myhuaweicloud.com"
  14023. - CN North-Beijing1
  14024. - "obs.cn-north-4.myhuaweicloud.com"
  14025. - CN North-Beijing4
  14026. - "obs.cn-south-1.myhuaweicloud.com"
  14027. - CN South-Guangzhou
  14028. - "obs.ap-southeast-1.myhuaweicloud.com"
  14029. - CN-Hong Kong
  14030. - "obs.sa-argentina-1.myhuaweicloud.com"
  14031. - LA-Buenos Aires1
  14032. - "obs.sa-peru-1.myhuaweicloud.com"
  14033. - LA-Lima1
  14034. - "obs.na-mexico-1.myhuaweicloud.com"
  14035. - LA-Mexico City1
  14036. - "obs.sa-chile-1.myhuaweicloud.com"
  14037. - LA-Santiago2
  14038. - "obs.sa-brazil-1.myhuaweicloud.com"
  14039. - LA-Sao Paulo1
  14040. - "obs.ru-northwest-2.myhuaweicloud.com"
  14041. - RU-Moscow2
  14042. --s3-endpoint
  14043. Endpoint for Scaleway Object Storage.
  14044. Properties:
  14045. - Config: endpoint
  14046. - Env Var: RCLONE_S3_ENDPOINT
  14047. - Provider: Scaleway
  14048. - Type: string
  14049. - Required: false
  14050. - Examples:
  14051. - "s3.nl-ams.scw.cloud"
  14052. - Amsterdam Endpoint
  14053. - "s3.fr-par.scw.cloud"
  14054. - Paris Endpoint
  14055. - "s3.pl-waw.scw.cloud"
  14056. - Warsaw Endpoint
  14057. --s3-endpoint
  14058. Endpoint for StackPath Object Storage.
  14059. Properties:
  14060. - Config: endpoint
  14061. - Env Var: RCLONE_S3_ENDPOINT
  14062. - Provider: StackPath
  14063. - Type: string
  14064. - Required: false
  14065. - Examples:
  14066. - "s3.us-east-2.stackpathstorage.com"
  14067. - US East Endpoint
  14068. - "s3.us-west-1.stackpathstorage.com"
  14069. - US West Endpoint
  14070. - "s3.eu-central-1.stackpathstorage.com"
  14071. - EU Endpoint
  14072. --s3-endpoint
  14073. Endpoint for Google Cloud Storage.
  14074. Properties:
  14075. - Config: endpoint
  14076. - Env Var: RCLONE_S3_ENDPOINT
  14077. - Provider: GCS
  14078. - Type: string
  14079. - Required: false
  14080. - Examples:
  14081. - "https://storage.googleapis.com"
  14082. - Google Cloud Storage endpoint
  14083. --s3-endpoint
  14084. Endpoint for Storj Gateway.
  14085. Properties:
  14086. - Config: endpoint
  14087. - Env Var: RCLONE_S3_ENDPOINT
  14088. - Provider: Storj
  14089. - Type: string
  14090. - Required: false
  14091. - Examples:
  14092. - "gateway.storjshare.io"
  14093. - Global Hosted Gateway
  14094. --s3-endpoint
  14095. Endpoint for Tencent COS API.
  14096. Properties:
  14097. - Config: endpoint
  14098. - Env Var: RCLONE_S3_ENDPOINT
  14099. - Provider: TencentCOS
  14100. - Type: string
  14101. - Required: false
  14102. - Examples:
  14103. - "cos.ap-beijing.myqcloud.com"
  14104. - Beijing Region
  14105. - "cos.ap-nanjing.myqcloud.com"
  14106. - Nanjing Region
  14107. - "cos.ap-shanghai.myqcloud.com"
  14108. - Shanghai Region
  14109. - "cos.ap-guangzhou.myqcloud.com"
  14110. - Guangzhou Region
  14111. - "cos.ap-nanjing.myqcloud.com"
  14112. - Nanjing Region
  14113. - "cos.ap-chengdu.myqcloud.com"
  14114. - Chengdu Region
  14115. - "cos.ap-chongqing.myqcloud.com"
  14116. - Chongqing Region
  14117. - "cos.ap-hongkong.myqcloud.com"
  14118. - Hong Kong (China) Region
  14119. - "cos.ap-singapore.myqcloud.com"
  14120. - Singapore Region
  14121. - "cos.ap-mumbai.myqcloud.com"
  14122. - Mumbai Region
  14123. - "cos.ap-seoul.myqcloud.com"
  14124. - Seoul Region
  14125. - "cos.ap-bangkok.myqcloud.com"
  14126. - Bangkok Region
  14127. - "cos.ap-tokyo.myqcloud.com"
  14128. - Tokyo Region
  14129. - "cos.na-siliconvalley.myqcloud.com"
  14130. - Silicon Valley Region
  14131. - "cos.na-ashburn.myqcloud.com"
  14132. - Virginia Region
  14133. - "cos.na-toronto.myqcloud.com"
  14134. - Toronto Region
  14135. - "cos.eu-frankfurt.myqcloud.com"
  14136. - Frankfurt Region
  14137. - "cos.eu-moscow.myqcloud.com"
  14138. - Moscow Region
  14139. - "cos.accelerate.myqcloud.com"
  14140. - Use Tencent COS Accelerate Endpoint
  14141. --s3-endpoint
  14142. Endpoint for RackCorp Object Storage.
  14143. Properties:
  14144. - Config: endpoint
  14145. - Env Var: RCLONE_S3_ENDPOINT
  14146. - Provider: RackCorp
  14147. - Type: string
  14148. - Required: false
  14149. - Examples:
  14150. - "s3.rackcorp.com"
  14151. - Global (AnyCast) Endpoint
  14152. - "au.s3.rackcorp.com"
  14153. - Australia (Anycast) Endpoint
  14154. - "au-nsw.s3.rackcorp.com"
  14155. - Sydney (Australia) Endpoint
  14156. - "au-qld.s3.rackcorp.com"
  14157. - Brisbane (Australia) Endpoint
  14158. - "au-vic.s3.rackcorp.com"
  14159. - Melbourne (Australia) Endpoint
  14160. - "au-wa.s3.rackcorp.com"
  14161. - Perth (Australia) Endpoint
  14162. - "ph.s3.rackcorp.com"
  14163. - Manila (Philippines) Endpoint
  14164. - "th.s3.rackcorp.com"
  14165. - Bangkok (Thailand) Endpoint
  14166. - "hk.s3.rackcorp.com"
  14167. - HK (Hong Kong) Endpoint
  14168. - "mn.s3.rackcorp.com"
  14169. - Ulaanbaatar (Mongolia) Endpoint
  14170. - "kg.s3.rackcorp.com"
  14171. - Bishkek (Kyrgyzstan) Endpoint
  14172. - "id.s3.rackcorp.com"
  14173. - Jakarta (Indonesia) Endpoint
  14174. - "jp.s3.rackcorp.com"
  14175. - Tokyo (Japan) Endpoint
  14176. - "sg.s3.rackcorp.com"
  14177. - SG (Singapore) Endpoint
  14178. - "de.s3.rackcorp.com"
  14179. - Frankfurt (Germany) Endpoint
  14180. - "us.s3.rackcorp.com"
  14181. - USA (AnyCast) Endpoint
  14182. - "us-east-1.s3.rackcorp.com"
  14183. - New York (USA) Endpoint
  14184. - "us-west-1.s3.rackcorp.com"
  14185. - Freemont (USA) Endpoint
  14186. - "nz.s3.rackcorp.com"
  14187. - Auckland (New Zealand) Endpoint
  14188. --s3-endpoint
  14189. Endpoint for Qiniu Object Storage.
  14190. Properties:
  14191. - Config: endpoint
  14192. - Env Var: RCLONE_S3_ENDPOINT
  14193. - Provider: Qiniu
  14194. - Type: string
  14195. - Required: false
  14196. - Examples:
  14197. - "s3-cn-east-1.qiniucs.com"
  14198. - East China Endpoint 1
  14199. - "s3-cn-east-2.qiniucs.com"
  14200. - East China Endpoint 2
  14201. - "s3-cn-north-1.qiniucs.com"
  14202. - North China Endpoint 1
  14203. - "s3-cn-south-1.qiniucs.com"
  14204. - South China Endpoint 1
  14205. - "s3-us-north-1.qiniucs.com"
  14206. - North America Endpoint 1
  14207. - "s3-ap-southeast-1.qiniucs.com"
  14208. - Southeast Asia Endpoint 1
  14209. - "s3-ap-northeast-1.qiniucs.com"
  14210. - Northeast Asia Endpoint 1
  14211. --s3-endpoint
  14212. Endpoint for S3 API.
  14213. Required when using an S3 clone.
  14214. Properties:
  14215. - Config: endpoint
  14216. - Env Var: RCLONE_S3_ENDPOINT
  14217. - Provider:
  14218. !AWS,ArvanCloud,IBMCOS,IDrive,IONOS,TencentCOS,HuaweiOBS,Alibaba,ChinaMobile,GCS,Liara,Scaleway,StackPath,Storj,RackCorp,Qiniu,Petabox
  14219. - Type: string
  14220. - Required: false
  14221. - Examples:
  14222. - "objects-us-east-1.dream.io"
  14223. - Dream Objects endpoint
  14224. - "syd1.digitaloceanspaces.com"
  14225. - DigitalOcean Spaces Sydney 1
  14226. - "sfo3.digitaloceanspaces.com"
  14227. - DigitalOcean Spaces San Francisco 3
  14228. - "fra1.digitaloceanspaces.com"
  14229. - DigitalOcean Spaces Frankfurt 1
  14230. - "nyc3.digitaloceanspaces.com"
  14231. - DigitalOcean Spaces New York 3
  14232. - "ams3.digitaloceanspaces.com"
  14233. - DigitalOcean Spaces Amsterdam 3
  14234. - "sgp1.digitaloceanspaces.com"
  14235. - DigitalOcean Spaces Singapore 1
  14236. - "localhost:8333"
  14237. - SeaweedFS S3 localhost
  14238. - "s3.us-east-1.lyvecloud.seagate.com"
  14239. - Seagate Lyve Cloud US East 1 (Virginia)
  14240. - "s3.us-west-1.lyvecloud.seagate.com"
  14241. - Seagate Lyve Cloud US West 1 (California)
  14242. - "s3.ap-southeast-1.lyvecloud.seagate.com"
  14243. - Seagate Lyve Cloud AP Southeast 1 (Singapore)
  14244. - "s3.wasabisys.com"
  14245. - Wasabi US East 1 (N. Virginia)
  14246. - "s3.us-east-2.wasabisys.com"
  14247. - Wasabi US East 2 (N. Virginia)
  14248. - "s3.us-central-1.wasabisys.com"
  14249. - Wasabi US Central 1 (Texas)
  14250. - "s3.us-west-1.wasabisys.com"
  14251. - Wasabi US West 1 (Oregon)
  14252. - "s3.ca-central-1.wasabisys.com"
  14253. - Wasabi CA Central 1 (Toronto)
  14254. - "s3.eu-central-1.wasabisys.com"
  14255. - Wasabi EU Central 1 (Amsterdam)
  14256. - "s3.eu-central-2.wasabisys.com"
  14257. - Wasabi EU Central 2 (Frankfurt)
  14258. - "s3.eu-west-1.wasabisys.com"
  14259. - Wasabi EU West 1 (London)
  14260. - "s3.eu-west-2.wasabisys.com"
  14261. - Wasabi EU West 2 (Paris)
  14262. - "s3.ap-northeast-1.wasabisys.com"
  14263. - Wasabi AP Northeast 1 (Tokyo) endpoint
  14264. - "s3.ap-northeast-2.wasabisys.com"
  14265. - Wasabi AP Northeast 2 (Osaka) endpoint
  14266. - "s3.ap-southeast-1.wasabisys.com"
  14267. - Wasabi AP Southeast 1 (Singapore)
  14268. - "s3.ap-southeast-2.wasabisys.com"
  14269. - Wasabi AP Southeast 2 (Sydney)
  14270. - "storage.iran.liara.space"
  14271. - Liara Iran endpoint
  14272. - "s3.ir-thr-at1.arvanstorage.ir"
  14273. - ArvanCloud Tehran Iran (Simin) endpoint
  14274. - "s3.ir-tbz-sh1.arvanstorage.ir"
  14275. - ArvanCloud Tabriz Iran (Shahriar) endpoint
  14276. --s3-location-constraint
  14277. Location constraint - must be set to match the Region.
  14278. Used when creating buckets only.
  14279. Properties:
  14280. - Config: location_constraint
  14281. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  14282. - Provider: AWS
  14283. - Type: string
  14284. - Required: false
  14285. - Examples:
  14286. - ""
  14287. - Empty for US Region, Northern Virginia, or Pacific Northwest
  14288. - "us-east-2"
  14289. - US East (Ohio) Region
  14290. - "us-west-1"
  14291. - US West (Northern California) Region
  14292. - "us-west-2"
  14293. - US West (Oregon) Region
  14294. - "ca-central-1"
  14295. - Canada (Central) Region
  14296. - "eu-west-1"
  14297. - EU (Ireland) Region
  14298. - "eu-west-2"
  14299. - EU (London) Region
  14300. - "eu-west-3"
  14301. - EU (Paris) Region
  14302. - "eu-north-1"
  14303. - EU (Stockholm) Region
  14304. - "eu-south-1"
  14305. - EU (Milan) Region
  14306. - "EU"
  14307. - EU Region
  14308. - "ap-southeast-1"
  14309. - Asia Pacific (Singapore) Region
  14310. - "ap-southeast-2"
  14311. - Asia Pacific (Sydney) Region
  14312. - "ap-northeast-1"
  14313. - Asia Pacific (Tokyo) Region
  14314. - "ap-northeast-2"
  14315. - Asia Pacific (Seoul) Region
  14316. - "ap-northeast-3"
  14317. - Asia Pacific (Osaka-Local) Region
  14318. - "ap-south-1"
  14319. - Asia Pacific (Mumbai) Region
  14320. - "ap-east-1"
  14321. - Asia Pacific (Hong Kong) Region
  14322. - "sa-east-1"
  14323. - South America (Sao Paulo) Region
  14324. - "me-south-1"
  14325. - Middle East (Bahrain) Region
  14326. - "af-south-1"
  14327. - Africa (Cape Town) Region
  14328. - "cn-north-1"
  14329. - China (Beijing) Region
  14330. - "cn-northwest-1"
  14331. - China (Ningxia) Region
  14332. - "us-gov-east-1"
  14333. - AWS GovCloud (US-East) Region
  14334. - "us-gov-west-1"
  14335. - AWS GovCloud (US) Region
  14336. --s3-location-constraint
  14337. Location constraint - must match endpoint.
  14338. Used when creating buckets only.
  14339. Properties:
  14340. - Config: location_constraint
  14341. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  14342. - Provider: ChinaMobile
  14343. - Type: string
  14344. - Required: false
  14345. - Examples:
  14346. - "wuxi1"
  14347. - East China (Suzhou)
  14348. - "jinan1"
  14349. - East China (Jinan)
  14350. - "ningbo1"
  14351. - East China (Hangzhou)
  14352. - "shanghai1"
  14353. - East China (Shanghai-1)
  14354. - "zhengzhou1"
  14355. - Central China (Zhengzhou)
  14356. - "hunan1"
  14357. - Central China (Changsha-1)
  14358. - "zhuzhou1"
  14359. - Central China (Changsha-2)
  14360. - "guangzhou1"
  14361. - South China (Guangzhou-2)
  14362. - "dongguan1"
  14363. - South China (Guangzhou-3)
  14364. - "beijing1"
  14365. - North China (Beijing-1)
  14366. - "beijing2"
  14367. - North China (Beijing-2)
  14368. - "beijing4"
  14369. - North China (Beijing-3)
  14370. - "huhehaote1"
  14371. - North China (Huhehaote)
  14372. - "chengdu1"
  14373. - Southwest China (Chengdu)
  14374. - "chongqing1"
  14375. - Southwest China (Chongqing)
  14376. - "guiyang1"
  14377. - Southwest China (Guiyang)
  14378. - "xian1"
  14379. - Nouthwest China (Xian)
  14380. - "yunnan"
  14381. - Yunnan China (Kunming)
  14382. - "yunnan2"
  14383. - Yunnan China (Kunming-2)
  14384. - "tianjin1"
  14385. - Tianjin China (Tianjin)
  14386. - "jilin1"
  14387. - Jilin China (Changchun)
  14388. - "hubei1"
  14389. - Hubei China (Xiangyan)
  14390. - "jiangxi1"
  14391. - Jiangxi China (Nanchang)
  14392. - "gansu1"
  14393. - Gansu China (Lanzhou)
  14394. - "shanxi1"
  14395. - Shanxi China (Taiyuan)
  14396. - "liaoning1"
  14397. - Liaoning China (Shenyang)
  14398. - "hebei1"
  14399. - Hebei China (Shijiazhuang)
  14400. - "fujian1"
  14401. - Fujian China (Xiamen)
  14402. - "guangxi1"
  14403. - Guangxi China (Nanning)
  14404. - "anhui1"
  14405. - Anhui China (Huainan)
  14406. --s3-location-constraint
  14407. Location constraint - must match endpoint.
  14408. Used when creating buckets only.
  14409. Properties:
  14410. - Config: location_constraint
  14411. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  14412. - Provider: ArvanCloud
  14413. - Type: string
  14414. - Required: false
  14415. - Examples:
  14416. - "ir-thr-at1"
  14417. - Tehran Iran (Simin)
  14418. - "ir-tbz-sh1"
  14419. - Tabriz Iran (Shahriar)
  14420. --s3-location-constraint
  14421. Location constraint - must match endpoint when using IBM Cloud Public.
  14422. For on-prem COS, do not make a selection from this list, hit enter.
  14423. Properties:
  14424. - Config: location_constraint
  14425. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  14426. - Provider: IBMCOS
  14427. - Type: string
  14428. - Required: false
  14429. - Examples:
  14430. - "us-standard"
  14431. - US Cross Region Standard
  14432. - "us-vault"
  14433. - US Cross Region Vault
  14434. - "us-cold"
  14435. - US Cross Region Cold
  14436. - "us-flex"
  14437. - US Cross Region Flex
  14438. - "us-east-standard"
  14439. - US East Region Standard
  14440. - "us-east-vault"
  14441. - US East Region Vault
  14442. - "us-east-cold"
  14443. - US East Region Cold
  14444. - "us-east-flex"
  14445. - US East Region Flex
  14446. - "us-south-standard"
  14447. - US South Region Standard
  14448. - "us-south-vault"
  14449. - US South Region Vault
  14450. - "us-south-cold"
  14451. - US South Region Cold
  14452. - "us-south-flex"
  14453. - US South Region Flex
  14454. - "eu-standard"
  14455. - EU Cross Region Standard
  14456. - "eu-vault"
  14457. - EU Cross Region Vault
  14458. - "eu-cold"
  14459. - EU Cross Region Cold
  14460. - "eu-flex"
  14461. - EU Cross Region Flex
  14462. - "eu-gb-standard"
  14463. - Great Britain Standard
  14464. - "eu-gb-vault"
  14465. - Great Britain Vault
  14466. - "eu-gb-cold"
  14467. - Great Britain Cold
  14468. - "eu-gb-flex"
  14469. - Great Britain Flex
  14470. - "ap-standard"
  14471. - APAC Standard
  14472. - "ap-vault"
  14473. - APAC Vault
  14474. - "ap-cold"
  14475. - APAC Cold
  14476. - "ap-flex"
  14477. - APAC Flex
  14478. - "mel01-standard"
  14479. - Melbourne Standard
  14480. - "mel01-vault"
  14481. - Melbourne Vault
  14482. - "mel01-cold"
  14483. - Melbourne Cold
  14484. - "mel01-flex"
  14485. - Melbourne Flex
  14486. - "tor01-standard"
  14487. - Toronto Standard
  14488. - "tor01-vault"
  14489. - Toronto Vault
  14490. - "tor01-cold"
  14491. - Toronto Cold
  14492. - "tor01-flex"
  14493. - Toronto Flex
  14494. --s3-location-constraint
  14495. Location constraint - the location where your bucket will be located and
  14496. your data stored.
  14497. Properties:
  14498. - Config: location_constraint
  14499. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  14500. - Provider: RackCorp
  14501. - Type: string
  14502. - Required: false
  14503. - Examples:
  14504. - "global"
  14505. - Global CDN Region
  14506. - "au"
  14507. - Australia (All locations)
  14508. - "au-nsw"
  14509. - NSW (Australia) Region
  14510. - "au-qld"
  14511. - QLD (Australia) Region
  14512. - "au-vic"
  14513. - VIC (Australia) Region
  14514. - "au-wa"
  14515. - Perth (Australia) Region
  14516. - "ph"
  14517. - Manila (Philippines) Region
  14518. - "th"
  14519. - Bangkok (Thailand) Region
  14520. - "hk"
  14521. - HK (Hong Kong) Region
  14522. - "mn"
  14523. - Ulaanbaatar (Mongolia) Region
  14524. - "kg"
  14525. - Bishkek (Kyrgyzstan) Region
  14526. - "id"
  14527. - Jakarta (Indonesia) Region
  14528. - "jp"
  14529. - Tokyo (Japan) Region
  14530. - "sg"
  14531. - SG (Singapore) Region
  14532. - "de"
  14533. - Frankfurt (Germany) Region
  14534. - "us"
  14535. - USA (AnyCast) Region
  14536. - "us-east-1"
  14537. - New York (USA) Region
  14538. - "us-west-1"
  14539. - Freemont (USA) Region
  14540. - "nz"
  14541. - Auckland (New Zealand) Region
  14542. --s3-location-constraint
  14543. Location constraint - must be set to match the Region.
  14544. Used when creating buckets only.
  14545. Properties:
  14546. - Config: location_constraint
  14547. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  14548. - Provider: Qiniu
  14549. - Type: string
  14550. - Required: false
  14551. - Examples:
  14552. - "cn-east-1"
  14553. - East China Region 1
  14554. - "cn-east-2"
  14555. - East China Region 2
  14556. - "cn-north-1"
  14557. - North China Region 1
  14558. - "cn-south-1"
  14559. - South China Region 1
  14560. - "us-north-1"
  14561. - North America Region 1
  14562. - "ap-southeast-1"
  14563. - Southeast Asia Region 1
  14564. - "ap-northeast-1"
  14565. - Northeast Asia Region 1
  14566. --s3-location-constraint
  14567. Location constraint - must be set to match the Region.
  14568. Leave blank if not sure. Used when creating buckets only.
  14569. Properties:
  14570. - Config: location_constraint
  14571. - Env Var: RCLONE_S3_LOCATION_CONSTRAINT
  14572. - Provider:
  14573. !AWS,Alibaba,ArvanCloud,HuaweiOBS,ChinaMobile,Cloudflare,IBMCOS,IDrive,IONOS,Liara,Qiniu,RackCorp,Scaleway,StackPath,Storj,TencentCOS,Petabox
  14574. - Type: string
  14575. - Required: false
  14576. --s3-acl
  14577. Canned ACL used when creating buckets and storing or copying objects.
  14578. This ACL is used for creating objects and if bucket_acl isn't set, for
  14579. creating buckets too.
  14580. For more info visit
  14581. https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  14582. Note that this ACL is applied when server-side copying objects as S3
  14583. doesn't copy the ACL from the source but rather writes a fresh one.
  14584. If the acl is an empty string then no X-Amz-Acl: header is added and the
  14585. default (private) will be used.
  14586. Properties:
  14587. - Config: acl
  14588. - Env Var: RCLONE_S3_ACL
  14589. - Provider: !Storj,Cloudflare
  14590. - Type: string
  14591. - Required: false
  14592. - Examples:
  14593. - "default"
  14594. - Owner gets Full_CONTROL.
  14595. - No one else has access rights (default).
  14596. - "private"
  14597. - Owner gets FULL_CONTROL.
  14598. - No one else has access rights (default).
  14599. - "public-read"
  14600. - Owner gets FULL_CONTROL.
  14601. - The AllUsers group gets READ access.
  14602. - "public-read-write"
  14603. - Owner gets FULL_CONTROL.
  14604. - The AllUsers group gets READ and WRITE access.
  14605. - Granting this on a bucket is generally not recommended.
  14606. - "authenticated-read"
  14607. - Owner gets FULL_CONTROL.
  14608. - The AuthenticatedUsers group gets READ access.
  14609. - "bucket-owner-read"
  14610. - Object owner gets FULL_CONTROL.
  14611. - Bucket owner gets READ access.
  14612. - If you specify this canned ACL when creating a bucket,
  14613. Amazon S3 ignores it.
  14614. - "bucket-owner-full-control"
  14615. - Both the object owner and the bucket owner get FULL_CONTROL
  14616. over the object.
  14617. - If you specify this canned ACL when creating a bucket,
  14618. Amazon S3 ignores it.
  14619. - "private"
  14620. - Owner gets FULL_CONTROL.
  14621. - No one else has access rights (default).
  14622. - This acl is available on IBM Cloud (Infra), IBM Cloud
  14623. (Storage), On-Premise COS.
  14624. - "public-read"
  14625. - Owner gets FULL_CONTROL.
  14626. - The AllUsers group gets READ access.
  14627. - This acl is available on IBM Cloud (Infra), IBM Cloud
  14628. (Storage), On-Premise IBM COS.
  14629. - "public-read-write"
  14630. - Owner gets FULL_CONTROL.
  14631. - The AllUsers group gets READ and WRITE access.
  14632. - This acl is available on IBM Cloud (Infra), On-Premise IBM
  14633. COS.
  14634. - "authenticated-read"
  14635. - Owner gets FULL_CONTROL.
  14636. - The AuthenticatedUsers group gets READ access.
  14637. - Not supported on Buckets.
  14638. - This acl is available on IBM Cloud (Infra) and On-Premise
  14639. IBM COS.
  14640. --s3-server-side-encryption
  14641. The server-side encryption algorithm used when storing this object in
  14642. S3.
  14643. Properties:
  14644. - Config: server_side_encryption
  14645. - Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION
  14646. - Provider: AWS,Ceph,ChinaMobile,Minio
  14647. - Type: string
  14648. - Required: false
  14649. - Examples:
  14650. - ""
  14651. - None
  14652. - "AES256"
  14653. - AES256
  14654. - "aws:kms"
  14655. - aws:kms
  14656. --s3-sse-kms-key-id
  14657. If using KMS ID you must provide the ARN of Key.
  14658. Properties:
  14659. - Config: sse_kms_key_id
  14660. - Env Var: RCLONE_S3_SSE_KMS_KEY_ID
  14661. - Provider: AWS,Ceph,Minio
  14662. - Type: string
  14663. - Required: false
  14664. - Examples:
  14665. - ""
  14666. - None
  14667. - "arn:aws:kms:us-east-1:*"
  14668. - arn:aws:kms:*
  14669. --s3-storage-class
  14670. The storage class to use when storing new objects in S3.
  14671. Properties:
  14672. - Config: storage_class
  14673. - Env Var: RCLONE_S3_STORAGE_CLASS
  14674. - Provider: AWS
  14675. - Type: string
  14676. - Required: false
  14677. - Examples:
  14678. - ""
  14679. - Default
  14680. - "STANDARD"
  14681. - Standard storage class
  14682. - "REDUCED_REDUNDANCY"
  14683. - Reduced redundancy storage class
  14684. - "STANDARD_IA"
  14685. - Standard Infrequent Access storage class
  14686. - "ONEZONE_IA"
  14687. - One Zone Infrequent Access storage class
  14688. - "GLACIER"
  14689. - Glacier storage class
  14690. - "DEEP_ARCHIVE"
  14691. - Glacier Deep Archive storage class
  14692. - "INTELLIGENT_TIERING"
  14693. - Intelligent-Tiering storage class
  14694. - "GLACIER_IR"
  14695. - Glacier Instant Retrieval storage class
  14696. --s3-storage-class
  14697. The storage class to use when storing new objects in OSS.
  14698. Properties:
  14699. - Config: storage_class
  14700. - Env Var: RCLONE_S3_STORAGE_CLASS
  14701. - Provider: Alibaba
  14702. - Type: string
  14703. - Required: false
  14704. - Examples:
  14705. - ""
  14706. - Default
  14707. - "STANDARD"
  14708. - Standard storage class
  14709. - "GLACIER"
  14710. - Archive storage mode
  14711. - "STANDARD_IA"
  14712. - Infrequent access storage mode
  14713. --s3-storage-class
  14714. The storage class to use when storing new objects in ChinaMobile.
  14715. Properties:
  14716. - Config: storage_class
  14717. - Env Var: RCLONE_S3_STORAGE_CLASS
  14718. - Provider: ChinaMobile
  14719. - Type: string
  14720. - Required: false
  14721. - Examples:
  14722. - ""
  14723. - Default
  14724. - "STANDARD"
  14725. - Standard storage class
  14726. - "GLACIER"
  14727. - Archive storage mode
  14728. - "STANDARD_IA"
  14729. - Infrequent access storage mode
  14730. --s3-storage-class
  14731. The storage class to use when storing new objects in Liara
  14732. Properties:
  14733. - Config: storage_class
  14734. - Env Var: RCLONE_S3_STORAGE_CLASS
  14735. - Provider: Liara
  14736. - Type: string
  14737. - Required: false
  14738. - Examples:
  14739. - "STANDARD"
  14740. - Standard storage class
  14741. --s3-storage-class
  14742. The storage class to use when storing new objects in ArvanCloud.
  14743. Properties:
  14744. - Config: storage_class
  14745. - Env Var: RCLONE_S3_STORAGE_CLASS
  14746. - Provider: ArvanCloud
  14747. - Type: string
  14748. - Required: false
  14749. - Examples:
  14750. - "STANDARD"
  14751. - Standard storage class
  14752. --s3-storage-class
  14753. The storage class to use when storing new objects in Tencent COS.
  14754. Properties:
  14755. - Config: storage_class
  14756. - Env Var: RCLONE_S3_STORAGE_CLASS
  14757. - Provider: TencentCOS
  14758. - Type: string
  14759. - Required: false
  14760. - Examples:
  14761. - ""
  14762. - Default
  14763. - "STANDARD"
  14764. - Standard storage class
  14765. - "ARCHIVE"
  14766. - Archive storage mode
  14767. - "STANDARD_IA"
  14768. - Infrequent access storage mode
  14769. --s3-storage-class
  14770. The storage class to use when storing new objects in S3.
  14771. Properties:
  14772. - Config: storage_class
  14773. - Env Var: RCLONE_S3_STORAGE_CLASS
  14774. - Provider: Scaleway
  14775. - Type: string
  14776. - Required: false
  14777. - Examples:
  14778. - ""
  14779. - Default.
  14780. - "STANDARD"
  14781. - The Standard class for any upload.
  14782. - Suitable for on-demand content like streaming or CDN.
  14783. - Available in all regions.
  14784. - "GLACIER"
  14785. - Archived storage.
  14786. - Prices are lower, but it needs to be restored first to be
  14787. accessed.
  14788. - Available in FR-PAR and NL-AMS regions.
  14789. - "ONEZONE_IA"
  14790. - One Zone - Infrequent Access.
  14791. - A good choice for storing secondary backup copies or easily
  14792. re-creatable data.
  14793. - Available in the FR-PAR region only.
  14794. --s3-storage-class
  14795. The storage class to use when storing new objects in Qiniu.
  14796. Properties:
  14797. - Config: storage_class
  14798. - Env Var: RCLONE_S3_STORAGE_CLASS
  14799. - Provider: Qiniu
  14800. - Type: string
  14801. - Required: false
  14802. - Examples:
  14803. - "STANDARD"
  14804. - Standard storage class
  14805. - "LINE"
  14806. - Infrequent access storage mode
  14807. - "GLACIER"
  14808. - Archive storage mode
  14809. - "DEEP_ARCHIVE"
  14810. - Deep archive storage mode
  14811. Advanced options
  14812. Here are the Advanced options specific to s3 (Amazon S3 Compliant
  14813. Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, China
  14814. Mobile, Cloudflare, GCS, DigitalOcean, Dreamhost, Huawei OBS, IBM COS,
  14815. IDrive e2, IONOS Cloud, Liara, Lyve Cloud, Minio, Netease, Petabox,
  14816. RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and
  14817. Wasabi).
  14818. --s3-bucket-acl
  14819. Canned ACL used when creating buckets.
  14820. For more info visit
  14821. https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  14822. Note that this ACL is applied when only when creating buckets. If it
  14823. isn't set then "acl" is used instead.
  14824. If the "acl" and "bucket_acl" are empty strings then no X-Amz-Acl:
  14825. header is added and the default (private) will be used.
  14826. Properties:
  14827. - Config: bucket_acl
  14828. - Env Var: RCLONE_S3_BUCKET_ACL
  14829. - Type: string
  14830. - Required: false
  14831. - Examples:
  14832. - "private"
  14833. - Owner gets FULL_CONTROL.
  14834. - No one else has access rights (default).
  14835. - "public-read"
  14836. - Owner gets FULL_CONTROL.
  14837. - The AllUsers group gets READ access.
  14838. - "public-read-write"
  14839. - Owner gets FULL_CONTROL.
  14840. - The AllUsers group gets READ and WRITE access.
  14841. - Granting this on a bucket is generally not recommended.
  14842. - "authenticated-read"
  14843. - Owner gets FULL_CONTROL.
  14844. - The AuthenticatedUsers group gets READ access.
  14845. --s3-requester-pays
  14846. Enables requester pays option when interacting with S3 bucket.
  14847. Properties:
  14848. - Config: requester_pays
  14849. - Env Var: RCLONE_S3_REQUESTER_PAYS
  14850. - Provider: AWS
  14851. - Type: bool
  14852. - Default: false
  14853. --s3-sse-customer-algorithm
  14854. If using SSE-C, the server-side encryption algorithm used when storing
  14855. this object in S3.
  14856. Properties:
  14857. - Config: sse_customer_algorithm
  14858. - Env Var: RCLONE_S3_SSE_CUSTOMER_ALGORITHM
  14859. - Provider: AWS,Ceph,ChinaMobile,Minio
  14860. - Type: string
  14861. - Required: false
  14862. - Examples:
  14863. - ""
  14864. - None
  14865. - "AES256"
  14866. - AES256
  14867. --s3-sse-customer-key
  14868. To use SSE-C you may provide the secret encryption key used to
  14869. encrypt/decrypt your data.
  14870. Alternatively you can provide --sse-customer-key-base64.
  14871. Properties:
  14872. - Config: sse_customer_key
  14873. - Env Var: RCLONE_S3_SSE_CUSTOMER_KEY
  14874. - Provider: AWS,Ceph,ChinaMobile,Minio
  14875. - Type: string
  14876. - Required: false
  14877. - Examples:
  14878. - ""
  14879. - None
  14880. --s3-sse-customer-key-base64
  14881. If using SSE-C you must provide the secret encryption key encoded in
  14882. base64 format to encrypt/decrypt your data.
  14883. Alternatively you can provide --sse-customer-key.
  14884. Properties:
  14885. - Config: sse_customer_key_base64
  14886. - Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_BASE64
  14887. - Provider: AWS,Ceph,ChinaMobile,Minio
  14888. - Type: string
  14889. - Required: false
  14890. - Examples:
  14891. - ""
  14892. - None
  14893. --s3-sse-customer-key-md5
  14894. If using SSE-C you may provide the secret encryption key MD5 checksum
  14895. (optional).
  14896. If you leave it blank, this is calculated automatically from the
  14897. sse_customer_key provided.
  14898. Properties:
  14899. - Config: sse_customer_key_md5
  14900. - Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_MD5
  14901. - Provider: AWS,Ceph,ChinaMobile,Minio
  14902. - Type: string
  14903. - Required: false
  14904. - Examples:
  14905. - ""
  14906. - None
  14907. --s3-upload-cutoff
  14908. Cutoff for switching to chunked upload.
  14909. Any files larger than this will be uploaded in chunks of chunk_size. The
  14910. minimum is 0 and the maximum is 5 GiB.
  14911. Properties:
  14912. - Config: upload_cutoff
  14913. - Env Var: RCLONE_S3_UPLOAD_CUTOFF
  14914. - Type: SizeSuffix
  14915. - Default: 200Mi
  14916. --s3-chunk-size
  14917. Chunk size to use for uploading.
  14918. When uploading files larger than upload_cutoff or files with unknown
  14919. size (e.g. from "rclone rcat" or uploaded with "rclone mount" or google
  14920. photos or google docs) they will be uploaded as multipart uploads using
  14921. this chunk size.
  14922. Note that "--s3-upload-concurrency" chunks of this size are buffered in
  14923. memory per transfer.
  14924. If you are transferring large files over high-speed links and you have
  14925. enough memory, then increasing this will speed up the transfers.
  14926. Rclone will automatically increase the chunk size when uploading a large
  14927. file of known size to stay below the 10,000 chunks limit.
  14928. Files of unknown size are uploaded with the configured chunk_size. Since
  14929. the default chunk size is 5 MiB and there can be at most 10,000 chunks,
  14930. this means that by default the maximum size of a file you can stream
  14931. upload is 48 GiB. If you wish to stream upload larger files then you
  14932. will need to increase chunk_size.
  14933. Increasing the chunk size decreases the accuracy of the progress
  14934. statistics displayed with "-P" flag. Rclone treats chunk as sent when
  14935. it's buffered by the AWS SDK, when in fact it may still be uploading. A
  14936. bigger chunk size means a bigger AWS SDK buffer and progress reporting
  14937. more deviating from the truth.
  14938. Properties:
  14939. - Config: chunk_size
  14940. - Env Var: RCLONE_S3_CHUNK_SIZE
  14941. - Type: SizeSuffix
  14942. - Default: 5Mi
  14943. --s3-max-upload-parts
  14944. Maximum number of parts in a multipart upload.
  14945. This option defines the maximum number of multipart chunks to use when
  14946. doing a multipart upload.
  14947. This can be useful if a service does not support the AWS S3
  14948. specification of 10,000 chunks.
  14949. Rclone will automatically increase the chunk size when uploading a large
  14950. file of a known size to stay below this number of chunks limit.
  14951. Properties:
  14952. - Config: max_upload_parts
  14953. - Env Var: RCLONE_S3_MAX_UPLOAD_PARTS
  14954. - Type: int
  14955. - Default: 10000
  14956. --s3-copy-cutoff
  14957. Cutoff for switching to multipart copy.
  14958. Any files larger than this that need to be server-side copied will be
  14959. copied in chunks of this size.
  14960. The minimum is 0 and the maximum is 5 GiB.
  14961. Properties:
  14962. - Config: copy_cutoff
  14963. - Env Var: RCLONE_S3_COPY_CUTOFF
  14964. - Type: SizeSuffix
  14965. - Default: 4.656Gi
  14966. --s3-disable-checksum
  14967. Don't store MD5 checksum with object metadata.
  14968. Normally rclone will calculate the MD5 checksum of the input before
  14969. uploading it so it can add it to metadata on the object. This is great
  14970. for data integrity checking but can cause long delays for large files to
  14971. start uploading.
  14972. Properties:
  14973. - Config: disable_checksum
  14974. - Env Var: RCLONE_S3_DISABLE_CHECKSUM
  14975. - Type: bool
  14976. - Default: false
  14977. --s3-shared-credentials-file
  14978. Path to the shared credentials file.
  14979. If env_auth = true then rclone can use a shared credentials file.
  14980. If this variable is empty rclone will look for the
  14981. "AWS_SHARED_CREDENTIALS_FILE" env variable. If the env value is empty it
  14982. will default to the current user's home directory.
  14983. Linux/OSX: "$HOME/.aws/credentials"
  14984. Windows: "%USERPROFILE%\.aws\credentials"
  14985. Properties:
  14986. - Config: shared_credentials_file
  14987. - Env Var: RCLONE_S3_SHARED_CREDENTIALS_FILE
  14988. - Type: string
  14989. - Required: false
  14990. --s3-profile
  14991. Profile to use in the shared credentials file.
  14992. If env_auth = true then rclone can use a shared credentials file. This
  14993. variable controls which profile is used in that file.
  14994. If empty it will default to the environment variable "AWS_PROFILE" or
  14995. "default" if that environment variable is also not set.
  14996. Properties:
  14997. - Config: profile
  14998. - Env Var: RCLONE_S3_PROFILE
  14999. - Type: string
  15000. - Required: false
  15001. --s3-session-token
  15002. An AWS session token.
  15003. Properties:
  15004. - Config: session_token
  15005. - Env Var: RCLONE_S3_SESSION_TOKEN
  15006. - Type: string
  15007. - Required: false
  15008. --s3-upload-concurrency
  15009. Concurrency for multipart uploads.
  15010. This is the number of chunks of the same file that are uploaded
  15011. concurrently.
  15012. If you are uploading small numbers of large files over high-speed links
  15013. and these uploads do not fully utilize your bandwidth, then increasing
  15014. this may help to speed up the transfers.
  15015. Properties:
  15016. - Config: upload_concurrency
  15017. - Env Var: RCLONE_S3_UPLOAD_CONCURRENCY
  15018. - Type: int
  15019. - Default: 4
  15020. --s3-force-path-style
  15021. If true use path style access if false use virtual hosted style.
  15022. If this is true (the default) then rclone will use path style access, if
  15023. false then rclone will use virtual path style. See the AWS S3 docs for
  15024. more info.
  15025. Some providers (e.g. AWS, Aliyun OSS, Netease COS, or Tencent COS)
  15026. require this set to false - rclone will do this automatically based on
  15027. the provider setting.
  15028. Properties:
  15029. - Config: force_path_style
  15030. - Env Var: RCLONE_S3_FORCE_PATH_STYLE
  15031. - Type: bool
  15032. - Default: true
  15033. --s3-v2-auth
  15034. If true use v2 authentication.
  15035. If this is false (the default) then rclone will use v4 authentication.
  15036. If it is set then rclone will use v2 authentication.
  15037. Use this only if v4 signatures don't work, e.g. pre Jewel/v10 CEPH.
  15038. Properties:
  15039. - Config: v2_auth
  15040. - Env Var: RCLONE_S3_V2_AUTH
  15041. - Type: bool
  15042. - Default: false
  15043. --s3-use-accelerate-endpoint
  15044. If true use the AWS S3 accelerated endpoint.
  15045. See: AWS S3 Transfer acceleration
  15046. Properties:
  15047. - Config: use_accelerate_endpoint
  15048. - Env Var: RCLONE_S3_USE_ACCELERATE_ENDPOINT
  15049. - Provider: AWS
  15050. - Type: bool
  15051. - Default: false
  15052. --s3-leave-parts-on-error
  15053. If true avoid calling abort upload on a failure, leaving all
  15054. successfully uploaded parts on S3 for manual recovery.
  15055. It should be set to true for resuming uploads across different sessions.
  15056. WARNING: Storing parts of an incomplete multipart upload counts towards
  15057. space usage on S3 and will add additional costs if not cleaned up.
  15058. Properties:
  15059. - Config: leave_parts_on_error
  15060. - Env Var: RCLONE_S3_LEAVE_PARTS_ON_ERROR
  15061. - Provider: AWS
  15062. - Type: bool
  15063. - Default: false
  15064. --s3-list-chunk
  15065. Size of listing chunk (response list for each ListObject S3 request).
  15066. This option is also known as "MaxKeys", "max-items", or "page-size" from
  15067. the AWS S3 specification. Most services truncate the response list to
  15068. 1000 objects even if requested more than that. In AWS S3 this is a
  15069. global maximum and cannot be changed, see AWS S3. In Ceph, this can be
  15070. increased with the "rgw list buckets max chunk" option.
  15071. Properties:
  15072. - Config: list_chunk
  15073. - Env Var: RCLONE_S3_LIST_CHUNK
  15074. - Type: int
  15075. - Default: 1000
  15076. --s3-list-version
  15077. Version of ListObjects to use: 1,2 or 0 for auto.
  15078. When S3 originally launched it only provided the ListObjects call to
  15079. enumerate objects in a bucket.
  15080. However in May 2016 the ListObjectsV2 call was introduced. This is much
  15081. higher performance and should be used if at all possible.
  15082. If set to the default, 0, rclone will guess according to the provider
  15083. set which list objects method to call. If it guesses wrong, then it may
  15084. be set manually here.
  15085. Properties:
  15086. - Config: list_version
  15087. - Env Var: RCLONE_S3_LIST_VERSION
  15088. - Type: int
  15089. - Default: 0
  15090. --s3-list-url-encode
  15091. Whether to url encode listings: true/false/unset
  15092. Some providers support URL encoding listings and where this is available
  15093. this is more reliable when using control characters in file names. If
  15094. this is set to unset (the default) then rclone will choose according to
  15095. the provider setting what to apply, but you can override rclone's choice
  15096. here.
  15097. Properties:
  15098. - Config: list_url_encode
  15099. - Env Var: RCLONE_S3_LIST_URL_ENCODE
  15100. - Type: Tristate
  15101. - Default: unset
  15102. --s3-no-check-bucket
  15103. If set, don't attempt to check the bucket exists or create it.
  15104. This can be useful when trying to minimise the number of transactions
  15105. rclone does if you know the bucket exists already.
  15106. It can also be needed if the user you are using does not have bucket
  15107. creation permissions. Before v1.52.0 this would have passed silently due
  15108. to a bug.
  15109. Properties:
  15110. - Config: no_check_bucket
  15111. - Env Var: RCLONE_S3_NO_CHECK_BUCKET
  15112. - Type: bool
  15113. - Default: false
  15114. --s3-no-head
  15115. If set, don't HEAD uploaded objects to check integrity.
  15116. This can be useful when trying to minimise the number of transactions
  15117. rclone does.
  15118. Setting it means that if rclone receives a 200 OK message after
  15119. uploading an object with PUT then it will assume that it got uploaded
  15120. properly.
  15121. In particular it will assume:
  15122. - the metadata, including modtime, storage class and content type was
  15123. as uploaded
  15124. - the size was as uploaded
  15125. It reads the following items from the response for a single part PUT:
  15126. - the MD5SUM
  15127. - The uploaded date
  15128. For multipart uploads these items aren't read.
  15129. If an source object of unknown length is uploaded then rclone will do a
  15130. HEAD request.
  15131. Setting this flag increases the chance for undetected upload failures,
  15132. in particular an incorrect size, so it isn't recommended for normal
  15133. operation. In practice the chance of an undetected upload failure is
  15134. very small even with this flag.
  15135. Properties:
  15136. - Config: no_head
  15137. - Env Var: RCLONE_S3_NO_HEAD
  15138. - Type: bool
  15139. - Default: false
  15140. --s3-no-head-object
  15141. If set, do not do HEAD before GET when getting objects.
  15142. Properties:
  15143. - Config: no_head_object
  15144. - Env Var: RCLONE_S3_NO_HEAD_OBJECT
  15145. - Type: bool
  15146. - Default: false
  15147. --s3-encoding
  15148. The encoding for the backend.
  15149. See the encoding section in the overview for more info.
  15150. Properties:
  15151. - Config: encoding
  15152. - Env Var: RCLONE_S3_ENCODING
  15153. - Type: MultiEncoder
  15154. - Default: Slash,InvalidUtf8,Dot
  15155. --s3-memory-pool-flush-time
  15156. How often internal memory buffer pools will be flushed.
  15157. Uploads which requires additional buffers (f.e multipart) will use
  15158. memory pool for allocations. This option controls how often unused
  15159. buffers will be removed from the pool.
  15160. Properties:
  15161. - Config: memory_pool_flush_time
  15162. - Env Var: RCLONE_S3_MEMORY_POOL_FLUSH_TIME
  15163. - Type: Duration
  15164. - Default: 1m0s
  15165. --s3-memory-pool-use-mmap
  15166. Whether to use mmap buffers in internal memory pool.
  15167. Properties:
  15168. - Config: memory_pool_use_mmap
  15169. - Env Var: RCLONE_S3_MEMORY_POOL_USE_MMAP
  15170. - Type: bool
  15171. - Default: false
  15172. --s3-disable-http2
  15173. Disable usage of http2 for S3 backends.
  15174. There is currently an unsolved issue with the s3 (specifically minio)
  15175. backend and HTTP/2. HTTP/2 is enabled by default for the s3 backend but
  15176. can be disabled here. When the issue is solved this flag will be
  15177. removed.
  15178. See: https://github.com/rclone/rclone/issues/4673,
  15179. https://github.com/rclone/rclone/issues/3631
  15180. Properties:
  15181. - Config: disable_http2
  15182. - Env Var: RCLONE_S3_DISABLE_HTTP2
  15183. - Type: bool
  15184. - Default: false
  15185. --s3-download-url
  15186. Custom endpoint for downloads. This is usually set to a CloudFront CDN
  15187. URL as AWS S3 offers cheaper egress for data downloaded through the
  15188. CloudFront network.
  15189. Properties:
  15190. - Config: download_url
  15191. - Env Var: RCLONE_S3_DOWNLOAD_URL
  15192. - Type: string
  15193. - Required: false
  15194. --s3-directory-markers
  15195. Upload an empty object with a trailing slash when a new directory is
  15196. created
  15197. Empty folders are unsupported for bucket based remotes, this option
  15198. creates an empty object ending with "/", to persist the folder.
  15199. Properties:
  15200. - Config: directory_markers
  15201. - Env Var: RCLONE_S3_DIRECTORY_MARKERS
  15202. - Type: bool
  15203. - Default: false
  15204. --s3-use-multipart-etag
  15205. Whether to use ETag in multipart uploads for verification
  15206. This should be true, false or left unset to use the default for the
  15207. provider.
  15208. Properties:
  15209. - Config: use_multipart_etag
  15210. - Env Var: RCLONE_S3_USE_MULTIPART_ETAG
  15211. - Type: Tristate
  15212. - Default: unset
  15213. --s3-use-presigned-request
  15214. Whether to use a presigned request or PutObject for single part uploads
  15215. If this is false rclone will use PutObject from the AWS SDK to upload an
  15216. object.
  15217. Versions of rclone < 1.59 use presigned requests to upload a single part
  15218. object and setting this flag to true will re-enable that functionality.
  15219. This shouldn't be necessary except in exceptional circumstances or for
  15220. testing.
  15221. Properties:
  15222. - Config: use_presigned_request
  15223. - Env Var: RCLONE_S3_USE_PRESIGNED_REQUEST
  15224. - Type: bool
  15225. - Default: false
  15226. --s3-versions
  15227. Include old versions in directory listings.
  15228. Properties:
  15229. - Config: versions
  15230. - Env Var: RCLONE_S3_VERSIONS
  15231. - Type: bool
  15232. - Default: false
  15233. --s3-version-at
  15234. Show file versions as they were at the specified time.
  15235. The parameter should be a date, "2006-01-02", datetime "2006-01-02
  15236. 15:04:05" or a duration for that long ago, eg "100d" or "1h".
  15237. Note that when using this no file write operations are permitted, so you
  15238. can't upload files or delete them.
  15239. See the time option docs for valid formats.
  15240. Properties:
  15241. - Config: version_at
  15242. - Env Var: RCLONE_S3_VERSION_AT
  15243. - Type: Time
  15244. - Default: off
  15245. --s3-decompress
  15246. If set this will decompress gzip encoded objects.
  15247. It is possible to upload objects to S3 with "Content-Encoding: gzip"
  15248. set. Normally rclone will download these files as compressed objects.
  15249. If this flag is set then rclone will decompress these files with
  15250. "Content-Encoding: gzip" as they are received. This means that rclone
  15251. can't check the size and hash but the file contents will be
  15252. decompressed.
  15253. Properties:
  15254. - Config: decompress
  15255. - Env Var: RCLONE_S3_DECOMPRESS
  15256. - Type: bool
  15257. - Default: false
  15258. --s3-might-gzip
  15259. Set this if the backend might gzip objects.
  15260. Normally providers will not alter objects when they are downloaded. If
  15261. an object was not uploaded with Content-Encoding: gzip then it won't be
  15262. set on download.
  15263. However some providers may gzip objects even if they weren't uploaded
  15264. with Content-Encoding: gzip (eg Cloudflare).
  15265. A symptom of this would be receiving errors like
  15266. ERROR corrupted on transfer: sizes differ NNN vs MMM
  15267. If you set this flag and rclone downloads an object with
  15268. Content-Encoding: gzip set and chunked transfer encoding, then rclone
  15269. will decompress the object on the fly.
  15270. If this is set to unset (the default) then rclone will choose according
  15271. to the provider setting what to apply, but you can override rclone's
  15272. choice here.
  15273. Properties:
  15274. - Config: might_gzip
  15275. - Env Var: RCLONE_S3_MIGHT_GZIP
  15276. - Type: Tristate
  15277. - Default: unset
  15278. --s3-use-accept-encoding-gzip
  15279. Whether to send Accept-Encoding: gzip header.
  15280. By default, rclone will append Accept-Encoding: gzip to the request to
  15281. download compressed objects whenever possible.
  15282. However some providers such as Google Cloud Storage may alter the HTTP
  15283. headers, breaking the signature of the request.
  15284. A symptom of this would be receiving errors like
  15285. SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided.
  15286. In this case, you might want to try disabling this option.
  15287. Properties:
  15288. - Config: use_accept_encoding_gzip
  15289. - Env Var: RCLONE_S3_USE_ACCEPT_ENCODING_GZIP
  15290. - Type: Tristate
  15291. - Default: unset
  15292. --s3-no-system-metadata
  15293. Suppress setting and reading of system metadata
  15294. Properties:
  15295. - Config: no_system_metadata
  15296. - Env Var: RCLONE_S3_NO_SYSTEM_METADATA
  15297. - Type: bool
  15298. - Default: false
  15299. --s3-sts-endpoint
  15300. Endpoint for STS.
  15301. Leave blank if using AWS to use the default endpoint for the region.
  15302. Properties:
  15303. - Config: sts_endpoint
  15304. - Env Var: RCLONE_S3_STS_ENDPOINT
  15305. - Provider: AWS
  15306. - Type: string
  15307. - Required: false
  15308. Metadata
  15309. User metadata is stored as x-amz-meta- keys. S3 metadata keys are case
  15310. insensitive and are always returned in lower case.
  15311. Here are the possible system metadata items for the s3 backend.
  15312. ------------------------------------------------------------------------------------------------------------------
  15313. Name Help Type Example Read Only
  15314. --------------------- --------------------- ----------- ------------------------------------- --------------------
  15315. btime Time of file birth RFC 3339 2006-01-02T15:04:05.999999999Z07:00 Y
  15316. (creation) read from
  15317. Last-Modified header
  15318. cache-control Cache-Control header string no-cache N
  15319. content-disposition Content-Disposition string inline N
  15320. header
  15321. content-encoding Content-Encoding string gzip N
  15322. header
  15323. content-language Content-Language string en-US N
  15324. header
  15325. content-type Content-Type header string text/plain N
  15326. mtime Time of last RFC 3339 2006-01-02T15:04:05.999999999Z07:00 N
  15327. modification, read
  15328. from rclone metadata
  15329. tier Tier of the object string GLACIER Y
  15330. ------------------------------------------------------------------------------------------------------------------
  15331. See the metadata docs for more info.
  15332. Backend commands
  15333. Here are the commands specific to the s3 backend.
  15334. Run them with
  15335. rclone backend COMMAND remote:
  15336. The help below will explain what arguments each command takes.
  15337. See the backend command for more info on how to pass options and
  15338. arguments.
  15339. These can be run on a running backend using the rc command
  15340. backend/command.
  15341. restore
  15342. Restore objects from GLACIER to normal storage
  15343. rclone backend restore remote: [options] [<arguments>+]
  15344. This command can be used to restore one or more objects from GLACIER to
  15345. normal storage.
  15346. Usage Examples:
  15347. rclone backend restore s3:bucket/path/to/object [-o priority=PRIORITY] [-o lifetime=DAYS]
  15348. rclone backend restore s3:bucket/path/to/directory [-o priority=PRIORITY] [-o lifetime=DAYS]
  15349. rclone backend restore s3:bucket [-o priority=PRIORITY] [-o lifetime=DAYS]
  15350. This flag also obeys the filters. Test first with --interactive/-i or
  15351. --dry-run flags
  15352. rclone --interactive backend restore --include "*.txt" s3:bucket/path -o priority=Standard
  15353. All the objects shown will be marked for restore, then
  15354. rclone backend restore --include "*.txt" s3:bucket/path -o priority=Standard
  15355. It returns a list of status dictionaries with Remote and Status keys.
  15356. The Status will be OK if it was successful or an error message if not.
  15357. [
  15358. {
  15359. "Status": "OK",
  15360. "Path": "test.txt"
  15361. },
  15362. {
  15363. "Status": "OK",
  15364. "Path": "test/file4.txt"
  15365. }
  15366. ]
  15367. Options:
  15368. - "description": The optional description for the job.
  15369. - "lifetime": Lifetime of the active copy in days
  15370. - "priority": Priority of restore: Standard|Expedited|Bulk
  15371. list-multipart-uploads
  15372. List the unfinished multipart uploads
  15373. rclone backend list-multipart-uploads remote: [options] [<arguments>+]
  15374. This command lists the unfinished multipart uploads in JSON format.
  15375. rclone backend list-multipart s3:bucket/path/to/object
  15376. It returns a dictionary of buckets with values as lists of unfinished
  15377. multipart uploads.
  15378. You can call it with no bucket in which case it lists all bucket, with a
  15379. bucket or with a bucket and path.
  15380. {
  15381. "rclone": [
  15382. {
  15383. "Initiated": "2020-06-26T14:20:36Z",
  15384. "Initiator": {
  15385. "DisplayName": "XXX",
  15386. "ID": "arn:aws:iam::XXX:user/XXX"
  15387. },
  15388. "Key": "KEY",
  15389. "Owner": {
  15390. "DisplayName": null,
  15391. "ID": "XXX"
  15392. },
  15393. "StorageClass": "STANDARD",
  15394. "UploadId": "XXX"
  15395. }
  15396. ],
  15397. "rclone-1000files": [],
  15398. "rclone-dst": []
  15399. }
  15400. cleanup
  15401. Remove unfinished multipart uploads.
  15402. rclone backend cleanup remote: [options] [<arguments>+]
  15403. This command removes unfinished multipart uploads of age greater than
  15404. max-age which defaults to 24 hours.
  15405. Note that you can use --interactive/-i or --dry-run with this command to
  15406. see what it would do.
  15407. rclone backend cleanup s3:bucket/path/to/object
  15408. rclone backend cleanup -o max-age=7w s3:bucket/path/to/object
  15409. Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
  15410. Options:
  15411. - "max-age": Max age of upload to delete
  15412. cleanup-hidden
  15413. Remove old versions of files.
  15414. rclone backend cleanup-hidden remote: [options] [<arguments>+]
  15415. This command removes any old hidden versions of files on a versions
  15416. enabled bucket.
  15417. Note that you can use --interactive/-i or --dry-run with this command to
  15418. see what it would do.
  15419. rclone backend cleanup-hidden s3:bucket/path/to/dir
  15420. versioning
  15421. Set/get versioning support for a bucket.
  15422. rclone backend versioning remote: [options] [<arguments>+]
  15423. This command sets versioning support if a parameter is passed and then
  15424. returns the current versioning status for the bucket supplied.
  15425. rclone backend versioning s3:bucket # read status only
  15426. rclone backend versioning s3:bucket Enabled
  15427. rclone backend versioning s3:bucket Suspended
  15428. It may return "Enabled", "Suspended" or "Unversioned". Note that once
  15429. versioning has been enabled the status can't be set back to
  15430. "Unversioned".
  15431. Anonymous access to public buckets
  15432. If you want to use rclone to access a public bucket, configure with a
  15433. blank access_key_id and secret_access_key. Your config should end up
  15434. looking like this:
  15435. [anons3]
  15436. type = s3
  15437. provider = AWS
  15438. env_auth = false
  15439. access_key_id =
  15440. secret_access_key =
  15441. region = us-east-1
  15442. endpoint =
  15443. location_constraint =
  15444. acl = private
  15445. server_side_encryption =
  15446. storage_class =
  15447. Then use it as normal with the name of the public bucket, e.g.
  15448. rclone lsd anons3:1000genomes
  15449. You will be able to list and copy data but not upload it.
  15450. Providers
  15451. AWS S3
  15452. This is the provider used as main example and described in the
  15453. configuration section above.
  15454. AWS Snowball Edge
  15455. AWS Snowball is a hardware appliance used for transferring bulk data
  15456. back to AWS. Its main software interface is S3 object storage.
  15457. To use rclone with AWS Snowball Edge devices, configure as standard for
  15458. an 'S3 Compatible Service'.
  15459. If using rclone pre v1.59 be sure to set upload_cutoff = 0 otherwise you
  15460. will run into authentication header issues as the snowball device does
  15461. not support query parameter based authentication.
  15462. With rclone v1.59 or later setting upload_cutoff should not be
  15463. necessary.
  15464. eg.
  15465. [snowball]
  15466. type = s3
  15467. provider = Other
  15468. access_key_id = YOUR_ACCESS_KEY
  15469. secret_access_key = YOUR_SECRET_KEY
  15470. endpoint = http://[IP of Snowball]:8080
  15471. upload_cutoff = 0
  15472. Ceph
  15473. Ceph is an open-source, unified, distributed storage system designed for
  15474. excellent performance, reliability and scalability. It has an S3
  15475. compatible object storage interface.
  15476. To use rclone with Ceph, configure as above but leave the region blank
  15477. and set the endpoint. You should end up with something like this in your
  15478. config:
  15479. [ceph]
  15480. type = s3
  15481. provider = Ceph
  15482. env_auth = false
  15483. access_key_id = XXX
  15484. secret_access_key = YYY
  15485. region =
  15486. endpoint = https://ceph.endpoint.example.com
  15487. location_constraint =
  15488. acl =
  15489. server_side_encryption =
  15490. storage_class =
  15491. If you are using an older version of CEPH (e.g. 10.2.x Jewel) and a
  15492. version of rclone before v1.59 then you may need to supply the parameter
  15493. --s3-upload-cutoff 0 or put this in the config file as upload_cutoff 0
  15494. to work around a bug which causes uploading of small files to fail.
  15495. Note also that Ceph sometimes puts / in the passwords it gives users. If
  15496. you read the secret access key using the command line tools you will get
  15497. a JSON blob with the / escaped as \/. Make sure you only write / in the
  15498. secret access key.
  15499. Eg the dump from Ceph looks something like this (irrelevant keys
  15500. removed).
  15501. {
  15502. "user_id": "xxx",
  15503. "display_name": "xxxx",
  15504. "keys": [
  15505. {
  15506. "user": "xxx",
  15507. "access_key": "xxxxxx",
  15508. "secret_key": "xxxxxx\/xxxx"
  15509. }
  15510. ],
  15511. }
  15512. Because this is a json dump, it is encoding the / as \/, so if you use
  15513. the secret key as xxxxxx/xxxx it will work fine.
  15514. Cloudflare R2
  15515. Cloudflare R2 Storage allows developers to store large amounts of
  15516. unstructured data without the costly egress bandwidth fees associated
  15517. with typical cloud storage services.
  15518. Here is an example of making a Cloudflare R2 configuration. First run:
  15519. rclone config
  15520. This will guide you through an interactive setup process.
  15521. Note that all buckets are private, and all are stored in the same "auto"
  15522. region. It is necessary to use Cloudflare workers to share the content
  15523. of a bucket publicly.
  15524. No remotes found, make a new one?
  15525. n) New remote
  15526. s) Set configuration password
  15527. q) Quit config
  15528. n/s/q> n
  15529. name> r2
  15530. Option Storage.
  15531. Type of storage to configure.
  15532. Choose a number from below, or type in your own value.
  15533. ...
  15534. 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, Tencent COS and Wasabi
  15535. \ (s3)
  15536. ...
  15537. Storage> s3
  15538. Option provider.
  15539. Choose your S3 provider.
  15540. Choose a number from below, or type in your own value.
  15541. Press Enter to leave empty.
  15542. ...
  15543. XX / Cloudflare R2 Storage
  15544. \ (Cloudflare)
  15545. ...
  15546. provider> Cloudflare
  15547. Option env_auth.
  15548. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  15549. Only applies if access_key_id and secret_access_key is blank.
  15550. Choose a number from below, or type in your own boolean value (true or false).
  15551. Press Enter for the default (false).
  15552. 1 / Enter AWS credentials in the next step.
  15553. \ (false)
  15554. 2 / Get AWS credentials from the environment (env vars or IAM).
  15555. \ (true)
  15556. env_auth> 1
  15557. Option access_key_id.
  15558. AWS Access Key ID.
  15559. Leave blank for anonymous access or runtime credentials.
  15560. Enter a value. Press Enter to leave empty.
  15561. access_key_id> ACCESS_KEY
  15562. Option secret_access_key.
  15563. AWS Secret Access Key (password).
  15564. Leave blank for anonymous access or runtime credentials.
  15565. Enter a value. Press Enter to leave empty.
  15566. secret_access_key> SECRET_ACCESS_KEY
  15567. Option region.
  15568. Region to connect to.
  15569. Choose a number from below, or type in your own value.
  15570. Press Enter to leave empty.
  15571. 1 / R2 buckets are automatically distributed across Cloudflare's data centers for low latency.
  15572. \ (auto)
  15573. region> 1
  15574. Option endpoint.
  15575. Endpoint for S3 API.
  15576. Required when using an S3 clone.
  15577. Enter a value. Press Enter to leave empty.
  15578. endpoint> https://ACCOUNT_ID.r2.cloudflarestorage.com
  15579. Edit advanced config?
  15580. y) Yes
  15581. n) No (default)
  15582. y/n> n
  15583. --------------------
  15584. y) Yes this is OK (default)
  15585. e) Edit this remote
  15586. d) Delete this remote
  15587. y/e/d> y
  15588. This will leave your config looking something like:
  15589. [r2]
  15590. type = s3
  15591. provider = Cloudflare
  15592. access_key_id = ACCESS_KEY
  15593. secret_access_key = SECRET_ACCESS_KEY
  15594. region = auto
  15595. endpoint = https://ACCOUNT_ID.r2.cloudflarestorage.com
  15596. acl = private
  15597. Now run rclone lsf r2: to see your buckets and rclone lsf r2:bucket to
  15598. look within a bucket.
  15599. Dreamhost
  15600. Dreamhost DreamObjects is an object storage system based on CEPH.
  15601. To use rclone with Dreamhost, configure as above but leave the region
  15602. blank and set the endpoint. You should end up with something like this
  15603. in your config:
  15604. [dreamobjects]
  15605. type = s3
  15606. provider = DreamHost
  15607. env_auth = false
  15608. access_key_id = your_access_key
  15609. secret_access_key = your_secret_key
  15610. region =
  15611. endpoint = objects-us-west-1.dream.io
  15612. location_constraint =
  15613. acl = private
  15614. server_side_encryption =
  15615. storage_class =
  15616. Google Cloud Storage
  15617. GoogleCloudStorage is an S3-interoperable object storage service from
  15618. Google Cloud Platform.
  15619. To connect to Google Cloud Storage you will need an access key and
  15620. secret key. These can be retrieved by creating an HMAC key.
  15621. [gs]
  15622. type = s3
  15623. provider = GCS
  15624. access_key_id = your_access_key
  15625. secret_access_key = your_secret_key
  15626. endpoint = https://storage.googleapis.com
  15627. DigitalOcean Spaces
  15628. Spaces is an S3-interoperable object storage service from cloud provider
  15629. DigitalOcean.
  15630. To connect to DigitalOcean Spaces you will need an access key and secret
  15631. key. These can be retrieved on the "Applications & API" page of the
  15632. DigitalOcean control panel. They will be needed when prompted by
  15633. rclone config for your access_key_id and secret_access_key.
  15634. When prompted for a region or location_constraint, press enter to use
  15635. the default value. The region must be included in the endpoint setting
  15636. (e.g. nyc3.digitaloceanspaces.com). The default values can be used for
  15637. other settings.
  15638. Going through the whole process of creating a new remote by running
  15639. rclone config, each prompt should be answered as shown below:
  15640. Storage> s3
  15641. env_auth> 1
  15642. access_key_id> YOUR_ACCESS_KEY
  15643. secret_access_key> YOUR_SECRET_KEY
  15644. region>
  15645. endpoint> nyc3.digitaloceanspaces.com
  15646. location_constraint>
  15647. acl>
  15648. storage_class>
  15649. The resulting configuration file should look like:
  15650. [spaces]
  15651. type = s3
  15652. provider = DigitalOcean
  15653. env_auth = false
  15654. access_key_id = YOUR_ACCESS_KEY
  15655. secret_access_key = YOUR_SECRET_KEY
  15656. region =
  15657. endpoint = nyc3.digitaloceanspaces.com
  15658. location_constraint =
  15659. acl =
  15660. server_side_encryption =
  15661. storage_class =
  15662. Once configured, you can create a new Space and begin copying files. For
  15663. example:
  15664. rclone mkdir spaces:my-new-space
  15665. rclone copy /path/to/files spaces:my-new-space
  15666. Huawei OBS
  15667. Object Storage Service (OBS) provides stable, secure, efficient, and
  15668. easy-to-use cloud storage that lets you store virtually any volume of
  15669. unstructured data in any format and access it from anywhere.
  15670. OBS provides an S3 interface, you can copy and modify the following
  15671. configuration and add it to your rclone configuration file.
  15672. [obs]
  15673. type = s3
  15674. provider = HuaweiOBS
  15675. access_key_id = your-access-key-id
  15676. secret_access_key = your-secret-access-key
  15677. region = af-south-1
  15678. endpoint = obs.af-south-1.myhuaweicloud.com
  15679. acl = private
  15680. Or you can also configure via the interactive command line:
  15681. No remotes found, make a new one?
  15682. n) New remote
  15683. s) Set configuration password
  15684. q) Quit config
  15685. n/s/q> n
  15686. name> obs
  15687. Option Storage.
  15688. Type of storage to configure.
  15689. Choose a number from below, or type in your own value.
  15690. [snip]
  15691. 5 / 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, Tencent COS and Wasabi
  15692. \ (s3)
  15693. [snip]
  15694. Storage> 5
  15695. Option provider.
  15696. Choose your S3 provider.
  15697. Choose a number from below, or type in your own value.
  15698. Press Enter to leave empty.
  15699. [snip]
  15700. 9 / Huawei Object Storage Service
  15701. \ (HuaweiOBS)
  15702. [snip]
  15703. provider> 9
  15704. Option env_auth.
  15705. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  15706. Only applies if access_key_id and secret_access_key is blank.
  15707. Choose a number from below, or type in your own boolean value (true or false).
  15708. Press Enter for the default (false).
  15709. 1 / Enter AWS credentials in the next step.
  15710. \ (false)
  15711. 2 / Get AWS credentials from the environment (env vars or IAM).
  15712. \ (true)
  15713. env_auth> 1
  15714. Option access_key_id.
  15715. AWS Access Key ID.
  15716. Leave blank for anonymous access or runtime credentials.
  15717. Enter a value. Press Enter to leave empty.
  15718. access_key_id> your-access-key-id
  15719. Option secret_access_key.
  15720. AWS Secret Access Key (password).
  15721. Leave blank for anonymous access or runtime credentials.
  15722. Enter a value. Press Enter to leave empty.
  15723. secret_access_key> your-secret-access-key
  15724. Option region.
  15725. Region to connect to.
  15726. Choose a number from below, or type in your own value.
  15727. Press Enter to leave empty.
  15728. 1 / AF-Johannesburg
  15729. \ (af-south-1)
  15730. 2 / AP-Bangkok
  15731. \ (ap-southeast-2)
  15732. [snip]
  15733. region> 1
  15734. Option endpoint.
  15735. Endpoint for OBS API.
  15736. Choose a number from below, or type in your own value.
  15737. Press Enter to leave empty.
  15738. 1 / AF-Johannesburg
  15739. \ (obs.af-south-1.myhuaweicloud.com)
  15740. 2 / AP-Bangkok
  15741. \ (obs.ap-southeast-2.myhuaweicloud.com)
  15742. [snip]
  15743. endpoint> 1
  15744. Option acl.
  15745. Canned ACL used when creating buckets and storing or copying objects.
  15746. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
  15747. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  15748. Note that this ACL is applied when server-side copying objects as S3
  15749. doesn't copy the ACL from the source but rather writes a fresh one.
  15750. Choose a number from below, or type in your own value.
  15751. Press Enter to leave empty.
  15752. / Owner gets FULL_CONTROL.
  15753. 1 | No one else has access rights (default).
  15754. \ (private)
  15755. [snip]
  15756. acl> 1
  15757. Edit advanced config?
  15758. y) Yes
  15759. n) No (default)
  15760. y/n>
  15761. --------------------
  15762. [obs]
  15763. type = s3
  15764. provider = HuaweiOBS
  15765. access_key_id = your-access-key-id
  15766. secret_access_key = your-secret-access-key
  15767. region = af-south-1
  15768. endpoint = obs.af-south-1.myhuaweicloud.com
  15769. acl = private
  15770. --------------------
  15771. y) Yes this is OK (default)
  15772. e) Edit this remote
  15773. d) Delete this remote
  15774. y/e/d> y
  15775. Current remotes:
  15776. Name Type
  15777. ==== ====
  15778. obs s3
  15779. e) Edit existing remote
  15780. n) New remote
  15781. d) Delete remote
  15782. r) Rename remote
  15783. c) Copy remote
  15784. s) Set configuration password
  15785. q) Quit config
  15786. e/n/d/r/c/s/q> q
  15787. IBM COS (S3)
  15788. Information stored with IBM Cloud Object Storage is encrypted and
  15789. dispersed across multiple geographic locations, and accessed through an
  15790. implementation of the S3 API. This service makes use of the distributed
  15791. storage technologies provided by IBM’s Cloud Object Storage System
  15792. (formerly Cleversafe). For more information visit:
  15793. (http://www.ibm.com/cloud/object-storage)
  15794. To configure access to IBM COS S3, follow the steps below:
  15795. 1. Run rclone config and select n for a new remote.
  15796. 2018/02/14 14:13:11 NOTICE: Config file "C:\\Users\\a\\.config\\rclone\\rclone.conf" not found - using defaults
  15797. No remotes found, make a new one?
  15798. n) New remote
  15799. s) Set configuration password
  15800. q) Quit config
  15801. n/s/q> n
  15802. 2. Enter the name for the configuration
  15803. name> <YOUR NAME>
  15804. 3. Select "s3" storage.
  15805. Choose a number from below, or type in your own value
  15806. 1 / Alias for an existing remote
  15807. \ "alias"
  15808. 2 / Amazon Drive
  15809. \ "amazon cloud drive"
  15810. 3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, ChinaMobile, Liara, ArvanCloud, Minio, IBM COS)
  15811. \ "s3"
  15812. 4 / Backblaze B2
  15813. \ "b2"
  15814. [snip]
  15815. 23 / HTTP
  15816. \ "http"
  15817. Storage> 3
  15818. 4. Select IBM COS as the S3 Storage Provider.
  15819. Choose the S3 provider.
  15820. Choose a number from below, or type in your own value
  15821. 1 / Choose this option to configure Storage to AWS S3
  15822. \ "AWS"
  15823. 2 / Choose this option to configure Storage to Ceph Systems
  15824. \ "Ceph"
  15825. 3 / Choose this option to configure Storage to Dreamhost
  15826. \ "Dreamhost"
  15827. 4 / Choose this option to the configure Storage to IBM COS S3
  15828. \ "IBMCOS"
  15829. 5 / Choose this option to the configure Storage to Minio
  15830. \ "Minio"
  15831. Provider>4
  15832. 5. Enter the Access Key and Secret.
  15833. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  15834. access_key_id> <>
  15835. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  15836. secret_access_key> <>
  15837. 6. Specify the endpoint for IBM COS. For Public IBM COS, choose from
  15838. the option below. For On Premise IBM COS, enter an endpoint address.
  15839. Endpoint for IBM COS S3 API.
  15840. Specify if using an IBM COS On Premise.
  15841. Choose a number from below, or type in your own value
  15842. 1 / US Cross Region Endpoint
  15843. \ "s3-api.us-geo.objectstorage.softlayer.net"
  15844. 2 / US Cross Region Dallas Endpoint
  15845. \ "s3-api.dal.us-geo.objectstorage.softlayer.net"
  15846. 3 / US Cross Region Washington DC Endpoint
  15847. \ "s3-api.wdc-us-geo.objectstorage.softlayer.net"
  15848. 4 / US Cross Region San Jose Endpoint
  15849. \ "s3-api.sjc-us-geo.objectstorage.softlayer.net"
  15850. 5 / US Cross Region Private Endpoint
  15851. \ "s3-api.us-geo.objectstorage.service.networklayer.com"
  15852. 6 / US Cross Region Dallas Private Endpoint
  15853. \ "s3-api.dal-us-geo.objectstorage.service.networklayer.com"
  15854. 7 / US Cross Region Washington DC Private Endpoint
  15855. \ "s3-api.wdc-us-geo.objectstorage.service.networklayer.com"
  15856. 8 / US Cross Region San Jose Private Endpoint
  15857. \ "s3-api.sjc-us-geo.objectstorage.service.networklayer.com"
  15858. 9 / US Region East Endpoint
  15859. \ "s3.us-east.objectstorage.softlayer.net"
  15860. 10 / US Region East Private Endpoint
  15861. \ "s3.us-east.objectstorage.service.networklayer.com"
  15862. 11 / US Region South Endpoint
  15863. [snip]
  15864. 34 / Toronto Single Site Private Endpoint
  15865. \ "s3.tor01.objectstorage.service.networklayer.com"
  15866. endpoint>1
  15867. 7. Specify a IBM COS Location Constraint. The location constraint must
  15868. match endpoint when using IBM Cloud Public. For on-prem COS, do not
  15869. make a selection from this list, hit enter
  15870. 1 / US Cross Region Standard
  15871. \ "us-standard"
  15872. 2 / US Cross Region Vault
  15873. \ "us-vault"
  15874. 3 / US Cross Region Cold
  15875. \ "us-cold"
  15876. 4 / US Cross Region Flex
  15877. \ "us-flex"
  15878. 5 / US East Region Standard
  15879. \ "us-east-standard"
  15880. 6 / US East Region Vault
  15881. \ "us-east-vault"
  15882. 7 / US East Region Cold
  15883. \ "us-east-cold"
  15884. 8 / US East Region Flex
  15885. \ "us-east-flex"
  15886. 9 / US South Region Standard
  15887. \ "us-south-standard"
  15888. 10 / US South Region Vault
  15889. \ "us-south-vault"
  15890. [snip]
  15891. 32 / Toronto Flex
  15892. \ "tor01-flex"
  15893. location_constraint>1
  15894. 9. Specify a canned ACL. IBM Cloud (Storage) supports "public-read" and
  15895. "private". IBM Cloud(Infra) supports all the canned ACLs. On-Premise
  15896. COS supports all the canned ACLs.
  15897. Canned ACL used when creating buckets and/or storing objects in S3.
  15898. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  15899. Choose a number from below, or type in your own value
  15900. 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
  15901. \ "private"
  15902. 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
  15903. \ "public-read"
  15904. 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
  15905. \ "public-read-write"
  15906. 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
  15907. \ "authenticated-read"
  15908. acl> 1
  15909. 12. Review the displayed configuration and accept to save the "remote"
  15910. then quit. The config file should look like this
  15911. [xxx]
  15912. type = s3
  15913. Provider = IBMCOS
  15914. access_key_id = xxx
  15915. secret_access_key = yyy
  15916. endpoint = s3-api.us-geo.objectstorage.softlayer.net
  15917. location_constraint = us-standard
  15918. acl = private
  15919. 13. Execute rclone commands
  15920. 1) Create a bucket.
  15921. rclone mkdir IBM-COS-XREGION:newbucket
  15922. 2) List available buckets.
  15923. rclone lsd IBM-COS-XREGION:
  15924. -1 2017-11-08 21:16:22 -1 test
  15925. -1 2018-02-14 20:16:39 -1 newbucket
  15926. 3) List contents of a bucket.
  15927. rclone ls IBM-COS-XREGION:newbucket
  15928. 18685952 test.exe
  15929. 4) Copy a file from local to remote.
  15930. rclone copy /Users/file.txt IBM-COS-XREGION:newbucket
  15931. 5) Copy a file from remote to local.
  15932. rclone copy IBM-COS-XREGION:newbucket/file.txt .
  15933. 6) Delete a file on remote.
  15934. rclone delete IBM-COS-XREGION:newbucket/file.txt
  15935. IDrive e2
  15936. Here is an example of making an IDrive e2 configuration. First run:
  15937. rclone config
  15938. This will guide you through an interactive setup process.
  15939. No remotes found, make a new one?
  15940. n) New remote
  15941. s) Set configuration password
  15942. q) Quit config
  15943. n/s/q> n
  15944. Enter name for new remote.
  15945. name> e2
  15946. Option Storage.
  15947. Type of storage to configure.
  15948. Choose a number from below, or type in your own value.
  15949. [snip]
  15950. XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS and Wasabi
  15951. \ (s3)
  15952. [snip]
  15953. Storage> s3
  15954. Option provider.
  15955. Choose your S3 provider.
  15956. Choose a number from below, or type in your own value.
  15957. Press Enter to leave empty.
  15958. [snip]
  15959. XX / IDrive e2
  15960. \ (IDrive)
  15961. [snip]
  15962. provider> IDrive
  15963. Option env_auth.
  15964. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  15965. Only applies if access_key_id and secret_access_key is blank.
  15966. Choose a number from below, or type in your own boolean value (true or false).
  15967. Press Enter for the default (false).
  15968. 1 / Enter AWS credentials in the next step.
  15969. \ (false)
  15970. 2 / Get AWS credentials from the environment (env vars or IAM).
  15971. \ (true)
  15972. env_auth>
  15973. Option access_key_id.
  15974. AWS Access Key ID.
  15975. Leave blank for anonymous access or runtime credentials.
  15976. Enter a value. Press Enter to leave empty.
  15977. access_key_id> YOUR_ACCESS_KEY
  15978. Option secret_access_key.
  15979. AWS Secret Access Key (password).
  15980. Leave blank for anonymous access or runtime credentials.
  15981. Enter a value. Press Enter to leave empty.
  15982. secret_access_key> YOUR_SECRET_KEY
  15983. Option acl.
  15984. Canned ACL used when creating buckets and storing or copying objects.
  15985. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
  15986. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  15987. Note that this ACL is applied when server-side copying objects as S3
  15988. doesn't copy the ACL from the source but rather writes a fresh one.
  15989. Choose a number from below, or type in your own value.
  15990. Press Enter to leave empty.
  15991. / Owner gets FULL_CONTROL.
  15992. 1 | No one else has access rights (default).
  15993. \ (private)
  15994. / Owner gets FULL_CONTROL.
  15995. 2 | The AllUsers group gets READ access.
  15996. \ (public-read)
  15997. / Owner gets FULL_CONTROL.
  15998. 3 | The AllUsers group gets READ and WRITE access.
  15999. | Granting this on a bucket is generally not recommended.
  16000. \ (public-read-write)
  16001. / Owner gets FULL_CONTROL.
  16002. 4 | The AuthenticatedUsers group gets READ access.
  16003. \ (authenticated-read)
  16004. / Object owner gets FULL_CONTROL.
  16005. 5 | Bucket owner gets READ access.
  16006. | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  16007. \ (bucket-owner-read)
  16008. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  16009. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  16010. \ (bucket-owner-full-control)
  16011. acl>
  16012. Edit advanced config?
  16013. y) Yes
  16014. n) No (default)
  16015. y/n>
  16016. Configuration complete.
  16017. Options:
  16018. - type: s3
  16019. - provider: IDrive
  16020. - access_key_id: YOUR_ACCESS_KEY
  16021. - secret_access_key: YOUR_SECRET_KEY
  16022. - endpoint: q9d9.la12.idrivee2-5.com
  16023. Keep this "e2" remote?
  16024. y) Yes this is OK (default)
  16025. e) Edit this remote
  16026. d) Delete this remote
  16027. y/e/d> y
  16028. IONOS Cloud
  16029. IONOS S3 Object Storage is a service offered by IONOS for storing and
  16030. accessing unstructured data. To connect to the service, you will need an
  16031. access key and a secret key. These can be found in the Data Center
  16032. Designer, by selecting Manager resources > Object Storage Key Manager.
  16033. Here is an example of a configuration. First, run rclone config. This
  16034. will walk you through an interactive setup process. Type n to add the
  16035. new remote, and then enter a name:
  16036. Enter name for new remote.
  16037. name> ionos-fra
  16038. Type s3 to choose the connection type:
  16039. Option Storage.
  16040. Type of storage to configure.
  16041. Choose a number from below, or type in your own value.
  16042. [snip]
  16043. XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, IONOS Cloud, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS and Wasabi
  16044. \ (s3)
  16045. [snip]
  16046. Storage> s3
  16047. Type IONOS:
  16048. Option provider.
  16049. Choose your S3 provider.
  16050. Choose a number from below, or type in your own value.
  16051. Press Enter to leave empty.
  16052. [snip]
  16053. XX / IONOS Cloud
  16054. \ (IONOS)
  16055. [snip]
  16056. provider> IONOS
  16057. Press Enter to choose the default option
  16058. Enter AWS credentials in the next step:
  16059. Option env_auth.
  16060. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  16061. Only applies if access_key_id and secret_access_key is blank.
  16062. Choose a number from below, or type in your own boolean value (true or false).
  16063. Press Enter for the default (false).
  16064. 1 / Enter AWS credentials in the next step.
  16065. \ (false)
  16066. 2 / Get AWS credentials from the environment (env vars or IAM).
  16067. \ (true)
  16068. env_auth>
  16069. Enter your Access Key and Secret key. These can be retrieved in the Data
  16070. Center Designer, click on the menu “Manager resources” / "Object Storage
  16071. Key Manager".
  16072. Option access_key_id.
  16073. AWS Access Key ID.
  16074. Leave blank for anonymous access or runtime credentials.
  16075. Enter a value. Press Enter to leave empty.
  16076. access_key_id> YOUR_ACCESS_KEY
  16077. Option secret_access_key.
  16078. AWS Secret Access Key (password).
  16079. Leave blank for anonymous access or runtime credentials.
  16080. Enter a value. Press Enter to leave empty.
  16081. secret_access_key> YOUR_SECRET_KEY
  16082. Choose the region where your bucket is located:
  16083. Option region.
  16084. Region where your bucket will be created and your data stored.
  16085. Choose a number from below, or type in your own value.
  16086. Press Enter to leave empty.
  16087. 1 / Frankfurt, Germany
  16088. \ (de)
  16089. 2 / Berlin, Germany
  16090. \ (eu-central-2)
  16091. 3 / Logrono, Spain
  16092. \ (eu-south-2)
  16093. region> 2
  16094. Choose the endpoint from the same region:
  16095. Option endpoint.
  16096. Endpoint for IONOS S3 Object Storage.
  16097. Specify the endpoint from the same region.
  16098. Choose a number from below, or type in your own value.
  16099. Press Enter to leave empty.
  16100. 1 / Frankfurt, Germany
  16101. \ (s3-eu-central-1.ionoscloud.com)
  16102. 2 / Berlin, Germany
  16103. \ (s3-eu-central-2.ionoscloud.com)
  16104. 3 / Logrono, Spain
  16105. \ (s3-eu-south-2.ionoscloud.com)
  16106. endpoint> 1
  16107. Press Enter to choose the default option or choose the desired ACL
  16108. setting:
  16109. Option acl.
  16110. Canned ACL used when creating buckets and storing or copying objects.
  16111. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
  16112. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  16113. Note that this ACL is applied when server-side copying objects as S3
  16114. doesn't copy the ACL from the source but rather writes a fresh one.
  16115. Choose a number from below, or type in your own value.
  16116. Press Enter to leave empty.
  16117. / Owner gets FULL_CONTROL.
  16118. 1 | No one else has access rights (default).
  16119. \ (private)
  16120. / Owner gets FULL_CONTROL.
  16121. [snip]
  16122. acl>
  16123. Press Enter to skip the advanced config:
  16124. Edit advanced config?
  16125. y) Yes
  16126. n) No (default)
  16127. y/n>
  16128. Press Enter to save the configuration, and then q to quit the
  16129. configuration process:
  16130. Configuration complete.
  16131. Options:
  16132. - type: s3
  16133. - provider: IONOS
  16134. - access_key_id: YOUR_ACCESS_KEY
  16135. - secret_access_key: YOUR_SECRET_KEY
  16136. - endpoint: s3-eu-central-1.ionoscloud.com
  16137. Keep this "ionos-fra" remote?
  16138. y) Yes this is OK (default)
  16139. e) Edit this remote
  16140. d) Delete this remote
  16141. y/e/d> y
  16142. Done! Now you can try some commands (for macOS, use ./rclone instead of
  16143. rclone).
  16144. 1) Create a bucket (the name must be unique within the whole IONOS S3)
  16145. rclone mkdir ionos-fra:my-bucket
  16146. 2) List available buckets
  16147. rclone lsd ionos-fra:
  16148. 4) Copy a file from local to remote
  16149. rclone copy /Users/file.txt ionos-fra:my-bucket
  16150. 3) List contents of a bucket
  16151. rclone ls ionos-fra:my-bucket
  16152. 5) Copy a file from remote to local
  16153. rclone copy ionos-fra:my-bucket/file.txt
  16154. Minio
  16155. Minio is an object storage server built for cloud application developers
  16156. and devops.
  16157. It is very easy to install and provides an S3 compatible server which
  16158. can be used by rclone.
  16159. To use it, install Minio following the instructions here.
  16160. When it configures itself Minio will print something like this
  16161. Endpoint: http://192.168.1.106:9000 http://172.23.0.1:9000
  16162. AccessKey: USWUXHGYZQYFYFFIT3RE
  16163. SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  16164. Region: us-east-1
  16165. SQS ARNs: arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis
  16166. Browser Access:
  16167. http://192.168.1.106:9000 http://172.23.0.1:9000
  16168. Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
  16169. $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  16170. Object API (Amazon S3 compatible):
  16171. Go: https://docs.minio.io/docs/golang-client-quickstart-guide
  16172. Java: https://docs.minio.io/docs/java-client-quickstart-guide
  16173. Python: https://docs.minio.io/docs/python-client-quickstart-guide
  16174. JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
  16175. .NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide
  16176. Drive Capacity: 26 GiB Free, 165 GiB Total
  16177. These details need to go into rclone config like this. Note that it is
  16178. important to put the region in as stated above.
  16179. env_auth> 1
  16180. access_key_id> USWUXHGYZQYFYFFIT3RE
  16181. secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  16182. region> us-east-1
  16183. endpoint> http://192.168.1.106:9000
  16184. location_constraint>
  16185. server_side_encryption>
  16186. Which makes the config file look like this
  16187. [minio]
  16188. type = s3
  16189. provider = Minio
  16190. env_auth = false
  16191. access_key_id = USWUXHGYZQYFYFFIT3RE
  16192. secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
  16193. region = us-east-1
  16194. endpoint = http://192.168.1.106:9000
  16195. location_constraint =
  16196. server_side_encryption =
  16197. So once set up, for example, to copy files into a bucket
  16198. rclone copy /path/to/files minio:bucket
  16199. Qiniu Cloud Object Storage (Kodo)
  16200. Qiniu Cloud Object Storage (Kodo), a completely independent-researched
  16201. core technology which is proven by repeated customer experience has
  16202. occupied absolute leading market leader position. Kodo can be widely
  16203. applied to mass data management.
  16204. To configure access to Qiniu Kodo, follow the steps below:
  16205. 1. Run rclone config and select n for a new remote.
  16206. rclone config
  16207. No remotes found, make a new one?
  16208. n) New remote
  16209. s) Set configuration password
  16210. q) Quit config
  16211. n/s/q> n
  16212. 2. Give the name of the configuration. For example, name it 'qiniu'.
  16213. name> qiniu
  16214. 3. Select s3 storage.
  16215. Choose a number from below, or type in your own value
  16216. 1 / 1Fichier
  16217. \ (fichier)
  16218. 2 / Akamai NetStorage
  16219. \ (netstorage)
  16220. 3 / Alias for an existing remote
  16221. \ (alias)
  16222. 4 / Amazon Drive
  16223. \ (amazon cloud drive)
  16224. 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, Liara, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and Wasabi
  16225. \ (s3)
  16226. [snip]
  16227. Storage> s3
  16228. 4. Select Qiniu provider.
  16229. Choose a number from below, or type in your own value
  16230. 1 / Amazon Web Services (AWS) S3
  16231. \ "AWS"
  16232. [snip]
  16233. 22 / Qiniu Object Storage (Kodo)
  16234. \ (Qiniu)
  16235. [snip]
  16236. provider> Qiniu
  16237. 5. Enter your SecretId and SecretKey of Qiniu Kodo.
  16238. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  16239. Only applies if access_key_id and secret_access_key is blank.
  16240. Enter a boolean value (true or false). Press Enter for the default ("false").
  16241. Choose a number from below, or type in your own value
  16242. 1 / Enter AWS credentials in the next step
  16243. \ "false"
  16244. 2 / Get AWS credentials from the environment (env vars or IAM)
  16245. \ "true"
  16246. env_auth> 1
  16247. AWS Access Key ID.
  16248. Leave blank for anonymous access or runtime credentials.
  16249. Enter a string value. Press Enter for the default ("").
  16250. access_key_id> AKIDxxxxxxxxxx
  16251. AWS Secret Access Key (password)
  16252. Leave blank for anonymous access or runtime credentials.
  16253. Enter a string value. Press Enter for the default ("").
  16254. secret_access_key> xxxxxxxxxxx
  16255. 6. Select endpoint for Qiniu Kodo. This is the standard endpoint for
  16256. different region.
  16257. / The default endpoint - a good choice if you are unsure.
  16258. 1 | East China Region 1.
  16259. | Needs location constraint cn-east-1.
  16260. \ (cn-east-1)
  16261. / East China Region 2.
  16262. 2 | Needs location constraint cn-east-2.
  16263. \ (cn-east-2)
  16264. / North China Region 1.
  16265. 3 | Needs location constraint cn-north-1.
  16266. \ (cn-north-1)
  16267. / South China Region 1.
  16268. 4 | Needs location constraint cn-south-1.
  16269. \ (cn-south-1)
  16270. / North America Region.
  16271. 5 | Needs location constraint us-north-1.
  16272. \ (us-north-1)
  16273. / Southeast Asia Region 1.
  16274. 6 | Needs location constraint ap-southeast-1.
  16275. \ (ap-southeast-1)
  16276. / Northeast Asia Region 1.
  16277. 7 | Needs location constraint ap-northeast-1.
  16278. \ (ap-northeast-1)
  16279. [snip]
  16280. endpoint> 1
  16281. Option endpoint.
  16282. Endpoint for Qiniu Object Storage.
  16283. Choose a number from below, or type in your own value.
  16284. Press Enter to leave empty.
  16285. 1 / East China Endpoint 1
  16286. \ (s3-cn-east-1.qiniucs.com)
  16287. 2 / East China Endpoint 2
  16288. \ (s3-cn-east-2.qiniucs.com)
  16289. 3 / North China Endpoint 1
  16290. \ (s3-cn-north-1.qiniucs.com)
  16291. 4 / South China Endpoint 1
  16292. \ (s3-cn-south-1.qiniucs.com)
  16293. 5 / North America Endpoint 1
  16294. \ (s3-us-north-1.qiniucs.com)
  16295. 6 / Southeast Asia Endpoint 1
  16296. \ (s3-ap-southeast-1.qiniucs.com)
  16297. 7 / Northeast Asia Endpoint 1
  16298. \ (s3-ap-northeast-1.qiniucs.com)
  16299. endpoint> 1
  16300. Option location_constraint.
  16301. Location constraint - must be set to match the Region.
  16302. Used when creating buckets only.
  16303. Choose a number from below, or type in your own value.
  16304. Press Enter to leave empty.
  16305. 1 / East China Region 1
  16306. \ (cn-east-1)
  16307. 2 / East China Region 2
  16308. \ (cn-east-2)
  16309. 3 / North China Region 1
  16310. \ (cn-north-1)
  16311. 4 / South China Region 1
  16312. \ (cn-south-1)
  16313. 5 / North America Region 1
  16314. \ (us-north-1)
  16315. 6 / Southeast Asia Region 1
  16316. \ (ap-southeast-1)
  16317. 7 / Northeast Asia Region 1
  16318. \ (ap-northeast-1)
  16319. location_constraint> 1
  16320. 7. Choose acl and storage class.
  16321. Note that this ACL is applied when server-side copying objects as S3
  16322. doesn't copy the ACL from the source but rather writes a fresh one.
  16323. Enter a string value. Press Enter for the default ("").
  16324. Choose a number from below, or type in your own value
  16325. / Owner gets FULL_CONTROL.
  16326. 1 | No one else has access rights (default).
  16327. \ (private)
  16328. / Owner gets FULL_CONTROL.
  16329. 2 | The AllUsers group gets READ access.
  16330. \ (public-read)
  16331. [snip]
  16332. acl> 2
  16333. The storage class to use when storing new objects in Tencent COS.
  16334. Enter a string value. Press Enter for the default ("").
  16335. Choose a number from below, or type in your own value
  16336. 1 / Standard storage class
  16337. \ (STANDARD)
  16338. 2 / Infrequent access storage mode
  16339. \ (LINE)
  16340. 3 / Archive storage mode
  16341. \ (GLACIER)
  16342. 4 / Deep archive storage mode
  16343. \ (DEEP_ARCHIVE)
  16344. [snip]
  16345. storage_class> 1
  16346. Edit advanced config? (y/n)
  16347. y) Yes
  16348. n) No (default)
  16349. y/n> n
  16350. Remote config
  16351. --------------------
  16352. [qiniu]
  16353. - type: s3
  16354. - provider: Qiniu
  16355. - access_key_id: xxx
  16356. - secret_access_key: xxx
  16357. - region: cn-east-1
  16358. - endpoint: s3-cn-east-1.qiniucs.com
  16359. - location_constraint: cn-east-1
  16360. - acl: public-read
  16361. - storage_class: STANDARD
  16362. --------------------
  16363. y) Yes this is OK (default)
  16364. e) Edit this remote
  16365. d) Delete this remote
  16366. y/e/d> y
  16367. Current remotes:
  16368. Name Type
  16369. ==== ====
  16370. qiniu s3
  16371. RackCorp
  16372. RackCorp Object Storage is an S3 compatible object storage platform from
  16373. your friendly cloud provider RackCorp. The service is fast, reliable,
  16374. well priced and located in many strategic locations unserviced by
  16375. others, to ensure you can maintain data sovereignty.
  16376. Before you can use RackCorp Object Storage, you'll need to "sign up" for
  16377. an account on our "portal". Next you can create an access key, a
  16378. secret key and buckets, in your location of choice with ease. These
  16379. details are required for the next steps of configuration, when
  16380. rclone config asks for your access_key_id and secret_access_key.
  16381. Your config should end up looking a bit like this:
  16382. [RCS3-demo-config]
  16383. type = s3
  16384. provider = RackCorp
  16385. env_auth = true
  16386. access_key_id = YOURACCESSKEY
  16387. secret_access_key = YOURSECRETACCESSKEY
  16388. region = au-nsw
  16389. endpoint = s3.rackcorp.com
  16390. location_constraint = au-nsw
  16391. Scaleway
  16392. Scaleway The Object Storage platform allows you to store anything from
  16393. backups, logs and web assets to documents and photos. Files can be
  16394. dropped from the Scaleway console or transferred through our API and CLI
  16395. or using any S3-compatible tool.
  16396. Scaleway provides an S3 interface which can be configured for use with
  16397. rclone like this:
  16398. [scaleway]
  16399. type = s3
  16400. provider = Scaleway
  16401. env_auth = false
  16402. endpoint = s3.nl-ams.scw.cloud
  16403. access_key_id = SCWXXXXXXXXXXXXXX
  16404. secret_access_key = 1111111-2222-3333-44444-55555555555555
  16405. region = nl-ams
  16406. location_constraint =
  16407. acl = private
  16408. server_side_encryption =
  16409. storage_class =
  16410. C14 Cold Storage is the low-cost S3 Glacier alternative from Scaleway
  16411. and it works the same way as on S3 by accepting the "GLACIER"
  16412. storage_class. So you can configure your remote with the
  16413. storage_class = GLACIER option to upload directly to C14. Don't forget
  16414. that in this state you can't read files back after, you will need to
  16415. restore them to "STANDARD" storage_class first before being able to read
  16416. them (see "restore" section above)
  16417. Seagate Lyve Cloud
  16418. Seagate Lyve Cloud is an S3 compatible object storage platform from
  16419. Seagate intended for enterprise use.
  16420. Here is a config run through for a remote called remote - you may choose
  16421. a different name of course. Note that to create an access key and secret
  16422. key you will need to create a service account first.
  16423. $ rclone config
  16424. No remotes found, make a new one?
  16425. n) New remote
  16426. s) Set configuration password
  16427. q) Quit config
  16428. n/s/q> n
  16429. name> remote
  16430. Choose s3 backend
  16431. Type of storage to configure.
  16432. Choose a number from below, or type in your own value.
  16433. [snip]
  16434. XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Liara, Lyve Cloud, Minio, RackCorp, SeaweedFS, and Tencent COS
  16435. \ (s3)
  16436. [snip]
  16437. Storage> s3
  16438. Choose LyveCloud as S3 provider
  16439. Choose your S3 provider.
  16440. Choose a number from below, or type in your own value.
  16441. Press Enter to leave empty.
  16442. [snip]
  16443. XX / Seagate Lyve Cloud
  16444. \ (LyveCloud)
  16445. [snip]
  16446. provider> LyveCloud
  16447. Take the default (just press enter) to enter access key and secret in
  16448. the config file.
  16449. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  16450. Only applies if access_key_id and secret_access_key is blank.
  16451. Choose a number from below, or type in your own boolean value (true or false).
  16452. Press Enter for the default (false).
  16453. 1 / Enter AWS credentials in the next step.
  16454. \ (false)
  16455. 2 / Get AWS credentials from the environment (env vars or IAM).
  16456. \ (true)
  16457. env_auth>
  16458. AWS Access Key ID.
  16459. Leave blank for anonymous access or runtime credentials.
  16460. Enter a value. Press Enter to leave empty.
  16461. access_key_id> XXX
  16462. AWS Secret Access Key (password).
  16463. Leave blank for anonymous access or runtime credentials.
  16464. Enter a value. Press Enter to leave empty.
  16465. secret_access_key> YYY
  16466. Leave region blank
  16467. Region to connect to.
  16468. Leave blank if you are using an S3 clone and you don't have a region.
  16469. Choose a number from below, or type in your own value.
  16470. Press Enter to leave empty.
  16471. / Use this if unsure.
  16472. 1 | Will use v4 signatures and an empty region.
  16473. \ ()
  16474. / Use this only if v4 signatures don't work.
  16475. 2 | E.g. pre Jewel/v10 CEPH.
  16476. \ (other-v2-signature)
  16477. region>
  16478. Choose an endpoint from the list
  16479. Endpoint for S3 API.
  16480. Required when using an S3 clone.
  16481. Choose a number from below, or type in your own value.
  16482. Press Enter to leave empty.
  16483. 1 / Seagate Lyve Cloud US East 1 (Virginia)
  16484. \ (s3.us-east-1.lyvecloud.seagate.com)
  16485. 2 / Seagate Lyve Cloud US West 1 (California)
  16486. \ (s3.us-west-1.lyvecloud.seagate.com)
  16487. 3 / Seagate Lyve Cloud AP Southeast 1 (Singapore)
  16488. \ (s3.ap-southeast-1.lyvecloud.seagate.com)
  16489. endpoint> 1
  16490. Leave location constraint blank
  16491. Location constraint - must be set to match the Region.
  16492. Leave blank if not sure. Used when creating buckets only.
  16493. Enter a value. Press Enter to leave empty.
  16494. location_constraint>
  16495. Choose default ACL (private).
  16496. Canned ACL used when creating buckets and storing or copying objects.
  16497. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
  16498. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  16499. Note that this ACL is applied when server-side copying objects as S3
  16500. doesn't copy the ACL from the source but rather writes a fresh one.
  16501. Choose a number from below, or type in your own value.
  16502. Press Enter to leave empty.
  16503. / Owner gets FULL_CONTROL.
  16504. 1 | No one else has access rights (default).
  16505. \ (private)
  16506. [snip]
  16507. acl>
  16508. And the config file should end up looking like this:
  16509. [remote]
  16510. type = s3
  16511. provider = LyveCloud
  16512. access_key_id = XXX
  16513. secret_access_key = YYY
  16514. endpoint = s3.us-east-1.lyvecloud.seagate.com
  16515. SeaweedFS
  16516. SeaweedFS is a distributed storage system for blobs, objects, files, and
  16517. data lake, with O(1) disk seek and a scalable file metadata store. It
  16518. has an S3 compatible object storage interface. SeaweedFS can also act as
  16519. a gateway to remote S3 compatible object store to cache data and
  16520. metadata with asynchronous write back, for fast local speed and minimize
  16521. access cost.
  16522. Assuming the SeaweedFS are configured with weed shell as such:
  16523. > s3.bucket.create -name foo
  16524. > s3.configure -access_key=any -secret_key=any -buckets=foo -user=me -actions=Read,Write,List,Tagging,Admin -apply
  16525. {
  16526. "identities": [
  16527. {
  16528. "name": "me",
  16529. "credentials": [
  16530. {
  16531. "accessKey": "any",
  16532. "secretKey": "any"
  16533. }
  16534. ],
  16535. "actions": [
  16536. "Read:foo",
  16537. "Write:foo",
  16538. "List:foo",
  16539. "Tagging:foo",
  16540. "Admin:foo"
  16541. ]
  16542. }
  16543. ]
  16544. }
  16545. To use rclone with SeaweedFS, above configuration should end up with
  16546. something like this in your config:
  16547. [seaweedfs_s3]
  16548. type = s3
  16549. provider = SeaweedFS
  16550. access_key_id = any
  16551. secret_access_key = any
  16552. endpoint = localhost:8333
  16553. So once set up, for example to copy files into a bucket
  16554. rclone copy /path/to/files seaweedfs_s3:foo
  16555. Wasabi
  16556. Wasabi is a cloud-based object storage service for a broad range of
  16557. applications and use cases. Wasabi is designed for individuals and
  16558. organizations that require a high-performance, reliable, and secure data
  16559. storage infrastructure at minimal cost.
  16560. Wasabi provides an S3 interface which can be configured for use with
  16561. rclone like this.
  16562. No remotes found, make a new one?
  16563. n) New remote
  16564. s) Set configuration password
  16565. n/s> n
  16566. name> wasabi
  16567. Type of storage to configure.
  16568. Choose a number from below, or type in your own value
  16569. [snip]
  16570. XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Minio, Liara)
  16571. \ "s3"
  16572. [snip]
  16573. Storage> s3
  16574. 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.
  16575. Choose a number from below, or type in your own value
  16576. 1 / Enter AWS credentials in the next step
  16577. \ "false"
  16578. 2 / Get AWS credentials from the environment (env vars or IAM)
  16579. \ "true"
  16580. env_auth> 1
  16581. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  16582. access_key_id> YOURACCESSKEY
  16583. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  16584. secret_access_key> YOURSECRETACCESSKEY
  16585. Region to connect to.
  16586. Choose a number from below, or type in your own value
  16587. / The default endpoint - a good choice if you are unsure.
  16588. 1 | US Region, Northern Virginia, or Pacific Northwest.
  16589. | Leave location constraint empty.
  16590. \ "us-east-1"
  16591. [snip]
  16592. region> us-east-1
  16593. Endpoint for S3 API.
  16594. Leave blank if using AWS to use the default endpoint for the region.
  16595. Specify if using an S3 clone such as Ceph.
  16596. endpoint> s3.wasabisys.com
  16597. Location constraint - must be set to match the Region. Used when creating buckets only.
  16598. Choose a number from below, or type in your own value
  16599. 1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
  16600. \ ""
  16601. [snip]
  16602. location_constraint>
  16603. Canned ACL used when creating buckets and/or storing objects in S3.
  16604. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  16605. Choose a number from below, or type in your own value
  16606. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  16607. \ "private"
  16608. [snip]
  16609. acl>
  16610. The server-side encryption algorithm used when storing this object in S3.
  16611. Choose a number from below, or type in your own value
  16612. 1 / None
  16613. \ ""
  16614. 2 / AES256
  16615. \ "AES256"
  16616. server_side_encryption>
  16617. The storage class to use when storing objects in S3.
  16618. Choose a number from below, or type in your own value
  16619. 1 / Default
  16620. \ ""
  16621. 2 / Standard storage class
  16622. \ "STANDARD"
  16623. 3 / Reduced redundancy storage class
  16624. \ "REDUCED_REDUNDANCY"
  16625. 4 / Standard Infrequent Access storage class
  16626. \ "STANDARD_IA"
  16627. storage_class>
  16628. Remote config
  16629. --------------------
  16630. [wasabi]
  16631. env_auth = false
  16632. access_key_id = YOURACCESSKEY
  16633. secret_access_key = YOURSECRETACCESSKEY
  16634. region = us-east-1
  16635. endpoint = s3.wasabisys.com
  16636. location_constraint =
  16637. acl =
  16638. server_side_encryption =
  16639. storage_class =
  16640. --------------------
  16641. y) Yes this is OK
  16642. e) Edit this remote
  16643. d) Delete this remote
  16644. y/e/d> y
  16645. This will leave the config file looking like this.
  16646. [wasabi]
  16647. type = s3
  16648. provider = Wasabi
  16649. env_auth = false
  16650. access_key_id = YOURACCESSKEY
  16651. secret_access_key = YOURSECRETACCESSKEY
  16652. region =
  16653. endpoint = s3.wasabisys.com
  16654. location_constraint =
  16655. acl =
  16656. server_side_encryption =
  16657. storage_class =
  16658. Alibaba OSS
  16659. Here is an example of making an Alibaba Cloud (Aliyun) OSS
  16660. configuration. First run:
  16661. rclone config
  16662. This will guide you through an interactive setup process.
  16663. No remotes found, make a new one?
  16664. n) New remote
  16665. s) Set configuration password
  16666. q) Quit config
  16667. n/s/q> n
  16668. name> oss
  16669. Type of storage to configure.
  16670. Enter a string value. Press Enter for the default ("").
  16671. Choose a number from below, or type in your own value
  16672. [snip]
  16673. 4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Liara, Minio, and Tencent COS
  16674. \ "s3"
  16675. [snip]
  16676. Storage> s3
  16677. Choose your S3 provider.
  16678. Enter a string value. Press Enter for the default ("").
  16679. Choose a number from below, or type in your own value
  16680. 1 / Amazon Web Services (AWS) S3
  16681. \ "AWS"
  16682. 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
  16683. \ "Alibaba"
  16684. 3 / Ceph Object Storage
  16685. \ "Ceph"
  16686. [snip]
  16687. provider> Alibaba
  16688. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  16689. Only applies if access_key_id and secret_access_key is blank.
  16690. Enter a boolean value (true or false). Press Enter for the default ("false").
  16691. Choose a number from below, or type in your own value
  16692. 1 / Enter AWS credentials in the next step
  16693. \ "false"
  16694. 2 / Get AWS credentials from the environment (env vars or IAM)
  16695. \ "true"
  16696. env_auth> 1
  16697. AWS Access Key ID.
  16698. Leave blank for anonymous access or runtime credentials.
  16699. Enter a string value. Press Enter for the default ("").
  16700. access_key_id> accesskeyid
  16701. AWS Secret Access Key (password)
  16702. Leave blank for anonymous access or runtime credentials.
  16703. Enter a string value. Press Enter for the default ("").
  16704. secret_access_key> secretaccesskey
  16705. Endpoint for OSS API.
  16706. Enter a string value. Press Enter for the default ("").
  16707. Choose a number from below, or type in your own value
  16708. 1 / East China 1 (Hangzhou)
  16709. \ "oss-cn-hangzhou.aliyuncs.com"
  16710. 2 / East China 2 (Shanghai)
  16711. \ "oss-cn-shanghai.aliyuncs.com"
  16712. 3 / North China 1 (Qingdao)
  16713. \ "oss-cn-qingdao.aliyuncs.com"
  16714. [snip]
  16715. endpoint> 1
  16716. Canned ACL used when creating buckets and storing or copying objects.
  16717. Note that this ACL is applied when server-side copying objects as S3
  16718. doesn't copy the ACL from the source but rather writes a fresh one.
  16719. Enter a string value. Press Enter for the default ("").
  16720. Choose a number from below, or type in your own value
  16721. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  16722. \ "private"
  16723. 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
  16724. \ "public-read"
  16725. / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
  16726. [snip]
  16727. acl> 1
  16728. The storage class to use when storing new objects in OSS.
  16729. Enter a string value. Press Enter for the default ("").
  16730. Choose a number from below, or type in your own value
  16731. 1 / Default
  16732. \ ""
  16733. 2 / Standard storage class
  16734. \ "STANDARD"
  16735. 3 / Archive storage mode.
  16736. \ "GLACIER"
  16737. 4 / Infrequent access storage mode.
  16738. \ "STANDARD_IA"
  16739. storage_class> 1
  16740. Edit advanced config? (y/n)
  16741. y) Yes
  16742. n) No
  16743. y/n> n
  16744. Remote config
  16745. --------------------
  16746. [oss]
  16747. type = s3
  16748. provider = Alibaba
  16749. env_auth = false
  16750. access_key_id = accesskeyid
  16751. secret_access_key = secretaccesskey
  16752. endpoint = oss-cn-hangzhou.aliyuncs.com
  16753. acl = private
  16754. storage_class = Standard
  16755. --------------------
  16756. y) Yes this is OK
  16757. e) Edit this remote
  16758. d) Delete this remote
  16759. y/e/d> y
  16760. China Mobile Ecloud Elastic Object Storage (EOS)
  16761. Here is an example of making an China Mobile Ecloud Elastic Object
  16762. Storage (EOS) configuration. First run:
  16763. rclone config
  16764. This will guide you through an interactive setup process.
  16765. No remotes found, make a new one?
  16766. n) New remote
  16767. s) Set configuration password
  16768. q) Quit config
  16769. n/s/q> n
  16770. name> ChinaMobile
  16771. Option Storage.
  16772. Type of storage to configure.
  16773. Choose a number from below, or type in your own value.
  16774. ...
  16775. 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Lyve Cloud, Minio, RackCorp, SeaweedFS, and Tencent COS
  16776. \ (s3)
  16777. ...
  16778. Storage> s3
  16779. Option provider.
  16780. Choose your S3 provider.
  16781. Choose a number from below, or type in your own value.
  16782. Press Enter to leave empty.
  16783. ...
  16784. 4 / China Mobile Ecloud Elastic Object Storage (EOS)
  16785. \ (ChinaMobile)
  16786. ...
  16787. provider> ChinaMobile
  16788. Option env_auth.
  16789. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  16790. Only applies if access_key_id and secret_access_key is blank.
  16791. Choose a number from below, or type in your own boolean value (true or false).
  16792. Press Enter for the default (false).
  16793. 1 / Enter AWS credentials in the next step.
  16794. \ (false)
  16795. 2 / Get AWS credentials from the environment (env vars or IAM).
  16796. \ (true)
  16797. env_auth>
  16798. Option access_key_id.
  16799. AWS Access Key ID.
  16800. Leave blank for anonymous access or runtime credentials.
  16801. Enter a value. Press Enter to leave empty.
  16802. access_key_id> accesskeyid
  16803. Option secret_access_key.
  16804. AWS Secret Access Key (password).
  16805. Leave blank for anonymous access or runtime credentials.
  16806. Enter a value. Press Enter to leave empty.
  16807. secret_access_key> secretaccesskey
  16808. Option endpoint.
  16809. Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API.
  16810. Choose a number from below, or type in your own value.
  16811. Press Enter to leave empty.
  16812. / The default endpoint - a good choice if you are unsure.
  16813. 1 | East China (Suzhou)
  16814. \ (eos-wuxi-1.cmecloud.cn)
  16815. 2 / East China (Jinan)
  16816. \ (eos-jinan-1.cmecloud.cn)
  16817. 3 / East China (Hangzhou)
  16818. \ (eos-ningbo-1.cmecloud.cn)
  16819. 4 / East China (Shanghai-1)
  16820. \ (eos-shanghai-1.cmecloud.cn)
  16821. 5 / Central China (Zhengzhou)
  16822. \ (eos-zhengzhou-1.cmecloud.cn)
  16823. 6 / Central China (Changsha-1)
  16824. \ (eos-hunan-1.cmecloud.cn)
  16825. 7 / Central China (Changsha-2)
  16826. \ (eos-zhuzhou-1.cmecloud.cn)
  16827. 8 / South China (Guangzhou-2)
  16828. \ (eos-guangzhou-1.cmecloud.cn)
  16829. 9 / South China (Guangzhou-3)
  16830. \ (eos-dongguan-1.cmecloud.cn)
  16831. 10 / North China (Beijing-1)
  16832. \ (eos-beijing-1.cmecloud.cn)
  16833. 11 / North China (Beijing-2)
  16834. \ (eos-beijing-2.cmecloud.cn)
  16835. 12 / North China (Beijing-3)
  16836. \ (eos-beijing-4.cmecloud.cn)
  16837. 13 / North China (Huhehaote)
  16838. \ (eos-huhehaote-1.cmecloud.cn)
  16839. 14 / Southwest China (Chengdu)
  16840. \ (eos-chengdu-1.cmecloud.cn)
  16841. 15 / Southwest China (Chongqing)
  16842. \ (eos-chongqing-1.cmecloud.cn)
  16843. 16 / Southwest China (Guiyang)
  16844. \ (eos-guiyang-1.cmecloud.cn)
  16845. 17 / Nouthwest China (Xian)
  16846. \ (eos-xian-1.cmecloud.cn)
  16847. 18 / Yunnan China (Kunming)
  16848. \ (eos-yunnan.cmecloud.cn)
  16849. 19 / Yunnan China (Kunming-2)
  16850. \ (eos-yunnan-2.cmecloud.cn)
  16851. 20 / Tianjin China (Tianjin)
  16852. \ (eos-tianjin-1.cmecloud.cn)
  16853. 21 / Jilin China (Changchun)
  16854. \ (eos-jilin-1.cmecloud.cn)
  16855. 22 / Hubei China (Xiangyan)
  16856. \ (eos-hubei-1.cmecloud.cn)
  16857. 23 / Jiangxi China (Nanchang)
  16858. \ (eos-jiangxi-1.cmecloud.cn)
  16859. 24 / Gansu China (Lanzhou)
  16860. \ (eos-gansu-1.cmecloud.cn)
  16861. 25 / Shanxi China (Taiyuan)
  16862. \ (eos-shanxi-1.cmecloud.cn)
  16863. 26 / Liaoning China (Shenyang)
  16864. \ (eos-liaoning-1.cmecloud.cn)
  16865. 27 / Hebei China (Shijiazhuang)
  16866. \ (eos-hebei-1.cmecloud.cn)
  16867. 28 / Fujian China (Xiamen)
  16868. \ (eos-fujian-1.cmecloud.cn)
  16869. 29 / Guangxi China (Nanning)
  16870. \ (eos-guangxi-1.cmecloud.cn)
  16871. 30 / Anhui China (Huainan)
  16872. \ (eos-anhui-1.cmecloud.cn)
  16873. endpoint> 1
  16874. Option location_constraint.
  16875. Location constraint - must match endpoint.
  16876. Used when creating buckets only.
  16877. Choose a number from below, or type in your own value.
  16878. Press Enter to leave empty.
  16879. 1 / East China (Suzhou)
  16880. \ (wuxi1)
  16881. 2 / East China (Jinan)
  16882. \ (jinan1)
  16883. 3 / East China (Hangzhou)
  16884. \ (ningbo1)
  16885. 4 / East China (Shanghai-1)
  16886. \ (shanghai1)
  16887. 5 / Central China (Zhengzhou)
  16888. \ (zhengzhou1)
  16889. 6 / Central China (Changsha-1)
  16890. \ (hunan1)
  16891. 7 / Central China (Changsha-2)
  16892. \ (zhuzhou1)
  16893. 8 / South China (Guangzhou-2)
  16894. \ (guangzhou1)
  16895. 9 / South China (Guangzhou-3)
  16896. \ (dongguan1)
  16897. 10 / North China (Beijing-1)
  16898. \ (beijing1)
  16899. 11 / North China (Beijing-2)
  16900. \ (beijing2)
  16901. 12 / North China (Beijing-3)
  16902. \ (beijing4)
  16903. 13 / North China (Huhehaote)
  16904. \ (huhehaote1)
  16905. 14 / Southwest China (Chengdu)
  16906. \ (chengdu1)
  16907. 15 / Southwest China (Chongqing)
  16908. \ (chongqing1)
  16909. 16 / Southwest China (Guiyang)
  16910. \ (guiyang1)
  16911. 17 / Nouthwest China (Xian)
  16912. \ (xian1)
  16913. 18 / Yunnan China (Kunming)
  16914. \ (yunnan)
  16915. 19 / Yunnan China (Kunming-2)
  16916. \ (yunnan2)
  16917. 20 / Tianjin China (Tianjin)
  16918. \ (tianjin1)
  16919. 21 / Jilin China (Changchun)
  16920. \ (jilin1)
  16921. 22 / Hubei China (Xiangyan)
  16922. \ (hubei1)
  16923. 23 / Jiangxi China (Nanchang)
  16924. \ (jiangxi1)
  16925. 24 / Gansu China (Lanzhou)
  16926. \ (gansu1)
  16927. 25 / Shanxi China (Taiyuan)
  16928. \ (shanxi1)
  16929. 26 / Liaoning China (Shenyang)
  16930. \ (liaoning1)
  16931. 27 / Hebei China (Shijiazhuang)
  16932. \ (hebei1)
  16933. 28 / Fujian China (Xiamen)
  16934. \ (fujian1)
  16935. 29 / Guangxi China (Nanning)
  16936. \ (guangxi1)
  16937. 30 / Anhui China (Huainan)
  16938. \ (anhui1)
  16939. location_constraint> 1
  16940. Option acl.
  16941. Canned ACL used when creating buckets and storing or copying objects.
  16942. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
  16943. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  16944. Note that this ACL is applied when server-side copying objects as S3
  16945. doesn't copy the ACL from the source but rather writes a fresh one.
  16946. Choose a number from below, or type in your own value.
  16947. Press Enter to leave empty.
  16948. / Owner gets FULL_CONTROL.
  16949. 1 | No one else has access rights (default).
  16950. \ (private)
  16951. / Owner gets FULL_CONTROL.
  16952. 2 | The AllUsers group gets READ access.
  16953. \ (public-read)
  16954. / Owner gets FULL_CONTROL.
  16955. 3 | The AllUsers group gets READ and WRITE access.
  16956. | Granting this on a bucket is generally not recommended.
  16957. \ (public-read-write)
  16958. / Owner gets FULL_CONTROL.
  16959. 4 | The AuthenticatedUsers group gets READ access.
  16960. \ (authenticated-read)
  16961. / Object owner gets FULL_CONTROL.
  16962. acl> private
  16963. Option server_side_encryption.
  16964. The server-side encryption algorithm used when storing this object in S3.
  16965. Choose a number from below, or type in your own value.
  16966. Press Enter to leave empty.
  16967. 1 / None
  16968. \ ()
  16969. 2 / AES256
  16970. \ (AES256)
  16971. server_side_encryption>
  16972. Option storage_class.
  16973. The storage class to use when storing new objects in ChinaMobile.
  16974. Choose a number from below, or type in your own value.
  16975. Press Enter to leave empty.
  16976. 1 / Default
  16977. \ ()
  16978. 2 / Standard storage class
  16979. \ (STANDARD)
  16980. 3 / Archive storage mode
  16981. \ (GLACIER)
  16982. 4 / Infrequent access storage mode
  16983. \ (STANDARD_IA)
  16984. storage_class>
  16985. Edit advanced config?
  16986. y) Yes
  16987. n) No (default)
  16988. y/n> n
  16989. --------------------
  16990. [ChinaMobile]
  16991. type = s3
  16992. provider = ChinaMobile
  16993. access_key_id = accesskeyid
  16994. secret_access_key = secretaccesskey
  16995. endpoint = eos-wuxi-1.cmecloud.cn
  16996. location_constraint = wuxi1
  16997. acl = private
  16998. --------------------
  16999. y) Yes this is OK (default)
  17000. e) Edit this remote
  17001. d) Delete this remote
  17002. y/e/d> y
  17003. Liara
  17004. Here is an example of making a Liara Object Storage configuration. First
  17005. run:
  17006. rclone config
  17007. This will guide you through an interactive setup process.
  17008. No remotes found, make a new one?
  17009. n) New remote
  17010. s) Set configuration password
  17011. n/s> n
  17012. name> Liara
  17013. Type of storage to configure.
  17014. Choose a number from below, or type in your own value
  17015. [snip]
  17016. XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio)
  17017. \ "s3"
  17018. [snip]
  17019. Storage> s3
  17020. 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.
  17021. Choose a number from below, or type in your own value
  17022. 1 / Enter AWS credentials in the next step
  17023. \ "false"
  17024. 2 / Get AWS credentials from the environment (env vars or IAM)
  17025. \ "true"
  17026. env_auth> 1
  17027. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  17028. access_key_id> YOURACCESSKEY
  17029. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  17030. secret_access_key> YOURSECRETACCESSKEY
  17031. Region to connect to.
  17032. Choose a number from below, or type in your own value
  17033. / The default endpoint
  17034. 1 | US Region, Northern Virginia, or Pacific Northwest.
  17035. | Leave location constraint empty.
  17036. \ "us-east-1"
  17037. [snip]
  17038. region>
  17039. Endpoint for S3 API.
  17040. Leave blank if using Liara to use the default endpoint for the region.
  17041. Specify if using an S3 clone such as Ceph.
  17042. endpoint> storage.iran.liara.space
  17043. Canned ACL used when creating buckets and/or storing objects in S3.
  17044. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  17045. Choose a number from below, or type in your own value
  17046. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  17047. \ "private"
  17048. [snip]
  17049. acl>
  17050. The server-side encryption algorithm used when storing this object in S3.
  17051. Choose a number from below, or type in your own value
  17052. 1 / None
  17053. \ ""
  17054. 2 / AES256
  17055. \ "AES256"
  17056. server_side_encryption>
  17057. The storage class to use when storing objects in S3.
  17058. Choose a number from below, or type in your own value
  17059. 1 / Default
  17060. \ ""
  17061. 2 / Standard storage class
  17062. \ "STANDARD"
  17063. storage_class>
  17064. Remote config
  17065. --------------------
  17066. [Liara]
  17067. env_auth = false
  17068. access_key_id = YOURACCESSKEY
  17069. secret_access_key = YOURSECRETACCESSKEY
  17070. endpoint = storage.iran.liara.space
  17071. location_constraint =
  17072. acl =
  17073. server_side_encryption =
  17074. storage_class =
  17075. --------------------
  17076. y) Yes this is OK
  17077. e) Edit this remote
  17078. d) Delete this remote
  17079. y/e/d> y
  17080. This will leave the config file looking like this.
  17081. [Liara]
  17082. type = s3
  17083. provider = Liara
  17084. env_auth = false
  17085. access_key_id = YOURACCESSKEY
  17086. secret_access_key = YOURSECRETACCESSKEY
  17087. region =
  17088. endpoint = storage.iran.liara.space
  17089. location_constraint =
  17090. acl =
  17091. server_side_encryption =
  17092. storage_class =
  17093. ArvanCloud
  17094. ArvanCloud ArvanCloud Object Storage goes beyond the limited traditional
  17095. file storage. It gives you access to backup and archived files and
  17096. allows sharing. Files like profile image in the app, images sent by
  17097. users or scanned documents can be stored securely and easily in our
  17098. Object Storage service.
  17099. ArvanCloud provides an S3 interface which can be configured for use with
  17100. rclone like this.
  17101. No remotes found, make a new one?
  17102. n) New remote
  17103. s) Set configuration password
  17104. n/s> n
  17105. name> ArvanCloud
  17106. Type of storage to configure.
  17107. Choose a number from below, or type in your own value
  17108. [snip]
  17109. XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio)
  17110. \ "s3"
  17111. [snip]
  17112. Storage> s3
  17113. 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.
  17114. Choose a number from below, or type in your own value
  17115. 1 / Enter AWS credentials in the next step
  17116. \ "false"
  17117. 2 / Get AWS credentials from the environment (env vars or IAM)
  17118. \ "true"
  17119. env_auth> 1
  17120. AWS Access Key ID - leave blank for anonymous access or runtime credentials.
  17121. access_key_id> YOURACCESSKEY
  17122. AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  17123. secret_access_key> YOURSECRETACCESSKEY
  17124. Region to connect to.
  17125. Choose a number from below, or type in your own value
  17126. / The default endpoint - a good choice if you are unsure.
  17127. 1 | US Region, Northern Virginia, or Pacific Northwest.
  17128. | Leave location constraint empty.
  17129. \ "us-east-1"
  17130. [snip]
  17131. region>
  17132. Endpoint for S3 API.
  17133. Leave blank if using ArvanCloud to use the default endpoint for the region.
  17134. Specify if using an S3 clone such as Ceph.
  17135. endpoint> s3.arvanstorage.com
  17136. Location constraint - must be set to match the Region. Used when creating buckets only.
  17137. Choose a number from below, or type in your own value
  17138. 1 / Empty for Iran-Tehran Region.
  17139. \ ""
  17140. [snip]
  17141. location_constraint>
  17142. Canned ACL used when creating buckets and/or storing objects in S3.
  17143. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  17144. Choose a number from below, or type in your own value
  17145. 1 / Owner gets FULL_CONTROL. No one else has access rights (default).
  17146. \ "private"
  17147. [snip]
  17148. acl>
  17149. The server-side encryption algorithm used when storing this object in S3.
  17150. Choose a number from below, or type in your own value
  17151. 1 / None
  17152. \ ""
  17153. 2 / AES256
  17154. \ "AES256"
  17155. server_side_encryption>
  17156. The storage class to use when storing objects in S3.
  17157. Choose a number from below, or type in your own value
  17158. 1 / Default
  17159. \ ""
  17160. 2 / Standard storage class
  17161. \ "STANDARD"
  17162. storage_class>
  17163. Remote config
  17164. --------------------
  17165. [ArvanCloud]
  17166. env_auth = false
  17167. access_key_id = YOURACCESSKEY
  17168. secret_access_key = YOURSECRETACCESSKEY
  17169. region = ir-thr-at1
  17170. endpoint = s3.arvanstorage.com
  17171. location_constraint =
  17172. acl =
  17173. server_side_encryption =
  17174. storage_class =
  17175. --------------------
  17176. y) Yes this is OK
  17177. e) Edit this remote
  17178. d) Delete this remote
  17179. y/e/d> y
  17180. This will leave the config file looking like this.
  17181. [ArvanCloud]
  17182. type = s3
  17183. provider = ArvanCloud
  17184. env_auth = false
  17185. access_key_id = YOURACCESSKEY
  17186. secret_access_key = YOURSECRETACCESSKEY
  17187. region =
  17188. endpoint = s3.arvanstorage.com
  17189. location_constraint =
  17190. acl =
  17191. server_side_encryption =
  17192. storage_class =
  17193. Tencent COS
  17194. Tencent Cloud Object Storage (COS) is a distributed storage service
  17195. offered by Tencent Cloud for unstructured data. It is secure, stable,
  17196. massive, convenient, low-delay and low-cost.
  17197. To configure access to Tencent COS, follow the steps below:
  17198. 1. Run rclone config and select n for a new remote.
  17199. rclone config
  17200. No remotes found, make a new one?
  17201. n) New remote
  17202. s) Set configuration password
  17203. q) Quit config
  17204. n/s/q> n
  17205. 2. Give the name of the configuration. For example, name it 'cos'.
  17206. name> cos
  17207. 3. Select s3 storage.
  17208. Choose a number from below, or type in your own value
  17209. 1 / 1Fichier
  17210. \ "fichier"
  17211. 2 / Alias for an existing remote
  17212. \ "alias"
  17213. 3 / Amazon Drive
  17214. \ "amazon cloud drive"
  17215. 4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Liara, Minio, and Tencent COS
  17216. \ "s3"
  17217. [snip]
  17218. Storage> s3
  17219. 4. Select TencentCOS provider.
  17220. Choose a number from below, or type in your own value
  17221. 1 / Amazon Web Services (AWS) S3
  17222. \ "AWS"
  17223. [snip]
  17224. 11 / Tencent Cloud Object Storage (COS)
  17225. \ "TencentCOS"
  17226. [snip]
  17227. provider> TencentCOS
  17228. 5. Enter your SecretId and SecretKey of Tencent Cloud.
  17229. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  17230. Only applies if access_key_id and secret_access_key is blank.
  17231. Enter a boolean value (true or false). Press Enter for the default ("false").
  17232. Choose a number from below, or type in your own value
  17233. 1 / Enter AWS credentials in the next step
  17234. \ "false"
  17235. 2 / Get AWS credentials from the environment (env vars or IAM)
  17236. \ "true"
  17237. env_auth> 1
  17238. AWS Access Key ID.
  17239. Leave blank for anonymous access or runtime credentials.
  17240. Enter a string value. Press Enter for the default ("").
  17241. access_key_id> AKIDxxxxxxxxxx
  17242. AWS Secret Access Key (password)
  17243. Leave blank for anonymous access or runtime credentials.
  17244. Enter a string value. Press Enter for the default ("").
  17245. secret_access_key> xxxxxxxxxxx
  17246. 6. Select endpoint for Tencent COS. This is the standard endpoint for
  17247. different region.
  17248. 1 / Beijing Region.
  17249. \ "cos.ap-beijing.myqcloud.com"
  17250. 2 / Nanjing Region.
  17251. \ "cos.ap-nanjing.myqcloud.com"
  17252. 3 / Shanghai Region.
  17253. \ "cos.ap-shanghai.myqcloud.com"
  17254. 4 / Guangzhou Region.
  17255. \ "cos.ap-guangzhou.myqcloud.com"
  17256. [snip]
  17257. endpoint> 4
  17258. 7. Choose acl and storage class.
  17259. Note that this ACL is applied when server-side copying objects as S3
  17260. doesn't copy the ACL from the source but rather writes a fresh one.
  17261. Enter a string value. Press Enter for the default ("").
  17262. Choose a number from below, or type in your own value
  17263. 1 / Owner gets Full_CONTROL. No one else has access rights (default).
  17264. \ "default"
  17265. [snip]
  17266. acl> 1
  17267. The storage class to use when storing new objects in Tencent COS.
  17268. Enter a string value. Press Enter for the default ("").
  17269. Choose a number from below, or type in your own value
  17270. 1 / Default
  17271. \ ""
  17272. [snip]
  17273. storage_class> 1
  17274. Edit advanced config? (y/n)
  17275. y) Yes
  17276. n) No (default)
  17277. y/n> n
  17278. Remote config
  17279. --------------------
  17280. [cos]
  17281. type = s3
  17282. provider = TencentCOS
  17283. env_auth = false
  17284. access_key_id = xxx
  17285. secret_access_key = xxx
  17286. endpoint = cos.ap-guangzhou.myqcloud.com
  17287. acl = default
  17288. --------------------
  17289. y) Yes this is OK (default)
  17290. e) Edit this remote
  17291. d) Delete this remote
  17292. y/e/d> y
  17293. Current remotes:
  17294. Name Type
  17295. ==== ====
  17296. cos s3
  17297. Netease NOS
  17298. For Netease NOS configure as per the configurator rclone config setting
  17299. the provider Netease. This will automatically set
  17300. force_path_style = false which is necessary for it to run properly.
  17301. Petabox
  17302. Here is an example of making a Petabox configuration. First run:
  17303. rclone config
  17304. This will guide you through an interactive setup process.
  17305. No remotes found, make a new one?
  17306. n) New remote
  17307. s) Set configuration password
  17308. n/s> n
  17309. Enter name for new remote.
  17310. name> My Petabox Storage
  17311. Option Storage.
  17312. Type of storage to configure.
  17313. Choose a number from below, or type in your own value.
  17314. [snip]
  17315. XX / Amazon S3 Compliant Storage Providers including AWS, ...
  17316. \ "s3"
  17317. [snip]
  17318. Storage> s3
  17319. Option provider.
  17320. Choose your S3 provider.
  17321. Choose a number from below, or type in your own value.
  17322. Press Enter to leave empty.
  17323. [snip]
  17324. XX / Petabox Object Storage
  17325. \ (Petabox)
  17326. [snip]
  17327. provider> Petabox
  17328. Option env_auth.
  17329. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  17330. Only applies if access_key_id and secret_access_key is blank.
  17331. Choose a number from below, or type in your own boolean value (true or false).
  17332. Press Enter for the default (false).
  17333. 1 / Enter AWS credentials in the next step.
  17334. \ (false)
  17335. 2 / Get AWS credentials from the environment (env vars or IAM).
  17336. \ (true)
  17337. env_auth> 1
  17338. Option access_key_id.
  17339. AWS Access Key ID.
  17340. Leave blank for anonymous access or runtime credentials.
  17341. Enter a value. Press Enter to leave empty.
  17342. access_key_id> YOUR_ACCESS_KEY_ID
  17343. Option secret_access_key.
  17344. AWS Secret Access Key (password).
  17345. Leave blank for anonymous access or runtime credentials.
  17346. Enter a value. Press Enter to leave empty.
  17347. secret_access_key> YOUR_SECRET_ACCESS_KEY
  17348. Option region.
  17349. Region where your bucket will be created and your data stored.
  17350. Choose a number from below, or type in your own value.
  17351. Press Enter to leave empty.
  17352. 1 / US East (N. Virginia)
  17353. \ (us-east-1)
  17354. 2 / Europe (Frankfurt)
  17355. \ (eu-central-1)
  17356. 3 / Asia Pacific (Singapore)
  17357. \ (ap-southeast-1)
  17358. 4 / Middle East (Bahrain)
  17359. \ (me-south-1)
  17360. 5 / South America (São Paulo)
  17361. \ (sa-east-1)
  17362. region> 1
  17363. Option endpoint.
  17364. Endpoint for Petabox S3 Object Storage.
  17365. Specify the endpoint from the same region.
  17366. Choose a number from below, or type in your own value.
  17367. 1 / US East (N. Virginia)
  17368. \ (s3.petabox.io)
  17369. 2 / US East (N. Virginia)
  17370. \ (s3.us-east-1.petabox.io)
  17371. 3 / Europe (Frankfurt)
  17372. \ (s3.eu-central-1.petabox.io)
  17373. 4 / Asia Pacific (Singapore)
  17374. \ (s3.ap-southeast-1.petabox.io)
  17375. 5 / Middle East (Bahrain)
  17376. \ (s3.me-south-1.petabox.io)
  17377. 6 / South America (São Paulo)
  17378. \ (s3.sa-east-1.petabox.io)
  17379. endpoint> 1
  17380. Option acl.
  17381. Canned ACL used when creating buckets and storing or copying objects.
  17382. This ACL is used for creating objects and if bucket_acl isn't set, for creating buckets too.
  17383. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
  17384. Note that this ACL is applied when server-side copying objects as S3
  17385. doesn't copy the ACL from the source but rather writes a fresh one.
  17386. If the acl is an empty string then no X-Amz-Acl: header is added and
  17387. the default (private) will be used.
  17388. Choose a number from below, or type in your own value.
  17389. Press Enter to leave empty.
  17390. / Owner gets FULL_CONTROL.
  17391. 1 | No one else has access rights (default).
  17392. \ (private)
  17393. / Owner gets FULL_CONTROL.
  17394. 2 | The AllUsers group gets READ access.
  17395. \ (public-read)
  17396. / Owner gets FULL_CONTROL.
  17397. 3 | The AllUsers group gets READ and WRITE access.
  17398. | Granting this on a bucket is generally not recommended.
  17399. \ (public-read-write)
  17400. / Owner gets FULL_CONTROL.
  17401. 4 | The AuthenticatedUsers group gets READ access.
  17402. \ (authenticated-read)
  17403. / Object owner gets FULL_CONTROL.
  17404. 5 | Bucket owner gets READ access.
  17405. | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  17406. \ (bucket-owner-read)
  17407. / Both the object owner and the bucket owner get FULL_CONTROL over the object.
  17408. 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
  17409. \ (bucket-owner-full-control)
  17410. acl> 1
  17411. Edit advanced config?
  17412. y) Yes
  17413. n) No (default)
  17414. y/n> No
  17415. Configuration complete.
  17416. Options:
  17417. - type: s3
  17418. - provider: Petabox
  17419. - access_key_id: YOUR_ACCESS_KEY_ID
  17420. - secret_access_key: YOUR_SECRET_ACCESS_KEY
  17421. - region: us-east-1
  17422. - endpoint: s3.petabox.io
  17423. Keep this "My Petabox Storage" remote?
  17424. y) Yes this is OK (default)
  17425. e) Edit this remote
  17426. d) Delete this remote
  17427. y/e/d> y
  17428. This will leave the config file looking like this.
  17429. [My Petabox Storage]
  17430. type = s3
  17431. provider = Petabox
  17432. access_key_id = YOUR_ACCESS_KEY_ID
  17433. secret_access_key = YOUR_SECRET_ACCESS_KEY
  17434. region = us-east-1
  17435. endpoint = s3.petabox.io
  17436. Storj
  17437. Storj is a decentralized cloud storage which can be used through its
  17438. native protocol or an S3 compatible gateway.
  17439. The S3 compatible gateway is configured using rclone config with a type
  17440. of s3 and with a provider name of Storj. Here is an example run of the
  17441. configurator.
  17442. Type of storage to configure.
  17443. Storage> s3
  17444. Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
  17445. Only applies if access_key_id and secret_access_key is blank.
  17446. Choose a number from below, or type in your own boolean value (true or false).
  17447. Press Enter for the default (false).
  17448. 1 / Enter AWS credentials in the next step.
  17449. \ (false)
  17450. 2 / Get AWS credentials from the environment (env vars or IAM).
  17451. \ (true)
  17452. env_auth> 1
  17453. Option access_key_id.
  17454. AWS Access Key ID.
  17455. Leave blank for anonymous access or runtime credentials.
  17456. Enter a value. Press Enter to leave empty.
  17457. access_key_id> XXXX (as shown when creating the access grant)
  17458. Option secret_access_key.
  17459. AWS Secret Access Key (password).
  17460. Leave blank for anonymous access or runtime credentials.
  17461. Enter a value. Press Enter to leave empty.
  17462. secret_access_key> XXXX (as shown when creating the access grant)
  17463. Option endpoint.
  17464. Endpoint of the Shared Gateway.
  17465. Choose a number from below, or type in your own value.
  17466. Press Enter to leave empty.
  17467. 1 / EU1 Shared Gateway
  17468. \ (gateway.eu1.storjshare.io)
  17469. 2 / US1 Shared Gateway
  17470. \ (gateway.us1.storjshare.io)
  17471. 3 / Asia-Pacific Shared Gateway
  17472. \ (gateway.ap1.storjshare.io)
  17473. endpoint> 1 (as shown when creating the access grant)
  17474. Edit advanced config?
  17475. y) Yes
  17476. n) No (default)
  17477. y/n> n
  17478. Note that s3 credentials are generated when you create an access grant.
  17479. Backend quirks
  17480. - --chunk-size is forced to be 64 MiB or greater. This will use more
  17481. memory than the default of 5 MiB.
  17482. - Server side copy is disabled as it isn't currently supported in the
  17483. gateway.
  17484. - GetTier and SetTier are not supported.
  17485. Backend bugs
  17486. Due to issue #39 uploading multipart files via the S3 gateway causes
  17487. them to lose their metadata. For rclone's purpose this means that the
  17488. modification time is not stored, nor is any MD5SUM (if one is available
  17489. from the source).
  17490. This has the following consequences:
  17491. - Using rclone rcat will fail as the medatada doesn't match after
  17492. upload
  17493. - Uploading files with rclone mount will fail for the same reason
  17494. - This can worked around by using --vfs-cache-mode writes or
  17495. --vfs-cache-mode full or setting --s3-upload-cutoff large
  17496. - Files uploaded via a multipart upload won't have their modtimes
  17497. - This will mean that rclone sync will likely keep trying to
  17498. upload files bigger than --s3-upload-cutoff
  17499. - This can be worked around with --checksum or --size-only or
  17500. setting --s3-upload-cutoff large
  17501. - The maximum value for --s3-upload-cutoff is 5GiB though
  17502. One general purpose workaround is to set --s3-upload-cutoff 5G. This
  17503. means that rclone will upload files smaller than 5GiB as single parts.
  17504. Note that this can be set in the config file with upload_cutoff = 5G or
  17505. configured in the advanced settings. If you regularly transfer files
  17506. larger than 5G then using --checksum or --size-only in rclone sync is
  17507. the recommended workaround.
  17508. Comparison with the native protocol
  17509. Use the the native protocol to take advantage of client-side encryption
  17510. as well as to achieve the best possible download performance. Uploads
  17511. will be erasure-coded locally, thus a 1gb upload will result in 2.68gb
  17512. of data being uploaded to storage nodes across the network.
  17513. Use this backend and the S3 compatible Hosted Gateway to increase upload
  17514. performance and reduce the load on your systems and network. Uploads
  17515. will be encrypted and erasure-coded server-side, thus a 1GB upload will
  17516. result in only in 1GB of data being uploaded to storage nodes across the
  17517. network.
  17518. For more detailed comparison please check the documentation of the storj
  17519. backend.
  17520. Limitations
  17521. rclone about is not supported by the S3 backend. Backends without this
  17522. capability cannot determine free space for an rclone mount or use policy
  17523. mfs (most free space) as a member of an rclone union remote.
  17524. See List of backends that do not support rclone about and rclone about
  17525. Backblaze B2
  17526. B2 is Backblaze's cloud storage system.
  17527. Paths are specified as remote:bucket (or remote: for the lsd command.)
  17528. You may put subdirectories in too, e.g. remote:bucket/path/to/dir.
  17529. Configuration
  17530. Here is an example of making a b2 configuration. First run
  17531. rclone config
  17532. This will guide you through an interactive setup process. To
  17533. authenticate you will either need your Account ID (a short hex number)
  17534. and Master Application Key (a long hex number) OR an Application Key,
  17535. which is the recommended method. See below for further details on
  17536. generating and using an Application Key.
  17537. No remotes found, make a new one?
  17538. n) New remote
  17539. q) Quit config
  17540. n/q> n
  17541. name> remote
  17542. Type of storage to configure.
  17543. Choose a number from below, or type in your own value
  17544. [snip]
  17545. XX / Backblaze B2
  17546. \ "b2"
  17547. [snip]
  17548. Storage> b2
  17549. Account ID or Application Key ID
  17550. account> 123456789abc
  17551. Application Key
  17552. key> 0123456789abcdef0123456789abcdef0123456789
  17553. Endpoint for the service - leave blank normally.
  17554. endpoint>
  17555. Remote config
  17556. --------------------
  17557. [remote]
  17558. account = 123456789abc
  17559. key = 0123456789abcdef0123456789abcdef0123456789
  17560. endpoint =
  17561. --------------------
  17562. y) Yes this is OK
  17563. e) Edit this remote
  17564. d) Delete this remote
  17565. y/e/d> y
  17566. This remote is called remote and can now be used like this
  17567. See all buckets
  17568. rclone lsd remote:
  17569. Create a new bucket
  17570. rclone mkdir remote:bucket
  17571. List the contents of a bucket
  17572. rclone ls remote:bucket
  17573. Sync /home/local/directory to the remote bucket, deleting any excess
  17574. files in the bucket.
  17575. rclone sync --interactive /home/local/directory remote:bucket
  17576. Application Keys
  17577. B2 supports multiple Application Keys for different access permission to
  17578. B2 Buckets.
  17579. You can use these with rclone too; you will need to use rclone version
  17580. 1.43 or later.
  17581. Follow Backblaze's docs to create an Application Key with the required
  17582. permission and add the applicationKeyId as the account and the
  17583. Application Key itself as the key.
  17584. Note that you must put the applicationKeyId as the account – you can't
  17585. use the master Account ID. If you try then B2 will return 401 errors.
  17586. --fast-list
  17587. This remote supports --fast-list which allows you to use fewer
  17588. transactions in exchange for more memory. See the rclone docs for more
  17589. details.
  17590. Modified time
  17591. The modified time is stored as metadata on the object as
  17592. X-Bz-Info-src_last_modified_millis as milliseconds since 1970-01-01 in
  17593. the Backblaze standard. Other tools should be able to use this as a
  17594. modified time.
  17595. Modified times are used in syncing and are fully supported. Note that if
  17596. a modification time needs to be updated on an object then it will create
  17597. a new version of the object.
  17598. Restricted filename characters
  17599. In addition to the default restricted characters set the following
  17600. characters are also replaced:
  17601. Character Value Replacement
  17602. ----------- ------- -------------
  17603. \ 0x5C \
  17604. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  17605. strings.
  17606. Note that in 2020-05 Backblaze started allowing  characters in file
  17607. names. Rclone hasn't changed its encoding as this could cause syncs to
  17608. re-transfer files. If you want rclone not to replace  then see the
  17609. --b2-encoding flag below and remove the BackSlash from the string. This
  17610. can be set in the config.
  17611. SHA1 checksums
  17612. The SHA1 checksums of the files are checked on upload and download and
  17613. will be used in the syncing process.
  17614. Large files (bigger than the limit in --b2-upload-cutoff) which are
  17615. uploaded in chunks will store their SHA1 on the object as
  17616. X-Bz-Info-large_file_sha1 as recommended by Backblaze.
  17617. For a large file to be uploaded with an SHA1 checksum, the source needs
  17618. to support SHA1 checksums. The local disk supports SHA1 checksums so
  17619. large file transfers from local disk will have an SHA1. See the overview
  17620. for exactly which remotes support SHA1.
  17621. Sources which don't support SHA1, in particular crypt will upload large
  17622. files without SHA1 checksums. This may be fixed in the future (see
  17623. #1767).
  17624. Files sizes below --b2-upload-cutoff will always have an SHA1 regardless
  17625. of the source.
  17626. Transfers
  17627. Backblaze recommends that you do lots of transfers simultaneously for
  17628. maximum speed. In tests from my SSD equipped laptop the optimum setting
  17629. is about --transfers 32 though higher numbers may be used for a slight
  17630. speed improvement. The optimum number for you may vary depending on your
  17631. hardware, how big the files are, how much you want to load your
  17632. computer, etc. The default of --transfers 4 is definitely too low for
  17633. Backblaze B2 though.
  17634. Note that uploading big files (bigger than 200 MiB by default) will use
  17635. a 96 MiB RAM buffer by default. There can be at most --transfers of
  17636. these in use at any moment, so this sets the upper limit on the memory
  17637. used.
  17638. Versions
  17639. When rclone uploads a new version of a file it creates a new version of
  17640. it. Likewise when you delete a file, the old version will be marked
  17641. hidden and still be available. Conversely, you may opt in to a "hard
  17642. delete" of files with the --b2-hard-delete flag which would permanently
  17643. remove the file instead of hiding it.
  17644. Old versions of files, where available, are visible using the
  17645. --b2-versions flag.
  17646. It is also possible to view a bucket as it was at a certain point in
  17647. time, using the --b2-version-at flag. This will show the file versions
  17648. as they were at that time, showing files that have been deleted
  17649. afterwards, and hiding files that were created since.
  17650. If you wish to remove all the old versions then you can use the
  17651. rclone cleanup remote:bucket command which will delete all the old
  17652. versions of files, leaving the current ones intact. You can also supply
  17653. a path and only old versions under that path will be deleted, e.g.
  17654. rclone cleanup remote:bucket/path/to/stuff.
  17655. Note that cleanup will remove partially uploaded files from the bucket
  17656. if they are more than a day old.
  17657. When you purge a bucket, the current and the old versions will be
  17658. deleted then the bucket will be deleted.
  17659. However delete will cause the current versions of the files to become
  17660. hidden old versions.
  17661. Here is a session showing the listing and retrieval of an old version
  17662. followed by a cleanup of the old versions.
  17663. Show current version and all the versions with --b2-versions flag.
  17664. $ rclone -q ls b2:cleanup-test
  17665. 9 one.txt
  17666. $ rclone -q --b2-versions ls b2:cleanup-test
  17667. 9 one.txt
  17668. 8 one-v2016-07-04-141032-000.txt
  17669. 16 one-v2016-07-04-141003-000.txt
  17670. 15 one-v2016-07-02-155621-000.txt
  17671. Retrieve an old version
  17672. $ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
  17673. $ ls -l /tmp/one-v2016-07-04-141003-000.txt
  17674. -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt
  17675. Clean up all the old versions and show that they've gone.
  17676. $ rclone -q cleanup b2:cleanup-test
  17677. $ rclone -q ls b2:cleanup-test
  17678. 9 one.txt
  17679. $ rclone -q --b2-versions ls b2:cleanup-test
  17680. 9 one.txt
  17681. Data usage
  17682. It is useful to know how many requests are sent to the server in
  17683. different scenarios.
  17684. All copy commands send the following 4 requests:
  17685. /b2api/v1/b2_authorize_account
  17686. /b2api/v1/b2_create_bucket
  17687. /b2api/v1/b2_list_buckets
  17688. /b2api/v1/b2_list_file_names
  17689. The b2_list_file_names request will be sent once for every 1k files in
  17690. the remote path, providing the checksum and modification time of the
  17691. listed files. As of version 1.33 issue #818 causes extra requests to be
  17692. sent when using B2 with Crypt. When a copy operation does not require
  17693. any files to be uploaded, no more requests will be sent.
  17694. Uploading files that do not require chunking, will send 2 requests per
  17695. file upload:
  17696. /b2api/v1/b2_get_upload_url
  17697. /b2api/v1/b2_upload_file/
  17698. Uploading files requiring chunking, will send 2 requests (one each to
  17699. start and finish the upload) and another 2 requests for each chunk:
  17700. /b2api/v1/b2_start_large_file
  17701. /b2api/v1/b2_get_upload_part_url
  17702. /b2api/v1/b2_upload_part/
  17703. /b2api/v1/b2_finish_large_file
  17704. Versions
  17705. Versions can be viewed with the --b2-versions flag. When it is set
  17706. rclone will show and act on older versions of files. For example
  17707. Listing without --b2-versions
  17708. $ rclone -q ls b2:cleanup-test
  17709. 9 one.txt
  17710. And with
  17711. $ rclone -q --b2-versions ls b2:cleanup-test
  17712. 9 one.txt
  17713. 8 one-v2016-07-04-141032-000.txt
  17714. 16 one-v2016-07-04-141003-000.txt
  17715. 15 one-v2016-07-02-155621-000.txt
  17716. Showing that the current version is unchanged but older versions can be
  17717. seen. These have the UTC date that they were uploaded to the server to
  17718. the nearest millisecond appended to them.
  17719. Note that when using --b2-versions no file write operations are
  17720. permitted, so you can't upload files or delete them.
  17721. B2 and rclone link
  17722. Rclone supports generating file share links for private B2 buckets. They
  17723. can either be for a file for example:
  17724. ./rclone link B2:bucket/path/to/file.txt
  17725. https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx
  17726. or if run on a directory you will get:
  17727. ./rclone link B2:bucket/path
  17728. https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx
  17729. you can then use the authorization token (the part of the url from the
  17730. ?Authorization= on) on any file path under that directory. For example:
  17731. https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx
  17732. https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx
  17733. https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx
  17734. Standard options
  17735. Here are the Standard options specific to b2 (Backblaze B2).
  17736. --b2-account
  17737. Account ID or Application Key ID.
  17738. Properties:
  17739. - Config: account
  17740. - Env Var: RCLONE_B2_ACCOUNT
  17741. - Type: string
  17742. - Required: true
  17743. --b2-key
  17744. Application Key.
  17745. Properties:
  17746. - Config: key
  17747. - Env Var: RCLONE_B2_KEY
  17748. - Type: string
  17749. - Required: true
  17750. --b2-hard-delete
  17751. Permanently delete files on remote removal, otherwise hide files.
  17752. Properties:
  17753. - Config: hard_delete
  17754. - Env Var: RCLONE_B2_HARD_DELETE
  17755. - Type: bool
  17756. - Default: false
  17757. Advanced options
  17758. Here are the Advanced options specific to b2 (Backblaze B2).
  17759. --b2-endpoint
  17760. Endpoint for the service.
  17761. Leave blank normally.
  17762. Properties:
  17763. - Config: endpoint
  17764. - Env Var: RCLONE_B2_ENDPOINT
  17765. - Type: string
  17766. - Required: false
  17767. --b2-test-mode
  17768. A flag string for X-Bz-Test-Mode header for debugging.
  17769. This is for debugging purposes only. Setting it to one of the strings
  17770. below will cause b2 to return specific errors:
  17771. - "fail_some_uploads"
  17772. - "expire_some_account_authorization_tokens"
  17773. - "force_cap_exceeded"
  17774. These will be set in the "X-Bz-Test-Mode" header which is documented in
  17775. the b2 integrations checklist.
  17776. Properties:
  17777. - Config: test_mode
  17778. - Env Var: RCLONE_B2_TEST_MODE
  17779. - Type: string
  17780. - Required: false
  17781. --b2-versions
  17782. Include old versions in directory listings.
  17783. Note that when using this no file write operations are permitted, so you
  17784. can't upload files or delete them.
  17785. Properties:
  17786. - Config: versions
  17787. - Env Var: RCLONE_B2_VERSIONS
  17788. - Type: bool
  17789. - Default: false
  17790. --b2-version-at
  17791. Show file versions as they were at the specified time.
  17792. Note that when using this no file write operations are permitted, so you
  17793. can't upload files or delete them.
  17794. Properties:
  17795. - Config: version_at
  17796. - Env Var: RCLONE_B2_VERSION_AT
  17797. - Type: Time
  17798. - Default: off
  17799. --b2-upload-cutoff
  17800. Cutoff for switching to chunked upload.
  17801. Files above this size will be uploaded in chunks of "--b2-chunk-size".
  17802. This value should be set no larger than 4.657 GiB (== 5 GB).
  17803. Properties:
  17804. - Config: upload_cutoff
  17805. - Env Var: RCLONE_B2_UPLOAD_CUTOFF
  17806. - Type: SizeSuffix
  17807. - Default: 200Mi
  17808. --b2-copy-cutoff
  17809. Cutoff for switching to multipart copy.
  17810. Any files larger than this that need to be server-side copied will be
  17811. copied in chunks of this size.
  17812. The minimum is 0 and the maximum is 4.6 GiB.
  17813. Properties:
  17814. - Config: copy_cutoff
  17815. - Env Var: RCLONE_B2_COPY_CUTOFF
  17816. - Type: SizeSuffix
  17817. - Default: 4Gi
  17818. --b2-chunk-size
  17819. Upload chunk size.
  17820. When uploading large files, chunk the file into this size.
  17821. Must fit in memory. These chunks are buffered in memory and there might
  17822. a maximum of "--transfers" chunks in progress at once.
  17823. 5,000,000 Bytes is the minimum size.
  17824. Properties:
  17825. - Config: chunk_size
  17826. - Env Var: RCLONE_B2_CHUNK_SIZE
  17827. - Type: SizeSuffix
  17828. - Default: 96Mi
  17829. --b2-disable-checksum
  17830. Disable checksums for large (> upload cutoff) files.
  17831. Normally rclone will calculate the SHA1 checksum of the input before
  17832. uploading it so it can add it to metadata on the object. This is great
  17833. for data integrity checking but can cause long delays for large files to
  17834. start uploading.
  17835. Properties:
  17836. - Config: disable_checksum
  17837. - Env Var: RCLONE_B2_DISABLE_CHECKSUM
  17838. - Type: bool
  17839. - Default: false
  17840. --b2-download-url
  17841. Custom endpoint for downloads.
  17842. This is usually set to a Cloudflare CDN URL as Backblaze offers free
  17843. egress for data downloaded through the Cloudflare network. Rclone works
  17844. with private buckets by sending an "Authorization" header. If the custom
  17845. endpoint rewrites the requests for authentication, e.g., in Cloudflare
  17846. Workers, this header needs to be handled properly. Leave blank if you
  17847. want to use the endpoint provided by Backblaze.
  17848. The URL provided here SHOULD have the protocol and SHOULD NOT have a
  17849. trailing slash or specify the /file/bucket subpath as rclone will
  17850. request files with "{download_url}/file/{bucket_name}/{path}".
  17851. Example: > https://mysubdomain.mydomain.tld (No trailing "/", "file" or
  17852. "bucket")
  17853. Properties:
  17854. - Config: download_url
  17855. - Env Var: RCLONE_B2_DOWNLOAD_URL
  17856. - Type: string
  17857. - Required: false
  17858. --b2-download-auth-duration
  17859. Time before the authorization token will expire in s or suffix
  17860. ms|s|m|h|d.
  17861. The duration before the download authorization token will expire. The
  17862. minimum value is 1 second. The maximum value is one week.
  17863. Properties:
  17864. - Config: download_auth_duration
  17865. - Env Var: RCLONE_B2_DOWNLOAD_AUTH_DURATION
  17866. - Type: Duration
  17867. - Default: 1w
  17868. --b2-memory-pool-flush-time
  17869. How often internal memory buffer pools will be flushed. Uploads which
  17870. requires additional buffers (f.e multipart) will use memory pool for
  17871. allocations. This option controls how often unused buffers will be
  17872. removed from the pool.
  17873. Properties:
  17874. - Config: memory_pool_flush_time
  17875. - Env Var: RCLONE_B2_MEMORY_POOL_FLUSH_TIME
  17876. - Type: Duration
  17877. - Default: 1m0s
  17878. --b2-memory-pool-use-mmap
  17879. Whether to use mmap buffers in internal memory pool.
  17880. Properties:
  17881. - Config: memory_pool_use_mmap
  17882. - Env Var: RCLONE_B2_MEMORY_POOL_USE_MMAP
  17883. - Type: bool
  17884. - Default: false
  17885. --b2-encoding
  17886. The encoding for the backend.
  17887. See the encoding section in the overview for more info.
  17888. Properties:
  17889. - Config: encoding
  17890. - Env Var: RCLONE_B2_ENCODING
  17891. - Type: MultiEncoder
  17892. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  17893. Limitations
  17894. rclone about is not supported by the B2 backend. Backends without this
  17895. capability cannot determine free space for an rclone mount or use policy
  17896. mfs (most free space) as a member of an rclone union remote.
  17897. See List of backends that do not support rclone about and rclone about
  17898. Box
  17899. Paths are specified as remote:path
  17900. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  17901. The initial setup for Box involves getting a token from Box which you
  17902. can do either in your browser, or with a config.json downloaded from Box
  17903. to use JWT authentication. rclone config walks you through it.
  17904. Configuration
  17905. Here is an example of how to make a remote called remote. First run:
  17906. rclone config
  17907. This will guide you through an interactive setup process:
  17908. No remotes found, make a new one?
  17909. n) New remote
  17910. s) Set configuration password
  17911. q) Quit config
  17912. n/s/q> n
  17913. name> remote
  17914. Type of storage to configure.
  17915. Choose a number from below, or type in your own value
  17916. [snip]
  17917. XX / Box
  17918. \ "box"
  17919. [snip]
  17920. Storage> box
  17921. Box App Client Id - leave blank normally.
  17922. client_id>
  17923. Box App Client Secret - leave blank normally.
  17924. client_secret>
  17925. Box App config.json location
  17926. Leave blank normally.
  17927. Enter a string value. Press Enter for the default ("").
  17928. box_config_file>
  17929. Box App Primary Access Token
  17930. Leave blank normally.
  17931. Enter a string value. Press Enter for the default ("").
  17932. access_token>
  17933. Enter a string value. Press Enter for the default ("user").
  17934. Choose a number from below, or type in your own value
  17935. 1 / Rclone should act on behalf of a user
  17936. \ "user"
  17937. 2 / Rclone should act on behalf of a service account
  17938. \ "enterprise"
  17939. box_sub_type>
  17940. Remote config
  17941. Use web browser to automatically authenticate rclone with remote?
  17942. * Say Y if the machine running rclone has a web browser you can use
  17943. * Say N if running rclone on a (remote) machine without web browser access
  17944. If not sure try Y. If Y failed, try N.
  17945. y) Yes
  17946. n) No
  17947. y/n> y
  17948. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  17949. Log in and authorize rclone for access
  17950. Waiting for code...
  17951. Got code
  17952. --------------------
  17953. [remote]
  17954. client_id =
  17955. client_secret =
  17956. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"XXX"}
  17957. --------------------
  17958. y) Yes this is OK
  17959. e) Edit this remote
  17960. d) Delete this remote
  17961. y/e/d> y
  17962. See the remote setup docs for how to set it up on a machine with no
  17963. Internet browser available.
  17964. Note that rclone runs a webserver on your local machine to collect the
  17965. token as returned from Box. This only runs from the moment it opens your
  17966. browser to the moment you get back the verification code. This is on
  17967. http://127.0.0.1:53682/ and this it may require you to unblock it
  17968. temporarily if you are running a host firewall.
  17969. Once configured you can then use rclone like this,
  17970. List directories in top level of your Box
  17971. rclone lsd remote:
  17972. List all the files in your Box
  17973. rclone ls remote:
  17974. To copy a local directory to an Box directory called backup
  17975. rclone copy /home/source remote:backup
  17976. Using rclone with an Enterprise account with SSO
  17977. If you have an "Enterprise" account type with Box with single sign on
  17978. (SSO), you need to create a password to use Box with rclone. This can be
  17979. done at your Enterprise Box account by going to Settings, "Account" Tab,
  17980. and then set the password in the "Authentication" field.
  17981. Once you have done this, you can setup your Enterprise Box account using
  17982. the same procedure detailed above in the, using the password you have
  17983. just set.
  17984. Invalid refresh token
  17985. According to the box docs:
  17986. Each refresh_token is valid for one use in 60 days.
  17987. This means that if you
  17988. - Don't use the box remote for 60 days
  17989. - Copy the config file with a box refresh token in and use it in two
  17990. places
  17991. - Get an error on a token refresh
  17992. then rclone will return an error which includes the text
  17993. Invalid refresh token.
  17994. To fix this you will need to use oauth2 again to update the refresh
  17995. token. You can use the methods in the remote setup docs, bearing in mind
  17996. that if you use the copy the config file method, you should not use that
  17997. remote on the computer you did the authentication on.
  17998. Here is how to do it.
  17999. $ rclone config
  18000. Current remotes:
  18001. Name Type
  18002. ==== ====
  18003. remote box
  18004. e) Edit existing remote
  18005. n) New remote
  18006. d) Delete remote
  18007. r) Rename remote
  18008. c) Copy remote
  18009. s) Set configuration password
  18010. q) Quit config
  18011. e/n/d/r/c/s/q> e
  18012. Choose a number from below, or type in an existing value
  18013. 1 > remote
  18014. remote> remote
  18015. --------------------
  18016. [remote]
  18017. type = box
  18018. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2017-07-08T23:40:08.059167677+01:00"}
  18019. --------------------
  18020. Edit remote
  18021. Value "client_id" = ""
  18022. Edit? (y/n)>
  18023. y) Yes
  18024. n) No
  18025. y/n> n
  18026. Value "client_secret" = ""
  18027. Edit? (y/n)>
  18028. y) Yes
  18029. n) No
  18030. y/n> n
  18031. Remote config
  18032. Already have a token - refresh?
  18033. y) Yes
  18034. n) No
  18035. y/n> y
  18036. Use web browser to automatically authenticate rclone with remote?
  18037. * Say Y if the machine running rclone has a web browser you can use
  18038. * Say N if running rclone on a (remote) machine without web browser access
  18039. If not sure try Y. If Y failed, try N.
  18040. y) Yes
  18041. n) No
  18042. y/n> y
  18043. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  18044. Log in and authorize rclone for access
  18045. Waiting for code...
  18046. Got code
  18047. --------------------
  18048. [remote]
  18049. type = box
  18050. token = {"access_token":"YYY","token_type":"bearer","refresh_token":"YYY","expiry":"2017-07-23T12:22:29.259137901+01:00"}
  18051. --------------------
  18052. y) Yes this is OK
  18053. e) Edit this remote
  18054. d) Delete this remote
  18055. y/e/d> y
  18056. Modified time and hashes
  18057. Box allows modification times to be set on objects accurate to 1 second.
  18058. These will be used to detect whether objects need syncing or not.
  18059. Box supports SHA1 type hashes, so you can use the --checksum flag.
  18060. Restricted filename characters
  18061. In addition to the default restricted characters set the following
  18062. characters are also replaced:
  18063. Character Value Replacement
  18064. ----------- ------- -------------
  18065. \ 0x5C \
  18066. File names can also not end with the following characters. These only
  18067. get replaced if they are the last character in the name:
  18068. Character Value Replacement
  18069. ----------- ------- -------------
  18070. SP 0x20 ␠
  18071. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  18072. strings.
  18073. Transfers
  18074. For files above 50 MiB rclone will use a chunked transfer. Rclone will
  18075. upload up to --transfers chunks at the same time (shared among all the
  18076. multipart uploads). Chunks are buffered in memory and are normally 8 MiB
  18077. so increasing --transfers will increase memory use.
  18078. Deleting files
  18079. Depending on the enterprise settings for your user, the item will either
  18080. be actually deleted from Box or moved to the trash.
  18081. Emptying the trash is supported via the rclone however cleanup command
  18082. however this deletes every trashed file and folder individually so it
  18083. may take a very long time. Emptying the trash via the WebUI does not
  18084. have this limitation so it is advised to empty the trash via the WebUI.
  18085. Root folder ID
  18086. You can set the root_folder_id for rclone. This is the directory
  18087. (identified by its Folder ID) that rclone considers to be the root of
  18088. your Box drive.
  18089. Normally you will leave this blank and rclone will determine the correct
  18090. root to use itself.
  18091. However you can set this to restrict rclone to a specific folder
  18092. hierarchy.
  18093. In order to do this you will have to find the Folder ID of the directory
  18094. you wish rclone to display. This will be the last segment of the URL
  18095. when you open the relevant folder in the Box web interface.
  18096. So if the folder you want rclone to use has a URL which looks like
  18097. https://app.box.com/folder/11xxxxxxxxx8 in the browser, then you use
  18098. 11xxxxxxxxx8 as the root_folder_id in the config.
  18099. Standard options
  18100. Here are the Standard options specific to box (Box).
  18101. --box-client-id
  18102. OAuth Client Id.
  18103. Leave blank normally.
  18104. Properties:
  18105. - Config: client_id
  18106. - Env Var: RCLONE_BOX_CLIENT_ID
  18107. - Type: string
  18108. - Required: false
  18109. --box-client-secret
  18110. OAuth Client Secret.
  18111. Leave blank normally.
  18112. Properties:
  18113. - Config: client_secret
  18114. - Env Var: RCLONE_BOX_CLIENT_SECRET
  18115. - Type: string
  18116. - Required: false
  18117. --box-box-config-file
  18118. Box App config.json location
  18119. Leave blank normally.
  18120. Leading ~ will be expanded in the file name as will environment
  18121. variables such as ${RCLONE_CONFIG_DIR}.
  18122. Properties:
  18123. - Config: box_config_file
  18124. - Env Var: RCLONE_BOX_BOX_CONFIG_FILE
  18125. - Type: string
  18126. - Required: false
  18127. --box-access-token
  18128. Box App Primary Access Token
  18129. Leave blank normally.
  18130. Properties:
  18131. - Config: access_token
  18132. - Env Var: RCLONE_BOX_ACCESS_TOKEN
  18133. - Type: string
  18134. - Required: false
  18135. --box-box-sub-type
  18136. Properties:
  18137. - Config: box_sub_type
  18138. - Env Var: RCLONE_BOX_BOX_SUB_TYPE
  18139. - Type: string
  18140. - Default: "user"
  18141. - Examples:
  18142. - "user"
  18143. - Rclone should act on behalf of a user.
  18144. - "enterprise"
  18145. - Rclone should act on behalf of a service account.
  18146. Advanced options
  18147. Here are the Advanced options specific to box (Box).
  18148. --box-token
  18149. OAuth Access Token as a JSON blob.
  18150. Properties:
  18151. - Config: token
  18152. - Env Var: RCLONE_BOX_TOKEN
  18153. - Type: string
  18154. - Required: false
  18155. --box-auth-url
  18156. Auth server URL.
  18157. Leave blank to use the provider defaults.
  18158. Properties:
  18159. - Config: auth_url
  18160. - Env Var: RCLONE_BOX_AUTH_URL
  18161. - Type: string
  18162. - Required: false
  18163. --box-token-url
  18164. Token server url.
  18165. Leave blank to use the provider defaults.
  18166. Properties:
  18167. - Config: token_url
  18168. - Env Var: RCLONE_BOX_TOKEN_URL
  18169. - Type: string
  18170. - Required: false
  18171. --box-root-folder-id
  18172. Fill in for rclone to use a non root folder as its starting point.
  18173. Properties:
  18174. - Config: root_folder_id
  18175. - Env Var: RCLONE_BOX_ROOT_FOLDER_ID
  18176. - Type: string
  18177. - Default: "0"
  18178. --box-upload-cutoff
  18179. Cutoff for switching to multipart upload (>= 50 MiB).
  18180. Properties:
  18181. - Config: upload_cutoff
  18182. - Env Var: RCLONE_BOX_UPLOAD_CUTOFF
  18183. - Type: SizeSuffix
  18184. - Default: 50Mi
  18185. --box-commit-retries
  18186. Max number of times to try committing a multipart file.
  18187. Properties:
  18188. - Config: commit_retries
  18189. - Env Var: RCLONE_BOX_COMMIT_RETRIES
  18190. - Type: int
  18191. - Default: 100
  18192. --box-list-chunk
  18193. Size of listing chunk 1-1000.
  18194. Properties:
  18195. - Config: list_chunk
  18196. - Env Var: RCLONE_BOX_LIST_CHUNK
  18197. - Type: int
  18198. - Default: 1000
  18199. --box-owned-by
  18200. Only show items owned by the login (email address) passed in.
  18201. Properties:
  18202. - Config: owned_by
  18203. - Env Var: RCLONE_BOX_OWNED_BY
  18204. - Type: string
  18205. - Required: false
  18206. --box-encoding
  18207. The encoding for the backend.
  18208. See the encoding section in the overview for more info.
  18209. Properties:
  18210. - Config: encoding
  18211. - Env Var: RCLONE_BOX_ENCODING
  18212. - Type: MultiEncoder
  18213. - Default: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot
  18214. Limitations
  18215. Note that Box is case insensitive so you can't have a file called
  18216. "Hello.doc" and one called "hello.doc".
  18217. Box file names can't have the \ character in. rclone maps this to and
  18218. from an identical looking unicode equivalent \ (U+FF3C Fullwidth
  18219. Reverse Solidus).
  18220. Box only supports filenames up to 255 characters in length.
  18221. Box has API rate limits that sometimes reduce the speed of rclone.
  18222. rclone about is not supported by the Box backend. Backends without this
  18223. capability cannot determine free space for an rclone mount or use policy
  18224. mfs (most free space) as a member of an rclone union remote.
  18225. See List of backends that do not support rclone about and rclone about
  18226. Cache
  18227. The cache remote wraps another existing remote and stores file structure
  18228. and its data for long running tasks like rclone mount.
  18229. Status
  18230. The cache backend code is working but it currently doesn't have a
  18231. maintainer so there are outstanding bugs which aren't getting fixed.
  18232. The cache backend is due to be phased out in favour of the VFS caching
  18233. layer eventually which is more tightly integrated into rclone.
  18234. Until this happens we recommend only using the cache backend if you find
  18235. you can't work without it. There are many docs online describing the use
  18236. of the cache backend to minimize API hits and by-and-large these are out
  18237. of date and the cache backend isn't needed in those scenarios any more.
  18238. Configuration
  18239. To get started you just need to have an existing remote which can be
  18240. configured with cache.
  18241. Here is an example of how to make a remote called test-cache. First run:
  18242. rclone config
  18243. This will guide you through an interactive setup process:
  18244. No remotes found, make a new one?
  18245. n) New remote
  18246. r) Rename remote
  18247. c) Copy remote
  18248. s) Set configuration password
  18249. q) Quit config
  18250. n/r/c/s/q> n
  18251. name> test-cache
  18252. Type of storage to configure.
  18253. Choose a number from below, or type in your own value
  18254. [snip]
  18255. XX / Cache a remote
  18256. \ "cache"
  18257. [snip]
  18258. Storage> cache
  18259. Remote to cache.
  18260. Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
  18261. "myremote:bucket" or maybe "myremote:" (not recommended).
  18262. remote> local:/test
  18263. Optional: The URL of the Plex server
  18264. plex_url> http://127.0.0.1:32400
  18265. Optional: The username of the Plex user
  18266. plex_username> dummyusername
  18267. Optional: The password of the Plex user
  18268. y) Yes type in my own password
  18269. g) Generate random password
  18270. n) No leave this optional password blank
  18271. y/g/n> y
  18272. Enter the password:
  18273. password:
  18274. Confirm the password:
  18275. password:
  18276. The size of a chunk. Lower value good for slow connections but can affect seamless reading.
  18277. Default: 5M
  18278. Choose a number from below, or type in your own value
  18279. 1 / 1 MiB
  18280. \ "1M"
  18281. 2 / 5 MiB
  18282. \ "5M"
  18283. 3 / 10 MiB
  18284. \ "10M"
  18285. chunk_size> 2
  18286. How much time should object info (file size, file hashes, etc.) be stored in cache. Use a very high value if you don't plan on changing the source FS from outside the cache.
  18287. Accepted units are: "s", "m", "h".
  18288. Default: 5m
  18289. Choose a number from below, or type in your own value
  18290. 1 / 1 hour
  18291. \ "1h"
  18292. 2 / 24 hours
  18293. \ "24h"
  18294. 3 / 24 hours
  18295. \ "48h"
  18296. info_age> 2
  18297. The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted.
  18298. Default: 10G
  18299. Choose a number from below, or type in your own value
  18300. 1 / 500 MiB
  18301. \ "500M"
  18302. 2 / 1 GiB
  18303. \ "1G"
  18304. 3 / 10 GiB
  18305. \ "10G"
  18306. chunk_total_size> 3
  18307. Remote config
  18308. --------------------
  18309. [test-cache]
  18310. remote = local:/test
  18311. plex_url = http://127.0.0.1:32400
  18312. plex_username = dummyusername
  18313. plex_password = *** ENCRYPTED ***
  18314. chunk_size = 5M
  18315. info_age = 48h
  18316. chunk_total_size = 10G
  18317. You can then use it like this,
  18318. List directories in top level of your drive
  18319. rclone lsd test-cache:
  18320. List all the files in your drive
  18321. rclone ls test-cache:
  18322. To start a cached mount
  18323. rclone mount --allow-other test-cache: /var/tmp/test-cache
  18324. Write Features
  18325. Offline uploading
  18326. In an effort to make writing through cache more reliable, the backend
  18327. now supports this feature which can be activated by specifying a
  18328. cache-tmp-upload-path.
  18329. A files goes through these states when using this feature:
  18330. 1. An upload is started (usually by copying a file on the cache remote)
  18331. 2. When the copy to the temporary location is complete the file is part
  18332. of the cached remote and looks and behaves like any other file
  18333. (reading included)
  18334. 3. After cache-tmp-wait-time passes and the file is next in line,
  18335. rclone move is used to move the file to the cloud provider
  18336. 4. Reading the file still works during the upload but most
  18337. modifications on it will be prohibited
  18338. 5. Once the move is complete the file is unlocked for modifications as
  18339. it becomes as any other regular file
  18340. 6. If the file is being read through cache when it's actually deleted
  18341. from the temporary path then cache will simply swap the source to
  18342. the cloud provider without interrupting the reading (small blip can
  18343. happen though)
  18344. Files are uploaded in sequence and only one file is uploaded at a time.
  18345. Uploads will be stored in a queue and be processed based on the order
  18346. they were added. The queue and the temporary storage is persistent
  18347. across restarts but can be cleared on startup with the --cache-db-purge
  18348. flag.
  18349. Write Support
  18350. Writes are supported through cache. One caveat is that a mounted cache
  18351. remote does not add any retry or fallback mechanism to the upload
  18352. operation. This will depend on the implementation of the wrapped remote.
  18353. Consider using Offline uploading for reliable writes.
  18354. One special case is covered with cache-writes which will cache the file
  18355. data at the same time as the upload when it is enabled making it
  18356. available from the cache store immediately once the upload is finished.
  18357. Read Features
  18358. Multiple connections
  18359. To counter the high latency between a local PC where rclone is running
  18360. and cloud providers, the cache remote can split multiple requests to the
  18361. cloud provider for smaller file chunks and combines them together
  18362. locally where they can be available almost immediately before the reader
  18363. usually needs them.
  18364. This is similar to buffering when media files are played online. Rclone
  18365. will stay around the current marker but always try its best to stay
  18366. ahead and prepare the data before.
  18367. Plex Integration
  18368. There is a direct integration with Plex which allows cache to detect
  18369. during reading if the file is in playback or not. This helps cache to
  18370. adapt how it queries the cloud provider depending on what is needed for.
  18371. Scans will have a minimum amount of workers (1) while in a confirmed
  18372. playback cache will deploy the configured number of workers.
  18373. This integration opens the doorway to additional performance
  18374. improvements which will be explored in the near future.
  18375. Note: If Plex options are not configured, cache will function with its
  18376. configured options without adapting any of its settings.
  18377. How to enable? Run rclone config and add all the Plex options (endpoint,
  18378. username and password) in your remote and it will be automatically
  18379. enabled.
  18380. Affected settings: - cache-workers: Configured value during confirmed
  18381. playback or 1 all the other times
  18382. Certificate Validation
  18383. When the Plex server is configured to only accept secure connections, it
  18384. is possible to use .plex.direct URLs to ensure certificate validation
  18385. succeeds. These URLs are used by Plex internally to connect to the Plex
  18386. server securely.
  18387. The format for these URLs is the following:
  18388. https://ip-with-dots-replaced.server-hash.plex.direct:32400/
  18389. The ip-with-dots-replaced part can be any IPv4 address, where the dots
  18390. have been replaced with dashes, e.g. 127.0.0.1 becomes 127-0-0-1.
  18391. To get the server-hash part, the easiest way is to visit
  18392. https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-token
  18393. This page will list all the available Plex servers for your account with
  18394. at least one .plex.direct link for each. Copy one URL and replace the IP
  18395. address with the desired address. This can be used as the plex_url
  18396. value.
  18397. Known issues
  18398. Mount and --dir-cache-time
  18399. --dir-cache-time controls the first layer of directory caching which
  18400. works at the mount layer. Being an independent caching mechanism from
  18401. the cache backend, it will manage its own entries based on the
  18402. configured time.
  18403. To avoid getting in a scenario where dir cache has obsolete data and
  18404. cache would have the correct one, try to set --dir-cache-time to a lower
  18405. time than --cache-info-age. Default values are already configured in
  18406. this way.
  18407. Windows support - Experimental
  18408. There are a couple of issues with Windows mount functionality that still
  18409. require some investigations. It should be considered as experimental
  18410. thus far as fixes come in for this OS.
  18411. Most of the issues seem to be related to the difference between
  18412. filesystems on Linux flavors and Windows as cache is heavily dependent
  18413. on them.
  18414. Any reports or feedback on how cache behaves on this OS is greatly
  18415. appreciated.
  18416. - https://github.com/rclone/rclone/issues/1935
  18417. - https://github.com/rclone/rclone/issues/1907
  18418. - https://github.com/rclone/rclone/issues/1834
  18419. Risk of throttling
  18420. Future iterations of the cache backend will make use of the pooling
  18421. functionality of the cloud provider to synchronize and at the same time
  18422. make writing through it more tolerant to failures.
  18423. There are a couple of enhancements in track to add these but in the
  18424. meantime there is a valid concern that the expiring cache listings can
  18425. lead to cloud provider throttles or bans due to repeated queries on it
  18426. for very large mounts.
  18427. Some recommendations: - don't use a very small interval for entry
  18428. information (--cache-info-age) - while writes aren't yet optimised, you
  18429. can still write through cache which gives you the advantage of adding
  18430. the file in the cache at the same time if configured to do so.
  18431. Future enhancements:
  18432. - https://github.com/rclone/rclone/issues/1937
  18433. - https://github.com/rclone/rclone/issues/1936
  18434. cache and crypt
  18435. One common scenario is to keep your data encrypted in the cloud provider
  18436. using the crypt remote. crypt uses a similar technique to wrap around an
  18437. existing remote and handles this translation in a seamless way.
  18438. There is an issue with wrapping the remotes in this order: cloud remote
  18439. -> crypt -> cache
  18440. During testing, I experienced a lot of bans with the remotes in this
  18441. order. I suspect it might be related to how crypt opens files on the
  18442. cloud provider which makes it think we're downloading the full file
  18443. instead of small chunks. Organizing the remotes in this order yields
  18444. better results: cloud remote -> cache -> crypt
  18445. absolute remote paths
  18446. cache can not differentiate between relative and absolute paths for the
  18447. wrapped remote. Any path given in the remote config setting and on the
  18448. command line will be passed to the wrapped remote as is, but for storing
  18449. the chunks on disk the path will be made relative by removing any
  18450. leading / character.
  18451. This behavior is irrelevant for most backend types, but there are
  18452. backends where a leading / changes the effective directory, e.g. in the
  18453. sftp backend paths starting with a / are relative to the root of the SSH
  18454. server and paths without are relative to the user home directory. As a
  18455. result sftp:bin and sftp:/bin will share the same cache folder, even if
  18456. they represent a different directory on the SSH server.
  18457. Cache and Remote Control (--rc)
  18458. Cache supports the new --rc mode in rclone and can be remote controlled
  18459. through the following end points: By default, the listener is disabled
  18460. if you do not add the flag.
  18461. rc cache/expire
  18462. Purge a remote from the cache backend. Supports either a directory or a
  18463. file. It supports both encrypted and unencrypted file names if cache is
  18464. wrapped by crypt.
  18465. Params: - remote = path to remote (required) - withData = true/false to
  18466. delete cached data (chunks) as well (optional, false by default)
  18467. Standard options
  18468. Here are the Standard options specific to cache (Cache a remote).
  18469. --cache-remote
  18470. Remote to cache.
  18471. Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
  18472. "myremote:bucket" or maybe "myremote:" (not recommended).
  18473. Properties:
  18474. - Config: remote
  18475. - Env Var: RCLONE_CACHE_REMOTE
  18476. - Type: string
  18477. - Required: true
  18478. --cache-plex-url
  18479. The URL of the Plex server.
  18480. Properties:
  18481. - Config: plex_url
  18482. - Env Var: RCLONE_CACHE_PLEX_URL
  18483. - Type: string
  18484. - Required: false
  18485. --cache-plex-username
  18486. The username of the Plex user.
  18487. Properties:
  18488. - Config: plex_username
  18489. - Env Var: RCLONE_CACHE_PLEX_USERNAME
  18490. - Type: string
  18491. - Required: false
  18492. --cache-plex-password
  18493. The password of the Plex user.
  18494. NB Input to this must be obscured - see rclone obscure.
  18495. Properties:
  18496. - Config: plex_password
  18497. - Env Var: RCLONE_CACHE_PLEX_PASSWORD
  18498. - Type: string
  18499. - Required: false
  18500. --cache-chunk-size
  18501. The size of a chunk (partial file data).
  18502. Use lower numbers for slower connections. If the chunk size is changed,
  18503. any downloaded chunks will be invalid and cache-chunk-path will need to
  18504. be cleared or unexpected EOF errors will occur.
  18505. Properties:
  18506. - Config: chunk_size
  18507. - Env Var: RCLONE_CACHE_CHUNK_SIZE
  18508. - Type: SizeSuffix
  18509. - Default: 5Mi
  18510. - Examples:
  18511. - "1M"
  18512. - 1 MiB
  18513. - "5M"
  18514. - 5 MiB
  18515. - "10M"
  18516. - 10 MiB
  18517. --cache-info-age
  18518. How long to cache file structure information (directory listings, file
  18519. size, times, etc.). If all write operations are done through the cache
  18520. then you can safely make this value very large as the cache store will
  18521. also be updated in real time.
  18522. Properties:
  18523. - Config: info_age
  18524. - Env Var: RCLONE_CACHE_INFO_AGE
  18525. - Type: Duration
  18526. - Default: 6h0m0s
  18527. - Examples:
  18528. - "1h"
  18529. - 1 hour
  18530. - "24h"
  18531. - 24 hours
  18532. - "48h"
  18533. - 48 hours
  18534. --cache-chunk-total-size
  18535. The total size that the chunks can take up on the local disk.
  18536. If the cache exceeds this value then it will start to delete the oldest
  18537. chunks until it goes under this value.
  18538. Properties:
  18539. - Config: chunk_total_size
  18540. - Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE
  18541. - Type: SizeSuffix
  18542. - Default: 10Gi
  18543. - Examples:
  18544. - "500M"
  18545. - 500 MiB
  18546. - "1G"
  18547. - 1 GiB
  18548. - "10G"
  18549. - 10 GiB
  18550. Advanced options
  18551. Here are the Advanced options specific to cache (Cache a remote).
  18552. --cache-plex-token
  18553. The plex token for authentication - auto set normally.
  18554. Properties:
  18555. - Config: plex_token
  18556. - Env Var: RCLONE_CACHE_PLEX_TOKEN
  18557. - Type: string
  18558. - Required: false
  18559. --cache-plex-insecure
  18560. Skip all certificate verification when connecting to the Plex server.
  18561. Properties:
  18562. - Config: plex_insecure
  18563. - Env Var: RCLONE_CACHE_PLEX_INSECURE
  18564. - Type: string
  18565. - Required: false
  18566. --cache-db-path
  18567. Directory to store file structure metadata DB.
  18568. The remote name is used as the DB file name.
  18569. Properties:
  18570. - Config: db_path
  18571. - Env Var: RCLONE_CACHE_DB_PATH
  18572. - Type: string
  18573. - Default: "$HOME/.cache/rclone/cache-backend"
  18574. --cache-chunk-path
  18575. Directory to cache chunk files.
  18576. Path to where partial file data (chunks) are stored locally. The remote
  18577. name is appended to the final path.
  18578. This config follows the "--cache-db-path". If you specify a custom
  18579. location for "--cache-db-path" and don't specify one for
  18580. "--cache-chunk-path" then "--cache-chunk-path" will use the same path as
  18581. "--cache-db-path".
  18582. Properties:
  18583. - Config: chunk_path
  18584. - Env Var: RCLONE_CACHE_CHUNK_PATH
  18585. - Type: string
  18586. - Default: "$HOME/.cache/rclone/cache-backend"
  18587. --cache-db-purge
  18588. Clear all the cached data for this remote on start.
  18589. Properties:
  18590. - Config: db_purge
  18591. - Env Var: RCLONE_CACHE_DB_PURGE
  18592. - Type: bool
  18593. - Default: false
  18594. --cache-chunk-clean-interval
  18595. How often should the cache perform cleanups of the chunk storage.
  18596. The default value should be ok for most people. If you find that the
  18597. cache goes over "cache-chunk-total-size" too often then try to lower
  18598. this value to force it to perform cleanups more often.
  18599. Properties:
  18600. - Config: chunk_clean_interval
  18601. - Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
  18602. - Type: Duration
  18603. - Default: 1m0s
  18604. --cache-read-retries
  18605. How many times to retry a read from a cache storage.
  18606. Since reading from a cache stream is independent from downloading file
  18607. data, readers can get to a point where there's no more data in the
  18608. cache. Most of the times this can indicate a connectivity issue if cache
  18609. isn't able to provide file data anymore.
  18610. For really slow connections, increase this to a point where the stream
  18611. is able to provide data but your experience will be very stuttering.
  18612. Properties:
  18613. - Config: read_retries
  18614. - Env Var: RCLONE_CACHE_READ_RETRIES
  18615. - Type: int
  18616. - Default: 10
  18617. --cache-workers
  18618. How many workers should run in parallel to download chunks.
  18619. Higher values will mean more parallel processing (better CPU needed) and
  18620. more concurrent requests on the cloud provider. This impacts several
  18621. aspects like the cloud provider API limits, more stress on the hardware
  18622. that rclone runs on but it also means that streams will be more fluid
  18623. and data will be available much more faster to readers.
  18624. Note: If the optional Plex integration is enabled then this setting will
  18625. adapt to the type of reading performed and the value specified here will
  18626. be used as a maximum number of workers to use.
  18627. Properties:
  18628. - Config: workers
  18629. - Env Var: RCLONE_CACHE_WORKERS
  18630. - Type: int
  18631. - Default: 4
  18632. --cache-chunk-no-memory
  18633. Disable the in-memory cache for storing chunks during streaming.
  18634. By default, cache will keep file data during streaming in RAM as well to
  18635. provide it to readers as fast as possible.
  18636. This transient data is evicted as soon as it is read and the number of
  18637. chunks stored doesn't exceed the number of workers. However, depending
  18638. on other settings like "cache-chunk-size" and "cache-workers" this
  18639. footprint can increase if there are parallel streams too (multiple files
  18640. being read at the same time).
  18641. If the hardware permits it, use this feature to provide an overall
  18642. better performance during streaming but it can also be disabled if RAM
  18643. is not available on the local machine.
  18644. Properties:
  18645. - Config: chunk_no_memory
  18646. - Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY
  18647. - Type: bool
  18648. - Default: false
  18649. --cache-rps
  18650. Limits the number of requests per second to the source FS (-1 to
  18651. disable).
  18652. This setting places a hard limit on the number of requests per second
  18653. that cache will be doing to the cloud provider remote and try to respect
  18654. that value by setting waits between reads.
  18655. If you find that you're getting banned or limited on the cloud provider
  18656. through cache and know that a smaller number of requests per second will
  18657. allow you to work with it then you can use this setting for that.
  18658. A good balance of all the other settings should make this setting
  18659. useless but it is available to set for more special cases.
  18660. NOTE: This will limit the number of requests during streams but other
  18661. API calls to the cloud provider like directory listings will still pass.
  18662. Properties:
  18663. - Config: rps
  18664. - Env Var: RCLONE_CACHE_RPS
  18665. - Type: int
  18666. - Default: -1
  18667. --cache-writes
  18668. Cache file data on writes through the FS.
  18669. If you need to read files immediately after you upload them through
  18670. cache you can enable this flag to have their data stored in the cache
  18671. store at the same time during upload.
  18672. Properties:
  18673. - Config: writes
  18674. - Env Var: RCLONE_CACHE_WRITES
  18675. - Type: bool
  18676. - Default: false
  18677. --cache-tmp-upload-path
  18678. Directory to keep temporary files until they are uploaded.
  18679. This is the path where cache will use as a temporary storage for new
  18680. files that need to be uploaded to the cloud provider.
  18681. Specifying a value will enable this feature. Without it, it is
  18682. completely disabled and files will be uploaded directly to the cloud
  18683. provider
  18684. Properties:
  18685. - Config: tmp_upload_path
  18686. - Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH
  18687. - Type: string
  18688. - Required: false
  18689. --cache-tmp-wait-time
  18690. How long should files be stored in local cache before being uploaded.
  18691. This is the duration that a file must wait in the temporary location
  18692. cache-tmp-upload-path before it is selected for upload.
  18693. Note that only one file is uploaded at a time and it can take longer to
  18694. start the upload if a queue formed for this purpose.
  18695. Properties:
  18696. - Config: tmp_wait_time
  18697. - Env Var: RCLONE_CACHE_TMP_WAIT_TIME
  18698. - Type: Duration
  18699. - Default: 15s
  18700. --cache-db-wait-time
  18701. How long to wait for the DB to be available - 0 is unlimited.
  18702. Only one process can have the DB open at any one time, so rclone waits
  18703. for this duration for the DB to become available before it gives an
  18704. error.
  18705. If you set it to 0 then it will wait forever.
  18706. Properties:
  18707. - Config: db_wait_time
  18708. - Env Var: RCLONE_CACHE_DB_WAIT_TIME
  18709. - Type: Duration
  18710. - Default: 1s
  18711. Backend commands
  18712. Here are the commands specific to the cache backend.
  18713. Run them with
  18714. rclone backend COMMAND remote:
  18715. The help below will explain what arguments each command takes.
  18716. See the backend command for more info on how to pass options and
  18717. arguments.
  18718. These can be run on a running backend using the rc command
  18719. backend/command.
  18720. stats
  18721. Print stats on the cache backend in JSON format.
  18722. rclone backend stats remote: [options] [<arguments>+]
  18723. Chunker
  18724. The chunker overlay transparently splits large files into smaller chunks
  18725. during upload to wrapped remote and transparently assembles them back
  18726. when the file is downloaded. This allows to effectively overcome size
  18727. limits imposed by storage providers.
  18728. Configuration
  18729. To use it, first set up the underlying remote following the
  18730. configuration instructions for that remote. You can also use a local
  18731. pathname instead of a remote.
  18732. First check your chosen remote is working - we'll call it remote:path
  18733. here. Note that anything inside remote:path will be chunked and anything
  18734. outside won't. This means that if you are using a bucket-based remote
  18735. (e.g. S3, B2, swift) then you should probably put the bucket in the
  18736. remote s3:bucket.
  18737. Now configure chunker using rclone config. We will call this one overlay
  18738. to separate it from the remote itself.
  18739. No remotes found, make a new one?
  18740. n) New remote
  18741. s) Set configuration password
  18742. q) Quit config
  18743. n/s/q> n
  18744. name> overlay
  18745. Type of storage to configure.
  18746. Choose a number from below, or type in your own value
  18747. [snip]
  18748. XX / Transparently chunk/split large files
  18749. \ "chunker"
  18750. [snip]
  18751. Storage> chunker
  18752. Remote to chunk/unchunk.
  18753. Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
  18754. "myremote:bucket" or maybe "myremote:" (not recommended).
  18755. Enter a string value. Press Enter for the default ("").
  18756. remote> remote:path
  18757. Files larger than chunk size will be split in chunks.
  18758. Enter a size with suffix K,M,G,T. Press Enter for the default ("2G").
  18759. chunk_size> 100M
  18760. Choose how chunker handles hash sums. All modes but "none" require metadata.
  18761. Enter a string value. Press Enter for the default ("md5").
  18762. Choose a number from below, or type in your own value
  18763. 1 / Pass any hash supported by wrapped remote for non-chunked files, return nothing otherwise
  18764. \ "none"
  18765. 2 / MD5 for composite files
  18766. \ "md5"
  18767. 3 / SHA1 for composite files
  18768. \ "sha1"
  18769. 4 / MD5 for all files
  18770. \ "md5all"
  18771. 5 / SHA1 for all files
  18772. \ "sha1all"
  18773. 6 / Copying a file to chunker will request MD5 from the source falling back to SHA1 if unsupported
  18774. \ "md5quick"
  18775. 7 / Similar to "md5quick" but prefers SHA1 over MD5
  18776. \ "sha1quick"
  18777. hash_type> md5
  18778. Edit advanced config? (y/n)
  18779. y) Yes
  18780. n) No
  18781. y/n> n
  18782. Remote config
  18783. --------------------
  18784. [overlay]
  18785. type = chunker
  18786. remote = remote:bucket
  18787. chunk_size = 100M
  18788. hash_type = md5
  18789. --------------------
  18790. y) Yes this is OK
  18791. e) Edit this remote
  18792. d) Delete this remote
  18793. y/e/d> y
  18794. Specifying the remote
  18795. In normal use, make sure the remote has a : in. If you specify the
  18796. remote without a : then rclone will use a local directory of that name.
  18797. So if you use a remote of /path/to/secret/files then rclone will chunk
  18798. stuff in that directory. If you use a remote of name then rclone will
  18799. put files in a directory called name in the current directory.
  18800. Chunking
  18801. When rclone starts a file upload, chunker checks the file size. If it
  18802. doesn't exceed the configured chunk size, chunker will just pass the
  18803. file to the wrapped remote. If a file is large, chunker will
  18804. transparently cut data in pieces with temporary names and stream them
  18805. one by one, on the fly. Each data chunk will contain the specified
  18806. number of bytes, except for the last one which may have less data. If
  18807. file size is unknown in advance (this is called a streaming upload),
  18808. chunker will internally create a temporary copy, record its size and
  18809. repeat the above process.
  18810. When upload completes, temporary chunk files are finally renamed. This
  18811. scheme guarantees that operations can be run in parallel and look from
  18812. outside as atomic. A similar method with hidden temporary chunks is used
  18813. for other operations (copy/move/rename, etc.). If an operation fails,
  18814. hidden chunks are normally destroyed, and the target composite file
  18815. stays intact.
  18816. When a composite file download is requested, chunker transparently
  18817. assembles it by concatenating data chunks in order. As the split is
  18818. trivial one could even manually concatenate data chunks together to
  18819. obtain the original content.
  18820. When the list rclone command scans a directory on wrapped remote, the
  18821. potential chunk files are accounted for, grouped and assembled into
  18822. composite directory entries. Any temporary chunks are hidden.
  18823. List and other commands can sometimes come across composite files with
  18824. missing or invalid chunks, e.g. shadowed by like-named directory or
  18825. another file. This usually means that wrapped file system has been
  18826. directly tampered with or damaged. If chunker detects a missing chunk it
  18827. will by default print warning, skip the whole incomplete group of chunks
  18828. but proceed with current command. You can set the --chunker-fail-hard
  18829. flag to have commands abort with error message in such cases.
  18830. Chunk names
  18831. The default chunk name format is *.rclone_chunk.###, hence by default
  18832. chunk names are BIG_FILE_NAME.rclone_chunk.001,
  18833. BIG_FILE_NAME.rclone_chunk.002 etc. You can configure another name
  18834. format using the name_format configuration file option. The format uses
  18835. asterisk * as a placeholder for the base file name and one or more
  18836. consecutive hash characters # as a placeholder for sequential chunk
  18837. number. There must be one and only one asterisk. The number of
  18838. consecutive hash characters defines the minimum length of a string
  18839. representing a chunk number. If decimal chunk number has less digits
  18840. than the number of hashes, it is left-padded by zeros. If the decimal
  18841. string is longer, it is left intact. By default numbering starts from 1
  18842. but there is another option that allows user to start from 0, e.g. for
  18843. compatibility with legacy software.
  18844. For example, if name format is big_*-##.part and original file name is
  18845. data.txt and numbering starts from 0, then the first chunk will be named
  18846. big_data.txt-00.part, the 99th chunk will be big_data.txt-98.part and
  18847. the 302nd chunk will become big_data.txt-301.part.
  18848. Note that list assembles composite directory entries only when chunk
  18849. names match the configured format and treats non-conforming file names
  18850. as normal non-chunked files.
  18851. When using norename transactions, chunk names will additionally have a
  18852. unique file version suffix. For example,
  18853. BIG_FILE_NAME.rclone_chunk.001_bp562k.
  18854. Metadata
  18855. Besides data chunks chunker will by default create metadata object for a
  18856. composite file. The object is named after the original file. Chunker
  18857. allows user to disable metadata completely (the none format). Note that
  18858. metadata is normally not created for files smaller than the configured
  18859. chunk size. This may change in future rclone releases.
  18860. Simple JSON metadata format
  18861. This is the default format. It supports hash sums and chunk validation
  18862. for composite files. Meta objects carry the following fields:
  18863. - ver - version of format, currently 1
  18864. - size - total size of composite file
  18865. - nchunks - number of data chunks in file
  18866. - md5 - MD5 hashsum of composite file (if present)
  18867. - sha1 - SHA1 hashsum (if present)
  18868. - txn - identifies current version of the file
  18869. There is no field for composite file name as it's simply equal to the
  18870. name of meta object on the wrapped remote. Please refer to respective
  18871. sections for details on hashsums and modified time handling.
  18872. No metadata
  18873. You can disable meta objects by setting the meta format option to none.
  18874. In this mode chunker will scan directory for all files that follow
  18875. configured chunk name format, group them by detecting chunks with the
  18876. same base name and show group names as virtual composite files. This
  18877. method is more prone to missing chunk errors (especially missing last
  18878. chunk) than format with metadata enabled.
  18879. Hashsums
  18880. Chunker supports hashsums only when a compatible metadata is present.
  18881. Hence, if you choose metadata format of none, chunker will report
  18882. hashsum as UNSUPPORTED.
  18883. Please note that by default metadata is stored only for composite files.
  18884. If a file is smaller than configured chunk size, chunker will
  18885. transparently redirect hash requests to wrapped remote, so support
  18886. depends on that. You will see the empty string as a hashsum of requested
  18887. type for small files if the wrapped remote doesn't support it.
  18888. Many storage backends support MD5 and SHA1 hash types, so does chunker.
  18889. With chunker you can choose one or another but not both. MD5 is set by
  18890. default as the most supported type. Since chunker keeps hashes for
  18891. composite files and falls back to the wrapped remote hash for
  18892. non-chunked ones, we advise you to choose the same hash type as
  18893. supported by wrapped remote so that your file listings look coherent.
  18894. If your storage backend does not support MD5 or SHA1 but you need
  18895. consistent file hashing, configure chunker with md5all or sha1all. These
  18896. two modes guarantee given hash for all files. If wrapped remote doesn't
  18897. support it, chunker will then add metadata to all files, even small.
  18898. However, this can double the amount of small files in storage and incur
  18899. additional service charges. You can even use chunker to force md5/sha1
  18900. support in any other remote at expense of sidecar meta objects by
  18901. setting e.g. hash_type=sha1all to force hashsums and chunk_size=1P to
  18902. effectively disable chunking.
  18903. Normally, when a file is copied to chunker controlled remote, chunker
  18904. will ask the file source for compatible file hash and revert to
  18905. on-the-fly calculation if none is found. This involves some CPU overhead
  18906. but provides a guarantee that given hashsum is available. Also, chunker
  18907. will reject a server-side copy or move operation if source and
  18908. destination hashsum types are different resulting in the extra network
  18909. bandwidth, too. In some rare cases this may be undesired, so chunker
  18910. provides two optional choices: sha1quick and md5quick. If the source
  18911. does not support primary hash type and the quick mode is enabled,
  18912. chunker will try to fall back to the secondary type. This will save CPU
  18913. and bandwidth but can result in empty hashsums at destination. Beware of
  18914. consequences: the sync command will revert (sometimes silently) to
  18915. time/size comparison if compatible hashsums between source and target
  18916. are not found.
  18917. Modified time
  18918. Chunker stores modification times using the wrapped remote so support
  18919. depends on that. For a small non-chunked file the chunker overlay simply
  18920. manipulates modification time of the wrapped remote file. For a
  18921. composite file with metadata chunker will get and set modification time
  18922. of the metadata object on the wrapped remote. If file is chunked but
  18923. metadata format is none then chunker will use modification time of the
  18924. first data chunk.
  18925. Migrations
  18926. The idiomatic way to migrate to a different chunk size, hash type,
  18927. transaction style or chunk naming scheme is to:
  18928. - Collect all your chunked files under a directory and have your
  18929. chunker remote point to it.
  18930. - Create another directory (most probably on the same cloud storage)
  18931. and configure a new remote with desired metadata format, hash type,
  18932. chunk naming etc.
  18933. - Now run rclone sync --interactive oldchunks: newchunks: and all your
  18934. data will be transparently converted in transfer. This may take some
  18935. time, yet chunker will try server-side copy if possible.
  18936. - After checking data integrity you may remove configuration section
  18937. of the old remote.
  18938. If rclone gets killed during a long operation on a big composite file,
  18939. hidden temporary chunks may stay in the directory. They will not be
  18940. shown by the list command but will eat up your account quota. Please
  18941. note that the deletefile command deletes only active chunks of a file.
  18942. As a workaround, you can use remote of the wrapped file system to see
  18943. them. An easy way to get rid of hidden garbage is to copy littered
  18944. directory somewhere using the chunker remote and purge the original
  18945. directory. The copy command will copy only active chunks while the purge
  18946. will remove everything including garbage.
  18947. Caveats and Limitations
  18948. Chunker requires wrapped remote to support server-side move (or copy +
  18949. delete) operations, otherwise it will explicitly refuse to start. This
  18950. is because it internally renames temporary chunk files to their final
  18951. names when an operation completes successfully.
  18952. Chunker encodes chunk number in file name, so with default name_format
  18953. setting it adds 17 characters. Also chunker adds 7 characters of
  18954. temporary suffix during operations. Many file systems limit base file
  18955. name without path by 255 characters. Using rclone's crypt remote as a
  18956. base file system limits file name by 143 characters. Thus, maximum name
  18957. length is 231 for most files and 119 for chunker-over-crypt. A user in
  18958. need can change name format to e.g. *.rcc## and save 10 characters
  18959. (provided at most 99 chunks per file).
  18960. Note that a move implemented using the copy-and-delete method may incur
  18961. double charging with some cloud storage providers.
  18962. Chunker will not automatically rename existing chunks when you run
  18963. rclone config on a live remote and change the chunk name format. Beware
  18964. that in result of this some files which have been treated as chunks
  18965. before the change can pop up in directory listings as normal files and
  18966. vice versa. The same warning holds for the chunk size. If you
  18967. desperately need to change critical chunking settings, you should run
  18968. data migration as described above.
  18969. If wrapped remote is case insensitive, the chunker overlay will inherit
  18970. that property (so you can't have a file called "Hello.doc" and
  18971. "hello.doc" in the same directory).
  18972. Chunker included in rclone releases up to v1.54 can sometimes fail to
  18973. detect metadata produced by recent versions of rclone. We recommend
  18974. users to keep rclone up-to-date to avoid data corruption.
  18975. Changing transactions is dangerous and requires explicit migration.
  18976. Standard options
  18977. Here are the Standard options specific to chunker (Transparently
  18978. chunk/split large files).
  18979. --chunker-remote
  18980. Remote to chunk/unchunk.
  18981. Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
  18982. "myremote:bucket" or maybe "myremote:" (not recommended).
  18983. Properties:
  18984. - Config: remote
  18985. - Env Var: RCLONE_CHUNKER_REMOTE
  18986. - Type: string
  18987. - Required: true
  18988. --chunker-chunk-size
  18989. Files larger than chunk size will be split in chunks.
  18990. Properties:
  18991. - Config: chunk_size
  18992. - Env Var: RCLONE_CHUNKER_CHUNK_SIZE
  18993. - Type: SizeSuffix
  18994. - Default: 2Gi
  18995. --chunker-hash-type
  18996. Choose how chunker handles hash sums.
  18997. All modes but "none" require metadata.
  18998. Properties:
  18999. - Config: hash_type
  19000. - Env Var: RCLONE_CHUNKER_HASH_TYPE
  19001. - Type: string
  19002. - Default: "md5"
  19003. - Examples:
  19004. - "none"
  19005. - Pass any hash supported by wrapped remote for non-chunked
  19006. files.
  19007. - Return nothing otherwise.
  19008. - "md5"
  19009. - MD5 for composite files.
  19010. - "sha1"
  19011. - SHA1 for composite files.
  19012. - "md5all"
  19013. - MD5 for all files.
  19014. - "sha1all"
  19015. - SHA1 for all files.
  19016. - "md5quick"
  19017. - Copying a file to chunker will request MD5 from the source.
  19018. - Falling back to SHA1 if unsupported.
  19019. - "sha1quick"
  19020. - Similar to "md5quick" but prefers SHA1 over MD5.
  19021. Advanced options
  19022. Here are the Advanced options specific to chunker (Transparently
  19023. chunk/split large files).
  19024. --chunker-name-format
  19025. String format of chunk file names.
  19026. The two placeholders are: base file name (*) and chunk number (#...).
  19027. There must be one and only one asterisk and one or more consecutive hash
  19028. characters. If chunk number has less digits than the number of hashes,
  19029. it is left-padded by zeros. If there are more digits in the number, they
  19030. are left as is. Possible chunk files are ignored if their name does not
  19031. match given format.
  19032. Properties:
  19033. - Config: name_format
  19034. - Env Var: RCLONE_CHUNKER_NAME_FORMAT
  19035. - Type: string
  19036. - Default: "*.rclone_chunk.###"
  19037. --chunker-start-from
  19038. Minimum valid chunk number. Usually 0 or 1.
  19039. By default chunk numbers start from 1.
  19040. Properties:
  19041. - Config: start_from
  19042. - Env Var: RCLONE_CHUNKER_START_FROM
  19043. - Type: int
  19044. - Default: 1
  19045. --chunker-meta-format
  19046. Format of the metadata object or "none".
  19047. By default "simplejson". Metadata is a small JSON file named after the
  19048. composite file.
  19049. Properties:
  19050. - Config: meta_format
  19051. - Env Var: RCLONE_CHUNKER_META_FORMAT
  19052. - Type: string
  19053. - Default: "simplejson"
  19054. - Examples:
  19055. - "none"
  19056. - Do not use metadata files at all.
  19057. - Requires hash type "none".
  19058. - "simplejson"
  19059. - Simple JSON supports hash sums and chunk validation.
  19060. -
  19061. - It has the following fields: ver, size, nchunks, md5, sha1.
  19062. --chunker-fail-hard
  19063. Choose how chunker should handle files with missing or invalid chunks.
  19064. Properties:
  19065. - Config: fail_hard
  19066. - Env Var: RCLONE_CHUNKER_FAIL_HARD
  19067. - Type: bool
  19068. - Default: false
  19069. - Examples:
  19070. - "true"
  19071. - Report errors and abort current command.
  19072. - "false"
  19073. - Warn user, skip incomplete file and proceed.
  19074. --chunker-transactions
  19075. Choose how chunker should handle temporary files during transactions.
  19076. Properties:
  19077. - Config: transactions
  19078. - Env Var: RCLONE_CHUNKER_TRANSACTIONS
  19079. - Type: string
  19080. - Default: "rename"
  19081. - Examples:
  19082. - "rename"
  19083. - Rename temporary files after a successful transaction.
  19084. - "norename"
  19085. - Leave temporary file names and write transaction ID to
  19086. metadata file.
  19087. - Metadata is required for no rename transactions (meta format
  19088. cannot be "none").
  19089. - If you are using norename transactions you should be careful
  19090. not to downgrade Rclone
  19091. - as older versions of Rclone don't support this transaction
  19092. style and will misinterpret
  19093. - files manipulated by norename transactions.
  19094. - This method is EXPERIMENTAL, don't use on production
  19095. systems.
  19096. - "auto"
  19097. - Rename or norename will be used depending on capabilities of
  19098. the backend.
  19099. - If meta format is set to "none", rename transactions will
  19100. always be used.
  19101. - This method is EXPERIMENTAL, don't use on production
  19102. systems.
  19103. Citrix ShareFile
  19104. Citrix ShareFile is a secure file sharing and transfer service aimed as
  19105. business.
  19106. Configuration
  19107. The initial setup for Citrix ShareFile involves getting a token from
  19108. Citrix ShareFile which you can in your browser. rclone config walks you
  19109. through it.
  19110. Here is an example of how to make a remote called remote. First run:
  19111. rclone config
  19112. This will guide you through an interactive setup process:
  19113. No remotes found, make a new one?
  19114. n) New remote
  19115. s) Set configuration password
  19116. q) Quit config
  19117. n/s/q> n
  19118. name> remote
  19119. Type of storage to configure.
  19120. Enter a string value. Press Enter for the default ("").
  19121. Choose a number from below, or type in your own value
  19122. XX / Citrix Sharefile
  19123. \ "sharefile"
  19124. Storage> sharefile
  19125. ** See help for sharefile backend at: https://rclone.org/sharefile/ **
  19126. ID of the root folder
  19127. Leave blank to access "Personal Folders". You can use one of the
  19128. standard values here or any folder ID (long hex number ID).
  19129. Enter a string value. Press Enter for the default ("").
  19130. Choose a number from below, or type in your own value
  19131. 1 / Access the Personal Folders. (Default)
  19132. \ ""
  19133. 2 / Access the Favorites folder.
  19134. \ "favorites"
  19135. 3 / Access all the shared folders.
  19136. \ "allshared"
  19137. 4 / Access all the individual connectors.
  19138. \ "connectors"
  19139. 5 / Access the home, favorites, and shared folders as well as the connectors.
  19140. \ "top"
  19141. root_folder_id>
  19142. Edit advanced config? (y/n)
  19143. y) Yes
  19144. n) No
  19145. y/n> n
  19146. Remote config
  19147. Use web browser to automatically authenticate rclone with remote?
  19148. * Say Y if the machine running rclone has a web browser you can use
  19149. * Say N if running rclone on a (remote) machine without web browser access
  19150. If not sure try Y. If Y failed, try N.
  19151. y) Yes
  19152. n) No
  19153. y/n> y
  19154. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXX
  19155. Log in and authorize rclone for access
  19156. Waiting for code...
  19157. Got code
  19158. --------------------
  19159. [remote]
  19160. type = sharefile
  19161. endpoint = https://XXX.sharefile.com
  19162. token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2019-09-30T19:41:45.878561877+01:00"}
  19163. --------------------
  19164. y) Yes this is OK
  19165. e) Edit this remote
  19166. d) Delete this remote
  19167. y/e/d> y
  19168. See the remote setup docs for how to set it up on a machine with no
  19169. Internet browser available.
  19170. Note that rclone runs a webserver on your local machine to collect the
  19171. token as returned from Citrix ShareFile. This only runs from the moment
  19172. it opens your browser to the moment you get back the verification code.
  19173. This is on http://127.0.0.1:53682/ and this it may require you to
  19174. unblock it temporarily if you are running a host firewall.
  19175. Once configured you can then use rclone like this,
  19176. List directories in top level of your ShareFile
  19177. rclone lsd remote:
  19178. List all the files in your ShareFile
  19179. rclone ls remote:
  19180. To copy a local directory to an ShareFile directory called backup
  19181. rclone copy /home/source remote:backup
  19182. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  19183. Modified time and hashes
  19184. ShareFile allows modification times to be set on objects accurate to 1
  19185. second. These will be used to detect whether objects need syncing or
  19186. not.
  19187. ShareFile supports MD5 type hashes, so you can use the --checksum flag.
  19188. Transfers
  19189. For files above 128 MiB rclone will use a chunked transfer. Rclone will
  19190. upload up to --transfers chunks at the same time (shared among all the
  19191. multipart uploads). Chunks are buffered in memory and are normally 64
  19192. MiB so increasing --transfers will increase memory use.
  19193. Restricted filename characters
  19194. In addition to the default restricted characters set the following
  19195. characters are also replaced:
  19196. Character Value Replacement
  19197. ----------- ------- -------------
  19198. \ 0x5C \
  19199. * 0x2A *
  19200. < 0x3C <
  19201. > 0x3E >
  19202. ? 0x3F ?
  19203. : 0x3A :
  19204. | 0x7C |
  19205. " 0x22 "
  19206. File names can also not start or end with the following characters.
  19207. These only get replaced if they are the first or last character in the
  19208. name:
  19209. Character Value Replacement
  19210. ----------- ------- -------------
  19211. SP 0x20 ␠
  19212. . 0x2E .
  19213. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  19214. strings.
  19215. Standard options
  19216. Here are the Standard options specific to sharefile (Citrix Sharefile).
  19217. --sharefile-root-folder-id
  19218. ID of the root folder.
  19219. Leave blank to access "Personal Folders". You can use one of the
  19220. standard values here or any folder ID (long hex number ID).
  19221. Properties:
  19222. - Config: root_folder_id
  19223. - Env Var: RCLONE_SHAREFILE_ROOT_FOLDER_ID
  19224. - Type: string
  19225. - Required: false
  19226. - Examples:
  19227. - ""
  19228. - Access the Personal Folders (default).
  19229. - "favorites"
  19230. - Access the Favorites folder.
  19231. - "allshared"
  19232. - Access all the shared folders.
  19233. - "connectors"
  19234. - Access all the individual connectors.
  19235. - "top"
  19236. - Access the home, favorites, and shared folders as well as
  19237. the connectors.
  19238. Advanced options
  19239. Here are the Advanced options specific to sharefile (Citrix Sharefile).
  19240. --sharefile-upload-cutoff
  19241. Cutoff for switching to multipart upload.
  19242. Properties:
  19243. - Config: upload_cutoff
  19244. - Env Var: RCLONE_SHAREFILE_UPLOAD_CUTOFF
  19245. - Type: SizeSuffix
  19246. - Default: 128Mi
  19247. --sharefile-chunk-size
  19248. Upload chunk size.
  19249. Must a power of 2 >= 256k.
  19250. Making this larger will improve performance, but note that each chunk is
  19251. buffered in memory one per transfer.
  19252. Reducing this will reduce memory usage but decrease performance.
  19253. Properties:
  19254. - Config: chunk_size
  19255. - Env Var: RCLONE_SHAREFILE_CHUNK_SIZE
  19256. - Type: SizeSuffix
  19257. - Default: 64Mi
  19258. --sharefile-endpoint
  19259. Endpoint for API calls.
  19260. This is usually auto discovered as part of the oauth process, but can be
  19261. set manually to something like: https://XXX.sharefile.com
  19262. Properties:
  19263. - Config: endpoint
  19264. - Env Var: RCLONE_SHAREFILE_ENDPOINT
  19265. - Type: string
  19266. - Required: false
  19267. --sharefile-encoding
  19268. The encoding for the backend.
  19269. See the encoding section in the overview for more info.
  19270. Properties:
  19271. - Config: encoding
  19272. - Env Var: RCLONE_SHAREFILE_ENCODING
  19273. - Type: MultiEncoder
  19274. - Default:
  19275. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot
  19276. Limitations
  19277. Note that ShareFile is case insensitive so you can't have a file called
  19278. "Hello.doc" and one called "hello.doc".
  19279. ShareFile only supports filenames up to 256 characters in length.
  19280. rclone about is not supported by the Citrix ShareFile backend. Backends
  19281. without this capability cannot determine free space for an rclone mount
  19282. or use policy mfs (most free space) as a member of an rclone union
  19283. remote.
  19284. See List of backends that do not support rclone about and rclone about
  19285. Crypt
  19286. Rclone crypt remotes encrypt and decrypt other remotes.
  19287. A remote of type crypt does not access a storage system directly, but
  19288. instead wraps another remote, which in turn accesses the storage system.
  19289. This is similar to how alias, union, chunker and a few others work. It
  19290. makes the usage very flexible, as you can add a layer, in this case an
  19291. encryption layer, on top of any other backend, even in multiple layers.
  19292. Rclone's functionality can be used as with any other remote, for example
  19293. you can mount a crypt remote.
  19294. Accessing a storage system through a crypt remote realizes client-side
  19295. encryption, which makes it safe to keep your data in a location you do
  19296. not trust will not get compromised. When working against the crypt
  19297. remote, rclone will automatically encrypt (before uploading) and decrypt
  19298. (after downloading) on your local system as needed on the fly, leaving
  19299. the data encrypted at rest in the wrapped remote. If you access the
  19300. storage system using an application other than rclone, or access the
  19301. wrapped remote directly using rclone, there will not be any
  19302. encryption/decryption: Downloading existing content will just give you
  19303. the encrypted (scrambled) format, and anything you upload will not
  19304. become encrypted.
  19305. The encryption is a secret-key encryption (also called symmetric key
  19306. encryption) algorithm, where a password (or pass phrase) is used to
  19307. generate real encryption key. The password can be supplied by user, or
  19308. you may chose to let rclone generate one. It will be stored in the
  19309. configuration file, in a lightly obscured form. If you are in an
  19310. environment where you are not able to keep your configuration secured,
  19311. you should add configuration encryption as protection. As long as you
  19312. have this configuration file, you will be able to decrypt your data.
  19313. Without the configuration file, as long as you remember the password (or
  19314. keep it in a safe place), you can re-create the configuration and gain
  19315. access to the existing data. You may also configure a corresponding
  19316. remote in a different installation to access the same data. See below
  19317. for guidance to changing password.
  19318. Encryption uses cryptographic salt, to permute the encryption key so
  19319. that the same string may be encrypted in different ways. When
  19320. configuring the crypt remote it is optional to enter a salt, or to let
  19321. rclone generate a unique salt. If omitted, rclone uses a built-in unique
  19322. string. Normally in cryptography, the salt is stored together with the
  19323. encrypted content, and do not have to be memorized by the user. This is
  19324. not the case in rclone, because rclone does not store any additional
  19325. information on the remotes. Use of custom salt is effectively a second
  19326. password that must be memorized.
  19327. File content encryption is performed using NaCl SecretBox, based on
  19328. XSalsa20 cipher and Poly1305 for integrity. Names (file- and directory
  19329. names) are also encrypted by default, but this has some implications and
  19330. is therefore possible to be turned off.
  19331. Configuration
  19332. Here is an example of how to make a remote called secret.
  19333. To use crypt, first set up the underlying remote. Follow the
  19334. rclone config instructions for the specific backend.
  19335. Before configuring the crypt remote, check the underlying remote is
  19336. working. In this example the underlying remote is called remote. We will
  19337. configure a path path within this remote to contain the encrypted
  19338. content. Anything inside remote:path will be encrypted and anything
  19339. outside will not.
  19340. Configure crypt using rclone config. In this example the crypt remote is
  19341. called secret, to differentiate it from the underlying remote.
  19342. When you are done you can use the crypt remote named secret just as you
  19343. would with any other remote, e.g. rclone copy D:\docs secret:\docs, and
  19344. rclone will encrypt and decrypt as needed on the fly. If you access the
  19345. wrapped remote remote:path directly you will bypass the encryption, and
  19346. anything you read will be in encrypted form, and anything you write will
  19347. be unencrypted. To avoid issues it is best to configure a dedicated path
  19348. for encrypted content, and access it exclusively through a crypt remote.
  19349. No remotes found, make a new one?
  19350. n) New remote
  19351. s) Set configuration password
  19352. q) Quit config
  19353. n/s/q> n
  19354. name> secret
  19355. Type of storage to configure.
  19356. Enter a string value. Press Enter for the default ("").
  19357. Choose a number from below, or type in your own value
  19358. [snip]
  19359. XX / Encrypt/Decrypt a remote
  19360. \ "crypt"
  19361. [snip]
  19362. Storage> crypt
  19363. ** See help for crypt backend at: https://rclone.org/crypt/ **
  19364. Remote to encrypt/decrypt.
  19365. Normally should contain a ':' and a path, eg "myremote:path/to/dir",
  19366. "myremote:bucket" or maybe "myremote:" (not recommended).
  19367. Enter a string value. Press Enter for the default ("").
  19368. remote> remote:path
  19369. How to encrypt the filenames.
  19370. Enter a string value. Press Enter for the default ("standard").
  19371. Choose a number from below, or type in your own value.
  19372. / Encrypt the filenames.
  19373. 1 | See the docs for the details.
  19374. \ "standard"
  19375. 2 / Very simple filename obfuscation.
  19376. \ "obfuscate"
  19377. / Don't encrypt the file names.
  19378. 3 | Adds a ".bin" extension only.
  19379. \ "off"
  19380. filename_encryption>
  19381. Option to either encrypt directory names or leave them intact.
  19382. NB If filename_encryption is "off" then this option will do nothing.
  19383. Enter a boolean value (true or false). Press Enter for the default ("true").
  19384. Choose a number from below, or type in your own value
  19385. 1 / Encrypt directory names.
  19386. \ "true"
  19387. 2 / Don't encrypt directory names, leave them intact.
  19388. \ "false"
  19389. directory_name_encryption>
  19390. Password or pass phrase for encryption.
  19391. y) Yes type in my own password
  19392. g) Generate random password
  19393. y/g> y
  19394. Enter the password:
  19395. password:
  19396. Confirm the password:
  19397. password:
  19398. Password or pass phrase for salt. Optional but recommended.
  19399. Should be different to the previous password.
  19400. y) Yes type in my own password
  19401. g) Generate random password
  19402. n) No leave this optional password blank (default)
  19403. y/g/n> g
  19404. Password strength in bits.
  19405. 64 is just about memorable
  19406. 128 is secure
  19407. 1024 is the maximum
  19408. Bits> 128
  19409. Your password is: JAsJvRcgR-_veXNfy_sGmQ
  19410. Use this password? Please note that an obscured version of this
  19411. password (and not the password itself) will be stored under your
  19412. configuration file, so keep this generated password in a safe place.
  19413. y) Yes (default)
  19414. n) No
  19415. y/n>
  19416. Edit advanced config? (y/n)
  19417. y) Yes
  19418. n) No (default)
  19419. y/n>
  19420. Remote config
  19421. --------------------
  19422. [secret]
  19423. type = crypt
  19424. remote = remote:path
  19425. password = *** ENCRYPTED ***
  19426. password2 = *** ENCRYPTED ***
  19427. --------------------
  19428. y) Yes this is OK (default)
  19429. e) Edit this remote
  19430. d) Delete this remote
  19431. y/e/d>
  19432. Important The crypt password stored in rclone.conf is lightly obscured.
  19433. That only protects it from cursory inspection. It is not secure unless
  19434. configuration encryption of rclone.conf is specified.
  19435. A long passphrase is recommended, or rclone config can generate a random
  19436. one.
  19437. The obscured password is created using AES-CTR with a static key. The
  19438. salt is stored verbatim at the beginning of the obscured password. This
  19439. static key is shared between all versions of rclone.
  19440. If you reconfigure rclone with the same passwords/passphrases elsewhere
  19441. it will be compatible, but the obscured version will be different due to
  19442. the different salt.
  19443. Rclone does not encrypt
  19444. - file length - this can be calculated within 16 bytes
  19445. - modification time - used for syncing
  19446. Specifying the remote
  19447. When configuring the remote to encrypt/decrypt, you may specify any
  19448. string that rclone accepts as a source/destination of other commands.
  19449. The primary use case is to specify the path into an already configured
  19450. remote (e.g. remote:path/to/dir or remote:bucket), such that data in a
  19451. remote untrusted location can be stored encrypted.
  19452. You may also specify a local filesystem path, such as /path/to/dir on
  19453. Linux, C:\path\to\dir on Windows. By creating a crypt remote pointing to
  19454. such a local filesystem path, you can use rclone as a utility for pure
  19455. local file encryption, for example to keep encrypted files on a
  19456. removable USB drive.
  19457. Note: A string which do not contain a : will by rclone be treated as a
  19458. relative path in the local filesystem. For example, if you enter the
  19459. name remote without the trailing :, it will be treated as a subdirectory
  19460. of the current directory with name "remote".
  19461. If a path remote:path/to/dir is specified, rclone stores encrypted files
  19462. in path/to/dir on the remote. With file name encryption, files saved to
  19463. secret:subdir/subfile are stored in the unencrypted path path/to/dir but
  19464. the subdir/subpath element is encrypted.
  19465. The path you specify does not have to exist, rclone will create it when
  19466. needed.
  19467. If you intend to use the wrapped remote both directly for keeping
  19468. unencrypted content, as well as through a crypt remote for encrypted
  19469. content, it is recommended to point the crypt remote to a separate
  19470. directory within the wrapped remote. If you use a bucket-based storage
  19471. system (e.g. Swift, S3, Google Compute Storage, B2) it is generally
  19472. advisable to wrap the crypt remote around a specific bucket (s3:bucket).
  19473. If wrapping around the entire root of the storage (s3:), and use the
  19474. optional file name encryption, rclone will encrypt the bucket name.
  19475. Changing password
  19476. Should the password, or the configuration file containing a lightly
  19477. obscured form of the password, be compromised, you need to re-encrypt
  19478. your data with a new password. Since rclone uses secret-key encryption,
  19479. where the encryption key is generated directly from the password kept on
  19480. the client, it is not possible to change the password/key of already
  19481. encrypted content. Just changing the password configured for an existing
  19482. crypt remote means you will no longer able to decrypt any of the
  19483. previously encrypted content. The only possibility is to re-upload
  19484. everything via a crypt remote configured with your new password.
  19485. Depending on the size of your data, your bandwidth, storage quota etc,
  19486. there are different approaches you can take: - If you have everything in
  19487. a different location, for example on your local system, you could remove
  19488. all of the prior encrypted files, change the password for your
  19489. configured crypt remote (or delete and re-create the crypt
  19490. configuration), and then re-upload everything from the alternative
  19491. location. - If you have enough space on the storage system you can
  19492. create a new crypt remote pointing to a separate directory on the same
  19493. backend, and then use rclone to copy everything from the original crypt
  19494. remote to the new, effectively decrypting everything on the fly using
  19495. the old password and re-encrypting using the new password. When done,
  19496. delete the original crypt remote directory and finally the rclone crypt
  19497. configuration with the old password. All data will be streamed from the
  19498. storage system and back, so you will get half the bandwidth and be
  19499. charged twice if you have upload and download quota on the storage
  19500. system.
  19501. Note: A security problem related to the random password generator was
  19502. fixed in rclone version 1.53.3 (released 2020-11-19). Passwords
  19503. generated by rclone config in version 1.49.0 (released 2019-08-26) to
  19504. 1.53.2 (released 2020-10-26) are not considered secure and should be
  19505. changed. If you made up your own password, or used rclone version older
  19506. than 1.49.0 or newer than 1.53.2 to generate it, you are not affected by
  19507. this issue. See issue #4783 for more details, and a tool you can use to
  19508. check if you are affected.
  19509. Example
  19510. Create the following file structure using "standard" file name
  19511. encryption.
  19512. plaintext/
  19513. ├── file0.txt
  19514. ├── file1.txt
  19515. └── subdir
  19516. ├── file2.txt
  19517. ├── file3.txt
  19518. └── subsubdir
  19519. └── file4.txt
  19520. Copy these to the remote, and list them
  19521. $ rclone -q copy plaintext secret:
  19522. $ rclone -q ls secret:
  19523. 7 file1.txt
  19524. 6 file0.txt
  19525. 8 subdir/file2.txt
  19526. 10 subdir/subsubdir/file4.txt
  19527. 9 subdir/file3.txt
  19528. The crypt remote looks like
  19529. $ rclone -q ls remote:path
  19530. 55 hagjclgavj2mbiqm6u6cnjjqcg
  19531. 54 v05749mltvv1tf4onltun46gls
  19532. 57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo
  19533. 58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc
  19534. 56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
  19535. The directory structure is preserved
  19536. $ rclone -q ls secret:subdir
  19537. 8 file2.txt
  19538. 9 file3.txt
  19539. 10 subsubdir/file4.txt
  19540. Without file name encryption .bin extensions are added to underlying
  19541. names. This prevents the cloud provider attempting to interpret file
  19542. content.
  19543. $ rclone -q ls remote:path
  19544. 54 file0.txt.bin
  19545. 57 subdir/file3.txt.bin
  19546. 56 subdir/file2.txt.bin
  19547. 58 subdir/subsubdir/file4.txt.bin
  19548. 55 file1.txt.bin
  19549. File name encryption modes
  19550. Off
  19551. - doesn't hide file names or directory structure
  19552. - allows for longer file names (~246 characters)
  19553. - can use sub paths and copy single files
  19554. Standard
  19555. - file names encrypted
  19556. - file names can't be as long (~143 characters)
  19557. - can use sub paths and copy single files
  19558. - directory structure visible
  19559. - identical files names will have identical uploaded names
  19560. - can use shortcuts to shorten the directory recursion
  19561. Obfuscation
  19562. This is a simple "rotate" of the filename, with each file having a rot
  19563. distance based on the filename. Rclone stores the distance at the
  19564. beginning of the filename. A file called "hello" may become "53.jgnnq".
  19565. Obfuscation is not a strong encryption of filenames, but hinders
  19566. automated scanning tools picking up on filename patterns. It is an
  19567. intermediate between "off" and "standard" which allows for longer path
  19568. segment names.
  19569. There is a possibility with some unicode based filenames that the
  19570. obfuscation is weak and may map lower case characters to upper case
  19571. equivalents.
  19572. Obfuscation cannot be relied upon for strong protection.
  19573. - file names very lightly obfuscated
  19574. - file names can be longer than standard encryption
  19575. - can use sub paths and copy single files
  19576. - directory structure visible
  19577. - identical files names will have identical uploaded names
  19578. Cloud storage systems have limits on file name length and total path
  19579. length which rclone is more likely to breach using "Standard" file name
  19580. encryption. Where file names are less than 156 characters in length
  19581. issues should not be encountered, irrespective of cloud storage
  19582. provider.
  19583. An experimental advanced option filename_encoding is now provided to
  19584. address this problem to a certain degree. For cloud storage systems with
  19585. case sensitive file names (e.g. Google Drive), base64 can be used to
  19586. reduce file name length. For cloud storage systems using UTF-16 to store
  19587. file names internally (e.g. OneDrive, Dropbox), base32768 can be used to
  19588. drastically reduce file name length.
  19589. An alternative, future rclone file name encryption mode may tolerate
  19590. backend provider path length limits.
  19591. Directory name encryption
  19592. Crypt offers the option of encrypting dir names or leaving them intact.
  19593. There are two options:
  19594. True
  19595. Encrypts the whole file path including directory names Example:
  19596. 1/12/123.txt is encrypted to
  19597. p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0
  19598. False
  19599. Only encrypts file names, skips directory names Example: 1/12/123.txt is
  19600. encrypted to 1/12/qgm4avr35m5loi1th53ato71v0
  19601. Modified time and hashes
  19602. Crypt stores modification times using the underlying remote so support
  19603. depends on that.
  19604. Hashes are not stored for crypt. However the data integrity is protected
  19605. by an extremely strong crypto authenticator.
  19606. Use the rclone cryptcheck command to check the integrity of an encrypted
  19607. remote instead of rclone check which can't check the checksums properly.
  19608. Standard options
  19609. Here are the Standard options specific to crypt (Encrypt/Decrypt a
  19610. remote).
  19611. --crypt-remote
  19612. Remote to encrypt/decrypt.
  19613. Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
  19614. "myremote:bucket" or maybe "myremote:" (not recommended).
  19615. Properties:
  19616. - Config: remote
  19617. - Env Var: RCLONE_CRYPT_REMOTE
  19618. - Type: string
  19619. - Required: true
  19620. --crypt-filename-encryption
  19621. How to encrypt the filenames.
  19622. Properties:
  19623. - Config: filename_encryption
  19624. - Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION
  19625. - Type: string
  19626. - Default: "standard"
  19627. - Examples:
  19628. - "standard"
  19629. - Encrypt the filenames.
  19630. - See the docs for the details.
  19631. - "obfuscate"
  19632. - Very simple filename obfuscation.
  19633. - "off"
  19634. - Don't encrypt the file names.
  19635. - Adds a ".bin", or "suffix" extension only.
  19636. --crypt-directory-name-encryption
  19637. Option to either encrypt directory names or leave them intact.
  19638. NB If filename_encryption is "off" then this option will do nothing.
  19639. Properties:
  19640. - Config: directory_name_encryption
  19641. - Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
  19642. - Type: bool
  19643. - Default: true
  19644. - Examples:
  19645. - "true"
  19646. - Encrypt directory names.
  19647. - "false"
  19648. - Don't encrypt directory names, leave them intact.
  19649. --crypt-password
  19650. Password or pass phrase for encryption.
  19651. NB Input to this must be obscured - see rclone obscure.
  19652. Properties:
  19653. - Config: password
  19654. - Env Var: RCLONE_CRYPT_PASSWORD
  19655. - Type: string
  19656. - Required: true
  19657. --crypt-password2
  19658. Password or pass phrase for salt.
  19659. Optional but recommended. Should be different to the previous password.
  19660. NB Input to this must be obscured - see rclone obscure.
  19661. Properties:
  19662. - Config: password2
  19663. - Env Var: RCLONE_CRYPT_PASSWORD2
  19664. - Type: string
  19665. - Required: false
  19666. Advanced options
  19667. Here are the Advanced options specific to crypt (Encrypt/Decrypt a
  19668. remote).
  19669. --crypt-server-side-across-configs
  19670. Deprecated: use --server-side-across-configs instead.
  19671. Allow server-side operations (e.g. copy) to work across different crypt
  19672. configs.
  19673. Normally this option is not what you want, but if you have two crypts
  19674. pointing to the same backend you can use it.
  19675. This can be used, for example, to change file name encryption type
  19676. without re-uploading all the data. Just make two crypt backends pointing
  19677. to two different directories with the single changed parameter and use
  19678. rclone move to move the files between the crypt remotes.
  19679. Properties:
  19680. - Config: server_side_across_configs
  19681. - Env Var: RCLONE_CRYPT_SERVER_SIDE_ACROSS_CONFIGS
  19682. - Type: bool
  19683. - Default: false
  19684. --crypt-show-mapping
  19685. For all files listed show how the names encrypt.
  19686. If this flag is set then for each file that the remote is asked to list,
  19687. it will log (at level INFO) a line stating the decrypted file name and
  19688. the encrypted file name.
  19689. This is so you can work out which encrypted names are which decrypted
  19690. names just in case you need to do something with the encrypted file
  19691. names, or for debugging purposes.
  19692. Properties:
  19693. - Config: show_mapping
  19694. - Env Var: RCLONE_CRYPT_SHOW_MAPPING
  19695. - Type: bool
  19696. - Default: false
  19697. --crypt-no-data-encryption
  19698. Option to either encrypt file data or leave it unencrypted.
  19699. Properties:
  19700. - Config: no_data_encryption
  19701. - Env Var: RCLONE_CRYPT_NO_DATA_ENCRYPTION
  19702. - Type: bool
  19703. - Default: false
  19704. - Examples:
  19705. - "true"
  19706. - Don't encrypt file data, leave it unencrypted.
  19707. - "false"
  19708. - Encrypt file data.
  19709. --crypt-pass-bad-blocks
  19710. If set this will pass bad blocks through as all 0.
  19711. This should not be set in normal operation, it should only be set if
  19712. trying to recover an encrypted file with errors and it is desired to
  19713. recover as much of the file as possible.
  19714. Properties:
  19715. - Config: pass_bad_blocks
  19716. - Env Var: RCLONE_CRYPT_PASS_BAD_BLOCKS
  19717. - Type: bool
  19718. - Default: false
  19719. --crypt-filename-encoding
  19720. How to encode the encrypted filename to text string.
  19721. This option could help with shortening the encrypted filename. The
  19722. suitable option would depend on the way your remote count the filename
  19723. length and if it's case sensitive.
  19724. Properties:
  19725. - Config: filename_encoding
  19726. - Env Var: RCLONE_CRYPT_FILENAME_ENCODING
  19727. - Type: string
  19728. - Default: "base32"
  19729. - Examples:
  19730. - "base32"
  19731. - Encode using base32. Suitable for all remote.
  19732. - "base64"
  19733. - Encode using base64. Suitable for case sensitive remote.
  19734. - "base32768"
  19735. - Encode using base32768. Suitable if your remote counts
  19736. UTF-16 or
  19737. - Unicode codepoint instead of UTF-8 byte length. (Eg.
  19738. Onedrive, Dropbox)
  19739. --crypt-suffix
  19740. If this is set it will override the default suffix of ".bin".
  19741. Setting suffix to "none" will result in an empty suffix. This may be
  19742. useful when the path length is critical.
  19743. Properties:
  19744. - Config: suffix
  19745. - Env Var: RCLONE_CRYPT_SUFFIX
  19746. - Type: string
  19747. - Default: ".bin"
  19748. Metadata
  19749. Any metadata supported by the underlying remote is read and written.
  19750. See the metadata docs for more info.
  19751. Backend commands
  19752. Here are the commands specific to the crypt backend.
  19753. Run them with
  19754. rclone backend COMMAND remote:
  19755. The help below will explain what arguments each command takes.
  19756. See the backend command for more info on how to pass options and
  19757. arguments.
  19758. These can be run on a running backend using the rc command
  19759. backend/command.
  19760. encode
  19761. Encode the given filename(s)
  19762. rclone backend encode remote: [options] [<arguments>+]
  19763. This encodes the filenames given as arguments returning a list of
  19764. strings of the encoded results.
  19765. Usage Example:
  19766. rclone backend encode crypt: file1 [file2...]
  19767. rclone rc backend/command command=encode fs=crypt: file1 [file2...]
  19768. decode
  19769. Decode the given filename(s)
  19770. rclone backend decode remote: [options] [<arguments>+]
  19771. This decodes the filenames given as arguments returning a list of
  19772. strings of the decoded results. It will return an error if any of the
  19773. inputs are invalid.
  19774. Usage Example:
  19775. rclone backend decode crypt: encryptedfile1 [encryptedfile2...]
  19776. rclone rc backend/command command=decode fs=crypt: encryptedfile1 [encryptedfile2...]
  19777. Backing up an encrypted remote
  19778. If you wish to backup an encrypted remote, it is recommended that you
  19779. use rclone sync on the encrypted files, and make sure the passwords are
  19780. the same in the new encrypted remote.
  19781. This will have the following advantages
  19782. - rclone sync will check the checksums while copying
  19783. - you can use rclone check between the encrypted remotes
  19784. - you don't decrypt and encrypt unnecessarily
  19785. For example, let's say you have your original remote at remote: with the
  19786. encrypted version at eremote: with path remote:crypt. You would then set
  19787. up the new remote remote2: and then the encrypted version eremote2: with
  19788. path remote2:crypt using the same passwords as eremote:.
  19789. To sync the two remotes you would do
  19790. rclone sync --interactive remote:crypt remote2:crypt
  19791. And to check the integrity you would do
  19792. rclone check remote:crypt remote2:crypt
  19793. File formats
  19794. File encryption
  19795. Files are encrypted 1:1 source file to destination object. The file has
  19796. a header and is divided into chunks.
  19797. Header
  19798. - 8 bytes magic string RCLONE\x00\x00
  19799. - 24 bytes Nonce (IV)
  19800. The initial nonce is generated from the operating systems crypto strong
  19801. random number generator. The nonce is incremented for each chunk read
  19802. making sure each nonce is unique for each block written. The chance of a
  19803. nonce being re-used is minuscule. If you wrote an exabyte of data (10¹⁸
  19804. bytes) you would have a probability of approximately 2×10⁻³² of re-using
  19805. a nonce.
  19806. Chunk
  19807. Each chunk will contain 64 KiB of data, except for the last one which
  19808. may have less data. The data chunk is in standard NaCl SecretBox format.
  19809. SecretBox uses XSalsa20 and Poly1305 to encrypt and authenticate
  19810. messages.
  19811. Each chunk contains:
  19812. - 16 Bytes of Poly1305 authenticator
  19813. - 1 - 65536 bytes XSalsa20 encrypted data
  19814. 64k chunk size was chosen as the best performing chunk size (the
  19815. authenticator takes too much time below this and the performance drops
  19816. off due to cache effects above this). Note that these chunks are
  19817. buffered in memory so they can't be too big.
  19818. This uses a 32 byte (256 bit key) key derived from the user password.
  19819. Examples
  19820. 1 byte file will encrypt to
  19821. - 32 bytes header
  19822. - 17 bytes data chunk
  19823. 49 bytes total
  19824. 1 MiB (1048576 bytes) file will encrypt to
  19825. - 32 bytes header
  19826. - 16 chunks of 65568 bytes
  19827. 1049120 bytes total (a 0.05% overhead). This is the overhead for big
  19828. files.
  19829. Name encryption
  19830. File names are encrypted segment by segment - the path is broken up into
  19831. / separated strings and these are encrypted individually.
  19832. File segments are padded using PKCS#7 to a multiple of 16 bytes before
  19833. encryption.
  19834. They are then encrypted with EME using AES with 256 bit key. EME
  19835. (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003
  19836. paper "A Parallelizable Enciphering Mode" by Halevi and Rogaway.
  19837. This makes for deterministic encryption which is what we want - the same
  19838. filename must encrypt to the same thing otherwise we can't find it on
  19839. the cloud storage system.
  19840. This means that
  19841. - filenames with the same name will encrypt the same
  19842. - filenames which start the same won't have a common prefix
  19843. This uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both of
  19844. which are derived from the user password.
  19845. After encryption they are written out using a modified version of
  19846. standard base32 encoding as described in RFC4648. The standard encoding
  19847. is modified in two ways:
  19848. - it becomes lower case (no-one likes upper case filenames!)
  19849. - we strip the padding character =
  19850. base32 is used rather than the more efficient base64 so rclone can be
  19851. used on case insensitive remotes (e.g. Windows, Amazon Drive).
  19852. Key derivation
  19853. Rclone uses scrypt with parameters N=16384, r=8, p=1 with an optional
  19854. user supplied salt (password2) to derive the 32+32+16 = 80 bytes of key
  19855. material required. If the user doesn't supply a salt then rclone uses an
  19856. internal one.
  19857. scrypt makes it impractical to mount a dictionary attack on rclone
  19858. encrypted data. For full protection against this you should always use a
  19859. salt.
  19860. SEE ALSO
  19861. - rclone cryptdecode - Show forward/reverse mapping of encrypted
  19862. filenames
  19863. Compress
  19864. Warning
  19865. This remote is currently experimental. Things may break and data may be
  19866. lost. Anything you do with this remote is at your own risk. Please
  19867. understand the risks associated with using experimental code and don't
  19868. use this remote in critical applications.
  19869. The Compress remote adds compression to another remote. It is best used
  19870. with remotes containing many large compressible files.
  19871. Configuration
  19872. To use this remote, all you need to do is specify another remote and a
  19873. compression mode to use:
  19874. Current remotes:
  19875. Name Type
  19876. ==== ====
  19877. remote_to_press sometype
  19878. e) Edit existing remote
  19879. $ rclone config
  19880. n) New remote
  19881. d) Delete remote
  19882. r) Rename remote
  19883. c) Copy remote
  19884. s) Set configuration password
  19885. q) Quit config
  19886. e/n/d/r/c/s/q> n
  19887. name> compress
  19888. ...
  19889. 8 / Compress a remote
  19890. \ "compress"
  19891. ...
  19892. Storage> compress
  19893. ** See help for compress backend at: https://rclone.org/compress/ **
  19894. Remote to compress.
  19895. Enter a string value. Press Enter for the default ("").
  19896. remote> remote_to_press:subdir
  19897. Compression mode.
  19898. Enter a string value. Press Enter for the default ("gzip").
  19899. Choose a number from below, or type in your own value
  19900. 1 / Gzip compression balanced for speed and compression strength.
  19901. \ "gzip"
  19902. compression_mode> gzip
  19903. Edit advanced config? (y/n)
  19904. y) Yes
  19905. n) No (default)
  19906. y/n> n
  19907. Remote config
  19908. --------------------
  19909. [compress]
  19910. type = compress
  19911. remote = remote_to_press:subdir
  19912. compression_mode = gzip
  19913. --------------------
  19914. y) Yes this is OK (default)
  19915. e) Edit this remote
  19916. d) Delete this remote
  19917. y/e/d> y
  19918. Compression Modes
  19919. Currently only gzip compression is supported. It provides a decent
  19920. balance between speed and size and is well supported by other
  19921. applications. Compression strength can further be configured via an
  19922. advanced setting where 0 is no compression and 9 is strongest
  19923. compression.
  19924. File types
  19925. If you open a remote wrapped by compress, you will see that there are
  19926. many files with an extension corresponding to the compression algorithm
  19927. you chose. These files are standard files that can be opened by various
  19928. archive programs, but they have some hidden metadata that allows them to
  19929. be used by rclone. While you may download and decompress these files at
  19930. will, do not manually delete or rename files. Files without correct
  19931. metadata files will not be recognized by rclone.
  19932. File names
  19933. The compressed files will be named *.###########.gz where * is the base
  19934. file and the # part is base64 encoded size of the uncompressed file. The
  19935. file names should not be changed by anything other than the rclone
  19936. compression backend.
  19937. Standard options
  19938. Here are the Standard options specific to compress (Compress a remote).
  19939. --compress-remote
  19940. Remote to compress.
  19941. Properties:
  19942. - Config: remote
  19943. - Env Var: RCLONE_COMPRESS_REMOTE
  19944. - Type: string
  19945. - Required: true
  19946. --compress-mode
  19947. Compression mode.
  19948. Properties:
  19949. - Config: mode
  19950. - Env Var: RCLONE_COMPRESS_MODE
  19951. - Type: string
  19952. - Default: "gzip"
  19953. - Examples:
  19954. - "gzip"
  19955. - Standard gzip compression with fastest parameters.
  19956. Advanced options
  19957. Here are the Advanced options specific to compress (Compress a remote).
  19958. --compress-level
  19959. GZIP compression level (-2 to 9).
  19960. Generally -1 (default, equivalent to 5) is recommended. Levels 1 to 9
  19961. increase compression at the cost of speed. Going past 6 generally offers
  19962. very little return.
  19963. Level -2 uses Huffman encoding only. Only use if you know what you are
  19964. doing. Level 0 turns off compression.
  19965. Properties:
  19966. - Config: level
  19967. - Env Var: RCLONE_COMPRESS_LEVEL
  19968. - Type: int
  19969. - Default: -1
  19970. --compress-ram-cache-limit
  19971. Some remotes don't allow the upload of files with unknown size. In this
  19972. case the compressed file will need to be cached to determine it's size.
  19973. Files smaller than this limit will be cached in RAM, files larger than
  19974. this limit will be cached on disk.
  19975. Properties:
  19976. - Config: ram_cache_limit
  19977. - Env Var: RCLONE_COMPRESS_RAM_CACHE_LIMIT
  19978. - Type: SizeSuffix
  19979. - Default: 20Mi
  19980. Metadata
  19981. Any metadata supported by the underlying remote is read and written.
  19982. See the metadata docs for more info.
  19983. Combine
  19984. The combine backend joins remotes together into a single directory tree.
  19985. For example you might have a remote for images on one provider:
  19986. $ rclone tree s3:imagesbucket
  19987. /
  19988. ├── image1.jpg
  19989. └── image2.jpg
  19990. And a remote for files on another:
  19991. $ rclone tree drive:important/files
  19992. /
  19993. ├── file1.txt
  19994. └── file2.txt
  19995. The combine backend can join these together into a synthetic directory
  19996. structure like this:
  19997. $ rclone tree combined:
  19998. /
  19999. ├── files
  20000. │ ├── file1.txt
  20001. │ └── file2.txt
  20002. └── images
  20003. ├── image1.jpg
  20004. └── image2.jpg
  20005. You'd do this by specifying an upstreams parameter in the config like
  20006. this
  20007. upstreams = images=s3:imagesbucket files=drive:important/files
  20008. During the initial setup with rclone config you will specify the
  20009. upstreams remotes as a space separated list. The upstream remotes can
  20010. either be a local paths or other remotes.
  20011. Configuration
  20012. Here is an example of how to make a combine called remote for the
  20013. example above. First run:
  20014. rclone config
  20015. This will guide you through an interactive setup process:
  20016. No remotes found, make a new one?
  20017. n) New remote
  20018. s) Set configuration password
  20019. q) Quit config
  20020. n/s/q> n
  20021. name> remote
  20022. Option Storage.
  20023. Type of storage to configure.
  20024. Choose a number from below, or type in your own value.
  20025. ...
  20026. XX / Combine several remotes into one
  20027. \ (combine)
  20028. ...
  20029. Storage> combine
  20030. Option upstreams.
  20031. Upstreams for combining
  20032. These should be in the form
  20033. dir=remote:path dir2=remote2:path
  20034. Where before the = is specified the root directory and after is the remote to
  20035. put there.
  20036. Embedded spaces can be added using quotes
  20037. "dir=remote:path with space" "dir2=remote2:path with space"
  20038. Enter a fs.SpaceSepList value.
  20039. upstreams> images=s3:imagesbucket files=drive:important/files
  20040. --------------------
  20041. [remote]
  20042. type = combine
  20043. upstreams = images=s3:imagesbucket files=drive:important/files
  20044. --------------------
  20045. y) Yes this is OK (default)
  20046. e) Edit this remote
  20047. d) Delete this remote
  20048. y/e/d> y
  20049. Configuring for Google Drive Shared Drives
  20050. Rclone has a convenience feature for making a combine backend for all
  20051. the shared drives you have access to.
  20052. Assuming your main (non shared drive) Google drive remote is called
  20053. drive: you would run
  20054. rclone backend -o config drives drive:
  20055. This would produce something like this:
  20056. [My Drive]
  20057. type = alias
  20058. remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=:
  20059. [Test Drive]
  20060. type = alias
  20061. remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=:
  20062. [AllDrives]
  20063. type = combine
  20064. upstreams = "My Drive=My Drive:" "Test Drive=Test Drive:"
  20065. If you then add that config to your config file (find it with
  20066. rclone config file) then you can access all the shared drives in one
  20067. place with the AllDrives: remote.
  20068. See the Google Drive docs for full info.
  20069. Standard options
  20070. Here are the Standard options specific to combine (Combine several
  20071. remotes into one).
  20072. --combine-upstreams
  20073. Upstreams for combining
  20074. These should be in the form
  20075. dir=remote:path dir2=remote2:path
  20076. Where before the = is specified the root directory and after is the
  20077. remote to put there.
  20078. Embedded spaces can be added using quotes
  20079. "dir=remote:path with space" "dir2=remote2:path with space"
  20080. Properties:
  20081. - Config: upstreams
  20082. - Env Var: RCLONE_COMBINE_UPSTREAMS
  20083. - Type: SpaceSepList
  20084. - Default:
  20085. Metadata
  20086. Any metadata supported by the underlying remote is read and written.
  20087. See the metadata docs for more info.
  20088. Dropbox
  20089. Paths are specified as remote:path
  20090. Dropbox paths may be as deep as required, e.g.
  20091. remote:directory/subdirectory.
  20092. Configuration
  20093. The initial setup for dropbox involves getting a token from Dropbox
  20094. which you need to do in your browser. rclone config walks you through
  20095. it.
  20096. Here is an example of how to make a remote called remote. First run:
  20097. rclone config
  20098. This will guide you through an interactive setup process:
  20099. n) New remote
  20100. d) Delete remote
  20101. q) Quit config
  20102. e/n/d/q> n
  20103. name> remote
  20104. Type of storage to configure.
  20105. Choose a number from below, or type in your own value
  20106. [snip]
  20107. XX / Dropbox
  20108. \ "dropbox"
  20109. [snip]
  20110. Storage> dropbox
  20111. Dropbox App Key - leave blank normally.
  20112. app_key>
  20113. Dropbox App Secret - leave blank normally.
  20114. app_secret>
  20115. Remote config
  20116. Please visit:
  20117. https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
  20118. Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX
  20119. --------------------
  20120. [remote]
  20121. app_key =
  20122. app_secret =
  20123. token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  20124. --------------------
  20125. y) Yes this is OK
  20126. e) Edit this remote
  20127. d) Delete this remote
  20128. y/e/d> y
  20129. See the remote setup docs for how to set it up on a machine with no
  20130. Internet browser available.
  20131. Note that rclone runs a webserver on your local machine to collect the
  20132. token as returned from Dropbox. This only runs from the moment it opens
  20133. your browser to the moment you get back the verification code. This is
  20134. on http://127.0.0.1:53682/ and it may require you to unblock it
  20135. temporarily if you are running a host firewall, or use manual mode.
  20136. You can then use it like this,
  20137. List directories in top level of your dropbox
  20138. rclone lsd remote:
  20139. List all the files in your dropbox
  20140. rclone ls remote:
  20141. To copy a local directory to a dropbox directory called backup
  20142. rclone copy /home/source remote:backup
  20143. Dropbox for business
  20144. Rclone supports Dropbox for business and Team Folders.
  20145. When using Dropbox for business remote: and remote:path/to/file will
  20146. refer to your personal folder.
  20147. If you wish to see Team Folders you must use a leading / in the path, so
  20148. rclone lsd remote:/ will refer to the root and show you all Team Folders
  20149. and your User Folder.
  20150. You can then use team folders like this remote:/TeamFolder and
  20151. remote:/TeamFolder/path/to/file.
  20152. A leading / for a Dropbox personal account will do nothing, but it will
  20153. take an extra HTTP transaction so it should be avoided.
  20154. Modified time and Hashes
  20155. Dropbox supports modified times, but the only way to set a modification
  20156. time is to re-upload the file.
  20157. This means that if you uploaded your data with an older version of
  20158. rclone which didn't support the v2 API and modified times, rclone will
  20159. decide to upload all your old data to fix the modification times. If you
  20160. don't want this to happen use --size-only or --checksum flag to stop it.
  20161. Dropbox supports its own hash type which is checked for all transfers.
  20162. Restricted filename characters
  20163. Character Value Replacement
  20164. ----------- ------- -------------
  20165. NUL 0x00 ␀
  20166. / 0x2F /
  20167. DEL 0x7F ␡
  20168. \ 0x5C \
  20169. File names can also not end with the following characters. These only
  20170. get replaced if they are the last character in the name:
  20171. Character Value Replacement
  20172. ----------- ------- -------------
  20173. SP 0x20 ␠
  20174. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  20175. strings.
  20176. Batch mode uploads
  20177. Using batch mode uploads is very important for performance when using
  20178. the Dropbox API. See the dropbox performance guide for more info.
  20179. There are 3 modes rclone can use for uploads.
  20180. --dropbox-batch-mode off
  20181. In this mode rclone will not use upload batching. This was the default
  20182. before rclone v1.55. It has the disadvantage that it is very likely to
  20183. encounter too_many_requests errors like this
  20184. NOTICE: too_many_requests/.: Too many requests or write operations. Trying again in 15 seconds.
  20185. When rclone receives these it has to wait for 15s or sometimes 300s
  20186. before continuing which really slows down transfers.
  20187. This will happen especially if --transfers is large, so this mode isn't
  20188. recommended except for compatibility or investigating problems.
  20189. --dropbox-batch-mode sync
  20190. In this mode rclone will batch up uploads to the size specified by
  20191. --dropbox-batch-size and commit them together.
  20192. Using this mode means you can use a much higher --transfers parameter
  20193. (32 or 64 works fine) without receiving too_many_requests errors.
  20194. This mode ensures full data integrity.
  20195. Note that there may be a pause when quitting rclone while rclone
  20196. finishes up the last batch using this mode.
  20197. --dropbox-batch-mode async
  20198. In this mode rclone will batch up uploads to the size specified by
  20199. --dropbox-batch-size and commit them together.
  20200. However it will not wait for the status of the batch to be returned to
  20201. the caller. This means rclone can use a much bigger batch size (much
  20202. bigger than --transfers), at the cost of not being able to check the
  20203. status of the upload.
  20204. This provides the maximum possible upload speed especially with lots of
  20205. small files, however rclone can't check the file got uploaded properly
  20206. using this mode.
  20207. If you are using this mode then using "rclone check" after the transfer
  20208. completes is recommended. Or you could do an initial transfer with
  20209. --dropbox-batch-mode async then do a final transfer with
  20210. --dropbox-batch-mode sync (the default).
  20211. Note that there may be a pause when quitting rclone while rclone
  20212. finishes up the last batch using this mode.
  20213. Standard options
  20214. Here are the Standard options specific to dropbox (Dropbox).
  20215. --dropbox-client-id
  20216. OAuth Client Id.
  20217. Leave blank normally.
  20218. Properties:
  20219. - Config: client_id
  20220. - Env Var: RCLONE_DROPBOX_CLIENT_ID
  20221. - Type: string
  20222. - Required: false
  20223. --dropbox-client-secret
  20224. OAuth Client Secret.
  20225. Leave blank normally.
  20226. Properties:
  20227. - Config: client_secret
  20228. - Env Var: RCLONE_DROPBOX_CLIENT_SECRET
  20229. - Type: string
  20230. - Required: false
  20231. Advanced options
  20232. Here are the Advanced options specific to dropbox (Dropbox).
  20233. --dropbox-token
  20234. OAuth Access Token as a JSON blob.
  20235. Properties:
  20236. - Config: token
  20237. - Env Var: RCLONE_DROPBOX_TOKEN
  20238. - Type: string
  20239. - Required: false
  20240. --dropbox-auth-url
  20241. Auth server URL.
  20242. Leave blank to use the provider defaults.
  20243. Properties:
  20244. - Config: auth_url
  20245. - Env Var: RCLONE_DROPBOX_AUTH_URL
  20246. - Type: string
  20247. - Required: false
  20248. --dropbox-token-url
  20249. Token server url.
  20250. Leave blank to use the provider defaults.
  20251. Properties:
  20252. - Config: token_url
  20253. - Env Var: RCLONE_DROPBOX_TOKEN_URL
  20254. - Type: string
  20255. - Required: false
  20256. --dropbox-chunk-size
  20257. Upload chunk size (< 150Mi).
  20258. Any files larger than this will be uploaded in chunks of this size.
  20259. Note that chunks are buffered in memory (one at a time) so rclone can
  20260. deal with retries. Setting this larger will increase the speed slightly
  20261. (at most 10% for 128 MiB in tests) at the cost of using more memory. It
  20262. can be set smaller if you are tight on memory.
  20263. Properties:
  20264. - Config: chunk_size
  20265. - Env Var: RCLONE_DROPBOX_CHUNK_SIZE
  20266. - Type: SizeSuffix
  20267. - Default: 48Mi
  20268. --dropbox-impersonate
  20269. Impersonate this user when using a business account.
  20270. Note that if you want to use impersonate, you should make sure this flag
  20271. is set when running "rclone config" as this will cause rclone to request
  20272. the "members.read" scope which it won't normally. This is needed to
  20273. lookup a members email address into the internal ID that dropbox uses in
  20274. the API.
  20275. Using the "members.read" scope will require a Dropbox Team Admin to
  20276. approve during the OAuth flow.
  20277. You will have to use your own App (setting your own client_id and
  20278. client_secret) to use this option as currently rclone's default set of
  20279. permissions doesn't include "members.read". This can be added once v1.55
  20280. or later is in use everywhere.
  20281. Properties:
  20282. - Config: impersonate
  20283. - Env Var: RCLONE_DROPBOX_IMPERSONATE
  20284. - Type: string
  20285. - Required: false
  20286. --dropbox-shared-files
  20287. Instructs rclone to work on individual shared files.
  20288. In this mode rclone's features are extremely limited - only list (ls,
  20289. lsl, etc.) operations and read operations (e.g. downloading) are
  20290. supported in this mode. All other operations will be disabled.
  20291. Properties:
  20292. - Config: shared_files
  20293. - Env Var: RCLONE_DROPBOX_SHARED_FILES
  20294. - Type: bool
  20295. - Default: false
  20296. --dropbox-shared-folders
  20297. Instructs rclone to work on shared folders.
  20298. When this flag is used with no path only the List operation is supported
  20299. and all available shared folders will be listed. If you specify a path
  20300. the first part will be interpreted as the name of shared folder. Rclone
  20301. will then try to mount this shared to the root namespace. On success
  20302. shared folder rclone proceeds normally. The shared folder is now pretty
  20303. much a normal folder and all normal operations are supported.
  20304. Note that we don't unmount the shared folder afterwards so the
  20305. --dropbox-shared-folders can be omitted after the first use of a
  20306. particular shared folder.
  20307. Properties:
  20308. - Config: shared_folders
  20309. - Env Var: RCLONE_DROPBOX_SHARED_FOLDERS
  20310. - Type: bool
  20311. - Default: false
  20312. --dropbox-batch-mode
  20313. Upload file batching sync|async|off.
  20314. This sets the batch mode used by rclone.
  20315. For full info see the main docs
  20316. This has 3 possible values
  20317. - off - no batching
  20318. - sync - batch uploads and check completion (default)
  20319. - async - batch upload and don't check completion
  20320. Rclone will close any outstanding batches when it exits which may make a
  20321. delay on quit.
  20322. Properties:
  20323. - Config: batch_mode
  20324. - Env Var: RCLONE_DROPBOX_BATCH_MODE
  20325. - Type: string
  20326. - Default: "sync"
  20327. --dropbox-batch-size
  20328. Max number of files in upload batch.
  20329. This sets the batch size of files to upload. It has to be less than
  20330. 1000.
  20331. By default this is 0 which means rclone which calculate the batch size
  20332. depending on the setting of batch_mode.
  20333. - batch_mode: async - default batch_size is 100
  20334. - batch_mode: sync - default batch_size is the same as --transfers
  20335. - batch_mode: off - not in use
  20336. Rclone will close any outstanding batches when it exits which may make a
  20337. delay on quit.
  20338. Setting this is a great idea if you are uploading lots of small files as
  20339. it will make them a lot quicker. You can use --transfers 32 to maximise
  20340. throughput.
  20341. Properties:
  20342. - Config: batch_size
  20343. - Env Var: RCLONE_DROPBOX_BATCH_SIZE
  20344. - Type: int
  20345. - Default: 0
  20346. --dropbox-batch-timeout
  20347. Max time to allow an idle upload batch before uploading.
  20348. If an upload batch is idle for more than this long then it will be
  20349. uploaded.
  20350. The default for this is 0 which means rclone will choose a sensible
  20351. default based on the batch_mode in use.
  20352. - batch_mode: async - default batch_timeout is 10s
  20353. - batch_mode: sync - default batch_timeout is 500ms
  20354. - batch_mode: off - not in use
  20355. Properties:
  20356. - Config: batch_timeout
  20357. - Env Var: RCLONE_DROPBOX_BATCH_TIMEOUT
  20358. - Type: Duration
  20359. - Default: 0s
  20360. --dropbox-batch-commit-timeout
  20361. Max time to wait for a batch to finish committing
  20362. Properties:
  20363. - Config: batch_commit_timeout
  20364. - Env Var: RCLONE_DROPBOX_BATCH_COMMIT_TIMEOUT
  20365. - Type: Duration
  20366. - Default: 10m0s
  20367. --dropbox-pacer-min-sleep
  20368. Minimum time to sleep between API calls.
  20369. Properties:
  20370. - Config: pacer_min_sleep
  20371. - Env Var: RCLONE_DROPBOX_PACER_MIN_SLEEP
  20372. - Type: Duration
  20373. - Default: 10ms
  20374. --dropbox-encoding
  20375. The encoding for the backend.
  20376. See the encoding section in the overview for more info.
  20377. Properties:
  20378. - Config: encoding
  20379. - Env Var: RCLONE_DROPBOX_ENCODING
  20380. - Type: MultiEncoder
  20381. - Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot
  20382. Limitations
  20383. Note that Dropbox is case insensitive so you can't have a file called
  20384. "Hello.doc" and one called "hello.doc".
  20385. There are some file names such as thumbs.db which Dropbox can't store.
  20386. There is a full list of them in the "Ignored Files" section of this
  20387. document. Rclone will issue an error message
  20388. File name disallowed - not uploading if it attempts to upload one of
  20389. those file names, but the sync won't fail.
  20390. Some errors may occur if you try to sync copyright-protected files
  20391. because Dropbox has its own copyright detector that prevents this sort
  20392. of file being downloaded. This will return the error
  20393. ERROR : /path/to/your/file: Failed to copy: failed to open source object: path/restricted_content/.
  20394. If you have more than 10,000 files in a directory then
  20395. rclone purge dropbox:dir will return the error
  20396. Failed to purge: There are too many files involved in this operation. As
  20397. a work-around do an rclone delete dropbox:dir followed by an
  20398. rclone rmdir dropbox:dir.
  20399. When using rclone link you'll need to set --expire if using a
  20400. non-personal account otherwise the visibility may not be correct. (Note
  20401. that --expire isn't supported on personal accounts). See the forum
  20402. discussion and the dropbox SDK issue.
  20403. Get your own Dropbox App ID
  20404. When you use rclone with Dropbox in its default configuration you are
  20405. using rclone's App ID. This is shared between all the rclone users.
  20406. Here is how to create your own Dropbox App ID for rclone:
  20407. 1. Log into the Dropbox App console with your Dropbox Account (It need
  20408. not to be the same account as the Dropbox you want to access)
  20409. 2. Choose an API => Usually this should be Dropbox API
  20410. 3. Choose the type of access you want to use => Full Dropbox or
  20411. App Folder
  20412. 4. Name your App. The app name is global, so you can't use rclone for
  20413. example
  20414. 5. Click the button Create App
  20415. 6. Switch to the Permissions tab. Enable at least the following
  20416. permissions: account_info.read, files.metadata.write,
  20417. files.content.write, files.content.read, sharing.write. The
  20418. files.metadata.read and sharing.read checkboxes will be marked too.
  20419. Click Submit
  20420. 7. Switch to the Settings tab. Fill OAuth2 - Redirect URIs as
  20421. http://localhost:53682/
  20422. 8. Find the App key and App secret values on the Settings tab. Use
  20423. these values in rclone config to add a new remote or edit an
  20424. existing remote. The App key setting corresponds to client_id in
  20425. rclone config, the App secret corresponds to client_secret
  20426. Enterprise File Fabric
  20427. This backend supports Storage Made Easy's Enterprise File Fabric™ which
  20428. provides a software solution to integrate and unify File and Object
  20429. Storage accessible through a global file system.
  20430. Configuration
  20431. The initial setup for the Enterprise File Fabric backend involves
  20432. getting a token from the Enterprise File Fabric which you need to do in
  20433. your browser. rclone config walks you through it.
  20434. Here is an example of how to make a remote called remote. First run:
  20435. rclone config
  20436. This will guide you through an interactive setup process:
  20437. No remotes found, make a new one?
  20438. n) New remote
  20439. s) Set configuration password
  20440. q) Quit config
  20441. n/s/q> n
  20442. name> remote
  20443. Type of storage to configure.
  20444. Enter a string value. Press Enter for the default ("").
  20445. Choose a number from below, or type in your own value
  20446. [snip]
  20447. XX / Enterprise File Fabric
  20448. \ "filefabric"
  20449. [snip]
  20450. Storage> filefabric
  20451. ** See help for filefabric backend at: https://rclone.org/filefabric/ **
  20452. URL of the Enterprise File Fabric to connect to
  20453. Enter a string value. Press Enter for the default ("").
  20454. Choose a number from below, or type in your own value
  20455. 1 / Storage Made Easy US
  20456. \ "https://storagemadeeasy.com"
  20457. 2 / Storage Made Easy EU
  20458. \ "https://eu.storagemadeeasy.com"
  20459. 3 / Connect to your Enterprise File Fabric
  20460. \ "https://yourfabric.smestorage.com"
  20461. url> https://yourfabric.smestorage.com/
  20462. ID of the root folder
  20463. Leave blank normally.
  20464. Fill in to make rclone start with directory of a given ID.
  20465. Enter a string value. Press Enter for the default ("").
  20466. root_folder_id>
  20467. Permanent Authentication Token
  20468. A Permanent Authentication Token can be created in the Enterprise File
  20469. Fabric, on the users Dashboard under Security, there is an entry
  20470. you'll see called "My Authentication Tokens". Click the Manage button
  20471. to create one.
  20472. These tokens are normally valid for several years.
  20473. For more info see: https://docs.storagemadeeasy.com/organisationcloud/api-tokens
  20474. Enter a string value. Press Enter for the default ("").
  20475. permanent_token> xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
  20476. Edit advanced config? (y/n)
  20477. y) Yes
  20478. n) No (default)
  20479. y/n> n
  20480. Remote config
  20481. --------------------
  20482. [remote]
  20483. type = filefabric
  20484. url = https://yourfabric.smestorage.com/
  20485. permanent_token = xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
  20486. --------------------
  20487. y) Yes this is OK (default)
  20488. e) Edit this remote
  20489. d) Delete this remote
  20490. y/e/d> y
  20491. Once configured you can then use rclone like this,
  20492. List directories in top level of your Enterprise File Fabric
  20493. rclone lsd remote:
  20494. List all the files in your Enterprise File Fabric
  20495. rclone ls remote:
  20496. To copy a local directory to an Enterprise File Fabric directory called
  20497. backup
  20498. rclone copy /home/source remote:backup
  20499. Modified time and hashes
  20500. The Enterprise File Fabric allows modification times to be set on files
  20501. accurate to 1 second. These will be used to detect whether objects need
  20502. syncing or not.
  20503. The Enterprise File Fabric does not support any data hashes at this
  20504. time.
  20505. Restricted filename characters
  20506. The default restricted characters set will be replaced.
  20507. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  20508. strings.
  20509. Empty files
  20510. Empty files aren't supported by the Enterprise File Fabric. Rclone will
  20511. therefore upload an empty file as a single space with a mime type of
  20512. application/vnd.rclone.empty.file and files with that mime type are
  20513. treated as empty.
  20514. Root folder ID
  20515. You can set the root_folder_id for rclone. This is the directory
  20516. (identified by its Folder ID) that rclone considers to be the root of
  20517. your Enterprise File Fabric.
  20518. Normally you will leave this blank and rclone will determine the correct
  20519. root to use itself.
  20520. However you can set this to restrict rclone to a specific folder
  20521. hierarchy.
  20522. In order to do this you will have to find the Folder ID of the directory
  20523. you wish rclone to display. These aren't displayed in the web interface,
  20524. but you can use rclone lsf to find them, for example
  20525. $ rclone lsf --dirs-only -Fip --csv filefabric:
  20526. 120673758,Burnt PDFs/
  20527. 120673759,My Quick Uploads/
  20528. 120673755,My Syncs/
  20529. 120673756,My backups/
  20530. 120673757,My contacts/
  20531. 120673761,S3 Storage/
  20532. The ID for "S3 Storage" would be 120673761.
  20533. Standard options
  20534. Here are the Standard options specific to filefabric (Enterprise File
  20535. Fabric).
  20536. --filefabric-url
  20537. URL of the Enterprise File Fabric to connect to.
  20538. Properties:
  20539. - Config: url
  20540. - Env Var: RCLONE_FILEFABRIC_URL
  20541. - Type: string
  20542. - Required: true
  20543. - Examples:
  20544. - "https://storagemadeeasy.com"
  20545. - Storage Made Easy US
  20546. - "https://eu.storagemadeeasy.com"
  20547. - Storage Made Easy EU
  20548. - "https://yourfabric.smestorage.com"
  20549. - Connect to your Enterprise File Fabric
  20550. --filefabric-root-folder-id
  20551. ID of the root folder.
  20552. Leave blank normally.
  20553. Fill in to make rclone start with directory of a given ID.
  20554. Properties:
  20555. - Config: root_folder_id
  20556. - Env Var: RCLONE_FILEFABRIC_ROOT_FOLDER_ID
  20557. - Type: string
  20558. - Required: false
  20559. --filefabric-permanent-token
  20560. Permanent Authentication Token.
  20561. A Permanent Authentication Token can be created in the Enterprise File
  20562. Fabric, on the users Dashboard under Security, there is an entry you'll
  20563. see called "My Authentication Tokens". Click the Manage button to create
  20564. one.
  20565. These tokens are normally valid for several years.
  20566. For more info see:
  20567. https://docs.storagemadeeasy.com/organisationcloud/api-tokens
  20568. Properties:
  20569. - Config: permanent_token
  20570. - Env Var: RCLONE_FILEFABRIC_PERMANENT_TOKEN
  20571. - Type: string
  20572. - Required: false
  20573. Advanced options
  20574. Here are the Advanced options specific to filefabric (Enterprise File
  20575. Fabric).
  20576. --filefabric-token
  20577. Session Token.
  20578. This is a session token which rclone caches in the config file. It is
  20579. usually valid for 1 hour.
  20580. Don't set this value - rclone will set it automatically.
  20581. Properties:
  20582. - Config: token
  20583. - Env Var: RCLONE_FILEFABRIC_TOKEN
  20584. - Type: string
  20585. - Required: false
  20586. --filefabric-token-expiry
  20587. Token expiry time.
  20588. Don't set this value - rclone will set it automatically.
  20589. Properties:
  20590. - Config: token_expiry
  20591. - Env Var: RCLONE_FILEFABRIC_TOKEN_EXPIRY
  20592. - Type: string
  20593. - Required: false
  20594. --filefabric-version
  20595. Version read from the file fabric.
  20596. Don't set this value - rclone will set it automatically.
  20597. Properties:
  20598. - Config: version
  20599. - Env Var: RCLONE_FILEFABRIC_VERSION
  20600. - Type: string
  20601. - Required: false
  20602. --filefabric-encoding
  20603. The encoding for the backend.
  20604. See the encoding section in the overview for more info.
  20605. Properties:
  20606. - Config: encoding
  20607. - Env Var: RCLONE_FILEFABRIC_ENCODING
  20608. - Type: MultiEncoder
  20609. - Default: Slash,Del,Ctl,InvalidUtf8,Dot
  20610. FTP
  20611. FTP is the File Transfer Protocol. Rclone FTP support is provided using
  20612. the github.com/jlaffaye/ftp package.
  20613. Limitations of Rclone's FTP backend
  20614. Paths are specified as remote:path. If the path does not begin with a /
  20615. it is relative to the home directory of the user. An empty path remote:
  20616. refers to the user's home directory.
  20617. Configuration
  20618. To create an FTP configuration named remote, run
  20619. rclone config
  20620. Rclone config guides you through an interactive setup process. A minimal
  20621. rclone FTP remote definition only requires host, username and password.
  20622. For an anonymous FTP server, see below.
  20623. No remotes found, make a new one?
  20624. n) New remote
  20625. r) Rename remote
  20626. c) Copy remote
  20627. s) Set configuration password
  20628. q) Quit config
  20629. n/r/c/s/q> n
  20630. name> remote
  20631. Type of storage to configure.
  20632. Enter a string value. Press Enter for the default ("").
  20633. Choose a number from below, or type in your own value
  20634. [snip]
  20635. XX / FTP
  20636. \ "ftp"
  20637. [snip]
  20638. Storage> ftp
  20639. ** See help for ftp backend at: https://rclone.org/ftp/ **
  20640. FTP host to connect to
  20641. Enter a string value. Press Enter for the default ("").
  20642. Choose a number from below, or type in your own value
  20643. 1 / Connect to ftp.example.com
  20644. \ "ftp.example.com"
  20645. host> ftp.example.com
  20646. FTP username
  20647. Enter a string value. Press Enter for the default ("$USER").
  20648. user>
  20649. FTP port number
  20650. Enter a signed integer. Press Enter for the default (21).
  20651. port>
  20652. FTP password
  20653. y) Yes type in my own password
  20654. g) Generate random password
  20655. y/g> y
  20656. Enter the password:
  20657. password:
  20658. Confirm the password:
  20659. password:
  20660. Use FTP over TLS (Implicit)
  20661. Enter a boolean value (true or false). Press Enter for the default ("false").
  20662. tls>
  20663. Use FTP over TLS (Explicit)
  20664. Enter a boolean value (true or false). Press Enter for the default ("false").
  20665. explicit_tls>
  20666. Remote config
  20667. --------------------
  20668. [remote]
  20669. type = ftp
  20670. host = ftp.example.com
  20671. pass = *** ENCRYPTED ***
  20672. --------------------
  20673. y) Yes this is OK
  20674. e) Edit this remote
  20675. d) Delete this remote
  20676. y/e/d> y
  20677. To see all directories in the home directory of remote
  20678. rclone lsd remote:
  20679. Make a new directory
  20680. rclone mkdir remote:path/to/directory
  20681. List the contents of a directory
  20682. rclone ls remote:path/to/directory
  20683. Sync /home/local/directory to the remote directory, deleting any excess
  20684. files in the directory.
  20685. rclone sync --interactive /home/local/directory remote:directory
  20686. Anonymous FTP
  20687. When connecting to a FTP server that allows anonymous login, you can use
  20688. the special "anonymous" username. Traditionally, this user account
  20689. accepts any string as a password, although it is common to use either
  20690. the password "anonymous" or "guest". Some servers require the use of a
  20691. valid e-mail address as password.
  20692. Using on-the-fly or connection string remotes makes it easy to access
  20693. such servers, without requiring any configuration in advance. The
  20694. following are examples of that:
  20695. rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=$(rclone obscure dummy)
  20696. rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=$(rclone obscure dummy):
  20697. The above examples work in Linux shells and in PowerShell, but not
  20698. Windows Command Prompt. They execute the rclone obscure command to
  20699. create a password string in the format required by the pass option. The
  20700. following examples are exactly the same, except use an already obscured
  20701. string representation of the same password "dummy", and therefore works
  20702. even in Windows Command Prompt:
  20703. rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM
  20704. rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM:
  20705. Implicit TLS
  20706. Rlone FTP supports implicit FTP over TLS servers (FTPS). This has to be
  20707. enabled in the FTP backend config for the remote, or with --ftp-tls. The
  20708. default FTPS port is 990, not 21 and can be set with --ftp-port.
  20709. Restricted filename characters
  20710. In addition to the default restricted characters set the following
  20711. characters are also replaced:
  20712. File names cannot end with the following characters. Replacement is
  20713. limited to the last character in a file name:
  20714. Character Value Replacement
  20715. ----------- ------- -------------
  20716. SP 0x20 ␠
  20717. Not all FTP servers can have all characters in file names, for example:
  20718. FTP Server Forbidden characters
  20719. ------------ ----------------------
  20720. proftpd *
  20721. pureftpd \ [ ]
  20722. This backend's interactive configuration wizard provides a selection of
  20723. sensible encoding settings for major FTP servers: ProFTPd, PureFTPd,
  20724. VsFTPd. Just hit a selection number when prompted.
  20725. Standard options
  20726. Here are the Standard options specific to ftp (FTP).
  20727. --ftp-host
  20728. FTP host to connect to.
  20729. E.g. "ftp.example.com".
  20730. Properties:
  20731. - Config: host
  20732. - Env Var: RCLONE_FTP_HOST
  20733. - Type: string
  20734. - Required: true
  20735. --ftp-user
  20736. FTP username.
  20737. Properties:
  20738. - Config: user
  20739. - Env Var: RCLONE_FTP_USER
  20740. - Type: string
  20741. - Default: "$USER"
  20742. --ftp-port
  20743. FTP port number.
  20744. Properties:
  20745. - Config: port
  20746. - Env Var: RCLONE_FTP_PORT
  20747. - Type: int
  20748. - Default: 21
  20749. --ftp-pass
  20750. FTP password.
  20751. NB Input to this must be obscured - see rclone obscure.
  20752. Properties:
  20753. - Config: pass
  20754. - Env Var: RCLONE_FTP_PASS
  20755. - Type: string
  20756. - Required: false
  20757. --ftp-tls
  20758. Use Implicit FTPS (FTP over TLS).
  20759. When using implicit FTP over TLS the client connects using TLS right
  20760. from the start which breaks compatibility with non-TLS-aware servers.
  20761. This is usually served over port 990 rather than port 21. Cannot be used
  20762. in combination with explicit FTPS.
  20763. Properties:
  20764. - Config: tls
  20765. - Env Var: RCLONE_FTP_TLS
  20766. - Type: bool
  20767. - Default: false
  20768. --ftp-explicit-tls
  20769. Use Explicit FTPS (FTP over TLS).
  20770. When using explicit FTP over TLS the client explicitly requests security
  20771. from the server in order to upgrade a plain text connection to an
  20772. encrypted one. Cannot be used in combination with implicit FTPS.
  20773. Properties:
  20774. - Config: explicit_tls
  20775. - Env Var: RCLONE_FTP_EXPLICIT_TLS
  20776. - Type: bool
  20777. - Default: false
  20778. Advanced options
  20779. Here are the Advanced options specific to ftp (FTP).
  20780. --ftp-concurrency
  20781. Maximum number of FTP simultaneous connections, 0 for unlimited.
  20782. Note that setting this is very likely to cause deadlocks so it should be
  20783. used with care.
  20784. If you are doing a sync or copy then make sure concurrency is one more
  20785. than the sum of --transfers and --checkers.
  20786. If you use --check-first then it just needs to be one more than the
  20787. maximum of --checkers and --transfers.
  20788. So for concurrency 3 you'd use --checkers 2 --transfers 2 --check-first
  20789. or --checkers 1 --transfers 1.
  20790. Properties:
  20791. - Config: concurrency
  20792. - Env Var: RCLONE_FTP_CONCURRENCY
  20793. - Type: int
  20794. - Default: 0
  20795. --ftp-no-check-certificate
  20796. Do not verify the TLS certificate of the server.
  20797. Properties:
  20798. - Config: no_check_certificate
  20799. - Env Var: RCLONE_FTP_NO_CHECK_CERTIFICATE
  20800. - Type: bool
  20801. - Default: false
  20802. --ftp-disable-epsv
  20803. Disable using EPSV even if server advertises support.
  20804. Properties:
  20805. - Config: disable_epsv
  20806. - Env Var: RCLONE_FTP_DISABLE_EPSV
  20807. - Type: bool
  20808. - Default: false
  20809. --ftp-disable-mlsd
  20810. Disable using MLSD even if server advertises support.
  20811. Properties:
  20812. - Config: disable_mlsd
  20813. - Env Var: RCLONE_FTP_DISABLE_MLSD
  20814. - Type: bool
  20815. - Default: false
  20816. --ftp-disable-utf8
  20817. Disable using UTF-8 even if server advertises support.
  20818. Properties:
  20819. - Config: disable_utf8
  20820. - Env Var: RCLONE_FTP_DISABLE_UTF8
  20821. - Type: bool
  20822. - Default: false
  20823. --ftp-writing-mdtm
  20824. Use MDTM to set modification time (VsFtpd quirk)
  20825. Properties:
  20826. - Config: writing_mdtm
  20827. - Env Var: RCLONE_FTP_WRITING_MDTM
  20828. - Type: bool
  20829. - Default: false
  20830. --ftp-force-list-hidden
  20831. Use LIST -a to force listing of hidden files and folders. This will
  20832. disable the use of MLSD.
  20833. Properties:
  20834. - Config: force_list_hidden
  20835. - Env Var: RCLONE_FTP_FORCE_LIST_HIDDEN
  20836. - Type: bool
  20837. - Default: false
  20838. --ftp-idle-timeout
  20839. Max time before closing idle connections.
  20840. If no connections have been returned to the connection pool in the time
  20841. given, rclone will empty the connection pool.
  20842. Set to 0 to keep connections indefinitely.
  20843. Properties:
  20844. - Config: idle_timeout
  20845. - Env Var: RCLONE_FTP_IDLE_TIMEOUT
  20846. - Type: Duration
  20847. - Default: 1m0s
  20848. --ftp-close-timeout
  20849. Maximum time to wait for a response to close.
  20850. Properties:
  20851. - Config: close_timeout
  20852. - Env Var: RCLONE_FTP_CLOSE_TIMEOUT
  20853. - Type: Duration
  20854. - Default: 1m0s
  20855. --ftp-tls-cache-size
  20856. Size of TLS session cache for all control and data connections.
  20857. TLS cache allows to resume TLS sessions and reuse PSK between
  20858. connections. Increase if default size is not enough resulting in TLS
  20859. resumption errors. Enabled by default. Use 0 to disable.
  20860. Properties:
  20861. - Config: tls_cache_size
  20862. - Env Var: RCLONE_FTP_TLS_CACHE_SIZE
  20863. - Type: int
  20864. - Default: 32
  20865. --ftp-disable-tls13
  20866. Disable TLS 1.3 (workaround for FTP servers with buggy TLS)
  20867. Properties:
  20868. - Config: disable_tls13
  20869. - Env Var: RCLONE_FTP_DISABLE_TLS13
  20870. - Type: bool
  20871. - Default: false
  20872. --ftp-shut-timeout
  20873. Maximum time to wait for data connection closing status.
  20874. Properties:
  20875. - Config: shut_timeout
  20876. - Env Var: RCLONE_FTP_SHUT_TIMEOUT
  20877. - Type: Duration
  20878. - Default: 1m0s
  20879. --ftp-ask-password
  20880. Allow asking for FTP password when needed.
  20881. If this is set and no password is supplied then rclone will ask for a
  20882. password
  20883. Properties:
  20884. - Config: ask_password
  20885. - Env Var: RCLONE_FTP_ASK_PASSWORD
  20886. - Type: bool
  20887. - Default: false
  20888. --ftp-encoding
  20889. The encoding for the backend.
  20890. See the encoding section in the overview for more info.
  20891. Properties:
  20892. - Config: encoding
  20893. - Env Var: RCLONE_FTP_ENCODING
  20894. - Type: MultiEncoder
  20895. - Default: Slash,Del,Ctl,RightSpace,Dot
  20896. - Examples:
  20897. - "Asterisk,Ctl,Dot,Slash"
  20898. - ProFTPd can't handle '*' in file names
  20899. - "BackSlash,Ctl,Del,Dot,RightSpace,Slash,SquareBracket"
  20900. - PureFTPd can't handle '[]' or '*' in file names
  20901. - "Ctl,LeftPeriod,Slash"
  20902. - VsFTPd can't handle file names starting with dot
  20903. Limitations
  20904. FTP servers acting as rclone remotes must support passive mode. The mode
  20905. cannot be configured as passive is the only supported one. Rclone's FTP
  20906. implementation is not compatible with active mode as the library it uses
  20907. doesn't support it. This will likely never be supported due to security
  20908. concerns.
  20909. Rclone's FTP backend does not support any checksums but can compare file
  20910. sizes.
  20911. rclone about is not supported by the FTP backend. Backends without this
  20912. capability cannot determine free space for an rclone mount or use policy
  20913. mfs (most free space) as a member of an rclone union remote.
  20914. See List of backends that do not support rclone about and rclone about
  20915. The implementation of : --dump headers, --dump bodies, --dump auth for
  20916. debugging isn't the same as for rclone HTTP based backends - it has less
  20917. fine grained control.
  20918. --timeout isn't supported (but --contimeout is).
  20919. --bind isn't supported.
  20920. Rclone's FTP backend could support server-side move but does not at
  20921. present.
  20922. The ftp_proxy environment variable is not currently supported.
  20923. Modified time
  20924. File modification time (timestamps) is supported to 1 second resolution
  20925. for major FTP servers: ProFTPd, PureFTPd, VsFTPd, and FileZilla FTP
  20926. server. The VsFTPd server has non-standard implementation of time
  20927. related protocol commands and needs a special configuration setting:
  20928. writing_mdtm = true.
  20929. Support for precise file time with other FTP servers varies depending on
  20930. what protocol extensions they advertise. If all the MLSD, MDTM and MFTM
  20931. extensions are present, rclone will use them together to provide precise
  20932. time. Otherwise the times you see on the FTP server through rclone are
  20933. those of the last file upload.
  20934. You can use the following command to check whether rclone can use
  20935. precise time with your FTP server:
  20936. rclone backend features your_ftp_remote: (the trailing colon is
  20937. important). Look for the number in the line tagged by Precision
  20938. designating the remote time precision expressed as nanoseconds. A value
  20939. of 1000000000 means that file time precision of 1 second is available. A
  20940. value of 3153600000000000000 (or another large number) means
  20941. "unsupported".
  20942. Google Cloud Storage
  20943. Paths are specified as remote:bucket (or remote: for the lsd command.)
  20944. You may put subdirectories in too, e.g. remote:bucket/path/to/dir.
  20945. Configuration
  20946. The initial setup for google cloud storage involves getting a token from
  20947. Google Cloud Storage which you need to do in your browser. rclone config
  20948. walks you through it.
  20949. Here is an example of how to make a remote called remote. First run:
  20950. rclone config
  20951. This will guide you through an interactive setup process:
  20952. n) New remote
  20953. d) Delete remote
  20954. q) Quit config
  20955. e/n/d/q> n
  20956. name> remote
  20957. Type of storage to configure.
  20958. Choose a number from below, or type in your own value
  20959. [snip]
  20960. XX / Google Cloud Storage (this is not Google Drive)
  20961. \ "google cloud storage"
  20962. [snip]
  20963. Storage> google cloud storage
  20964. Google Application Client Id - leave blank normally.
  20965. client_id>
  20966. Google Application Client Secret - leave blank normally.
  20967. client_secret>
  20968. Project number optional - needed only for list/create/delete buckets - see your developer console.
  20969. project_number> 12345678
  20970. Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
  20971. service_account_file>
  20972. Access Control List for new objects.
  20973. Choose a number from below, or type in your own value
  20974. 1 / Object owner gets OWNER access, and all Authenticated Users get READER access.
  20975. \ "authenticatedRead"
  20976. 2 / Object owner gets OWNER access, and project team owners get OWNER access.
  20977. \ "bucketOwnerFullControl"
  20978. 3 / Object owner gets OWNER access, and project team owners get READER access.
  20979. \ "bucketOwnerRead"
  20980. 4 / Object owner gets OWNER access [default if left blank].
  20981. \ "private"
  20982. 5 / Object owner gets OWNER access, and project team members get access according to their roles.
  20983. \ "projectPrivate"
  20984. 6 / Object owner gets OWNER access, and all Users get READER access.
  20985. \ "publicRead"
  20986. object_acl> 4
  20987. Access Control List for new buckets.
  20988. Choose a number from below, or type in your own value
  20989. 1 / Project team owners get OWNER access, and all Authenticated Users get READER access.
  20990. \ "authenticatedRead"
  20991. 2 / Project team owners get OWNER access [default if left blank].
  20992. \ "private"
  20993. 3 / Project team members get access according to their roles.
  20994. \ "projectPrivate"
  20995. 4 / Project team owners get OWNER access, and all Users get READER access.
  20996. \ "publicRead"
  20997. 5 / Project team owners get OWNER access, and all Users get WRITER access.
  20998. \ "publicReadWrite"
  20999. bucket_acl> 2
  21000. Location for the newly created buckets.
  21001. Choose a number from below, or type in your own value
  21002. 1 / Empty for default location (US).
  21003. \ ""
  21004. 2 / Multi-regional location for Asia.
  21005. \ "asia"
  21006. 3 / Multi-regional location for Europe.
  21007. \ "eu"
  21008. 4 / Multi-regional location for United States.
  21009. \ "us"
  21010. 5 / Taiwan.
  21011. \ "asia-east1"
  21012. 6 / Tokyo.
  21013. \ "asia-northeast1"
  21014. 7 / Singapore.
  21015. \ "asia-southeast1"
  21016. 8 / Sydney.
  21017. \ "australia-southeast1"
  21018. 9 / Belgium.
  21019. \ "europe-west1"
  21020. 10 / London.
  21021. \ "europe-west2"
  21022. 11 / Iowa.
  21023. \ "us-central1"
  21024. 12 / South Carolina.
  21025. \ "us-east1"
  21026. 13 / Northern Virginia.
  21027. \ "us-east4"
  21028. 14 / Oregon.
  21029. \ "us-west1"
  21030. location> 12
  21031. The storage class to use when storing objects in Google Cloud Storage.
  21032. Choose a number from below, or type in your own value
  21033. 1 / Default
  21034. \ ""
  21035. 2 / Multi-regional storage class
  21036. \ "MULTI_REGIONAL"
  21037. 3 / Regional storage class
  21038. \ "REGIONAL"
  21039. 4 / Nearline storage class
  21040. \ "NEARLINE"
  21041. 5 / Coldline storage class
  21042. \ "COLDLINE"
  21043. 6 / Durable reduced availability storage class
  21044. \ "DURABLE_REDUCED_AVAILABILITY"
  21045. storage_class> 5
  21046. Remote config
  21047. Use web browser to automatically authenticate rclone with remote?
  21048. * Say Y if the machine running rclone has a web browser you can use
  21049. * Say N if running rclone on a (remote) machine without web browser access
  21050. If not sure try Y. If Y failed, try N.
  21051. y) Yes
  21052. n) No
  21053. y/n> y
  21054. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  21055. Log in and authorize rclone for access
  21056. Waiting for code...
  21057. Got code
  21058. --------------------
  21059. [remote]
  21060. type = google cloud storage
  21061. client_id =
  21062. client_secret =
  21063. token = {"AccessToken":"xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx","Expiry":"2014-07-17T20:49:14.929208288+01:00","Extra":null}
  21064. project_number = 12345678
  21065. object_acl = private
  21066. bucket_acl = private
  21067. --------------------
  21068. y) Yes this is OK
  21069. e) Edit this remote
  21070. d) Delete this remote
  21071. y/e/d> y
  21072. See the remote setup docs for how to set it up on a machine with no
  21073. Internet browser available.
  21074. Note that rclone runs a webserver on your local machine to collect the
  21075. token as returned from Google if using web browser to automatically
  21076. authenticate. This only runs from the moment it opens your browser to
  21077. the moment you get back the verification code. This is on
  21078. http://127.0.0.1:53682/ and this it may require you to unblock it
  21079. temporarily if you are running a host firewall, or use manual mode.
  21080. This remote is called remote and can now be used like this
  21081. See all the buckets in your project
  21082. rclone lsd remote:
  21083. Make a new bucket
  21084. rclone mkdir remote:bucket
  21085. List the contents of a bucket
  21086. rclone ls remote:bucket
  21087. Sync /home/local/directory to the remote bucket, deleting any excess
  21088. files in the bucket.
  21089. rclone sync --interactive /home/local/directory remote:bucket
  21090. Service Account support
  21091. You can set up rclone with Google Cloud Storage in an unattended mode,
  21092. i.e. not tied to a specific end-user Google account. This is useful when
  21093. you want to synchronise files onto machines that don't have actively
  21094. logged-in users, for example build machines.
  21095. To get credentials for Google Cloud Platform IAM Service Accounts,
  21096. please head to the Service Account section of the Google Developer
  21097. Console. Service Accounts behave just like normal User permissions in
  21098. Google Cloud Storage ACLs, so you can limit their access (e.g. make them
  21099. read only). After creating an account, a JSON file containing the
  21100. Service Account's credentials will be downloaded onto your machines.
  21101. These credentials are what rclone will use for authentication.
  21102. To use a Service Account instead of OAuth2 token flow, enter the path to
  21103. your Service Account credentials at the service_account_file prompt and
  21104. rclone won't use the browser based authentication flow. If you'd rather
  21105. stuff the contents of the credentials file into the rclone config file,
  21106. you can set service_account_credentials with the actual contents of the
  21107. file instead, or set the equivalent environment variable.
  21108. Anonymous Access
  21109. For downloads of objects that permit public access you can configure
  21110. rclone to use anonymous access by setting anonymous to true. With
  21111. unauthorized access you can't write or create files but only read or
  21112. list those buckets and objects that have public read access.
  21113. Application Default Credentials
  21114. If no other source of credentials is provided, rclone will fall back to
  21115. Application Default Credentials this is useful both when you already
  21116. have configured authentication for your developer account, or in
  21117. production when running on a google compute host. Note that if running
  21118. in docker, you may need to run additional commands on your google
  21119. compute machine - see this page.
  21120. Note that in the case application default credentials are used, there is
  21121. no need to explicitly configure a project number.
  21122. --fast-list
  21123. This remote supports --fast-list which allows you to use fewer
  21124. transactions in exchange for more memory. See the rclone docs for more
  21125. details.
  21126. Custom upload headers
  21127. You can set custom upload headers with the --header-upload flag. Google
  21128. Cloud Storage supports the headers as described in the working with
  21129. metadata documentation
  21130. - Cache-Control
  21131. - Content-Disposition
  21132. - Content-Encoding
  21133. - Content-Language
  21134. - Content-Type
  21135. - X-Goog-Storage-Class
  21136. - X-Goog-Meta-
  21137. Eg --header-upload "Content-Type text/potato"
  21138. Note that the last of these is for setting custom metadata in the form
  21139. --header-upload "x-goog-meta-key: value"
  21140. Modification time
  21141. Google Cloud Storage stores md5sum natively. Google's gsutil tool stores
  21142. modification time with one-second precision as goog-reserved-file-mtime
  21143. in file metadata.
  21144. To ensure compatibility with gsutil, rclone stores modification time in
  21145. 2 separate metadata entries. mtime uses RFC3339 format with
  21146. one-nanosecond precision. goog-reserved-file-mtime uses Unix timestamp
  21147. format with one-second precision. To get modification time from object
  21148. metadata, rclone reads the metadata in the following order: mtime,
  21149. goog-reserved-file-mtime, object updated time.
  21150. Note that rclone's default modify window is 1ns. Files uploaded by
  21151. gsutil only contain timestamps with one-second precision. If you use
  21152. rclone to sync files previously uploaded by gsutil, rclone will attempt
  21153. to update modification time for all these files. To avoid these possibly
  21154. unnecessary updates, use --modify-window 1s.
  21155. Restricted filename characters
  21156. Character Value Replacement
  21157. ----------- ------- -------------
  21158. NUL 0x00 ␀
  21159. LF 0x0A ␊
  21160. CR 0x0D ␍
  21161. / 0x2F /
  21162. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  21163. strings.
  21164. Standard options
  21165. Here are the Standard options specific to google cloud storage (Google
  21166. Cloud Storage (this is not Google Drive)).
  21167. --gcs-client-id
  21168. OAuth Client Id.
  21169. Leave blank normally.
  21170. Properties:
  21171. - Config: client_id
  21172. - Env Var: RCLONE_GCS_CLIENT_ID
  21173. - Type: string
  21174. - Required: false
  21175. --gcs-client-secret
  21176. OAuth Client Secret.
  21177. Leave blank normally.
  21178. Properties:
  21179. - Config: client_secret
  21180. - Env Var: RCLONE_GCS_CLIENT_SECRET
  21181. - Type: string
  21182. - Required: false
  21183. --gcs-project-number
  21184. Project number.
  21185. Optional - needed only for list/create/delete buckets - see your
  21186. developer console.
  21187. Properties:
  21188. - Config: project_number
  21189. - Env Var: RCLONE_GCS_PROJECT_NUMBER
  21190. - Type: string
  21191. - Required: false
  21192. --gcs-user-project
  21193. User project.
  21194. Optional - needed only for requester pays.
  21195. Properties:
  21196. - Config: user_project
  21197. - Env Var: RCLONE_GCS_USER_PROJECT
  21198. - Type: string
  21199. - Required: false
  21200. --gcs-service-account-file
  21201. Service Account Credentials JSON file path.
  21202. Leave blank normally. Needed only if you want use SA instead of
  21203. interactive login.
  21204. Leading ~ will be expanded in the file name as will environment
  21205. variables such as ${RCLONE_CONFIG_DIR}.
  21206. Properties:
  21207. - Config: service_account_file
  21208. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE
  21209. - Type: string
  21210. - Required: false
  21211. --gcs-service-account-credentials
  21212. Service Account Credentials JSON blob.
  21213. Leave blank normally. Needed only if you want use SA instead of
  21214. interactive login.
  21215. Properties:
  21216. - Config: service_account_credentials
  21217. - Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
  21218. - Type: string
  21219. - Required: false
  21220. --gcs-anonymous
  21221. Access public buckets and objects without credentials.
  21222. Set to 'true' if you just want to download files and don't configure
  21223. credentials.
  21224. Properties:
  21225. - Config: anonymous
  21226. - Env Var: RCLONE_GCS_ANONYMOUS
  21227. - Type: bool
  21228. - Default: false
  21229. --gcs-object-acl
  21230. Access Control List for new objects.
  21231. Properties:
  21232. - Config: object_acl
  21233. - Env Var: RCLONE_GCS_OBJECT_ACL
  21234. - Type: string
  21235. - Required: false
  21236. - Examples:
  21237. - "authenticatedRead"
  21238. - Object owner gets OWNER access.
  21239. - All Authenticated Users get READER access.
  21240. - "bucketOwnerFullControl"
  21241. - Object owner gets OWNER access.
  21242. - Project team owners get OWNER access.
  21243. - "bucketOwnerRead"
  21244. - Object owner gets OWNER access.
  21245. - Project team owners get READER access.
  21246. - "private"
  21247. - Object owner gets OWNER access.
  21248. - Default if left blank.
  21249. - "projectPrivate"
  21250. - Object owner gets OWNER access.
  21251. - Project team members get access according to their roles.
  21252. - "publicRead"
  21253. - Object owner gets OWNER access.
  21254. - All Users get READER access.
  21255. --gcs-bucket-acl
  21256. Access Control List for new buckets.
  21257. Properties:
  21258. - Config: bucket_acl
  21259. - Env Var: RCLONE_GCS_BUCKET_ACL
  21260. - Type: string
  21261. - Required: false
  21262. - Examples:
  21263. - "authenticatedRead"
  21264. - Project team owners get OWNER access.
  21265. - All Authenticated Users get READER access.
  21266. - "private"
  21267. - Project team owners get OWNER access.
  21268. - Default if left blank.
  21269. - "projectPrivate"
  21270. - Project team members get access according to their roles.
  21271. - "publicRead"
  21272. - Project team owners get OWNER access.
  21273. - All Users get READER access.
  21274. - "publicReadWrite"
  21275. - Project team owners get OWNER access.
  21276. - All Users get WRITER access.
  21277. --gcs-bucket-policy-only
  21278. Access checks should use bucket-level IAM policies.
  21279. If you want to upload objects to a bucket with Bucket Policy Only set
  21280. then you will need to set this.
  21281. When it is set, rclone:
  21282. - ignores ACLs set on buckets
  21283. - ignores ACLs set on objects
  21284. - creates buckets with Bucket Policy Only set
  21285. Docs: https://cloud.google.com/storage/docs/bucket-policy-only
  21286. Properties:
  21287. - Config: bucket_policy_only
  21288. - Env Var: RCLONE_GCS_BUCKET_POLICY_ONLY
  21289. - Type: bool
  21290. - Default: false
  21291. --gcs-location
  21292. Location for the newly created buckets.
  21293. Properties:
  21294. - Config: location
  21295. - Env Var: RCLONE_GCS_LOCATION
  21296. - Type: string
  21297. - Required: false
  21298. - Examples:
  21299. - ""
  21300. - Empty for default location (US)
  21301. - "asia"
  21302. - Multi-regional location for Asia
  21303. - "eu"
  21304. - Multi-regional location for Europe
  21305. - "us"
  21306. - Multi-regional location for United States
  21307. - "asia-east1"
  21308. - Taiwan
  21309. - "asia-east2"
  21310. - Hong Kong
  21311. - "asia-northeast1"
  21312. - Tokyo
  21313. - "asia-northeast2"
  21314. - Osaka
  21315. - "asia-northeast3"
  21316. - Seoul
  21317. - "asia-south1"
  21318. - Mumbai
  21319. - "asia-south2"
  21320. - Delhi
  21321. - "asia-southeast1"
  21322. - Singapore
  21323. - "asia-southeast2"
  21324. - Jakarta
  21325. - "australia-southeast1"
  21326. - Sydney
  21327. - "australia-southeast2"
  21328. - Melbourne
  21329. - "europe-north1"
  21330. - Finland
  21331. - "europe-west1"
  21332. - Belgium
  21333. - "europe-west2"
  21334. - London
  21335. - "europe-west3"
  21336. - Frankfurt
  21337. - "europe-west4"
  21338. - Netherlands
  21339. - "europe-west6"
  21340. - Zürich
  21341. - "europe-central2"
  21342. - Warsaw
  21343. - "us-central1"
  21344. - Iowa
  21345. - "us-east1"
  21346. - South Carolina
  21347. - "us-east4"
  21348. - Northern Virginia
  21349. - "us-west1"
  21350. - Oregon
  21351. - "us-west2"
  21352. - California
  21353. - "us-west3"
  21354. - Salt Lake City
  21355. - "us-west4"
  21356. - Las Vegas
  21357. - "northamerica-northeast1"
  21358. - Montréal
  21359. - "northamerica-northeast2"
  21360. - Toronto
  21361. - "southamerica-east1"
  21362. - São Paulo
  21363. - "southamerica-west1"
  21364. - Santiago
  21365. - "asia1"
  21366. - Dual region: asia-northeast1 and asia-northeast2.
  21367. - "eur4"
  21368. - Dual region: europe-north1 and europe-west4.
  21369. - "nam4"
  21370. - Dual region: us-central1 and us-east1.
  21371. --gcs-storage-class
  21372. The storage class to use when storing objects in Google Cloud Storage.
  21373. Properties:
  21374. - Config: storage_class
  21375. - Env Var: RCLONE_GCS_STORAGE_CLASS
  21376. - Type: string
  21377. - Required: false
  21378. - Examples:
  21379. - ""
  21380. - Default
  21381. - "MULTI_REGIONAL"
  21382. - Multi-regional storage class
  21383. - "REGIONAL"
  21384. - Regional storage class
  21385. - "NEARLINE"
  21386. - Nearline storage class
  21387. - "COLDLINE"
  21388. - Coldline storage class
  21389. - "ARCHIVE"
  21390. - Archive storage class
  21391. - "DURABLE_REDUCED_AVAILABILITY"
  21392. - Durable reduced availability storage class
  21393. --gcs-env-auth
  21394. Get GCP IAM credentials from runtime (environment variables or instance
  21395. meta data if no env vars).
  21396. Only applies if service_account_file and service_account_credentials is
  21397. blank.
  21398. Properties:
  21399. - Config: env_auth
  21400. - Env Var: RCLONE_GCS_ENV_AUTH
  21401. - Type: bool
  21402. - Default: false
  21403. - Examples:
  21404. - "false"
  21405. - Enter credentials in the next step.
  21406. - "true"
  21407. - Get GCP IAM credentials from the environment (env vars or
  21408. IAM).
  21409. Advanced options
  21410. Here are the Advanced options specific to google cloud storage (Google
  21411. Cloud Storage (this is not Google Drive)).
  21412. --gcs-token
  21413. OAuth Access Token as a JSON blob.
  21414. Properties:
  21415. - Config: token
  21416. - Env Var: RCLONE_GCS_TOKEN
  21417. - Type: string
  21418. - Required: false
  21419. --gcs-auth-url
  21420. Auth server URL.
  21421. Leave blank to use the provider defaults.
  21422. Properties:
  21423. - Config: auth_url
  21424. - Env Var: RCLONE_GCS_AUTH_URL
  21425. - Type: string
  21426. - Required: false
  21427. --gcs-token-url
  21428. Token server url.
  21429. Leave blank to use the provider defaults.
  21430. Properties:
  21431. - Config: token_url
  21432. - Env Var: RCLONE_GCS_TOKEN_URL
  21433. - Type: string
  21434. - Required: false
  21435. --gcs-directory-markers
  21436. Upload an empty object with a trailing slash when a new directory is
  21437. created
  21438. Empty folders are unsupported for bucket based remotes, this option
  21439. creates an empty object ending with "/", to persist the folder.
  21440. Properties:
  21441. - Config: directory_markers
  21442. - Env Var: RCLONE_GCS_DIRECTORY_MARKERS
  21443. - Type: bool
  21444. - Default: false
  21445. --gcs-no-check-bucket
  21446. If set, don't attempt to check the bucket exists or create it.
  21447. This can be useful when trying to minimise the number of transactions
  21448. rclone does if you know the bucket exists already.
  21449. Properties:
  21450. - Config: no_check_bucket
  21451. - Env Var: RCLONE_GCS_NO_CHECK_BUCKET
  21452. - Type: bool
  21453. - Default: false
  21454. --gcs-decompress
  21455. If set this will decompress gzip encoded objects.
  21456. It is possible to upload objects to GCS with "Content-Encoding: gzip"
  21457. set. Normally rclone will download these files as compressed objects.
  21458. If this flag is set then rclone will decompress these files with
  21459. "Content-Encoding: gzip" as they are received. This means that rclone
  21460. can't check the size and hash but the file contents will be
  21461. decompressed.
  21462. Properties:
  21463. - Config: decompress
  21464. - Env Var: RCLONE_GCS_DECOMPRESS
  21465. - Type: bool
  21466. - Default: false
  21467. --gcs-endpoint
  21468. Endpoint for the service.
  21469. Leave blank normally.
  21470. Properties:
  21471. - Config: endpoint
  21472. - Env Var: RCLONE_GCS_ENDPOINT
  21473. - Type: string
  21474. - Required: false
  21475. --gcs-encoding
  21476. The encoding for the backend.
  21477. See the encoding section in the overview for more info.
  21478. Properties:
  21479. - Config: encoding
  21480. - Env Var: RCLONE_GCS_ENCODING
  21481. - Type: MultiEncoder
  21482. - Default: Slash,CrLf,InvalidUtf8,Dot
  21483. Limitations
  21484. rclone about is not supported by the Google Cloud Storage backend.
  21485. Backends without this capability cannot determine free space for an
  21486. rclone mount or use policy mfs (most free space) as a member of an
  21487. rclone union remote.
  21488. See List of backends that do not support rclone about and rclone about
  21489. Google Drive
  21490. Paths are specified as drive:path
  21491. Drive paths may be as deep as required, e.g.
  21492. drive:directory/subdirectory.
  21493. Configuration
  21494. The initial setup for drive involves getting a token from Google drive
  21495. which you need to do in your browser. rclone config walks you through
  21496. it.
  21497. Here is an example of how to make a remote called remote. First run:
  21498. rclone config
  21499. This will guide you through an interactive setup process:
  21500. No remotes found, make a new one?
  21501. n) New remote
  21502. r) Rename remote
  21503. c) Copy remote
  21504. s) Set configuration password
  21505. q) Quit config
  21506. n/r/c/s/q> n
  21507. name> remote
  21508. Type of storage to configure.
  21509. Choose a number from below, or type in your own value
  21510. [snip]
  21511. XX / Google Drive
  21512. \ "drive"
  21513. [snip]
  21514. Storage> drive
  21515. Google Application Client Id - leave blank normally.
  21516. client_id>
  21517. Google Application Client Secret - leave blank normally.
  21518. client_secret>
  21519. Scope that rclone should use when requesting access from drive.
  21520. Choose a number from below, or type in your own value
  21521. 1 / Full access all files, excluding Application Data Folder.
  21522. \ "drive"
  21523. 2 / Read-only access to file metadata and file contents.
  21524. \ "drive.readonly"
  21525. / Access to files created by rclone only.
  21526. 3 | These are visible in the drive website.
  21527. | File authorization is revoked when the user deauthorizes the app.
  21528. \ "drive.file"
  21529. / Allows read and write access to the Application Data folder.
  21530. 4 | This is not visible in the drive website.
  21531. \ "drive.appfolder"
  21532. / Allows read-only access to file metadata but
  21533. 5 | does not allow any access to read or download file content.
  21534. \ "drive.metadata.readonly"
  21535. scope> 1
  21536. Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
  21537. service_account_file>
  21538. Remote config
  21539. Use web browser to automatically authenticate rclone with remote?
  21540. * Say Y if the machine running rclone has a web browser you can use
  21541. * Say N if running rclone on a (remote) machine without web browser access
  21542. If not sure try Y. If Y failed, try N.
  21543. y) Yes
  21544. n) No
  21545. y/n> y
  21546. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  21547. Log in and authorize rclone for access
  21548. Waiting for code...
  21549. Got code
  21550. Configure this as a Shared Drive (Team Drive)?
  21551. y) Yes
  21552. n) No
  21553. y/n> n
  21554. --------------------
  21555. [remote]
  21556. client_id =
  21557. client_secret =
  21558. scope = drive
  21559. root_folder_id =
  21560. service_account_file =
  21561. token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"}
  21562. --------------------
  21563. y) Yes this is OK
  21564. e) Edit this remote
  21565. d) Delete this remote
  21566. y/e/d> y
  21567. See the remote setup docs for how to set it up on a machine with no
  21568. Internet browser available.
  21569. Note that rclone runs a webserver on your local machine to collect the
  21570. token as returned from Google if using web browser to automatically
  21571. authenticate. This only runs from the moment it opens your browser to
  21572. the moment you get back the verification code. This is on
  21573. http://127.0.0.1:53682/ and it may require you to unblock it temporarily
  21574. if you are running a host firewall, or use manual mode.
  21575. You can then use it like this,
  21576. List directories in top level of your drive
  21577. rclone lsd remote:
  21578. List all the files in your drive
  21579. rclone ls remote:
  21580. To copy a local directory to a drive directory called backup
  21581. rclone copy /home/source remote:backup
  21582. Scopes
  21583. Rclone allows you to select which scope you would like for rclone to
  21584. use. This changes what type of token is granted to rclone. The scopes
  21585. are defined here.
  21586. The scope are
  21587. drive
  21588. This is the default scope and allows full access to all files, except
  21589. for the Application Data Folder (see below).
  21590. Choose this one if you aren't sure.
  21591. drive.readonly
  21592. This allows read only access to all files. Files may be listed and
  21593. downloaded but not uploaded, renamed or deleted.
  21594. drive.file
  21595. With this scope rclone can read/view/modify only those files and folders
  21596. it creates.
  21597. So if you uploaded files to drive via the web interface (or any other
  21598. means) they will not be visible to rclone.
  21599. This can be useful if you are using rclone to backup data and you want
  21600. to be sure confidential data on your drive is not visible to rclone.
  21601. Files created with this scope are visible in the web interface.
  21602. drive.appfolder
  21603. This gives rclone its own private area to store files. Rclone will not
  21604. be able to see any other files on your drive and you won't be able to
  21605. see rclone's files from the web interface either.
  21606. drive.metadata.readonly
  21607. This allows read only access to file names only. It does not allow
  21608. rclone to download or upload data, or rename or delete files or
  21609. directories.
  21610. Root folder ID
  21611. This option has been moved to the advanced section. You can set the
  21612. root_folder_id for rclone. This is the directory (identified by its
  21613. Folder ID) that rclone considers to be the root of your drive.
  21614. Normally you will leave this blank and rclone will determine the correct
  21615. root to use itself.
  21616. However you can set this to restrict rclone to a specific folder
  21617. hierarchy or to access data within the "Computers" tab on the drive web
  21618. interface (where files from Google's Backup and Sync desktop program
  21619. go).
  21620. In order to do this you will have to find the Folder ID of the directory
  21621. you wish rclone to display. This will be the last segment of the URL
  21622. when you open the relevant folder in the drive web interface.
  21623. So if the folder you want rclone to use has a URL which looks like
  21624. https://drive.google.com/drive/folders/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh
  21625. in the browser, then you use 1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh as the
  21626. root_folder_id in the config.
  21627. NB folders under the "Computers" tab seem to be read only (drive gives a
  21628. 500 error) when using rclone.
  21629. There doesn't appear to be an API to discover the folder IDs of the
  21630. "Computers" tab - please contact us if you know otherwise!
  21631. Note also that rclone can't access any data under the "Backups" tab on
  21632. the google drive web interface yet.
  21633. Service Account support
  21634. You can set up rclone with Google Drive in an unattended mode, i.e. not
  21635. tied to a specific end-user Google account. This is useful when you want
  21636. to synchronise files onto machines that don't have actively logged-in
  21637. users, for example build machines.
  21638. To use a Service Account instead of OAuth2 token flow, enter the path to
  21639. your Service Account credentials at the service_account_file prompt
  21640. during rclone config and rclone won't use the browser based
  21641. authentication flow. If you'd rather stuff the contents of the
  21642. credentials file into the rclone config file, you can set
  21643. service_account_credentials with the actual contents of the file
  21644. instead, or set the equivalent environment variable.
  21645. Use case - Google Apps/G-suite account and individual Drive
  21646. Let's say that you are the administrator of a Google Apps (old) or
  21647. G-suite account. The goal is to store data on an individual's Drive
  21648. account, who IS a member of the domain. We'll call the domain
  21649. example.com, and the user foo@example.com.
  21650. There's a few steps we need to go through to accomplish this:
  21651. 1. Create a service account for example.com
  21652. - To create a service account and obtain its credentials, go to the
  21653. Google Developer Console.
  21654. - You must have a project - create one if you don't.
  21655. - Then go to "IAM & admin" -> "Service Accounts".
  21656. - Use the "Create Service Account" button. Fill in "Service account
  21657. name" and "Service account ID" with something that identifies your
  21658. client.
  21659. - Select "Create And Continue". Step 2 and 3 are optional.
  21660. - These credentials are what rclone will use for authentication. If
  21661. you ever need to remove access, press the "Delete service account
  21662. key" button.
  21663. 2. Allowing API access to example.com Google Drive
  21664. - Go to example.com's admin console
  21665. - Go into "Security" (or use the search bar)
  21666. - Select "Show more" and then "Advanced settings"
  21667. - Select "Manage API client access" in the "Authentication" section
  21668. - In the "Client Name" field enter the service account's "Client ID" -
  21669. this can be found in the Developer Console under "IAM & Admin" ->
  21670. "Service Accounts", then "View Client ID" for the newly created
  21671. service account. It is a ~21 character numerical string.
  21672. - In the next field, "One or More API Scopes", enter
  21673. https://www.googleapis.com/auth/drive to grant access to Google
  21674. Drive specifically.
  21675. 3. Configure rclone, assuming a new install
  21676. rclone config
  21677. n/s/q> n # New
  21678. name>gdrive # Gdrive is an example name
  21679. Storage> # Select the number shown for Google Drive
  21680. client_id> # Can be left blank
  21681. client_secret> # Can be left blank
  21682. scope> # Select your scope, 1 for example
  21683. root_folder_id> # Can be left blank
  21684. service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes!
  21685. y/n> # Auto config, n
  21686. 4. Verify that it's working
  21687. - rclone -v --drive-impersonate foo@example.com lsf gdrive:backup
  21688. - The arguments do:
  21689. - -v - verbose logging
  21690. - --drive-impersonate foo@example.com - this is what does the
  21691. magic, pretending to be user foo.
  21692. - lsf - list files in a parsing friendly way
  21693. - gdrive:backup - use the remote called gdrive, work in the folder
  21694. named backup.
  21695. Note: in case you configured a specific root folder on gdrive and rclone
  21696. is unable to access the contents of that folder when using
  21697. --drive-impersonate, do this instead: - in the gdrive web interface,
  21698. share your root folder with the user/email of the new Service Account
  21699. you created/selected at step #1 - use rclone without specifying the
  21700. --drive-impersonate option, like this: rclone -v lsf gdrive:backup
  21701. Shared drives (team drives)
  21702. If you want to configure the remote to point to a Google Shared Drive
  21703. (previously known as Team Drives) then answer y to the question
  21704. Configure this as a Shared Drive (Team Drive)?.
  21705. This will fetch the list of Shared Drives from google and allow you to
  21706. configure which one you want to use. You can also type in a Shared Drive
  21707. ID if you prefer.
  21708. For example:
  21709. Configure this as a Shared Drive (Team Drive)?
  21710. y) Yes
  21711. n) No
  21712. y/n> y
  21713. Fetching Shared Drive list...
  21714. Choose a number from below, or type in your own value
  21715. 1 / Rclone Test
  21716. \ "xxxxxxxxxxxxxxxxxxxx"
  21717. 2 / Rclone Test 2
  21718. \ "yyyyyyyyyyyyyyyyyyyy"
  21719. 3 / Rclone Test 3
  21720. \ "zzzzzzzzzzzzzzzzzzzz"
  21721. Enter a Shared Drive ID> 1
  21722. --------------------
  21723. [remote]
  21724. client_id =
  21725. client_secret =
  21726. token = {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null}
  21727. team_drive = xxxxxxxxxxxxxxxxxxxx
  21728. --------------------
  21729. y) Yes this is OK
  21730. e) Edit this remote
  21731. d) Delete this remote
  21732. y/e/d> y
  21733. --fast-list
  21734. This remote supports --fast-list which allows you to use fewer
  21735. transactions in exchange for more memory. See the rclone docs for more
  21736. details.
  21737. It does this by combining multiple list calls into a single API request.
  21738. This works by combining many '%s' in parents filters into one
  21739. expression. To list the contents of directories a, b and c, the
  21740. following requests will be send by the regular List function:
  21741. trashed=false and 'a' in parents
  21742. trashed=false and 'b' in parents
  21743. trashed=false and 'c' in parents
  21744. These can now be combined into a single request:
  21745. trashed=false and ('a' in parents or 'b' in parents or 'c' in parents)
  21746. The implementation of ListR will put up to 50 parents filters into one
  21747. request. It will use the --checkers value to specify the number of
  21748. requests to run in parallel.
  21749. In tests, these batch requests were up to 20x faster than the regular
  21750. method. Running the following command against different sized folders
  21751. gives:
  21752. rclone lsjson -vv -R --checkers=6 gdrive:folder
  21753. small folder (220 directories, 700 files):
  21754. - without --fast-list: 38s
  21755. - with --fast-list: 10s
  21756. large folder (10600 directories, 39000 files):
  21757. - without --fast-list: 22:05 min
  21758. - with --fast-list: 58s
  21759. Modified time
  21760. Google drive stores modification times accurate to 1 ms.
  21761. Restricted filename characters
  21762. Only Invalid UTF-8 bytes will be replaced, as they can't be used in JSON
  21763. strings.
  21764. In contrast to other backends, / can also be used in names and . or ..
  21765. are valid names.
  21766. Revisions
  21767. Google drive stores revisions of files. When you upload a change to an
  21768. existing file to google drive using rclone it will create a new revision
  21769. of that file.
  21770. Revisions follow the standard google policy which at time of writing was
  21771. - They are deleted after 30 days or 100 revisions (whatever comes
  21772. first).
  21773. - They do not count towards a user storage quota.
  21774. Deleting files
  21775. By default rclone will send all files to the trash when deleting files.
  21776. If deleting them permanently is required then use the
  21777. --drive-use-trash=false flag, or set the equivalent environment
  21778. variable.
  21779. Shortcuts
  21780. In March 2020 Google introduced a new feature in Google Drive called
  21781. drive shortcuts (API). These will (by September 2020) replace the
  21782. ability for files or folders to be in multiple folders at once.
  21783. Shortcuts are files that link to other files on Google Drive somewhat
  21784. like a symlink in unix, except they point to the underlying file data
  21785. (e.g. the inode in unix terms) so they don't break if the source is
  21786. renamed or moved about.
  21787. By default rclone treats these as follows.
  21788. For shortcuts pointing to files:
  21789. - When listing a file shortcut appears as the destination file.
  21790. - When downloading the contents of the destination file is downloaded.
  21791. - When updating shortcut file with a non shortcut file, the shortcut
  21792. is removed then a new file is uploaded in place of the shortcut.
  21793. - When server-side moving (renaming) the shortcut is renamed, not the
  21794. destination file.
  21795. - When server-side copying the shortcut is copied, not the contents of
  21796. the shortcut. (unless --drive-copy-shortcut-content is in use in
  21797. which case the contents of the shortcut gets copied).
  21798. - When deleting the shortcut is deleted not the linked file.
  21799. - When setting the modification time, the modification time of the
  21800. linked file will be set.
  21801. For shortcuts pointing to folders:
  21802. - When listing the shortcut appears as a folder and that folder will
  21803. contain the contents of the linked folder appear (including any sub
  21804. folders)
  21805. - When downloading the contents of the linked folder and sub contents
  21806. are downloaded
  21807. - When uploading to a shortcut folder the file will be placed in the
  21808. linked folder
  21809. - When server-side moving (renaming) the shortcut is renamed, not the
  21810. destination folder
  21811. - When server-side copying the contents of the linked folder is
  21812. copied, not the shortcut.
  21813. - When deleting with rclone rmdir or rclone purge the shortcut is
  21814. deleted not the linked folder.
  21815. - NB When deleting with rclone remove or rclone mount the contents of
  21816. the linked folder will be deleted.
  21817. The rclone backend command can be used to create shortcuts.
  21818. Shortcuts can be completely ignored with the --drive-skip-shortcuts flag
  21819. or the corresponding skip_shortcuts configuration setting.
  21820. Emptying trash
  21821. If you wish to empty your trash you can use the rclone cleanup remote:
  21822. command which will permanently delete all your trashed files. This
  21823. command does not take any path arguments.
  21824. Note that Google Drive takes some time (minutes to days) to empty the
  21825. trash even though the command returns within a few seconds. No output is
  21826. echoed, so there will be no confirmation even using -v or -vv.
  21827. Quota information
  21828. To view your current quota you can use the rclone about remote: command
  21829. which will display your usage limit (quota), the usage in Google Drive,
  21830. the size of all files in the Trash and the space used by other Google
  21831. services such as Gmail. This command does not take any path arguments.
  21832. Import/Export of google documents
  21833. Google documents can be exported from and uploaded to Google Drive.
  21834. When rclone downloads a Google doc it chooses a format to download
  21835. depending upon the --drive-export-formats setting. By default the export
  21836. formats are docx,xlsx,pptx,svg which are a sensible default for an
  21837. editable document.
  21838. When choosing a format, rclone runs down the list provided in order and
  21839. chooses the first file format the doc can be exported as from the list.
  21840. If the file can't be exported to a format on the formats list, then
  21841. rclone will choose a format from the default list.
  21842. If you prefer an archive copy then you might use
  21843. --drive-export-formats pdf, or if you prefer openoffice/libreoffice
  21844. formats you might use --drive-export-formats ods,odt,odp.
  21845. Note that rclone adds the extension to the google doc, so if it is
  21846. called My Spreadsheet on google docs, it will be exported as
  21847. My Spreadsheet.xlsx or My Spreadsheet.pdf etc.
  21848. When importing files into Google Drive, rclone will convert all files
  21849. with an extension in --drive-import-formats to their associated document
  21850. type. rclone will not convert any files by default, since the conversion
  21851. is lossy process.
  21852. The conversion must result in a file with the same extension when the
  21853. --drive-export-formats rules are applied to the uploaded document.
  21854. Here are some examples for allowed and prohibited conversions.
  21855. export-formats import-formats Upload Ext Document Ext Allowed
  21856. ---------------- ---------------- ------------ -------------- ---------
  21857. odt odt odt odt Yes
  21858. odt docx,odt odt odt Yes
  21859. docx docx docx Yes
  21860. odt odt docx No
  21861. odt,docx docx,odt docx odt No
  21862. docx,odt docx,odt docx docx Yes
  21863. docx,odt docx,odt odt docx No
  21864. This limitation can be disabled by specifying
  21865. --drive-allow-import-name-change. When using this flag, rclone can
  21866. convert multiple files types resulting in the same document type at
  21867. once, e.g. with --drive-import-formats docx,odt,txt, all files having
  21868. these extension would result in a document represented as a docx file.
  21869. This brings the additional risk of overwriting a document, if multiple
  21870. files have the same stem. Many rclone operations will not handle this
  21871. name change in any way. They assume an equal name when copying files and
  21872. might copy the file again or delete them when the name changes.
  21873. Here are the possible export extensions with their corresponding mime
  21874. types. Most of these can also be used for importing, but there more that
  21875. are not listed here. Some of these additional ones might only be
  21876. available when the operating system provides the correct MIME type
  21877. entries.
  21878. This list can be changed by Google Drive at any time and might not
  21879. represent the currently available conversions.
  21880. --------------------------------------------------------------------------------------------------------------------------
  21881. Extension Mime Type Description
  21882. ------------------- --------------------------------------------------------------------------- --------------------------
  21883. bmp image/bmp Windows Bitmap format
  21884. csv text/csv Standard CSV format for
  21885. Spreadsheets
  21886. doc application/msword Classic Word file
  21887. docx application/vnd.openxmlformats-officedocument.wordprocessingml.document Microsoft Office Document
  21888. epub application/epub+zip E-book format
  21889. html text/html An HTML Document
  21890. jpg image/jpeg A JPEG Image File
  21891. json application/vnd.google-apps.script+json JSON Text Format for
  21892. Google Apps scripts
  21893. odp application/vnd.oasis.opendocument.presentation Openoffice Presentation
  21894. ods application/vnd.oasis.opendocument.spreadsheet Openoffice Spreadsheet
  21895. ods application/x-vnd.oasis.opendocument.spreadsheet Openoffice Spreadsheet
  21896. odt application/vnd.oasis.opendocument.text Openoffice Document
  21897. pdf application/pdf Adobe PDF Format
  21898. pjpeg image/pjpeg Progressive JPEG Image
  21899. png image/png PNG Image Format
  21900. pptx application/vnd.openxmlformats-officedocument.presentationml.presentation Microsoft Office
  21901. Powerpoint
  21902. rtf application/rtf Rich Text Format
  21903. svg image/svg+xml Scalable Vector Graphics
  21904. Format
  21905. tsv text/tab-separated-values Standard TSV format for
  21906. spreadsheets
  21907. txt text/plain Plain Text
  21908. wmf application/x-msmetafile Windows Meta File
  21909. xls application/vnd.ms-excel Classic Excel file
  21910. xlsx application/vnd.openxmlformats-officedocument.spreadsheetml.sheet Microsoft Office
  21911. Spreadsheet
  21912. zip application/zip A ZIP file of HTML, Images
  21913. CSS
  21914. --------------------------------------------------------------------------------------------------------------------------
  21915. Google documents can also be exported as link files. These files will
  21916. open a browser window for the Google Docs website of that document when
  21917. opened. The link file extension has to be specified as a
  21918. --drive-export-formats parameter. They will match all available Google
  21919. Documents.
  21920. Extension Description OS Support
  21921. ----------- ----------------------------------------- ----------------
  21922. desktop freedesktop.org specified desktop entry Linux
  21923. link.html An HTML Document with a redirect All
  21924. url INI style link file macOS, Windows
  21925. webloc macOS specific XML format macOS
  21926. Standard options
  21927. Here are the Standard options specific to drive (Google Drive).
  21928. --drive-client-id
  21929. Google Application Client Id Setting your own is recommended. See
  21930. https://rclone.org/drive/#making-your-own-client-id for how to create
  21931. your own. If you leave this blank, it will use an internal key which is
  21932. low performance.
  21933. Properties:
  21934. - Config: client_id
  21935. - Env Var: RCLONE_DRIVE_CLIENT_ID
  21936. - Type: string
  21937. - Required: false
  21938. --drive-client-secret
  21939. OAuth Client Secret.
  21940. Leave blank normally.
  21941. Properties:
  21942. - Config: client_secret
  21943. - Env Var: RCLONE_DRIVE_CLIENT_SECRET
  21944. - Type: string
  21945. - Required: false
  21946. --drive-scope
  21947. Scope that rclone should use when requesting access from drive.
  21948. Properties:
  21949. - Config: scope
  21950. - Env Var: RCLONE_DRIVE_SCOPE
  21951. - Type: string
  21952. - Required: false
  21953. - Examples:
  21954. - "drive"
  21955. - Full access all files, excluding Application Data Folder.
  21956. - "drive.readonly"
  21957. - Read-only access to file metadata and file contents.
  21958. - "drive.file"
  21959. - Access to files created by rclone only.
  21960. - These are visible in the drive website.
  21961. - File authorization is revoked when the user deauthorizes the
  21962. app.
  21963. - "drive.appfolder"
  21964. - Allows read and write access to the Application Data folder.
  21965. - This is not visible in the drive website.
  21966. - "drive.metadata.readonly"
  21967. - Allows read-only access to file metadata but
  21968. - does not allow any access to read or download file content.
  21969. --drive-service-account-file
  21970. Service Account Credentials JSON file path.
  21971. Leave blank normally. Needed only if you want use SA instead of
  21972. interactive login.
  21973. Leading ~ will be expanded in the file name as will environment
  21974. variables such as ${RCLONE_CONFIG_DIR}.
  21975. Properties:
  21976. - Config: service_account_file
  21977. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
  21978. - Type: string
  21979. - Required: false
  21980. --drive-alternate-export
  21981. Deprecated: No longer needed.
  21982. Properties:
  21983. - Config: alternate_export
  21984. - Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT
  21985. - Type: bool
  21986. - Default: false
  21987. Advanced options
  21988. Here are the Advanced options specific to drive (Google Drive).
  21989. --drive-token
  21990. OAuth Access Token as a JSON blob.
  21991. Properties:
  21992. - Config: token
  21993. - Env Var: RCLONE_DRIVE_TOKEN
  21994. - Type: string
  21995. - Required: false
  21996. --drive-auth-url
  21997. Auth server URL.
  21998. Leave blank to use the provider defaults.
  21999. Properties:
  22000. - Config: auth_url
  22001. - Env Var: RCLONE_DRIVE_AUTH_URL
  22002. - Type: string
  22003. - Required: false
  22004. --drive-token-url
  22005. Token server url.
  22006. Leave blank to use the provider defaults.
  22007. Properties:
  22008. - Config: token_url
  22009. - Env Var: RCLONE_DRIVE_TOKEN_URL
  22010. - Type: string
  22011. - Required: false
  22012. --drive-root-folder-id
  22013. ID of the root folder. Leave blank normally.
  22014. Fill in to access "Computers" folders (see docs), or for rclone to use a
  22015. non root folder as its starting point.
  22016. Properties:
  22017. - Config: root_folder_id
  22018. - Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID
  22019. - Type: string
  22020. - Required: false
  22021. --drive-service-account-credentials
  22022. Service Account Credentials JSON blob.
  22023. Leave blank normally. Needed only if you want use SA instead of
  22024. interactive login.
  22025. Properties:
  22026. - Config: service_account_credentials
  22027. - Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
  22028. - Type: string
  22029. - Required: false
  22030. --drive-team-drive
  22031. ID of the Shared Drive (Team Drive).
  22032. Properties:
  22033. - Config: team_drive
  22034. - Env Var: RCLONE_DRIVE_TEAM_DRIVE
  22035. - Type: string
  22036. - Required: false
  22037. --drive-auth-owner-only
  22038. Only consider files owned by the authenticated user.
  22039. Properties:
  22040. - Config: auth_owner_only
  22041. - Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY
  22042. - Type: bool
  22043. - Default: false
  22044. --drive-use-trash
  22045. Send files to the trash instead of deleting permanently.
  22046. Defaults to true, namely sending files to the trash. Use
  22047. --drive-use-trash=false to delete files permanently instead.
  22048. Properties:
  22049. - Config: use_trash
  22050. - Env Var: RCLONE_DRIVE_USE_TRASH
  22051. - Type: bool
  22052. - Default: true
  22053. --drive-copy-shortcut-content
  22054. Server side copy contents of shortcuts instead of the shortcut.
  22055. When doing server side copies, normally rclone will copy shortcuts as
  22056. shortcuts.
  22057. If this flag is used then rclone will copy the contents of shortcuts
  22058. rather than shortcuts themselves when doing server side copies.
  22059. Properties:
  22060. - Config: copy_shortcut_content
  22061. - Env Var: RCLONE_DRIVE_COPY_SHORTCUT_CONTENT
  22062. - Type: bool
  22063. - Default: false
  22064. --drive-skip-gdocs
  22065. Skip google documents in all listings.
  22066. If given, gdocs practically become invisible to rclone.
  22067. Properties:
  22068. - Config: skip_gdocs
  22069. - Env Var: RCLONE_DRIVE_SKIP_GDOCS
  22070. - Type: bool
  22071. - Default: false
  22072. --drive-skip-checksum-gphotos
  22073. Skip MD5 checksum on Google photos and videos only.
  22074. Use this if you get checksum errors when transferring Google photos or
  22075. videos.
  22076. Setting this flag will cause Google photos and videos to return a blank
  22077. MD5 checksum.
  22078. Google photos are identified by being in the "photos" space.
  22079. Corrupted checksums are caused by Google modifying the image/video but
  22080. not updating the checksum.
  22081. Properties:
  22082. - Config: skip_checksum_gphotos
  22083. - Env Var: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS
  22084. - Type: bool
  22085. - Default: false
  22086. --drive-shared-with-me
  22087. Only show files that are shared with me.
  22088. Instructs rclone to operate on your "Shared with me" folder (where
  22089. Google Drive lets you access the files and folders others have shared
  22090. with you).
  22091. This works both with the "list" (lsd, lsl, etc.) and the "copy" commands
  22092. (copy, sync, etc.), and with all other commands too.
  22093. Properties:
  22094. - Config: shared_with_me
  22095. - Env Var: RCLONE_DRIVE_SHARED_WITH_ME
  22096. - Type: bool
  22097. - Default: false
  22098. --drive-trashed-only
  22099. Only show files that are in the trash.
  22100. This will show trashed files in their original directory structure.
  22101. Properties:
  22102. - Config: trashed_only
  22103. - Env Var: RCLONE_DRIVE_TRASHED_ONLY
  22104. - Type: bool
  22105. - Default: false
  22106. --drive-starred-only
  22107. Only show files that are starred.
  22108. Properties:
  22109. - Config: starred_only
  22110. - Env Var: RCLONE_DRIVE_STARRED_ONLY
  22111. - Type: bool
  22112. - Default: false
  22113. --drive-formats
  22114. Deprecated: See export_formats.
  22115. Properties:
  22116. - Config: formats
  22117. - Env Var: RCLONE_DRIVE_FORMATS
  22118. - Type: string
  22119. - Required: false
  22120. --drive-export-formats
  22121. Comma separated list of preferred formats for downloading Google docs.
  22122. Properties:
  22123. - Config: export_formats
  22124. - Env Var: RCLONE_DRIVE_EXPORT_FORMATS
  22125. - Type: string
  22126. - Default: "docx,xlsx,pptx,svg"
  22127. --drive-import-formats
  22128. Comma separated list of preferred formats for uploading Google docs.
  22129. Properties:
  22130. - Config: import_formats
  22131. - Env Var: RCLONE_DRIVE_IMPORT_FORMATS
  22132. - Type: string
  22133. - Required: false
  22134. --drive-allow-import-name-change
  22135. Allow the filetype to change when uploading Google docs.
  22136. E.g. file.doc to file.docx. This will confuse sync and reupload every
  22137. time.
  22138. Properties:
  22139. - Config: allow_import_name_change
  22140. - Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
  22141. - Type: bool
  22142. - Default: false
  22143. --drive-use-created-date
  22144. Use file created date instead of modified date.
  22145. Useful when downloading data and you want the creation date used in
  22146. place of the last modified date.
  22147. WARNING: This flag may have some unexpected consequences.
  22148. When uploading to your drive all files will be overwritten unless they
  22149. haven't been modified since their creation. And the inverse will occur
  22150. while downloading. This side effect can be avoided by using the
  22151. "--checksum" flag.
  22152. This feature was implemented to retain photos capture date as recorded
  22153. by google photos. You will first need to check the "Create a Google
  22154. Photos folder" option in your google drive settings. You can then copy
  22155. or move the photos locally and use the date the image was taken
  22156. (created) set as the modification date.
  22157. Properties:
  22158. - Config: use_created_date
  22159. - Env Var: RCLONE_DRIVE_USE_CREATED_DATE
  22160. - Type: bool
  22161. - Default: false
  22162. --drive-use-shared-date
  22163. Use date file was shared instead of modified date.
  22164. Note that, as with "--drive-use-created-date", this flag may have
  22165. unexpected consequences when uploading/downloading files.
  22166. If both this flag and "--drive-use-created-date" are set, the created
  22167. date is used.
  22168. Properties:
  22169. - Config: use_shared_date
  22170. - Env Var: RCLONE_DRIVE_USE_SHARED_DATE
  22171. - Type: bool
  22172. - Default: false
  22173. --drive-list-chunk
  22174. Size of listing chunk 100-1000, 0 to disable.
  22175. Properties:
  22176. - Config: list_chunk
  22177. - Env Var: RCLONE_DRIVE_LIST_CHUNK
  22178. - Type: int
  22179. - Default: 1000
  22180. --drive-impersonate
  22181. Impersonate this user when using a service account.
  22182. Properties:
  22183. - Config: impersonate
  22184. - Env Var: RCLONE_DRIVE_IMPERSONATE
  22185. - Type: string
  22186. - Required: false
  22187. --drive-upload-cutoff
  22188. Cutoff for switching to chunked upload.
  22189. Properties:
  22190. - Config: upload_cutoff
  22191. - Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF
  22192. - Type: SizeSuffix
  22193. - Default: 8Mi
  22194. --drive-chunk-size
  22195. Upload chunk size.
  22196. Must a power of 2 >= 256k.
  22197. Making this larger will improve performance, but note that each chunk is
  22198. buffered in memory one per transfer.
  22199. Reducing this will reduce memory usage but decrease performance.
  22200. Properties:
  22201. - Config: chunk_size
  22202. - Env Var: RCLONE_DRIVE_CHUNK_SIZE
  22203. - Type: SizeSuffix
  22204. - Default: 8Mi
  22205. --drive-acknowledge-abuse
  22206. Set to allow files which return cannotDownloadAbusiveFile to be
  22207. downloaded.
  22208. If downloading a file returns the error "This file has been identified
  22209. as malware or spam and cannot be downloaded" with the error code
  22210. "cannotDownloadAbusiveFile" then supply this flag to rclone to indicate
  22211. you acknowledge the risks of downloading the file and rclone will
  22212. download it anyway.
  22213. Note that if you are using service account it will need Manager
  22214. permission (not Content Manager) to for this flag to work. If the SA
  22215. does not have the right permission, Google will just ignore the flag.
  22216. Properties:
  22217. - Config: acknowledge_abuse
  22218. - Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
  22219. - Type: bool
  22220. - Default: false
  22221. --drive-keep-revision-forever
  22222. Keep new head revision of each file forever.
  22223. Properties:
  22224. - Config: keep_revision_forever
  22225. - Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER
  22226. - Type: bool
  22227. - Default: false
  22228. --drive-size-as-quota
  22229. Show sizes as storage quota usage, not actual size.
  22230. Show the size of a file as the storage quota used. This is the current
  22231. version plus any older versions that have been set to keep forever.
  22232. WARNING: This flag may have some unexpected consequences.
  22233. It is not recommended to set this flag in your config - the recommended
  22234. usage is using the flag form --drive-size-as-quota when doing rclone
  22235. ls/lsl/lsf/lsjson/etc only.
  22236. If you do use this flag for syncing (not recommended) then you will need
  22237. to use --ignore size also.
  22238. Properties:
  22239. - Config: size_as_quota
  22240. - Env Var: RCLONE_DRIVE_SIZE_AS_QUOTA
  22241. - Type: bool
  22242. - Default: false
  22243. --drive-v2-download-min-size
  22244. If Object's are greater, use drive v2 API to download.
  22245. Properties:
  22246. - Config: v2_download_min_size
  22247. - Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
  22248. - Type: SizeSuffix
  22249. - Default: off
  22250. --drive-pacer-min-sleep
  22251. Minimum time to sleep between API calls.
  22252. Properties:
  22253. - Config: pacer_min_sleep
  22254. - Env Var: RCLONE_DRIVE_PACER_MIN_SLEEP
  22255. - Type: Duration
  22256. - Default: 100ms
  22257. --drive-pacer-burst
  22258. Number of API calls to allow without sleeping.
  22259. Properties:
  22260. - Config: pacer_burst
  22261. - Env Var: RCLONE_DRIVE_PACER_BURST
  22262. - Type: int
  22263. - Default: 100
  22264. --drive-server-side-across-configs
  22265. Deprecated: use --server-side-across-configs instead.
  22266. Allow server-side operations (e.g. copy) to work across different drive
  22267. configs.
  22268. This can be useful if you wish to do a server-side copy between two
  22269. different Google drives. Note that this isn't enabled by default because
  22270. it isn't easy to tell if it will work between any two configurations.
  22271. Properties:
  22272. - Config: server_side_across_configs
  22273. - Env Var: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS
  22274. - Type: bool
  22275. - Default: false
  22276. --drive-disable-http2
  22277. Disable drive using http2.
  22278. There is currently an unsolved issue with the google drive backend and
  22279. HTTP/2. HTTP/2 is therefore disabled by default for the drive backend
  22280. but can be re-enabled here. When the issue is solved this flag will be
  22281. removed.
  22282. See: https://github.com/rclone/rclone/issues/3631
  22283. Properties:
  22284. - Config: disable_http2
  22285. - Env Var: RCLONE_DRIVE_DISABLE_HTTP2
  22286. - Type: bool
  22287. - Default: true
  22288. --drive-stop-on-upload-limit
  22289. Make upload limit errors be fatal.
  22290. At the time of writing it is only possible to upload 750 GiB of data to
  22291. Google Drive a day (this is an undocumented limit). When this limit is
  22292. reached Google Drive produces a slightly different error message. When
  22293. this flag is set it causes these errors to be fatal. These will stop the
  22294. in-progress sync.
  22295. Note that this detection is relying on error message strings which
  22296. Google don't document so it may break in the future.
  22297. See: https://github.com/rclone/rclone/issues/3857
  22298. Properties:
  22299. - Config: stop_on_upload_limit
  22300. - Env Var: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT
  22301. - Type: bool
  22302. - Default: false
  22303. --drive-stop-on-download-limit
  22304. Make download limit errors be fatal.
  22305. At the time of writing it is only possible to download 10 TiB of data
  22306. from Google Drive a day (this is an undocumented limit). When this limit
  22307. is reached Google Drive produces a slightly different error message.
  22308. When this flag is set it causes these errors to be fatal. These will
  22309. stop the in-progress sync.
  22310. Note that this detection is relying on error message strings which
  22311. Google don't document so it may break in the future.
  22312. Properties:
  22313. - Config: stop_on_download_limit
  22314. - Env Var: RCLONE_DRIVE_STOP_ON_DOWNLOAD_LIMIT
  22315. - Type: bool
  22316. - Default: false
  22317. --drive-skip-shortcuts
  22318. If set skip shortcut files.
  22319. Normally rclone dereferences shortcut files making them appear as if
  22320. they are the original file (see the shortcuts section). If this flag is
  22321. set then rclone will ignore shortcut files completely.
  22322. Properties:
  22323. - Config: skip_shortcuts
  22324. - Env Var: RCLONE_DRIVE_SKIP_SHORTCUTS
  22325. - Type: bool
  22326. - Default: false
  22327. --drive-skip-dangling-shortcuts
  22328. If set skip dangling shortcut files.
  22329. If this is set then rclone will not show any dangling shortcuts in
  22330. listings.
  22331. Properties:
  22332. - Config: skip_dangling_shortcuts
  22333. - Env Var: RCLONE_DRIVE_SKIP_DANGLING_SHORTCUTS
  22334. - Type: bool
  22335. - Default: false
  22336. --drive-resource-key
  22337. Resource key for accessing a link-shared file.
  22338. If you need to access files shared with a link like this
  22339. https://drive.google.com/drive/folders/XXX?resourcekey=YYY&usp=sharing
  22340. Then you will need to use the first part "XXX" as the "root_folder_id"
  22341. and the second part "YYY" as the "resource_key" otherwise you will get
  22342. 404 not found errors when trying to access the directory.
  22343. See: https://developers.google.com/drive/api/guides/resource-keys
  22344. This resource key requirement only applies to a subset of old files.
  22345. Note also that opening the folder once in the web interface (with the
  22346. user you've authenticated rclone with) seems to be enough so that the
  22347. resource key is no needed.
  22348. Properties:
  22349. - Config: resource_key
  22350. - Env Var: RCLONE_DRIVE_RESOURCE_KEY
  22351. - Type: string
  22352. - Required: false
  22353. --drive-encoding
  22354. The encoding for the backend.
  22355. See the encoding section in the overview for more info.
  22356. Properties:
  22357. - Config: encoding
  22358. - Env Var: RCLONE_DRIVE_ENCODING
  22359. - Type: MultiEncoder
  22360. - Default: InvalidUtf8
  22361. --drive-env-auth
  22362. Get IAM credentials from runtime (environment variables or instance meta
  22363. data if no env vars).
  22364. Only applies if service_account_file and service_account_credentials is
  22365. blank.
  22366. Properties:
  22367. - Config: env_auth
  22368. - Env Var: RCLONE_DRIVE_ENV_AUTH
  22369. - Type: bool
  22370. - Default: false
  22371. - Examples:
  22372. - "false"
  22373. - Enter credentials in the next step.
  22374. - "true"
  22375. - Get GCP IAM credentials from the environment (env vars or
  22376. IAM).
  22377. Backend commands
  22378. Here are the commands specific to the drive backend.
  22379. Run them with
  22380. rclone backend COMMAND remote:
  22381. The help below will explain what arguments each command takes.
  22382. See the backend command for more info on how to pass options and
  22383. arguments.
  22384. These can be run on a running backend using the rc command
  22385. backend/command.
  22386. get
  22387. Get command for fetching the drive config parameters
  22388. rclone backend get remote: [options] [<arguments>+]
  22389. This is a get command which will be used to fetch the various drive
  22390. config parameters
  22391. Usage Examples:
  22392. rclone backend get drive: [-o service_account_file] [-o chunk_size]
  22393. rclone rc backend/command command=get fs=drive: [-o service_account_file] [-o chunk_size]
  22394. Options:
  22395. - "chunk_size": show the current upload chunk size
  22396. - "service_account_file": show the current service account file
  22397. set
  22398. Set command for updating the drive config parameters
  22399. rclone backend set remote: [options] [<arguments>+]
  22400. This is a set command which will be used to update the various drive
  22401. config parameters
  22402. Usage Examples:
  22403. rclone backend set drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
  22404. rclone rc backend/command command=set fs=drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
  22405. Options:
  22406. - "chunk_size": update the current upload chunk size
  22407. - "service_account_file": update the current service account file
  22408. shortcut
  22409. Create shortcuts from files or directories
  22410. rclone backend shortcut remote: [options] [<arguments>+]
  22411. This command creates shortcuts from files or directories.
  22412. Usage:
  22413. rclone backend shortcut drive: source_item destination_shortcut
  22414. rclone backend shortcut drive: source_item -o target=drive2: destination_shortcut
  22415. In the first example this creates a shortcut from the "source_item"
  22416. which can be a file or a directory to the "destination_shortcut". The
  22417. "source_item" and the "destination_shortcut" should be relative paths
  22418. from "drive:"
  22419. In the second example this creates a shortcut from the "source_item"
  22420. relative to "drive:" to the "destination_shortcut" relative to
  22421. "drive2:". This may fail with a permission error if the user
  22422. authenticated with "drive2:" can't read files from "drive:".
  22423. Options:
  22424. - "target": optional target remote for the shortcut destination
  22425. drives
  22426. List the Shared Drives available to this account
  22427. rclone backend drives remote: [options] [<arguments>+]
  22428. This command lists the Shared Drives (Team Drives) available to this
  22429. account.
  22430. Usage:
  22431. rclone backend [-o config] drives drive:
  22432. This will return a JSON list of objects like this
  22433. [
  22434. {
  22435. "id": "0ABCDEF-01234567890",
  22436. "kind": "drive#teamDrive",
  22437. "name": "My Drive"
  22438. },
  22439. {
  22440. "id": "0ABCDEFabcdefghijkl",
  22441. "kind": "drive#teamDrive",
  22442. "name": "Test Drive"
  22443. }
  22444. ]
  22445. With the -o config parameter it will output the list in a format
  22446. suitable for adding to a config file to make aliases for all the drives
  22447. found and a combined drive.
  22448. [My Drive]
  22449. type = alias
  22450. remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=:
  22451. [Test Drive]
  22452. type = alias
  22453. remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=:
  22454. [AllDrives]
  22455. type = combine
  22456. upstreams = "My Drive=My Drive:" "Test Drive=Test Drive:"
  22457. Adding this to the rclone config file will cause those team drives to be
  22458. accessible with the aliases shown. Any illegal characters will be
  22459. substituted with "_" and duplicate names will have numbers suffixed. It
  22460. will also add a remote called AllDrives which shows all the shared
  22461. drives combined into one directory tree.
  22462. untrash
  22463. Untrash files and directories
  22464. rclone backend untrash remote: [options] [<arguments>+]
  22465. This command untrashes all the files and directories in the directory
  22466. passed in recursively.
  22467. Usage:
  22468. This takes an optional directory to trash which make this easier to use
  22469. via the API.
  22470. rclone backend untrash drive:directory
  22471. rclone backend --interactive untrash drive:directory subdir
  22472. Use the --interactive/-i or --dry-run flag to see what would be restored
  22473. before restoring it.
  22474. Result:
  22475. {
  22476. "Untrashed": 17,
  22477. "Errors": 0
  22478. }
  22479. copyid
  22480. Copy files by ID
  22481. rclone backend copyid remote: [options] [<arguments>+]
  22482. This command copies files by ID
  22483. Usage:
  22484. rclone backend copyid drive: ID path
  22485. rclone backend copyid drive: ID1 path1 ID2 path2
  22486. It copies the drive file with ID given to the path (an rclone path which
  22487. will be passed internally to rclone copyto). The ID and path pairs can
  22488. be repeated.
  22489. The path should end with a / to indicate copy the file as named to this
  22490. directory. If it doesn't end with a / then the last path component will
  22491. be used as the file name.
  22492. If the destination is a drive backend then server-side copying will be
  22493. attempted if possible.
  22494. Use the --interactive/-i or --dry-run flag to see what would be copied
  22495. before copying.
  22496. exportformats
  22497. Dump the export formats for debug purposes
  22498. rclone backend exportformats remote: [options] [<arguments>+]
  22499. importformats
  22500. Dump the import formats for debug purposes
  22501. rclone backend importformats remote: [options] [<arguments>+]
  22502. Limitations
  22503. Drive has quite a lot of rate limiting. This causes rclone to be limited
  22504. to transferring about 2 files per second only. Individual files may be
  22505. transferred much faster at 100s of MiB/s but lots of small files can
  22506. take a long time.
  22507. Server side copies are also subject to a separate rate limit. If you see
  22508. User rate limit exceeded errors, wait at least 24 hours and retry. You
  22509. can disable server-side copies with --disable copy to download and
  22510. upload the files if you prefer.
  22511. Limitations of Google Docs
  22512. Google docs will appear as size -1 in rclone ls, rclone ncdu etc, and as
  22513. size 0 in anything which uses the VFS layer, e.g. rclone mount and
  22514. rclone serve. When calculating directory totals, e.g. in rclone size and
  22515. rclone ncdu, they will be counted in as empty files.
  22516. This is because rclone can't find out the size of the Google docs
  22517. without downloading them.
  22518. Google docs will transfer correctly with rclone sync, rclone copy etc as
  22519. rclone knows to ignore the size when doing the transfer.
  22520. However an unfortunate consequence of this is that you may not be able
  22521. to download Google docs using rclone mount. If it doesn't work you will
  22522. get a 0 sized file. If you try again the doc may gain its correct size
  22523. and be downloadable. Whether it will work on not depends on the
  22524. application accessing the mount and the OS you are running - experiment
  22525. to find out if it does work for you!
  22526. Duplicated files
  22527. Sometimes, for no reason I've been able to track down, drive will
  22528. duplicate a file that rclone uploads. Drive unlike all the other remotes
  22529. can have duplicated files.
  22530. Duplicated files cause problems with the syncing and you will see
  22531. messages in the log about duplicates.
  22532. Use rclone dedupe to fix duplicated files.
  22533. Note that this isn't just a problem with rclone, even Google Photos on
  22534. Android duplicates files on drive sometimes.
  22535. Rclone appears to be re-copying files it shouldn't
  22536. The most likely cause of this is the duplicated file issue above - run
  22537. rclone dedupe and check your logs for duplicate object or directory
  22538. messages.
  22539. This can also be caused by a delay/caching on google drive's end when
  22540. comparing directory listings. Specifically with team drives used in
  22541. combination with --fast-list. Files that were uploaded recently may not
  22542. appear on the directory list sent to rclone when using --fast-list.
  22543. Waiting a moderate period of time between attempts (estimated to be
  22544. approximately 1 hour) and/or not using --fast-list both seem to be
  22545. effective in preventing the problem.
  22546. Making your own client_id
  22547. When you use rclone with Google drive in its default configuration you
  22548. are using rclone's client_id. This is shared between all the rclone
  22549. users. There is a global rate limit on the number of queries per second
  22550. that each client_id can do set by Google. rclone already has a high
  22551. quota and I will continue to make sure it is high enough by contacting
  22552. Google.
  22553. It is strongly recommended to use your own client ID as the default
  22554. rclone ID is heavily used. If you have multiple services running, it is
  22555. recommended to use an API key for each service. The default Google quota
  22556. is 10 transactions per second so it is recommended to stay under that
  22557. number as if you use more than that, it will cause rclone to rate limit
  22558. and make things slower.
  22559. Here is how to create your own Google Drive client ID for rclone:
  22560. 1. Log into the Google API Console with your Google account. It doesn't
  22561. matter what Google account you use. (It need not be the same account
  22562. as the Google Drive you want to access)
  22563. 2. Select a project or create a new project.
  22564. 3. Under "ENABLE APIS AND SERVICES" search for "Drive", and enable the
  22565. "Google Drive API".
  22566. 4. Click "Credentials" in the left-side panel (not "Create
  22567. credentials", which opens the wizard), then "Create credentials"
  22568. 5. If you already configured an "Oauth Consent Screen", then skip to
  22569. the next step; if not, click on "CONFIGURE CONSENT SCREEN" button
  22570. (near the top right corner of the right panel), then select
  22571. "External" and click on "CREATE"; on the next screen, enter an
  22572. "Application name" ("rclone" is OK); enter "User Support Email"
  22573. (your own email is OK); enter "Developer Contact Email" (your own
  22574. email is OK); then click on "Save" (all other data is optional). You
  22575. will also have to add some scopes, including .../auth/docs and
  22576. .../auth/drive in order to be able to edit, create and delete files
  22577. with RClone. You may also want to include the
  22578. ../auth/drive.metadata.readonly scope. After adding scopes, click
  22579. "Save and continue" to add test users. Be sure to add your own
  22580. account to the test users. Once you've added yourself as a test user
  22581. and saved the changes, click again on "Credentials" on the left
  22582. panel to go back to the "Credentials" screen.
  22583. (PS: if you are a GSuite user, you could also select "Internal"
  22584. instead of "External" above, but this will restrict API use to
  22585. Google Workspace users in your organisation).
  22586. 6. Click on the "+ CREATE CREDENTIALS" button at the top of the screen,
  22587. then select "OAuth client ID".
  22588. 7. Choose an application type of "Desktop app" and click "Create". (the
  22589. default name is fine)
  22590. 8. It will show you a client ID and client secret. Make a note of
  22591. these.
  22592. (If you selected "External" at Step 5 continue to Step 9. If you
  22593. chose "Internal" you don't need to publish and can skip straight to
  22594. Step 10 but your destination drive must be part of the same Google
  22595. Workspace.)
  22596. 9. Go to "Oauth consent screen" and then click "PUBLISH APP" button and
  22597. confirm. You will also want to add yourself as a test user.
  22598. 10. Provide the noted client ID and client secret to rclone.
  22599. Be aware that, due to the "enhanced security" recently introduced by
  22600. Google, you are theoretically expected to "submit your app for
  22601. verification" and then wait a few weeks(!) for their response; in
  22602. practice, you can go right ahead and use the client ID and client secret
  22603. with rclone, the only issue will be a very scary confirmation screen
  22604. shown when you connect via your browser for rclone to be able to get its
  22605. token-id (but as this only happens during the remote configuration, it's
  22606. not such a big deal). Keeping the application in "Testing" will work as
  22607. well, but the limitation is that any grants will expire after a week,
  22608. which can be annoying to refresh constantly. If, for whatever reason, a
  22609. short grant time is not a problem, then keeping the application in
  22610. testing mode would also be sufficient.
  22611. (Thanks to @balazer on github for these instructions.)
  22612. Sometimes, creation of an OAuth consent in Google API Console fails due
  22613. to an error message “The request failed because changes to one of the
  22614. field of the resource is not supported”. As a convenient workaround, the
  22615. necessary Google Drive API key can be created on the Python Quickstart
  22616. page. Just push the Enable the Drive API button to receive the Client ID
  22617. and Secret. Note that it will automatically create a new project in the
  22618. API Console.
  22619. Google Photos
  22620. The rclone backend for Google Photos is a specialized backend for
  22621. transferring photos and videos to and from Google Photos.
  22622. NB The Google Photos API which rclone uses has quite a few limitations,
  22623. so please read the limitations section carefully to make sure it is
  22624. suitable for your use.
  22625. Configuration
  22626. The initial setup for google cloud storage involves getting a token from
  22627. Google Photos which you need to do in your browser. rclone config walks
  22628. you through it.
  22629. Here is an example of how to make a remote called remote. First run:
  22630. rclone config
  22631. This will guide you through an interactive setup process:
  22632. No remotes found, make a new one?
  22633. n) New remote
  22634. s) Set configuration password
  22635. q) Quit config
  22636. n/s/q> n
  22637. name> remote
  22638. Type of storage to configure.
  22639. Enter a string value. Press Enter for the default ("").
  22640. Choose a number from below, or type in your own value
  22641. [snip]
  22642. XX / Google Photos
  22643. \ "google photos"
  22644. [snip]
  22645. Storage> google photos
  22646. ** See help for google photos backend at: https://rclone.org/googlephotos/ **
  22647. Google Application Client Id
  22648. Leave blank normally.
  22649. Enter a string value. Press Enter for the default ("").
  22650. client_id>
  22651. Google Application Client Secret
  22652. Leave blank normally.
  22653. Enter a string value. Press Enter for the default ("").
  22654. client_secret>
  22655. Set to make the Google Photos backend read only.
  22656. If you choose read only then rclone will only request read only access
  22657. to your photos, otherwise rclone will request full access.
  22658. Enter a boolean value (true or false). Press Enter for the default ("false").
  22659. read_only>
  22660. Edit advanced config? (y/n)
  22661. y) Yes
  22662. n) No
  22663. y/n> n
  22664. Remote config
  22665. Use web browser to automatically authenticate rclone with remote?
  22666. * Say Y if the machine running rclone has a web browser you can use
  22667. * Say N if running rclone on a (remote) machine without web browser access
  22668. If not sure try Y. If Y failed, try N.
  22669. y) Yes
  22670. n) No
  22671. y/n> y
  22672. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  22673. Log in and authorize rclone for access
  22674. Waiting for code...
  22675. Got code
  22676. *** IMPORTANT: All media items uploaded to Google Photos with rclone
  22677. *** are stored in full resolution at original quality. These uploads
  22678. *** will count towards storage in your Google Account.
  22679. --------------------
  22680. [remote]
  22681. type = google photos
  22682. token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2019-06-28T17:38:04.644930156+01:00"}
  22683. --------------------
  22684. y) Yes this is OK
  22685. e) Edit this remote
  22686. d) Delete this remote
  22687. y/e/d> y
  22688. See the remote setup docs for how to set it up on a machine with no
  22689. Internet browser available.
  22690. Note that rclone runs a webserver on your local machine to collect the
  22691. token as returned from Google if using web browser to automatically
  22692. authenticate. This only runs from the moment it opens your browser to
  22693. the moment you get back the verification code. This is on
  22694. http://127.0.0.1:53682/ and this may require you to unblock it
  22695. temporarily if you are running a host firewall, or use manual mode.
  22696. This remote is called remote and can now be used like this
  22697. See all the albums in your photos
  22698. rclone lsd remote:album
  22699. Make a new album
  22700. rclone mkdir remote:album/newAlbum
  22701. List the contents of an album
  22702. rclone ls remote:album/newAlbum
  22703. Sync /home/local/images to the Google Photos, removing any excess files
  22704. in the album.
  22705. rclone sync --interactive /home/local/image remote:album/newAlbum
  22706. Layout
  22707. As Google Photos is not a general purpose cloud storage system, the
  22708. backend is laid out to help you navigate it.
  22709. The directories under media show different ways of categorizing the
  22710. media. Each file will appear multiple times. So if you want to make a
  22711. backup of your google photos you might choose to backup
  22712. remote:media/by-month. (NB remote:media/by-day is rather slow at the
  22713. moment so avoid for syncing.)
  22714. Note that all your photos and videos will appear somewhere under media,
  22715. but they may not appear under album unless you've put them into albums.
  22716. /
  22717. - upload
  22718. - file1.jpg
  22719. - file2.jpg
  22720. - ...
  22721. - media
  22722. - all
  22723. - file1.jpg
  22724. - file2.jpg
  22725. - ...
  22726. - by-year
  22727. - 2000
  22728. - file1.jpg
  22729. - ...
  22730. - 2001
  22731. - file2.jpg
  22732. - ...
  22733. - ...
  22734. - by-month
  22735. - 2000
  22736. - 2000-01
  22737. - file1.jpg
  22738. - ...
  22739. - 2000-02
  22740. - file2.jpg
  22741. - ...
  22742. - ...
  22743. - by-day
  22744. - 2000
  22745. - 2000-01-01
  22746. - file1.jpg
  22747. - ...
  22748. - 2000-01-02
  22749. - file2.jpg
  22750. - ...
  22751. - ...
  22752. - album
  22753. - album name
  22754. - album name/sub
  22755. - shared-album
  22756. - album name
  22757. - album name/sub
  22758. - feature
  22759. - favorites
  22760. - file1.jpg
  22761. - file2.jpg
  22762. There are two writable parts of the tree, the upload directory and sub
  22763. directories of the album directory.
  22764. The upload directory is for uploading files you don't want to put into
  22765. albums. This will be empty to start with and will contain the files
  22766. you've uploaded for one rclone session only, becoming empty again when
  22767. you restart rclone. The use case for this would be if you have a load of
  22768. files you just want to once off dump into Google Photos. For repeated
  22769. syncing, uploading to album will work better.
  22770. Directories within the album directory are also writeable and you may
  22771. create new directories (albums) under album. If you copy files with a
  22772. directory hierarchy in there then rclone will create albums with the /
  22773. character in them. For example if you do
  22774. rclone copy /path/to/images remote:album/images
  22775. and the images directory contains
  22776. images
  22777. - file1.jpg
  22778. dir
  22779. file2.jpg
  22780. dir2
  22781. dir3
  22782. file3.jpg
  22783. Then rclone will create the following albums with the following files in
  22784. - images
  22785. - file1.jpg
  22786. - images/dir
  22787. - file2.jpg
  22788. - images/dir2/dir3
  22789. - file3.jpg
  22790. This means that you can use the album path pretty much like a normal
  22791. filesystem and it is a good target for repeated syncing.
  22792. The shared-album directory shows albums shared with you or by you. This
  22793. is similar to the Sharing tab in the Google Photos web interface.
  22794. Standard options
  22795. Here are the Standard options specific to google photos (Google Photos).
  22796. --gphotos-client-id
  22797. OAuth Client Id.
  22798. Leave blank normally.
  22799. Properties:
  22800. - Config: client_id
  22801. - Env Var: RCLONE_GPHOTOS_CLIENT_ID
  22802. - Type: string
  22803. - Required: false
  22804. --gphotos-client-secret
  22805. OAuth Client Secret.
  22806. Leave blank normally.
  22807. Properties:
  22808. - Config: client_secret
  22809. - Env Var: RCLONE_GPHOTOS_CLIENT_SECRET
  22810. - Type: string
  22811. - Required: false
  22812. --gphotos-read-only
  22813. Set to make the Google Photos backend read only.
  22814. If you choose read only then rclone will only request read only access
  22815. to your photos, otherwise rclone will request full access.
  22816. Properties:
  22817. - Config: read_only
  22818. - Env Var: RCLONE_GPHOTOS_READ_ONLY
  22819. - Type: bool
  22820. - Default: false
  22821. Advanced options
  22822. Here are the Advanced options specific to google photos (Google Photos).
  22823. --gphotos-token
  22824. OAuth Access Token as a JSON blob.
  22825. Properties:
  22826. - Config: token
  22827. - Env Var: RCLONE_GPHOTOS_TOKEN
  22828. - Type: string
  22829. - Required: false
  22830. --gphotos-auth-url
  22831. Auth server URL.
  22832. Leave blank to use the provider defaults.
  22833. Properties:
  22834. - Config: auth_url
  22835. - Env Var: RCLONE_GPHOTOS_AUTH_URL
  22836. - Type: string
  22837. - Required: false
  22838. --gphotos-token-url
  22839. Token server url.
  22840. Leave blank to use the provider defaults.
  22841. Properties:
  22842. - Config: token_url
  22843. - Env Var: RCLONE_GPHOTOS_TOKEN_URL
  22844. - Type: string
  22845. - Required: false
  22846. --gphotos-read-size
  22847. Set to read the size of media items.
  22848. Normally rclone does not read the size of media items since this takes
  22849. another transaction. This isn't necessary for syncing. However rclone
  22850. mount needs to know the size of files in advance of reading them, so
  22851. setting this flag when using rclone mount is recommended if you want to
  22852. read the media.
  22853. Properties:
  22854. - Config: read_size
  22855. - Env Var: RCLONE_GPHOTOS_READ_SIZE
  22856. - Type: bool
  22857. - Default: false
  22858. --gphotos-start-year
  22859. Year limits the photos to be downloaded to those which are uploaded
  22860. after the given year.
  22861. Properties:
  22862. - Config: start_year
  22863. - Env Var: RCLONE_GPHOTOS_START_YEAR
  22864. - Type: int
  22865. - Default: 2000
  22866. --gphotos-include-archived
  22867. Also view and download archived media.
  22868. By default, rclone does not request archived media. Thus, when syncing,
  22869. archived media is not visible in directory listings or transferred.
  22870. Note that media in albums is always visible and synced, no matter their
  22871. archive status.
  22872. With this flag, archived media are always visible in directory listings
  22873. and transferred.
  22874. Without this flag, archived media will not be visible in directory
  22875. listings and won't be transferred.
  22876. Properties:
  22877. - Config: include_archived
  22878. - Env Var: RCLONE_GPHOTOS_INCLUDE_ARCHIVED
  22879. - Type: bool
  22880. - Default: false
  22881. --gphotos-encoding
  22882. The encoding for the backend.
  22883. See the encoding section in the overview for more info.
  22884. Properties:
  22885. - Config: encoding
  22886. - Env Var: RCLONE_GPHOTOS_ENCODING
  22887. - Type: MultiEncoder
  22888. - Default: Slash,CrLf,InvalidUtf8,Dot
  22889. Limitations
  22890. Only images and videos can be uploaded. If you attempt to upload non
  22891. videos or images or formats that Google Photos doesn't understand,
  22892. rclone will upload the file, then Google Photos will give an error when
  22893. it is put turned into a media item.
  22894. Note that all media items uploaded to Google Photos through the API are
  22895. stored in full resolution at "original quality" and will count towards
  22896. your storage quota in your Google Account. The API does not offer a way
  22897. to upload in "high quality" mode..
  22898. rclone about is not supported by the Google Photos backend. Backends
  22899. without this capability cannot determine free space for an rclone mount
  22900. or use policy mfs (most free space) as a member of an rclone union
  22901. remote.
  22902. See List of backends that do not support rclone about See rclone about
  22903. Downloading Images
  22904. When Images are downloaded this strips EXIF location (according to the
  22905. docs and my tests). This is a limitation of the Google Photos API and is
  22906. covered by bug #112096115.
  22907. The current google API does not allow photos to be downloaded at
  22908. original resolution. This is very important if you are, for example,
  22909. relying on "Google Photos" as a backup of your photos. You will not be
  22910. able to use rclone to redownload original images. You could use 'google
  22911. takeout' to recover the original photos as a last resort
  22912. Downloading Videos
  22913. When videos are downloaded they are downloaded in a really compressed
  22914. version of the video compared to downloading it via the Google Photos
  22915. web interface. This is covered by bug #113672044.
  22916. Duplicates
  22917. If a file name is duplicated in a directory then rclone will add the
  22918. file ID into its name. So two files called file.jpg would then appear as
  22919. file {123456}.jpg and file {ABCDEF}.jpg (the actual IDs are a lot longer
  22920. alas!).
  22921. If you upload the same image (with the same binary data) twice then
  22922. Google Photos will deduplicate it. However it will retain the filename
  22923. from the first upload which may confuse rclone. For example if you
  22924. uploaded an image to upload then uploaded the same image to
  22925. album/my_album the filename of the image in album/my_album will be what
  22926. it was uploaded with initially, not what you uploaded it with to album.
  22927. In practise this shouldn't cause too many problems.
  22928. Modified time
  22929. The date shown of media in Google Photos is the creation date as
  22930. determined by the EXIF information, or the upload date if that is not
  22931. known.
  22932. This is not changeable by rclone and is not the modification date of the
  22933. media on local disk. This means that rclone cannot use the dates from
  22934. Google Photos for syncing purposes.
  22935. Size
  22936. The Google Photos API does not return the size of media. This means that
  22937. when syncing to Google Photos, rclone can only do a file existence
  22938. check.
  22939. It is possible to read the size of the media, but this needs an extra
  22940. HTTP HEAD request per media item so is very slow and uses up a lot of
  22941. transactions. This can be enabled with the --gphotos-read-size option or
  22942. the read_size = true config parameter.
  22943. If you want to use the backend with rclone mount you may need to enable
  22944. this flag (depending on your OS and application using the photos)
  22945. otherwise you may not be able to read media off the mount. You'll need
  22946. to experiment to see if it works for you without the flag.
  22947. Albums
  22948. Rclone can only upload files to albums it created. This is a limitation
  22949. of the Google Photos API.
  22950. Rclone can remove files it uploaded from albums it created only.
  22951. Deleting files
  22952. Rclone can remove files from albums it created, but note that the Google
  22953. Photos API does not allow media to be deleted permanently so this media
  22954. will still remain. See bug #109759781.
  22955. Rclone cannot delete files anywhere except under album.
  22956. Deleting albums
  22957. The Google Photos API does not support deleting albums - see bug
  22958. #135714733.
  22959. Hasher
  22960. Hasher is a special overlay backend to create remotes which handle
  22961. checksums for other remotes. It's main functions include: - Emulate hash
  22962. types unimplemented by backends - Cache checksums to help with slow
  22963. hashing of large local or (S)FTP files - Warm up checksum cache from
  22964. external SUM files
  22965. Getting started
  22966. To use Hasher, first set up the underlying remote following the
  22967. configuration instructions for that remote. You can also use a local
  22968. pathname instead of a remote. Check that your base remote is working.
  22969. Let's call the base remote myRemote:path here. Note that anything inside
  22970. myRemote:path will be handled by hasher and anything outside won't. This
  22971. means that if you are using a bucket based remote (S3, B2, Swift) then
  22972. you should put the bucket in the remote s3:bucket.
  22973. Now proceed to interactive or manual configuration.
  22974. Interactive configuration
  22975. Run rclone config:
  22976. No remotes found, make a new one?
  22977. n) New remote
  22978. s) Set configuration password
  22979. q) Quit config
  22980. n/s/q> n
  22981. name> Hasher1
  22982. Type of storage to configure.
  22983. Choose a number from below, or type in your own value
  22984. [snip]
  22985. XX / Handle checksums for other remotes
  22986. \ "hasher"
  22987. [snip]
  22988. Storage> hasher
  22989. Remote to cache checksums for, like myremote:mypath.
  22990. Enter a string value. Press Enter for the default ("").
  22991. remote> myRemote:path
  22992. Comma separated list of supported checksum types.
  22993. Enter a string value. Press Enter for the default ("md5,sha1").
  22994. hashsums> md5
  22995. Maximum time to keep checksums in cache. 0 = no cache, off = cache forever.
  22996. max_age> off
  22997. Edit advanced config? (y/n)
  22998. y) Yes
  22999. n) No
  23000. y/n> n
  23001. Remote config
  23002. --------------------
  23003. [Hasher1]
  23004. type = hasher
  23005. remote = myRemote:path
  23006. hashsums = md5
  23007. max_age = off
  23008. --------------------
  23009. y) Yes this is OK
  23010. e) Edit this remote
  23011. d) Delete this remote
  23012. y/e/d> y
  23013. Manual configuration
  23014. Run rclone config path to see the path of current active config file,
  23015. usually YOURHOME/.config/rclone/rclone.conf. Open it in your favorite
  23016. text editor, find section for the base remote and create new section for
  23017. hasher like in the following examples:
  23018. [Hasher1]
  23019. type = hasher
  23020. remote = myRemote:path
  23021. hashes = md5
  23022. max_age = off
  23023. [Hasher2]
  23024. type = hasher
  23025. remote = /local/path
  23026. hashes = dropbox,sha1
  23027. max_age = 24h
  23028. Hasher takes basically the following parameters: - remote is required, -
  23029. hashes is a comma separated list of supported checksums (by default
  23030. md5,sha1), - max_age - maximum time to keep a checksum value in the
  23031. cache, 0 will disable caching completely, off will cache "forever" (that
  23032. is until the files get changed).
  23033. Make sure the remote has : (colon) in. If you specify the remote without
  23034. a colon then rclone will use a local directory of that name. So if you
  23035. use a remote of /local/path then rclone will handle hashes for that
  23036. directory. If you use remote = name literally then rclone will put files
  23037. in a directory called name located under current directory.
  23038. Usage
  23039. Basic operations
  23040. Now you can use it as Hasher2:subdir/file instead of base remote. Hasher
  23041. will transparently update cache with new checksums when a file is fully
  23042. read or overwritten, like:
  23043. rclone copy External:path/file Hasher:dest/path
  23044. rclone cat Hasher:path/to/file > /dev/null
  23045. The way to refresh all cached checksums (even unsupported by the base
  23046. backend) for a subtree is to re-download all files in the subtree. For
  23047. example, use hashsum --download using any supported hashsum on the
  23048. command line (we just care to re-read):
  23049. rclone hashsum MD5 --download Hasher:path/to/subtree > /dev/null
  23050. rclone backend dump Hasher:path/to/subtree
  23051. You can print or drop hashsum cache using custom backend commands:
  23052. rclone backend dump Hasher:dir/subdir
  23053. rclone backend drop Hasher:
  23054. Pre-Seed from a SUM File
  23055. Hasher supports two backend commands: generic SUM file import and faster
  23056. but less consistent stickyimport.
  23057. rclone backend import Hasher:dir/subdir SHA1 /path/to/SHA1SUM [--checkers 4]
  23058. Instead of SHA1 it can be any hash supported by the remote. The last
  23059. argument can point to either a local or an other-remote:path text file
  23060. in SUM format. The command will parse the SUM file, then walk down the
  23061. path given by the first argument, snapshot current fingerprints and fill
  23062. in the cache entries correspondingly. - Paths in the SUM file are
  23063. treated as relative to hasher:dir/subdir. - The command will not check
  23064. that supplied values are correct. You must know what you are doing. -
  23065. This is a one-time action. The SUM file will not get "attached" to the
  23066. remote. Cache entries can still be overwritten later, should the
  23067. object's fingerprint change. - The tree walk can take long depending on
  23068. the tree size. You can increase --checkers to make it faster. Or use
  23069. stickyimport if you don't care about fingerprints and consistency.
  23070. rclone backend stickyimport hasher:path/to/data sha1 remote:/path/to/sum.sha1
  23071. stickyimport is similar to import but works much faster because it does
  23072. not need to stat existing files and skips initial tree walk. Instead of
  23073. binding cache entries to file fingerprints it creates sticky entries
  23074. bound to the file name alone ignoring size, modification time etc. Such
  23075. hash entries can be replaced only by purge, delete, backend drop or by
  23076. full re-read/re-write of the files.
  23077. Configuration reference
  23078. Standard options
  23079. Here are the Standard options specific to hasher (Better checksums for
  23080. other remotes).
  23081. --hasher-remote
  23082. Remote to cache checksums for (e.g. myRemote:path).
  23083. Properties:
  23084. - Config: remote
  23085. - Env Var: RCLONE_HASHER_REMOTE
  23086. - Type: string
  23087. - Required: true
  23088. --hasher-hashes
  23089. Comma separated list of supported checksum types.
  23090. Properties:
  23091. - Config: hashes
  23092. - Env Var: RCLONE_HASHER_HASHES
  23093. - Type: CommaSepList
  23094. - Default: md5,sha1
  23095. --hasher-max-age
  23096. Maximum time to keep checksums in cache (0 = no cache, off = cache
  23097. forever).
  23098. Properties:
  23099. - Config: max_age
  23100. - Env Var: RCLONE_HASHER_MAX_AGE
  23101. - Type: Duration
  23102. - Default: off
  23103. Advanced options
  23104. Here are the Advanced options specific to hasher (Better checksums for
  23105. other remotes).
  23106. --hasher-auto-size
  23107. Auto-update checksum for files smaller than this size (disabled by
  23108. default).
  23109. Properties:
  23110. - Config: auto_size
  23111. - Env Var: RCLONE_HASHER_AUTO_SIZE
  23112. - Type: SizeSuffix
  23113. - Default: 0
  23114. Metadata
  23115. Any metadata supported by the underlying remote is read and written.
  23116. See the metadata docs for more info.
  23117. Backend commands
  23118. Here are the commands specific to the hasher backend.
  23119. Run them with
  23120. rclone backend COMMAND remote:
  23121. The help below will explain what arguments each command takes.
  23122. See the backend command for more info on how to pass options and
  23123. arguments.
  23124. These can be run on a running backend using the rc command
  23125. backend/command.
  23126. drop
  23127. Drop cache
  23128. rclone backend drop remote: [options] [<arguments>+]
  23129. Completely drop checksum cache. Usage Example: rclone backend drop
  23130. hasher:
  23131. dump
  23132. Dump the database
  23133. rclone backend dump remote: [options] [<arguments>+]
  23134. Dump cache records covered by the current remote
  23135. fulldump
  23136. Full dump of the database
  23137. rclone backend fulldump remote: [options] [<arguments>+]
  23138. Dump all cache records in the database
  23139. import
  23140. Import a SUM file
  23141. rclone backend import remote: [options] [<arguments>+]
  23142. Amend hash cache from a SUM file and bind checksums to files by
  23143. size/time. Usage Example: rclone backend import hasher:subdir md5
  23144. /path/to/sum.md5
  23145. stickyimport
  23146. Perform fast import of a SUM file
  23147. rclone backend stickyimport remote: [options] [<arguments>+]
  23148. Fill hash cache from a SUM file without verifying file fingerprints.
  23149. Usage Example: rclone backend stickyimport hasher:subdir md5
  23150. remote:path/to/sum.md5
  23151. Implementation details (advanced)
  23152. This section explains how various rclone operations work on a hasher
  23153. remote.
  23154. Disclaimer. This section describes current implementation which can
  23155. change in future rclone versions!.
  23156. Hashsum command
  23157. The rclone hashsum (or md5sum or sha1sum) command will:
  23158. 1. if requested hash is supported by lower level, just pass it.
  23159. 2. if object size is below auto_size then download object and calculate
  23160. requested hashes on the fly.
  23161. 3. if unsupported and the size is big enough, build object fingerprint
  23162. (including size, modtime if supported, first-found other hash if
  23163. any).
  23164. 4. if the strict match is found in cache for the requested remote,
  23165. return the stored hash.
  23166. 5. if remote found but fingerprint mismatched, then purge the entry and
  23167. proceed to step 6.
  23168. 6. if remote not found or had no requested hash type or after step 5:
  23169. download object, calculate all supported hashes on the fly and store
  23170. in cache; return requested hash.
  23171. Other operations
  23172. - whenever a file is uploaded or downloaded in full, capture the
  23173. stream to calculate all supported hashes on the fly and update
  23174. database
  23175. - server-side move will update keys of existing cache entries
  23176. - deletefile will remove a single cache entry
  23177. - purge will remove all cache entries under the purged path
  23178. Note that setting max_age = 0 will disable checksum caching completely.
  23179. If you set max_age = off, checksums in cache will never age, unless you
  23180. fully rewrite or delete the file.
  23181. Cache storage
  23182. Cached checksums are stored as bolt database files under rclone cache
  23183. directory, usually ~/.cache/rclone/kv/. Databases are maintained one per
  23184. base backend, named like BaseRemote~hasher.bolt. Checksums for multiple
  23185. alias-es into a single base backend will be stored in the single
  23186. database. All local paths are treated as aliases into the local backend
  23187. (unless encrypted or chunked) and stored in
  23188. ~/.cache/rclone/kv/local~hasher.bolt. Databases can be shared between
  23189. multiple rclone processes.
  23190. HDFS
  23191. HDFS is a distributed file-system, part of the Apache Hadoop framework.
  23192. Paths are specified as remote: or remote:path/to/dir.
  23193. Configuration
  23194. Here is an example of how to make a remote called remote. First run:
  23195. rclone config
  23196. This will guide you through an interactive setup process:
  23197. No remotes found, make a new one?
  23198. n) New remote
  23199. s) Set configuration password
  23200. q) Quit config
  23201. n/s/q> n
  23202. name> remote
  23203. Type of storage to configure.
  23204. Enter a string value. Press Enter for the default ("").
  23205. Choose a number from below, or type in your own value
  23206. [skip]
  23207. XX / Hadoop distributed file system
  23208. \ "hdfs"
  23209. [skip]
  23210. Storage> hdfs
  23211. ** See help for hdfs backend at: https://rclone.org/hdfs/ **
  23212. hadoop name node and port
  23213. Enter a string value. Press Enter for the default ("").
  23214. Choose a number from below, or type in your own value
  23215. 1 / Connect to host namenode at port 8020
  23216. \ "namenode:8020"
  23217. namenode> namenode.hadoop:8020
  23218. hadoop user name
  23219. Enter a string value. Press Enter for the default ("").
  23220. Choose a number from below, or type in your own value
  23221. 1 / Connect to hdfs as root
  23222. \ "root"
  23223. username> root
  23224. Edit advanced config? (y/n)
  23225. y) Yes
  23226. n) No (default)
  23227. y/n> n
  23228. Remote config
  23229. --------------------
  23230. [remote]
  23231. type = hdfs
  23232. namenode = namenode.hadoop:8020
  23233. username = root
  23234. --------------------
  23235. y) Yes this is OK (default)
  23236. e) Edit this remote
  23237. d) Delete this remote
  23238. y/e/d> y
  23239. Current remotes:
  23240. Name Type
  23241. ==== ====
  23242. hadoop hdfs
  23243. e) Edit existing remote
  23244. n) New remote
  23245. d) Delete remote
  23246. r) Rename remote
  23247. c) Copy remote
  23248. s) Set configuration password
  23249. q) Quit config
  23250. e/n/d/r/c/s/q> q
  23251. This remote is called remote and can now be used like this
  23252. See all the top level directories
  23253. rclone lsd remote:
  23254. List the contents of a directory
  23255. rclone ls remote:directory
  23256. Sync the remote directory to /home/local/directory, deleting any excess
  23257. files.
  23258. rclone sync --interactive remote:directory /home/local/directory
  23259. Setting up your own HDFS instance for testing
  23260. You may start with a manual setup or use the docker image from the
  23261. tests:
  23262. If you want to build the docker image
  23263. git clone https://github.com/rclone/rclone.git
  23264. cd rclone/fstest/testserver/images/test-hdfs
  23265. docker build --rm -t rclone/test-hdfs .
  23266. Or you can just use the latest one pushed
  23267. docker run --rm --name "rclone-hdfs" -p 127.0.0.1:9866:9866 -p 127.0.0.1:8020:8020 --hostname "rclone-hdfs" rclone/test-hdfs
  23268. NB it need few seconds to startup.
  23269. For this docker image the remote needs to be configured like this:
  23270. [remote]
  23271. type = hdfs
  23272. namenode = 127.0.0.1:8020
  23273. username = root
  23274. You can stop this image with docker kill rclone-hdfs (NB it does not use
  23275. volumes, so all data uploaded will be lost.)
  23276. Modified time
  23277. Time accurate to 1 second is stored.
  23278. Checksum
  23279. No checksums are implemented.
  23280. Usage information
  23281. You can use the rclone about remote: command which will display
  23282. filesystem size and current usage.
  23283. Restricted filename characters
  23284. In addition to the default restricted characters set the following
  23285. characters are also replaced:
  23286. Character Value Replacement
  23287. ----------- ------- -------------
  23288. : 0x3A :
  23289. Invalid UTF-8 bytes will also be replaced.
  23290. Standard options
  23291. Here are the Standard options specific to hdfs (Hadoop distributed file
  23292. system).
  23293. --hdfs-namenode
  23294. Hadoop name node and port.
  23295. E.g. "namenode:8020" to connect to host namenode at port 8020.
  23296. Properties:
  23297. - Config: namenode
  23298. - Env Var: RCLONE_HDFS_NAMENODE
  23299. - Type: string
  23300. - Required: true
  23301. --hdfs-username
  23302. Hadoop user name.
  23303. Properties:
  23304. - Config: username
  23305. - Env Var: RCLONE_HDFS_USERNAME
  23306. - Type: string
  23307. - Required: false
  23308. - Examples:
  23309. - "root"
  23310. - Connect to hdfs as root.
  23311. Advanced options
  23312. Here are the Advanced options specific to hdfs (Hadoop distributed file
  23313. system).
  23314. --hdfs-service-principal-name
  23315. Kerberos service principal name for the namenode.
  23316. Enables KERBEROS authentication. Specifies the Service Principal Name
  23317. (SERVICE/FQDN) for the namenode. E.g. "hdfs/namenode.hadoop.docker" for
  23318. namenode running as service 'hdfs' with FQDN 'namenode.hadoop.docker'.
  23319. Properties:
  23320. - Config: service_principal_name
  23321. - Env Var: RCLONE_HDFS_SERVICE_PRINCIPAL_NAME
  23322. - Type: string
  23323. - Required: false
  23324. --hdfs-data-transfer-protection
  23325. Kerberos data transfer protection: authentication|integrity|privacy.
  23326. Specifies whether or not authentication, data signature integrity
  23327. checks, and wire encryption are required when communicating with the
  23328. datanodes. Possible values are 'authentication', 'integrity' and
  23329. 'privacy'. Used only with KERBEROS enabled.
  23330. Properties:
  23331. - Config: data_transfer_protection
  23332. - Env Var: RCLONE_HDFS_DATA_TRANSFER_PROTECTION
  23333. - Type: string
  23334. - Required: false
  23335. - Examples:
  23336. - "privacy"
  23337. - Ensure authentication, integrity and encryption enabled.
  23338. --hdfs-encoding
  23339. The encoding for the backend.
  23340. See the encoding section in the overview for more info.
  23341. Properties:
  23342. - Config: encoding
  23343. - Env Var: RCLONE_HDFS_ENCODING
  23344. - Type: MultiEncoder
  23345. - Default: Slash,Colon,Del,Ctl,InvalidUtf8,Dot
  23346. Limitations
  23347. - No server-side Move or DirMove.
  23348. - Checksums not implemented.
  23349. HiDrive
  23350. Paths are specified as remote:path
  23351. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  23352. The initial setup for hidrive involves getting a token from HiDrive
  23353. which you need to do in your browser. rclone config walks you through
  23354. it.
  23355. Configuration
  23356. Here is an example of how to make a remote called remote. First run:
  23357. rclone config
  23358. This will guide you through an interactive setup process:
  23359. No remotes found - make a new one
  23360. n) New remote
  23361. s) Set configuration password
  23362. q) Quit config
  23363. n/s/q> n
  23364. name> remote
  23365. Type of storage to configure.
  23366. Choose a number from below, or type in your own value
  23367. [snip]
  23368. XX / HiDrive
  23369. \ "hidrive"
  23370. [snip]
  23371. Storage> hidrive
  23372. OAuth Client Id - Leave blank normally.
  23373. client_id>
  23374. OAuth Client Secret - Leave blank normally.
  23375. client_secret>
  23376. Access permissions that rclone should use when requesting access from HiDrive.
  23377. Leave blank normally.
  23378. scope_access>
  23379. Edit advanced config?
  23380. y/n> n
  23381. Use web browser to automatically authenticate rclone with remote?
  23382. * Say Y if the machine running rclone has a web browser you can use
  23383. * Say N if running rclone on a (remote) machine without web browser access
  23384. If not sure try Y. If Y failed, try N.
  23385. y/n> y
  23386. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx
  23387. Log in and authorize rclone for access
  23388. Waiting for code...
  23389. Got code
  23390. --------------------
  23391. [remote]
  23392. type = hidrive
  23393. token = {"access_token":"xxxxxxxxxxxxxxxxxxxx","token_type":"Bearer","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxx","expiry":"xxxxxxxxxxxxxxxxxxxxxxx"}
  23394. --------------------
  23395. y) Yes this is OK (default)
  23396. e) Edit this remote
  23397. d) Delete this remote
  23398. y/e/d> y
  23399. You should be aware that OAuth-tokens can be used to access your account
  23400. and hence should not be shared with other persons. See the below section
  23401. for more information.
  23402. See the remote setup docs for how to set it up on a machine with no
  23403. Internet browser available.
  23404. Note that rclone runs a webserver on your local machine to collect the
  23405. token as returned from HiDrive. This only runs from the moment it opens
  23406. your browser to the moment you get back the verification code. The
  23407. webserver runs on http://127.0.0.1:53682/. If local port 53682 is
  23408. protected by a firewall you may need to temporarily unblock the firewall
  23409. to complete authorization.
  23410. Once configured you can then use rclone like this,
  23411. List directories in top level of your HiDrive root folder
  23412. rclone lsd remote:
  23413. List all the files in your HiDrive filesystem
  23414. rclone ls remote:
  23415. To copy a local directory to a HiDrive directory called backup
  23416. rclone copy /home/source remote:backup
  23417. Keeping your tokens safe
  23418. Any OAuth-tokens will be stored by rclone in the remote's configuration
  23419. file as unencrypted text. Anyone can use a valid refresh-token to access
  23420. your HiDrive filesystem without knowing your password. Therefore you
  23421. should make sure no one else can access your configuration.
  23422. It is possible to encrypt rclone's configuration file. You can find
  23423. information on securing your configuration file by viewing the
  23424. configuration encryption docs.
  23425. Invalid refresh token
  23426. As can be verified here, each refresh_token (for Native Applications) is
  23427. valid for 60 days. If used to access HiDrivei, its validity will be
  23428. automatically extended.
  23429. This means that if you
  23430. - Don't use the HiDrive remote for 60 days
  23431. then rclone will return an error which includes a text that implies the
  23432. refresh token is invalid or expired.
  23433. To fix this you will need to authorize rclone to access your HiDrive
  23434. account again.
  23435. Using
  23436. rclone config reconnect remote:
  23437. the process is very similar to the process of initial setup exemplified
  23438. before.
  23439. Modified time and hashes
  23440. HiDrive allows modification times to be set on objects accurate to 1
  23441. second.
  23442. HiDrive supports its own hash type which is used to verify the integrity
  23443. of file contents after successful transfers.
  23444. Restricted filename characters
  23445. HiDrive cannot store files or folders that include / (0x2F) or
  23446. null-bytes (0x00) in their name. Any other characters can be used in the
  23447. names of files or folders. Additionally, files or folders cannot be
  23448. named either of the following: . or ..
  23449. Therefore rclone will automatically replace these characters, if files
  23450. or folders are stored or accessed with such names.
  23451. You can read about how this filename encoding works in general here.
  23452. Keep in mind that HiDrive only supports file or folder names with a
  23453. length of 255 characters or less.
  23454. Transfers
  23455. HiDrive limits file sizes per single request to a maximum of 2 GiB. To
  23456. allow storage of larger files and allow for better upload performance,
  23457. the hidrive backend will use a chunked transfer for files larger than 96
  23458. MiB. Rclone will upload multiple parts/chunks of the file at the same
  23459. time. Chunks in the process of being uploaded are buffered in memory, so
  23460. you may want to restrict this behaviour on systems with limited
  23461. resources.
  23462. You can customize this behaviour using the following options:
  23463. - chunk_size: size of file parts
  23464. - upload_cutoff: files larger or equal to this in size will use a
  23465. chunked transfer
  23466. - upload_concurrency: number of file-parts to upload at the same time
  23467. See the below section about configuration options for more details.
  23468. Root folder
  23469. You can set the root folder for rclone. This is the directory that
  23470. rclone considers to be the root of your HiDrive.
  23471. Usually, you will leave this blank, and rclone will use the root of the
  23472. account.
  23473. However, you can set this to restrict rclone to a specific folder
  23474. hierarchy.
  23475. This works by prepending the contents of the root_prefix option to any
  23476. paths accessed by rclone. For example, the following two ways to access
  23477. the home directory are equivalent:
  23478. rclone lsd --hidrive-root-prefix="/users/test/" remote:path
  23479. rclone lsd remote:/users/test/path
  23480. See the below section about configuration options for more details.
  23481. Directory member count
  23482. By default, rclone will know the number of directory members contained
  23483. in a directory. For example, rclone lsd uses this information.
  23484. The acquisition of this information will result in additional time costs
  23485. for HiDrive's API. When dealing with large directory structures, it may
  23486. be desirable to circumvent this time cost, especially when this
  23487. information is not explicitly needed. For this, the
  23488. disable_fetching_member_count option can be used.
  23489. See the below section about configuration options for more details.
  23490. Standard options
  23491. Here are the Standard options specific to hidrive (HiDrive).
  23492. --hidrive-client-id
  23493. OAuth Client Id.
  23494. Leave blank normally.
  23495. Properties:
  23496. - Config: client_id
  23497. - Env Var: RCLONE_HIDRIVE_CLIENT_ID
  23498. - Type: string
  23499. - Required: false
  23500. --hidrive-client-secret
  23501. OAuth Client Secret.
  23502. Leave blank normally.
  23503. Properties:
  23504. - Config: client_secret
  23505. - Env Var: RCLONE_HIDRIVE_CLIENT_SECRET
  23506. - Type: string
  23507. - Required: false
  23508. --hidrive-scope-access
  23509. Access permissions that rclone should use when requesting access from
  23510. HiDrive.
  23511. Properties:
  23512. - Config: scope_access
  23513. - Env Var: RCLONE_HIDRIVE_SCOPE_ACCESS
  23514. - Type: string
  23515. - Default: "rw"
  23516. - Examples:
  23517. - "rw"
  23518. - Read and write access to resources.
  23519. - "ro"
  23520. - Read-only access to resources.
  23521. Advanced options
  23522. Here are the Advanced options specific to hidrive (HiDrive).
  23523. --hidrive-token
  23524. OAuth Access Token as a JSON blob.
  23525. Properties:
  23526. - Config: token
  23527. - Env Var: RCLONE_HIDRIVE_TOKEN
  23528. - Type: string
  23529. - Required: false
  23530. --hidrive-auth-url
  23531. Auth server URL.
  23532. Leave blank to use the provider defaults.
  23533. Properties:
  23534. - Config: auth_url
  23535. - Env Var: RCLONE_HIDRIVE_AUTH_URL
  23536. - Type: string
  23537. - Required: false
  23538. --hidrive-token-url
  23539. Token server url.
  23540. Leave blank to use the provider defaults.
  23541. Properties:
  23542. - Config: token_url
  23543. - Env Var: RCLONE_HIDRIVE_TOKEN_URL
  23544. - Type: string
  23545. - Required: false
  23546. --hidrive-scope-role
  23547. User-level that rclone should use when requesting access from HiDrive.
  23548. Properties:
  23549. - Config: scope_role
  23550. - Env Var: RCLONE_HIDRIVE_SCOPE_ROLE
  23551. - Type: string
  23552. - Default: "user"
  23553. - Examples:
  23554. - "user"
  23555. - User-level access to management permissions.
  23556. - This will be sufficient in most cases.
  23557. - "admin"
  23558. - Extensive access to management permissions.
  23559. - "owner"
  23560. - Full access to management permissions.
  23561. --hidrive-root-prefix
  23562. The root/parent folder for all paths.
  23563. Fill in to use the specified folder as the parent for all paths given to
  23564. the remote. This way rclone can use any folder as its starting point.
  23565. Properties:
  23566. - Config: root_prefix
  23567. - Env Var: RCLONE_HIDRIVE_ROOT_PREFIX
  23568. - Type: string
  23569. - Default: "/"
  23570. - Examples:
  23571. - "/"
  23572. - The topmost directory accessible by rclone.
  23573. - This will be equivalent with "root" if rclone uses a regular
  23574. HiDrive user account.
  23575. - "root"
  23576. - The topmost directory of the HiDrive user account
  23577. - ""
  23578. - This specifies that there is no root-prefix for your paths.
  23579. - When using this you will always need to specify paths to
  23580. this remote with a valid parent e.g. "remote:/path/to/dir"
  23581. or "remote:root/path/to/dir".
  23582. --hidrive-endpoint
  23583. Endpoint for the service.
  23584. This is the URL that API-calls will be made to.
  23585. Properties:
  23586. - Config: endpoint
  23587. - Env Var: RCLONE_HIDRIVE_ENDPOINT
  23588. - Type: string
  23589. - Default: "https://api.hidrive.strato.com/2.1"
  23590. --hidrive-disable-fetching-member-count
  23591. Do not fetch number of objects in directories unless it is absolutely
  23592. necessary.
  23593. Requests may be faster if the number of objects in subdirectories is not
  23594. fetched.
  23595. Properties:
  23596. - Config: disable_fetching_member_count
  23597. - Env Var: RCLONE_HIDRIVE_DISABLE_FETCHING_MEMBER_COUNT
  23598. - Type: bool
  23599. - Default: false
  23600. --hidrive-chunk-size
  23601. Chunksize for chunked uploads.
  23602. Any files larger than the configured cutoff (or files of unknown size)
  23603. will be uploaded in chunks of this size.
  23604. The upper limit for this is 2147483647 bytes (about 2.000Gi). That is
  23605. the maximum amount of bytes a single upload-operation will support.
  23606. Setting this above the upper limit or to a negative value will cause
  23607. uploads to fail.
  23608. Setting this to larger values may increase the upload speed at the cost
  23609. of using more memory. It can be set to smaller values smaller to save on
  23610. memory.
  23611. Properties:
  23612. - Config: chunk_size
  23613. - Env Var: RCLONE_HIDRIVE_CHUNK_SIZE
  23614. - Type: SizeSuffix
  23615. - Default: 48Mi
  23616. --hidrive-upload-cutoff
  23617. Cutoff/Threshold for chunked uploads.
  23618. Any files larger than this will be uploaded in chunks of the configured
  23619. chunksize.
  23620. The upper limit for this is 2147483647 bytes (about 2.000Gi). That is
  23621. the maximum amount of bytes a single upload-operation will support.
  23622. Setting this above the upper limit will cause uploads to fail.
  23623. Properties:
  23624. - Config: upload_cutoff
  23625. - Env Var: RCLONE_HIDRIVE_UPLOAD_CUTOFF
  23626. - Type: SizeSuffix
  23627. - Default: 96Mi
  23628. --hidrive-upload-concurrency
  23629. Concurrency for chunked uploads.
  23630. This is the upper limit for how many transfers for the same file are
  23631. running concurrently. Setting this above to a value smaller than 1 will
  23632. cause uploads to deadlock.
  23633. If you are uploading small numbers of large files over high-speed links
  23634. and these uploads do not fully utilize your bandwidth, then increasing
  23635. this may help to speed up the transfers.
  23636. Properties:
  23637. - Config: upload_concurrency
  23638. - Env Var: RCLONE_HIDRIVE_UPLOAD_CONCURRENCY
  23639. - Type: int
  23640. - Default: 4
  23641. --hidrive-encoding
  23642. The encoding for the backend.
  23643. See the encoding section in the overview for more info.
  23644. Properties:
  23645. - Config: encoding
  23646. - Env Var: RCLONE_HIDRIVE_ENCODING
  23647. - Type: MultiEncoder
  23648. - Default: Slash,Dot
  23649. Limitations
  23650. Symbolic links
  23651. HiDrive is able to store symbolic links (symlinks) by design, for
  23652. example, when unpacked from a zip archive.
  23653. There exists no direct mechanism to manage native symlinks in remotes.
  23654. As such this implementation has chosen to ignore any native symlinks
  23655. present in the remote. rclone will not be able to access or show any
  23656. symlinks stored in the hidrive-remote. This means symlinks cannot be
  23657. individually removed, copied, or moved, except when removing, copying,
  23658. or moving the parent folder.
  23659. This does not affect the .rclonelink-files that rclone uses to encode
  23660. and store symbolic links.
  23661. Sparse files
  23662. It is possible to store sparse files in HiDrive.
  23663. Note that copying a sparse file will expand the holes into null-byte
  23664. (0x00) regions that will then consume disk space. Likewise, when
  23665. downloading a sparse file, the resulting file will have null-byte
  23666. regions in the place of file holes.
  23667. HTTP
  23668. The HTTP remote is a read only remote for reading files of a webserver.
  23669. The webserver should provide file listings which rclone will read and
  23670. turn into a remote. This has been tested with common webservers such as
  23671. Apache/Nginx/Caddy and will likely work with file listings from most web
  23672. servers. (If it doesn't then please file an issue, or send a pull
  23673. request!)
  23674. Paths are specified as remote: or remote:path.
  23675. The remote: represents the configured url, and any path following it
  23676. will be resolved relative to this url, according to the URL standard.
  23677. This means with remote url https://beta.rclone.org/branch and path fix,
  23678. the resolved URL will be https://beta.rclone.org/branch/fix, while with
  23679. path /fix the resolved URL will be https://beta.rclone.org/fix as the
  23680. absolute path is resolved from the root of the domain.
  23681. If the path following the remote: ends with / it will be assumed to
  23682. point to a directory. If the path does not end with /, then a HEAD
  23683. request is sent and the response used to decide if it it is treated as a
  23684. file or a directory (run with -vv to see details). When --http-no-head
  23685. is specified, a path without ending / is always assumed to be a file. If
  23686. rclone incorrectly assumes the path is a file, the solution is to
  23687. specify the path with ending /. When you know the path is a directory,
  23688. ending it with / is always better as it avoids the initial HEAD request.
  23689. To just download a single file it is easier to use copyurl.
  23690. Configuration
  23691. Here is an example of how to make a remote called remote. First run:
  23692. rclone config
  23693. This will guide you through an interactive setup process:
  23694. No remotes found, make a new one?
  23695. n) New remote
  23696. s) Set configuration password
  23697. q) Quit config
  23698. n/s/q> n
  23699. name> remote
  23700. Type of storage to configure.
  23701. Choose a number from below, or type in your own value
  23702. [snip]
  23703. XX / HTTP
  23704. \ "http"
  23705. [snip]
  23706. Storage> http
  23707. URL of http host to connect to
  23708. Choose a number from below, or type in your own value
  23709. 1 / Connect to example.com
  23710. \ "https://example.com"
  23711. url> https://beta.rclone.org
  23712. Remote config
  23713. --------------------
  23714. [remote]
  23715. url = https://beta.rclone.org
  23716. --------------------
  23717. y) Yes this is OK
  23718. e) Edit this remote
  23719. d) Delete this remote
  23720. y/e/d> y
  23721. Current remotes:
  23722. Name Type
  23723. ==== ====
  23724. remote http
  23725. e) Edit existing remote
  23726. n) New remote
  23727. d) Delete remote
  23728. r) Rename remote
  23729. c) Copy remote
  23730. s) Set configuration password
  23731. q) Quit config
  23732. e/n/d/r/c/s/q> q
  23733. This remote is called remote and can now be used like this
  23734. See all the top level directories
  23735. rclone lsd remote:
  23736. List the contents of a directory
  23737. rclone ls remote:directory
  23738. Sync the remote directory to /home/local/directory, deleting any excess
  23739. files.
  23740. rclone sync --interactive remote:directory /home/local/directory
  23741. Read only
  23742. This remote is read only - you can't upload files to an HTTP server.
  23743. Modified time
  23744. Most HTTP servers store time accurate to 1 second.
  23745. Checksum
  23746. No checksums are stored.
  23747. Usage without a config file
  23748. Since the http remote only has one config parameter it is easy to use
  23749. without a config file:
  23750. rclone lsd --http-url https://beta.rclone.org :http:
  23751. or:
  23752. rclone lsd :http,url='https://beta.rclone.org':
  23753. Standard options
  23754. Here are the Standard options specific to http (HTTP).
  23755. --http-url
  23756. URL of HTTP host to connect to.
  23757. E.g. "https://example.com", or "https://user:pass@example.com" to use a
  23758. username and password.
  23759. Properties:
  23760. - Config: url
  23761. - Env Var: RCLONE_HTTP_URL
  23762. - Type: string
  23763. - Required: true
  23764. Advanced options
  23765. Here are the Advanced options specific to http (HTTP).
  23766. --http-headers
  23767. Set HTTP headers for all transactions.
  23768. Use this to set additional HTTP headers for all transactions.
  23769. The input format is comma separated list of key,value pairs. Standard
  23770. CSV encoding may be used.
  23771. For example, to set a Cookie use 'Cookie,name=value', or
  23772. '"Cookie","name=value"'.
  23773. You can set multiple headers, e.g.
  23774. '"Cookie","name=value","Authorization","xxx"'.
  23775. Properties:
  23776. - Config: headers
  23777. - Env Var: RCLONE_HTTP_HEADERS
  23778. - Type: CommaSepList
  23779. - Default:
  23780. --http-no-slash
  23781. Set this if the site doesn't end directories with /.
  23782. Use this if your target website does not use / on the end of
  23783. directories.
  23784. A / on the end of a path is how rclone normally tells the difference
  23785. between files and directories. If this flag is set, then rclone will
  23786. treat all files with Content-Type: text/html as directories and read
  23787. URLs from them rather than downloading them.
  23788. Note that this may cause rclone to confuse genuine HTML files with
  23789. directories.
  23790. Properties:
  23791. - Config: no_slash
  23792. - Env Var: RCLONE_HTTP_NO_SLASH
  23793. - Type: bool
  23794. - Default: false
  23795. --http-no-head
  23796. Don't use HEAD requests.
  23797. HEAD requests are mainly used to find file sizes in dir listing. If your
  23798. site is being very slow to load then you can try this option. Normally
  23799. rclone does a HEAD request for each potential file in a directory
  23800. listing to:
  23801. - find its size
  23802. - check it really exists
  23803. - check to see if it is a directory
  23804. If you set this option, rclone will not do the HEAD request. This will
  23805. mean that directory listings are much quicker, but rclone won't have the
  23806. times or sizes of any files, and some files that don't exist may be in
  23807. the listing.
  23808. Properties:
  23809. - Config: no_head
  23810. - Env Var: RCLONE_HTTP_NO_HEAD
  23811. - Type: bool
  23812. - Default: false
  23813. Limitations
  23814. rclone about is not supported by the HTTP backend. Backends without this
  23815. capability cannot determine free space for an rclone mount or use policy
  23816. mfs (most free space) as a member of an rclone union remote.
  23817. See List of backends that do not support rclone about and rclone about
  23818. Internet Archive
  23819. The Internet Archive backend utilizes Items on archive.org
  23820. Refer to IAS3 API documentation for the API this backend uses.
  23821. Paths are specified as remote:bucket (or remote: for the lsd command.)
  23822. You may put subdirectories in too, e.g. remote:item/path/to/dir.
  23823. Unlike S3, listing up all items uploaded by you isn't supported.
  23824. Once you have made a remote, you can use it like this:
  23825. Make a new item
  23826. rclone mkdir remote:item
  23827. List the contents of a item
  23828. rclone ls remote:item
  23829. Sync /home/local/directory to the remote item, deleting any excess files
  23830. in the item.
  23831. rclone sync --interactive /home/local/directory remote:item
  23832. Notes
  23833. Because of Internet Archive's architecture, it enqueues write operations
  23834. (and extra post-processings) in a per-item queue. You can check item's
  23835. queue at https://catalogd.archive.org/history/item-name-here . Because
  23836. of that, all uploads/deletes will not show up immediately and takes some
  23837. time to be available. The per-item queue is enqueued to an another
  23838. queue, Item Deriver Queue. You can check the status of Item Deriver
  23839. Queue here. This queue has a limit, and it may block you from uploading,
  23840. or even deleting. You should avoid uploading a lot of small files for
  23841. better behavior.
  23842. You can optionally wait for the server's processing to finish, by
  23843. setting non-zero value to wait_archive key. By making it wait, rclone
  23844. can do normal file comparison. Make sure to set a large enough value
  23845. (e.g. 30m0s for smaller files) as it can take a long time depending on
  23846. server's queue.
  23847. About metadata
  23848. This backend supports setting, updating and reading metadata of each
  23849. file. The metadata will appear as file metadata on Internet Archive.
  23850. However, some fields are reserved by both Internet Archive and rclone.
  23851. The following are reserved by Internet Archive: - name - source - size -
  23852. md5 - crc32 - sha1 - format - old_version - viruscheck - summation
  23853. Trying to set values to these keys is ignored with a warning. Only
  23854. setting mtime is an exception. Doing so make it the identical behavior
  23855. as setting ModTime.
  23856. rclone reserves all the keys starting with rclone-. Setting value for
  23857. these keys will give you warnings, but values are set according to
  23858. request.
  23859. If there are multiple values for a key, only the first one is returned.
  23860. This is a limitation of rclone, that supports one value per one key. It
  23861. can be triggered when you did a server-side copy.
  23862. Reading metadata will also provide custom (non-standard nor reserved)
  23863. ones.
  23864. Filtering auto generated files
  23865. The Internet Archive automatically creates metadata files after upload.
  23866. These can cause problems when doing an rclone sync as rclone will try,
  23867. and fail, to delete them. These metadata files are not changeable, as
  23868. they are created by the Internet Archive automatically.
  23869. These auto-created files can be excluded from the sync using metadata
  23870. filtering.
  23871. rclone sync ... --metadata-exclude "source=metadata" --metadata-exclude "format=Metadata"
  23872. Which excludes from the sync any files which have the source=metadata or
  23873. format=Metadata flags which are added to Internet Archive auto-created
  23874. files.
  23875. Configuration
  23876. Here is an example of making an internetarchive configuration. Most
  23877. applies to the other providers as well, any differences are described
  23878. below.
  23879. First run
  23880. rclone config
  23881. This will guide you through an interactive setup process.
  23882. No remotes found, make a new one?
  23883. n) New remote
  23884. s) Set configuration password
  23885. q) Quit config
  23886. n/s/q> n
  23887. name> remote
  23888. Option Storage.
  23889. Type of storage to configure.
  23890. Choose a number from below, or type in your own value.
  23891. XX / InternetArchive Items
  23892. \ (internetarchive)
  23893. Storage> internetarchive
  23894. Option access_key_id.
  23895. IAS3 Access Key.
  23896. Leave blank for anonymous access.
  23897. You can find one here: https://archive.org/account/s3.php
  23898. Enter a value. Press Enter to leave empty.
  23899. access_key_id> XXXX
  23900. Option secret_access_key.
  23901. IAS3 Secret Key (password).
  23902. Leave blank for anonymous access.
  23903. Enter a value. Press Enter to leave empty.
  23904. secret_access_key> XXXX
  23905. Edit advanced config?
  23906. y) Yes
  23907. n) No (default)
  23908. y/n> y
  23909. Option endpoint.
  23910. IAS3 Endpoint.
  23911. Leave blank for default value.
  23912. Enter a string value. Press Enter for the default (https://s3.us.archive.org).
  23913. endpoint>
  23914. Option front_endpoint.
  23915. Host of InternetArchive Frontend.
  23916. Leave blank for default value.
  23917. Enter a string value. Press Enter for the default (https://archive.org).
  23918. front_endpoint>
  23919. Option disable_checksum.
  23920. Don't store MD5 checksum with object metadata.
  23921. Normally rclone will calculate the MD5 checksum of the input before
  23922. uploading it so it can ask the server to check the object against checksum.
  23923. This is great for data integrity checking but can cause long delays for
  23924. large files to start uploading.
  23925. Enter a boolean value (true or false). Press Enter for the default (true).
  23926. disable_checksum> true
  23927. Option encoding.
  23928. The encoding for the backend.
  23929. See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info.
  23930. Enter a encoder.MultiEncoder value. Press Enter for the default (Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot).
  23931. encoding>
  23932. Edit advanced config?
  23933. y) Yes
  23934. n) No (default)
  23935. y/n> n
  23936. --------------------
  23937. [remote]
  23938. type = internetarchive
  23939. access_key_id = XXXX
  23940. secret_access_key = XXXX
  23941. --------------------
  23942. y) Yes this is OK (default)
  23943. e) Edit this remote
  23944. d) Delete this remote
  23945. y/e/d> y
  23946. Standard options
  23947. Here are the Standard options specific to internetarchive (Internet
  23948. Archive).
  23949. --internetarchive-access-key-id
  23950. IAS3 Access Key.
  23951. Leave blank for anonymous access. You can find one here:
  23952. https://archive.org/account/s3.php
  23953. Properties:
  23954. - Config: access_key_id
  23955. - Env Var: RCLONE_INTERNETARCHIVE_ACCESS_KEY_ID
  23956. - Type: string
  23957. - Required: false
  23958. --internetarchive-secret-access-key
  23959. IAS3 Secret Key (password).
  23960. Leave blank for anonymous access.
  23961. Properties:
  23962. - Config: secret_access_key
  23963. - Env Var: RCLONE_INTERNETARCHIVE_SECRET_ACCESS_KEY
  23964. - Type: string
  23965. - Required: false
  23966. Advanced options
  23967. Here are the Advanced options specific to internetarchive (Internet
  23968. Archive).
  23969. --internetarchive-endpoint
  23970. IAS3 Endpoint.
  23971. Leave blank for default value.
  23972. Properties:
  23973. - Config: endpoint
  23974. - Env Var: RCLONE_INTERNETARCHIVE_ENDPOINT
  23975. - Type: string
  23976. - Default: "https://s3.us.archive.org"
  23977. --internetarchive-front-endpoint
  23978. Host of InternetArchive Frontend.
  23979. Leave blank for default value.
  23980. Properties:
  23981. - Config: front_endpoint
  23982. - Env Var: RCLONE_INTERNETARCHIVE_FRONT_ENDPOINT
  23983. - Type: string
  23984. - Default: "https://archive.org"
  23985. --internetarchive-disable-checksum
  23986. Don't ask the server to test against MD5 checksum calculated by rclone.
  23987. Normally rclone will calculate the MD5 checksum of the input before
  23988. uploading it so it can ask the server to check the object against
  23989. checksum. This is great for data integrity checking but can cause long
  23990. delays for large files to start uploading.
  23991. Properties:
  23992. - Config: disable_checksum
  23993. - Env Var: RCLONE_INTERNETARCHIVE_DISABLE_CHECKSUM
  23994. - Type: bool
  23995. - Default: true
  23996. --internetarchive-wait-archive
  23997. Timeout for waiting the server's processing tasks (specifically archive
  23998. and book_op) to finish. Only enable if you need to be guaranteed to be
  23999. reflected after write operations. 0 to disable waiting. No errors to be
  24000. thrown in case of timeout.
  24001. Properties:
  24002. - Config: wait_archive
  24003. - Env Var: RCLONE_INTERNETARCHIVE_WAIT_ARCHIVE
  24004. - Type: Duration
  24005. - Default: 0s
  24006. --internetarchive-encoding
  24007. The encoding for the backend.
  24008. See the encoding section in the overview for more info.
  24009. Properties:
  24010. - Config: encoding
  24011. - Env Var: RCLONE_INTERNETARCHIVE_ENCODING
  24012. - Type: MultiEncoder
  24013. - Default: Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot
  24014. Metadata
  24015. Metadata fields provided by Internet Archive. If there are multiple
  24016. values for a key, only the first one is returned. This is a limitation
  24017. of Rclone, that supports one value per one key.
  24018. Owner is able to add custom keys. Metadata feature grabs all the keys
  24019. including them.
  24020. Here are the possible system metadata items for the internetarchive
  24021. backend.
  24022. --------------------------------------------------------------------------------------------------------------------------------------
  24023. Name Help Type Example Read Only
  24024. --------------------- ---------------------------------- ----------- -------------------------------------------- --------------------
  24025. crc32 CRC32 calculated by Internet string 01234567 Y
  24026. Archive
  24027. format Name of format identified by string Comma-Separated Values Y
  24028. Internet Archive
  24029. md5 MD5 hash calculated by Internet string 01234567012345670123456701234567 Y
  24030. Archive
  24031. mtime Time of last modification, managed RFC 3339 2006-01-02T15:04:05.999999999Z Y
  24032. by Rclone
  24033. name Full file path, without the bucket filename backend/internetarchive/internetarchive.go Y
  24034. part
  24035. old_version Whether the file was replaced and boolean true Y
  24036. moved by keep-old-version flag
  24037. rclone-ia-mtime Time of last modification, managed RFC 3339 2006-01-02T15:04:05.999999999Z N
  24038. by Internet Archive
  24039. rclone-mtime Time of last modification, managed RFC 3339 2006-01-02T15:04:05.999999999Z N
  24040. by Rclone
  24041. rclone-update-track Random value used by Rclone for string aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa N
  24042. tracking changes inside Internet
  24043. Archive
  24044. sha1 SHA1 hash calculated by Internet string 0123456701234567012345670123456701234567 Y
  24045. Archive
  24046. size File size in bytes decimal 123456 Y
  24047. number
  24048. source The source of the file string original Y
  24049. summation Check string md5 Y
  24050. https://forum.rclone.org/t/31922
  24051. for how it is used
  24052. viruscheck The last time viruscheck process unixtime 1654191352 Y
  24053. was run for the file (?)
  24054. --------------------------------------------------------------------------------------------------------------------------------------
  24055. See the metadata docs for more info.
  24056. Jottacloud
  24057. Jottacloud is a cloud storage service provider from a Norwegian company,
  24058. using its own datacenters in Norway. In addition to the official service
  24059. at jottacloud.com, it also provides white-label solutions to different
  24060. companies, such as: * Telia * Telia Cloud (cloud.telia.se) * Telia Sky
  24061. (sky.telia.no) * Tele2 * Tele2 Cloud (mittcloud.tele2.se) * Elkjøp (with
  24062. subsidiaries): * Elkjøp Cloud (cloud.elkjop.no) * Elgiganten Sweden
  24063. (cloud.elgiganten.se) * Elgiganten Denmark (cloud.elgiganten.dk) *
  24064. Giganti Cloud (cloud.gigantti.fi) * ELKO Cloud (cloud.elko.is)
  24065. Most of the white-label versions are supported by this backend, although
  24066. may require different authentication setup - described below.
  24067. Paths are specified as remote:path
  24068. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  24069. Authentication types
  24070. Some of the whitelabel versions uses a different authentication method
  24071. than the official service, and you have to choose the correct one when
  24072. setting up the remote.
  24073. Standard authentication
  24074. The standard authentication method used by the official service
  24075. (jottacloud.com), as well as some of the whitelabel services, requires
  24076. you to generate a single-use personal login token from the account
  24077. security settings in the service's web interface. Log in to your
  24078. account, go to "Settings" and then "Security", or use the direct link
  24079. presented to you by rclone when configuring the remote:
  24080. https://www.jottacloud.com/web/secure. Scroll down to the section
  24081. "Personal login token", and click the "Generate" button. Note that if
  24082. you are using a whitelabel service you probably can't use the direct
  24083. link, you need to find the same page in their dedicated web interface,
  24084. and also it may be in a different location than described above.
  24085. To access your account from multiple instances of rclone, you need to
  24086. configure each of them with a separate personal login token. E.g. you
  24087. create a Jottacloud remote with rclone in one location, and copy the
  24088. configuration file to a second location where you also want to run
  24089. rclone and access the same remote. Then you need to replace the token
  24090. for one of them, using the config reconnect command, which requires you
  24091. to generate a new personal login token and supply as input. If you do
  24092. not do this, the token may easily end up being invalidated, resulting in
  24093. both instances failing with an error message something along the lines
  24094. of:
  24095. oauth2: cannot fetch token: 400 Bad Request
  24096. Response: {"error":"invalid_grant","error_description":"Stale token"}
  24097. When this happens, you need to replace the token as described above to
  24098. be able to use your remote again.
  24099. All personal login tokens you have taken into use will be listed in the
  24100. web interface under "My logged in devices", and from the right side of
  24101. that list you can click the "X" button to revoke individual tokens.
  24102. Legacy authentication
  24103. If you are using one of the whitelabel versions (e.g. from Elkjøp) you
  24104. may not have the option to generate a CLI token. In this case you'll
  24105. have to use the legacy authentication. To do this select yes when the
  24106. setup asks for legacy authentication and enter your username and
  24107. password. The rest of the setup is identical to the default setup.
  24108. Telia Cloud authentication
  24109. Similar to other whitelabel versions Telia Cloud doesn't offer the
  24110. option of creating a CLI token, and additionally uses a separate
  24111. authentication flow where the username is generated internally. To setup
  24112. rclone to use Telia Cloud, choose Telia Cloud authentication in the
  24113. setup. The rest of the setup is identical to the default setup.
  24114. Tele2 Cloud authentication
  24115. As Tele2-Com Hem merger was completed this authentication can be used
  24116. for former Com Hem Cloud and Tele2 Cloud customers as no support for
  24117. creating a CLI token exists, and additionally uses a separate
  24118. authentication flow where the username is generated internally. To setup
  24119. rclone to use Tele2 Cloud, choose Tele2 Cloud authentication in the
  24120. setup. The rest of the setup is identical to the default setup.
  24121. Configuration
  24122. Here is an example of how to make a remote called remote with the
  24123. default setup. First run:
  24124. rclone config
  24125. This will guide you through an interactive setup process:
  24126. No remotes found, make a new one?
  24127. n) New remote
  24128. s) Set configuration password
  24129. q) Quit config
  24130. n/s/q> n
  24131. name> remote
  24132. Option Storage.
  24133. Type of storage to configure.
  24134. Choose a number from below, or type in your own value.
  24135. [snip]
  24136. XX / Jottacloud
  24137. \ (jottacloud)
  24138. [snip]
  24139. Storage> jottacloud
  24140. Edit advanced config?
  24141. y) Yes
  24142. n) No (default)
  24143. y/n> n
  24144. Option config_type.
  24145. Select authentication type.
  24146. Choose a number from below, or type in an existing string value.
  24147. Press Enter for the default (standard).
  24148. / Standard authentication.
  24149. 1 | Use this if you're a normal Jottacloud user.
  24150. \ (standard)
  24151. / Legacy authentication.
  24152. 2 | This is only required for certain whitelabel versions of Jottacloud and not recommended for normal users.
  24153. \ (legacy)
  24154. / Telia Cloud authentication.
  24155. 3 | Use this if you are using Telia Cloud.
  24156. \ (telia)
  24157. / Tele2 Cloud authentication.
  24158. 4 | Use this if you are using Tele2 Cloud.
  24159. \ (tele2)
  24160. config_type> 1
  24161. Personal login token.
  24162. Generate here: https://www.jottacloud.com/web/secure
  24163. Login Token> <your token here>
  24164. Use a non-standard device/mountpoint?
  24165. Choosing no, the default, will let you access the storage used for the archive
  24166. section of the official Jottacloud client. If you instead want to access the
  24167. sync or the backup section, for example, you must choose yes.
  24168. y) Yes
  24169. n) No (default)
  24170. y/n> y
  24171. Option config_device.
  24172. The device to use. In standard setup the built-in Jotta device is used,
  24173. which contains predefined mountpoints for archive, sync etc. All other devices
  24174. are treated as backup devices by the official Jottacloud client. You may create
  24175. a new by entering a unique name.
  24176. Choose a number from below, or type in your own string value.
  24177. Press Enter for the default (DESKTOP-3H31129).
  24178. 1 > DESKTOP-3H31129
  24179. 2 > Jotta
  24180. config_device> 2
  24181. Option config_mountpoint.
  24182. The mountpoint to use for the built-in device Jotta.
  24183. The standard setup is to use the Archive mountpoint. Most other mountpoints
  24184. have very limited support in rclone and should generally be avoided.
  24185. Choose a number from below, or type in an existing string value.
  24186. Press Enter for the default (Archive).
  24187. 1 > Archive
  24188. 2 > Shared
  24189. 3 > Sync
  24190. config_mountpoint> 1
  24191. --------------------
  24192. [remote]
  24193. type = jottacloud
  24194. configVersion = 1
  24195. client_id = jottacli
  24196. client_secret =
  24197. tokenURL = https://id.jottacloud.com/auth/realms/jottacloud/protocol/openid-connect/token
  24198. token = {........}
  24199. username = 2940e57271a93d987d6f8a21
  24200. device = Jotta
  24201. mountpoint = Archive
  24202. --------------------
  24203. y) Yes this is OK (default)
  24204. e) Edit this remote
  24205. d) Delete this remote
  24206. y/e/d> y
  24207. Once configured you can then use rclone like this,
  24208. List directories in top level of your Jottacloud
  24209. rclone lsd remote:
  24210. List all the files in your Jottacloud
  24211. rclone ls remote:
  24212. To copy a local directory to an Jottacloud directory called backup
  24213. rclone copy /home/source remote:backup
  24214. Devices and Mountpoints
  24215. The official Jottacloud client registers a device for each computer you
  24216. install it on, and shows them in the backup section of the user
  24217. interface. For each folder you select for backup it will create a
  24218. mountpoint within this device. A built-in device called Jotta is
  24219. special, and contains mountpoints Archive, Sync and some others, used
  24220. for corresponding features in official clients.
  24221. With rclone you'll want to use the standard Jotta/Archive
  24222. device/mountpoint in most cases. However, you may for example want to
  24223. access files from the sync or backup functionality provided by the
  24224. official clients, and rclone therefore provides the option to select
  24225. other devices and mountpoints during config.
  24226. You are allowed to create new devices and mountpoints. All devices
  24227. except the built-in Jotta device are treated as backup devices by
  24228. official Jottacloud clients, and the mountpoints on them are individual
  24229. backup sets.
  24230. With the built-in Jotta device, only existing, built-in, mountpoints can
  24231. be selected. In addition to the mentioned Archive and Sync, it may
  24232. contain several other mountpoints such as: Latest, Links, Shared and
  24233. Trash. All of these are special mountpoints with a different internal
  24234. representation than the "regular" mountpoints. Rclone will only to a
  24235. very limited degree support them. Generally you should avoid these,
  24236. unless you know what you are doing.
  24237. --fast-list
  24238. This remote supports --fast-list which allows you to use fewer
  24239. transactions in exchange for more memory. See the rclone docs for more
  24240. details.
  24241. Note that the implementation in Jottacloud always uses only a single API
  24242. request to get the entire list, so for large folders this could lead to
  24243. long wait time before the first results are shown.
  24244. Note also that with rclone version 1.58 and newer information about MIME
  24245. types are not available when using --fast-list.
  24246. Modified time and hashes
  24247. Jottacloud allows modification times to be set on objects accurate to 1
  24248. second. These will be used to detect whether objects need syncing or
  24249. not.
  24250. Jottacloud supports MD5 type hashes, so you can use the --checksum flag.
  24251. Note that Jottacloud requires the MD5 hash before upload so if the
  24252. source does not have an MD5 checksum then the file will be cached
  24253. temporarily on disk (in location given by --temp-dir) before it is
  24254. uploaded. Small files will be cached in memory - see the
  24255. --jottacloud-md5-memory-limit flag. When uploading from local disk the
  24256. source checksum is always available, so this does not apply. Starting
  24257. with rclone version 1.52 the same is true for encrypted remotes (in
  24258. older versions the crypt backend would not calculate hashes for uploads
  24259. from local disk, so the Jottacloud backend had to do it as described
  24260. above).
  24261. Restricted filename characters
  24262. In addition to the default restricted characters set the following
  24263. characters are also replaced:
  24264. Character Value Replacement
  24265. ----------- ------- -------------
  24266. " 0x22 "
  24267. * 0x2A *
  24268. : 0x3A :
  24269. < 0x3C <
  24270. > 0x3E >
  24271. ? 0x3F ?
  24272. | 0x7C |
  24273. Invalid UTF-8 bytes will also be replaced, as they can't be used in XML
  24274. strings.
  24275. Deleting files
  24276. By default, rclone will send all files to the trash when deleting files.
  24277. They will be permanently deleted automatically after 30 days. You may
  24278. bypass the trash and permanently delete files immediately by using the
  24279. --jottacloud-hard-delete flag, or set the equivalent environment
  24280. variable. Emptying the trash is supported by the cleanup command.
  24281. Versions
  24282. Jottacloud supports file versioning. When rclone uploads a new version
  24283. of a file it creates a new version of it. Currently rclone only supports
  24284. retrieving the current version but older versions can be accessed via
  24285. the Jottacloud Website.
  24286. Versioning can be disabled by --jottacloud-no-versions option. This is
  24287. achieved by deleting the remote file prior to uploading a new version.
  24288. If the upload the fails no version of the file will be available in the
  24289. remote.
  24290. Quota information
  24291. To view your current quota you can use the rclone about remote: command
  24292. which will display your usage limit (unless it is unlimited) and the
  24293. current usage.
  24294. Advanced options
  24295. Here are the Advanced options specific to jottacloud (Jottacloud).
  24296. --jottacloud-md5-memory-limit
  24297. Files bigger than this will be cached on disk to calculate the MD5 if
  24298. required.
  24299. Properties:
  24300. - Config: md5_memory_limit
  24301. - Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
  24302. - Type: SizeSuffix
  24303. - Default: 10Mi
  24304. --jottacloud-trashed-only
  24305. Only show files that are in the trash.
  24306. This will show trashed files in their original directory structure.
  24307. Properties:
  24308. - Config: trashed_only
  24309. - Env Var: RCLONE_JOTTACLOUD_TRASHED_ONLY
  24310. - Type: bool
  24311. - Default: false
  24312. --jottacloud-hard-delete
  24313. Delete files permanently rather than putting them into the trash.
  24314. Properties:
  24315. - Config: hard_delete
  24316. - Env Var: RCLONE_JOTTACLOUD_HARD_DELETE
  24317. - Type: bool
  24318. - Default: false
  24319. --jottacloud-upload-resume-limit
  24320. Files bigger than this can be resumed if the upload fail's.
  24321. Properties:
  24322. - Config: upload_resume_limit
  24323. - Env Var: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT
  24324. - Type: SizeSuffix
  24325. - Default: 10Mi
  24326. --jottacloud-no-versions
  24327. Avoid server side versioning by deleting files and recreating files
  24328. instead of overwriting them.
  24329. Properties:
  24330. - Config: no_versions
  24331. - Env Var: RCLONE_JOTTACLOUD_NO_VERSIONS
  24332. - Type: bool
  24333. - Default: false
  24334. --jottacloud-encoding
  24335. The encoding for the backend.
  24336. See the encoding section in the overview for more info.
  24337. Properties:
  24338. - Config: encoding
  24339. - Env Var: RCLONE_JOTTACLOUD_ENCODING
  24340. - Type: MultiEncoder
  24341. - Default:
  24342. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot
  24343. Limitations
  24344. Note that Jottacloud is case insensitive so you can't have a file called
  24345. "Hello.doc" and one called "hello.doc".
  24346. There are quite a few characters that can't be in Jottacloud file names.
  24347. Rclone will map these names to and from an identical looking unicode
  24348. equivalent. For example if a file has a ? in it will be mapped to ?
  24349. instead.
  24350. Jottacloud only supports filenames up to 255 characters in length.
  24351. Troubleshooting
  24352. Jottacloud exhibits some inconsistent behaviours regarding deleted files
  24353. and folders which may cause Copy, Move and DirMove operations to
  24354. previously deleted paths to fail. Emptying the trash should help in such
  24355. cases.
  24356. Koofr
  24357. Paths are specified as remote:path
  24358. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  24359. Configuration
  24360. The initial setup for Koofr involves creating an application password
  24361. for rclone. You can do that by opening the Koofr web application, giving
  24362. the password a nice name like rclone and clicking on generate.
  24363. Here is an example of how to make a remote called koofr. First run:
  24364. rclone config
  24365. This will guide you through an interactive setup process:
  24366. No remotes found, make a new one?
  24367. n) New remote
  24368. s) Set configuration password
  24369. q) Quit config
  24370. n/s/q> n
  24371. name> koofr
  24372. Option Storage.
  24373. Type of storage to configure.
  24374. Choose a number from below, or type in your own value.
  24375. [snip]
  24376. 22 / Koofr, Digi Storage and other Koofr-compatible storage providers
  24377. \ (koofr)
  24378. [snip]
  24379. Storage> koofr
  24380. Option provider.
  24381. Choose your storage provider.
  24382. Choose a number from below, or type in your own value.
  24383. Press Enter to leave empty.
  24384. 1 / Koofr, https://app.koofr.net/
  24385. \ (koofr)
  24386. 2 / Digi Storage, https://storage.rcs-rds.ro/
  24387. \ (digistorage)
  24388. 3 / Any other Koofr API compatible storage service
  24389. \ (other)
  24390. provider> 1
  24391. Option user.
  24392. Your user name.
  24393. Enter a value.
  24394. user> USERNAME
  24395. Option password.
  24396. Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password).
  24397. Choose an alternative below.
  24398. y) Yes, type in my own password
  24399. g) Generate random password
  24400. y/g> y
  24401. Enter the password:
  24402. password:
  24403. Confirm the password:
  24404. password:
  24405. Edit advanced config?
  24406. y) Yes
  24407. n) No (default)
  24408. y/n> n
  24409. Remote config
  24410. --------------------
  24411. [koofr]
  24412. type = koofr
  24413. provider = koofr
  24414. user = USERNAME
  24415. password = *** ENCRYPTED ***
  24416. --------------------
  24417. y) Yes this is OK (default)
  24418. e) Edit this remote
  24419. d) Delete this remote
  24420. y/e/d> y
  24421. You can choose to edit advanced config in order to enter your own
  24422. service URL if you use an on-premise or white label Koofr instance, or
  24423. choose an alternative mount instead of your primary storage.
  24424. Once configured you can then use rclone like this,
  24425. List directories in top level of your Koofr
  24426. rclone lsd koofr:
  24427. List all the files in your Koofr
  24428. rclone ls koofr:
  24429. To copy a local directory to an Koofr directory called backup
  24430. rclone copy /home/source koofr:backup
  24431. Restricted filename characters
  24432. In addition to the default restricted characters set the following
  24433. characters are also replaced:
  24434. Character Value Replacement
  24435. ----------- ------- -------------
  24436. \ 0x5C \
  24437. Invalid UTF-8 bytes will also be replaced, as they can't be used in XML
  24438. strings.
  24439. Standard options
  24440. Here are the Standard options specific to koofr (Koofr, Digi Storage and
  24441. other Koofr-compatible storage providers).
  24442. --koofr-provider
  24443. Choose your storage provider.
  24444. Properties:
  24445. - Config: provider
  24446. - Env Var: RCLONE_KOOFR_PROVIDER
  24447. - Type: string
  24448. - Required: false
  24449. - Examples:
  24450. - "koofr"
  24451. - Koofr, https://app.koofr.net/
  24452. - "digistorage"
  24453. - Digi Storage, https://storage.rcs-rds.ro/
  24454. - "other"
  24455. - Any other Koofr API compatible storage service
  24456. --koofr-endpoint
  24457. The Koofr API endpoint to use.
  24458. Properties:
  24459. - Config: endpoint
  24460. - Env Var: RCLONE_KOOFR_ENDPOINT
  24461. - Provider: other
  24462. - Type: string
  24463. - Required: true
  24464. --koofr-user
  24465. Your user name.
  24466. Properties:
  24467. - Config: user
  24468. - Env Var: RCLONE_KOOFR_USER
  24469. - Type: string
  24470. - Required: true
  24471. --koofr-password
  24472. Your password for rclone (generate one at
  24473. https://app.koofr.net/app/admin/preferences/password).
  24474. NB Input to this must be obscured - see rclone obscure.
  24475. Properties:
  24476. - Config: password
  24477. - Env Var: RCLONE_KOOFR_PASSWORD
  24478. - Provider: koofr
  24479. - Type: string
  24480. - Required: true
  24481. --koofr-password
  24482. Your password for rclone (generate one at
  24483. https://storage.rcs-rds.ro/app/admin/preferences/password).
  24484. NB Input to this must be obscured - see rclone obscure.
  24485. Properties:
  24486. - Config: password
  24487. - Env Var: RCLONE_KOOFR_PASSWORD
  24488. - Provider: digistorage
  24489. - Type: string
  24490. - Required: true
  24491. --koofr-password
  24492. Your password for rclone (generate one at your service's settings page).
  24493. NB Input to this must be obscured - see rclone obscure.
  24494. Properties:
  24495. - Config: password
  24496. - Env Var: RCLONE_KOOFR_PASSWORD
  24497. - Provider: other
  24498. - Type: string
  24499. - Required: true
  24500. Advanced options
  24501. Here are the Advanced options specific to koofr (Koofr, Digi Storage and
  24502. other Koofr-compatible storage providers).
  24503. --koofr-mountid
  24504. Mount ID of the mount to use.
  24505. If omitted, the primary mount is used.
  24506. Properties:
  24507. - Config: mountid
  24508. - Env Var: RCLONE_KOOFR_MOUNTID
  24509. - Type: string
  24510. - Required: false
  24511. --koofr-setmtime
  24512. Does the backend support setting modification time.
  24513. Set this to false if you use a mount ID that points to a Dropbox or
  24514. Amazon Drive backend.
  24515. Properties:
  24516. - Config: setmtime
  24517. - Env Var: RCLONE_KOOFR_SETMTIME
  24518. - Type: bool
  24519. - Default: true
  24520. --koofr-encoding
  24521. The encoding for the backend.
  24522. See the encoding section in the overview for more info.
  24523. Properties:
  24524. - Config: encoding
  24525. - Env Var: RCLONE_KOOFR_ENCODING
  24526. - Type: MultiEncoder
  24527. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  24528. Limitations
  24529. Note that Koofr is case insensitive so you can't have a file called
  24530. "Hello.doc" and one called "hello.doc".
  24531. Providers
  24532. Koofr
  24533. This is the original Koofr storage provider used as main example and
  24534. described in the configuration section above.
  24535. Digi Storage
  24536. Digi Storage is a cloud storage service run by Digi.ro that provides a
  24537. Koofr API.
  24538. Here is an example of how to make a remote called ds. First run:
  24539. rclone config
  24540. This will guide you through an interactive setup process:
  24541. No remotes found, make a new one?
  24542. n) New remote
  24543. s) Set configuration password
  24544. q) Quit config
  24545. n/s/q> n
  24546. name> ds
  24547. Option Storage.
  24548. Type of storage to configure.
  24549. Choose a number from below, or type in your own value.
  24550. [snip]
  24551. 22 / Koofr, Digi Storage and other Koofr-compatible storage providers
  24552. \ (koofr)
  24553. [snip]
  24554. Storage> koofr
  24555. Option provider.
  24556. Choose your storage provider.
  24557. Choose a number from below, or type in your own value.
  24558. Press Enter to leave empty.
  24559. 1 / Koofr, https://app.koofr.net/
  24560. \ (koofr)
  24561. 2 / Digi Storage, https://storage.rcs-rds.ro/
  24562. \ (digistorage)
  24563. 3 / Any other Koofr API compatible storage service
  24564. \ (other)
  24565. provider> 2
  24566. Option user.
  24567. Your user name.
  24568. Enter a value.
  24569. user> USERNAME
  24570. Option password.
  24571. Your password for rclone (generate one at https://storage.rcs-rds.ro/app/admin/preferences/password).
  24572. Choose an alternative below.
  24573. y) Yes, type in my own password
  24574. g) Generate random password
  24575. y/g> y
  24576. Enter the password:
  24577. password:
  24578. Confirm the password:
  24579. password:
  24580. Edit advanced config?
  24581. y) Yes
  24582. n) No (default)
  24583. y/n> n
  24584. --------------------
  24585. [ds]
  24586. type = koofr
  24587. provider = digistorage
  24588. user = USERNAME
  24589. password = *** ENCRYPTED ***
  24590. --------------------
  24591. y) Yes this is OK (default)
  24592. e) Edit this remote
  24593. d) Delete this remote
  24594. y/e/d> y
  24595. Other
  24596. You may also want to use another, public or private storage provider
  24597. that runs a Koofr API compatible service, by simply providing the base
  24598. URL to connect to.
  24599. Here is an example of how to make a remote called other. First run:
  24600. rclone config
  24601. This will guide you through an interactive setup process:
  24602. No remotes found, make a new one?
  24603. n) New remote
  24604. s) Set configuration password
  24605. q) Quit config
  24606. n/s/q> n
  24607. name> other
  24608. Option Storage.
  24609. Type of storage to configure.
  24610. Choose a number from below, or type in your own value.
  24611. [snip]
  24612. 22 / Koofr, Digi Storage and other Koofr-compatible storage providers
  24613. \ (koofr)
  24614. [snip]
  24615. Storage> koofr
  24616. Option provider.
  24617. Choose your storage provider.
  24618. Choose a number from below, or type in your own value.
  24619. Press Enter to leave empty.
  24620. 1 / Koofr, https://app.koofr.net/
  24621. \ (koofr)
  24622. 2 / Digi Storage, https://storage.rcs-rds.ro/
  24623. \ (digistorage)
  24624. 3 / Any other Koofr API compatible storage service
  24625. \ (other)
  24626. provider> 3
  24627. Option endpoint.
  24628. The Koofr API endpoint to use.
  24629. Enter a value.
  24630. endpoint> https://koofr.other.org
  24631. Option user.
  24632. Your user name.
  24633. Enter a value.
  24634. user> USERNAME
  24635. Option password.
  24636. Your password for rclone (generate one at your service's settings page).
  24637. Choose an alternative below.
  24638. y) Yes, type in my own password
  24639. g) Generate random password
  24640. y/g> y
  24641. Enter the password:
  24642. password:
  24643. Confirm the password:
  24644. password:
  24645. Edit advanced config?
  24646. y) Yes
  24647. n) No (default)
  24648. y/n> n
  24649. --------------------
  24650. [other]
  24651. type = koofr
  24652. provider = other
  24653. endpoint = https://koofr.other.org
  24654. user = USERNAME
  24655. password = *** ENCRYPTED ***
  24656. --------------------
  24657. y) Yes this is OK (default)
  24658. e) Edit this remote
  24659. d) Delete this remote
  24660. y/e/d> y
  24661. Mail.ru Cloud
  24662. Mail.ru Cloud is a cloud storage provided by a Russian internet company
  24663. Mail.Ru Group. The official desktop client is Disk-O:, available on
  24664. Windows and Mac OS.
  24665. Currently it is recommended to disable 2FA on Mail.ru accounts intended
  24666. for rclone until it gets eventually implemented.
  24667. Features highlights
  24668. - Paths may be as deep as required, e.g. remote:directory/subdirectory
  24669. - Files have a last modified time property, directories don't
  24670. - Deleted files are by default moved to the trash
  24671. - Files and directories can be shared via public links
  24672. - Partial uploads or streaming are not supported, file size must be
  24673. known before upload
  24674. - Maximum file size is limited to 2G for a free account, unlimited for
  24675. paid accounts
  24676. - Storage keeps hash for all files and performs transparent
  24677. deduplication, the hash algorithm is a modified SHA1
  24678. - If a particular file is already present in storage, one can quickly
  24679. submit file hash instead of long file upload (this optimization is
  24680. supported by rclone)
  24681. Configuration
  24682. Here is an example of making a mailru configuration.
  24683. First create a Mail.ru Cloud account and choose a tariff.
  24684. You will need to log in and create an app password for rclone. Rclone
  24685. will not work with your normal username and password - it will give an
  24686. error like oauth2: server response missing access_token.
  24687. - Click on your user icon in the top right
  24688. - Go to Security / "Пароль и безопасность"
  24689. - Click password for apps / "Пароли для внешних приложений"
  24690. - Add the password - give it a name - eg "rclone"
  24691. - Copy the password and use this password below - your normal login
  24692. password won't work.
  24693. Now run
  24694. rclone config
  24695. This will guide you through an interactive setup process:
  24696. No remotes found, make a new one?
  24697. n) New remote
  24698. s) Set configuration password
  24699. q) Quit config
  24700. n/s/q> n
  24701. name> remote
  24702. Type of storage to configure.
  24703. Type of storage to configure.
  24704. Enter a string value. Press Enter for the default ("").
  24705. Choose a number from below, or type in your own value
  24706. [snip]
  24707. XX / Mail.ru Cloud
  24708. \ "mailru"
  24709. [snip]
  24710. Storage> mailru
  24711. User name (usually email)
  24712. Enter a string value. Press Enter for the default ("").
  24713. user> username@mail.ru
  24714. Password
  24715. This must be an app password - rclone will not work with your normal
  24716. password. See the Configuration section in the docs for how to make an
  24717. app password.
  24718. y) Yes type in my own password
  24719. g) Generate random password
  24720. y/g> y
  24721. Enter the password:
  24722. password:
  24723. Confirm the password:
  24724. password:
  24725. Skip full upload if there is another file with same data hash.
  24726. This feature is called "speedup" or "put by hash". It is especially efficient
  24727. in case of generally available files like popular books, video or audio clips
  24728. [snip]
  24729. Enter a boolean value (true or false). Press Enter for the default ("true").
  24730. Choose a number from below, or type in your own value
  24731. 1 / Enable
  24732. \ "true"
  24733. 2 / Disable
  24734. \ "false"
  24735. speedup_enable> 1
  24736. Edit advanced config? (y/n)
  24737. y) Yes
  24738. n) No
  24739. y/n> n
  24740. Remote config
  24741. --------------------
  24742. [remote]
  24743. type = mailru
  24744. user = username@mail.ru
  24745. pass = *** ENCRYPTED ***
  24746. speedup_enable = true
  24747. --------------------
  24748. y) Yes this is OK
  24749. e) Edit this remote
  24750. d) Delete this remote
  24751. y/e/d> y
  24752. Configuration of this backend does not require a local web browser. You
  24753. can use the configured backend as shown below:
  24754. See top level directories
  24755. rclone lsd remote:
  24756. Make a new directory
  24757. rclone mkdir remote:directory
  24758. List the contents of a directory
  24759. rclone ls remote:directory
  24760. Sync /home/local/directory to the remote path, deleting any excess files
  24761. in the path.
  24762. rclone sync --interactive /home/local/directory remote:directory
  24763. Modified time
  24764. Files support a modification time attribute with up to 1 second
  24765. precision. Directories do not have a modification time, which is shown
  24766. as "Jan 1 1970".
  24767. Hash checksums
  24768. Hash sums use a custom Mail.ru algorithm based on SHA1. If file size is
  24769. less than or equal to the SHA1 block size (20 bytes), its hash is simply
  24770. its data right-padded with zero bytes. Hash sum of a larger file is
  24771. computed as a SHA1 sum of the file data bytes concatenated with a
  24772. decimal representation of the data length.
  24773. Emptying Trash
  24774. Removing a file or directory actually moves it to the trash, which is
  24775. not visible to rclone but can be seen in a web browser. The trashed file
  24776. still occupies part of total quota. If you wish to empty your trash and
  24777. free some quota, you can use the rclone cleanup remote: command, which
  24778. will permanently delete all your trashed files. This command does not
  24779. take any path arguments.
  24780. Quota information
  24781. To view your current quota you can use the rclone about remote: command
  24782. which will display your usage limit (quota) and the current usage.
  24783. Restricted filename characters
  24784. In addition to the default restricted characters set the following
  24785. characters are also replaced:
  24786. Character Value Replacement
  24787. ----------- ------- -------------
  24788. " 0x22 "
  24789. * 0x2A *
  24790. : 0x3A :
  24791. < 0x3C <
  24792. > 0x3E >
  24793. ? 0x3F ?
  24794. \ 0x5C \
  24795. | 0x7C |
  24796. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  24797. strings.
  24798. Standard options
  24799. Here are the Standard options specific to mailru (Mail.ru Cloud).
  24800. --mailru-user
  24801. User name (usually email).
  24802. Properties:
  24803. - Config: user
  24804. - Env Var: RCLONE_MAILRU_USER
  24805. - Type: string
  24806. - Required: true
  24807. --mailru-pass
  24808. Password.
  24809. This must be an app password - rclone will not work with your normal
  24810. password. See the Configuration section in the docs for how to make an
  24811. app password.
  24812. NB Input to this must be obscured - see rclone obscure.
  24813. Properties:
  24814. - Config: pass
  24815. - Env Var: RCLONE_MAILRU_PASS
  24816. - Type: string
  24817. - Required: true
  24818. --mailru-speedup-enable
  24819. Skip full upload if there is another file with same data hash.
  24820. This feature is called "speedup" or "put by hash". It is especially
  24821. efficient in case of generally available files like popular books, video
  24822. or audio clips, because files are searched by hash in all accounts of
  24823. all mailru users. It is meaningless and ineffective if source file is
  24824. unique or encrypted. Please note that rclone may need local memory and
  24825. disk space to calculate content hash in advance and decide whether full
  24826. upload is required. Also, if rclone does not know file size in advance
  24827. (e.g. in case of streaming or partial uploads), it will not even try
  24828. this optimization.
  24829. Properties:
  24830. - Config: speedup_enable
  24831. - Env Var: RCLONE_MAILRU_SPEEDUP_ENABLE
  24832. - Type: bool
  24833. - Default: true
  24834. - Examples:
  24835. - "true"
  24836. - Enable
  24837. - "false"
  24838. - Disable
  24839. Advanced options
  24840. Here are the Advanced options specific to mailru (Mail.ru Cloud).
  24841. --mailru-speedup-file-patterns
  24842. Comma separated list of file name patterns eligible for speedup (put by
  24843. hash).
  24844. Patterns are case insensitive and can contain '*' or '?' meta
  24845. characters.
  24846. Properties:
  24847. - Config: speedup_file_patterns
  24848. - Env Var: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS
  24849. - Type: string
  24850. - Default: ".mkv,.avi,.mp4,.mp3,.zip,.gz,.rar,.pdf"
  24851. - Examples:
  24852. - ""
  24853. - Empty list completely disables speedup (put by hash).
  24854. - "*"
  24855. - All files will be attempted for speedup.
  24856. - ".mkv,.avi,.mp4,.mp3"
  24857. - Only common audio/video files will be tried for put by hash.
  24858. - ".zip,.gz,.rar,.pdf"
  24859. - Only common archives or PDF books will be tried for speedup.
  24860. --mailru-speedup-max-disk
  24861. This option allows you to disable speedup (put by hash) for large files.
  24862. Reason is that preliminary hashing can exhaust your RAM or disk space.
  24863. Properties:
  24864. - Config: speedup_max_disk
  24865. - Env Var: RCLONE_MAILRU_SPEEDUP_MAX_DISK
  24866. - Type: SizeSuffix
  24867. - Default: 3Gi
  24868. - Examples:
  24869. - "0"
  24870. - Completely disable speedup (put by hash).
  24871. - "1G"
  24872. - Files larger than 1Gb will be uploaded directly.
  24873. - "3G"
  24874. - Choose this option if you have less than 3Gb free on local
  24875. disk.
  24876. --mailru-speedup-max-memory
  24877. Files larger than the size given below will always be hashed on disk.
  24878. Properties:
  24879. - Config: speedup_max_memory
  24880. - Env Var: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY
  24881. - Type: SizeSuffix
  24882. - Default: 32Mi
  24883. - Examples:
  24884. - "0"
  24885. - Preliminary hashing will always be done in a temporary disk
  24886. location.
  24887. - "32M"
  24888. - Do not dedicate more than 32Mb RAM for preliminary hashing.
  24889. - "256M"
  24890. - You have at most 256Mb RAM free for hash calculations.
  24891. --mailru-check-hash
  24892. What should copy do if file checksum is mismatched or invalid.
  24893. Properties:
  24894. - Config: check_hash
  24895. - Env Var: RCLONE_MAILRU_CHECK_HASH
  24896. - Type: bool
  24897. - Default: true
  24898. - Examples:
  24899. - "true"
  24900. - Fail with error.
  24901. - "false"
  24902. - Ignore and continue.
  24903. --mailru-user-agent
  24904. HTTP user agent used internally by client.
  24905. Defaults to "rclone/VERSION" or "--user-agent" provided on command line.
  24906. Properties:
  24907. - Config: user_agent
  24908. - Env Var: RCLONE_MAILRU_USER_AGENT
  24909. - Type: string
  24910. - Required: false
  24911. --mailru-quirks
  24912. Comma separated list of internal maintenance flags.
  24913. This option must not be used by an ordinary user. It is intended only to
  24914. facilitate remote troubleshooting of backend issues. Strict meaning of
  24915. flags is not documented and not guaranteed to persist between releases.
  24916. Quirks will be removed when the backend grows stable. Supported quirks:
  24917. atomicmkdir binlist unknowndirs
  24918. Properties:
  24919. - Config: quirks
  24920. - Env Var: RCLONE_MAILRU_QUIRKS
  24921. - Type: string
  24922. - Required: false
  24923. --mailru-encoding
  24924. The encoding for the backend.
  24925. See the encoding section in the overview for more info.
  24926. Properties:
  24927. - Config: encoding
  24928. - Env Var: RCLONE_MAILRU_ENCODING
  24929. - Type: MultiEncoder
  24930. - Default:
  24931. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot
  24932. Limitations
  24933. File size limits depend on your account. A single file size is limited
  24934. by 2G for a free account and unlimited for paid tariffs. Please refer to
  24935. the Mail.ru site for the total uploaded size limits.
  24936. Note that Mailru is case insensitive so you can't have a file called
  24937. "Hello.doc" and one called "hello.doc".
  24938. Mega
  24939. Mega is a cloud storage and file hosting service known for its security
  24940. feature where all files are encrypted locally before they are uploaded.
  24941. This prevents anyone (including employees of Mega) from accessing the
  24942. files without knowledge of the key used for encryption.
  24943. This is an rclone backend for Mega which supports the file transfer
  24944. features of Mega using the same client side encryption.
  24945. Paths are specified as remote:path
  24946. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  24947. Configuration
  24948. Here is an example of how to make a remote called remote. First run:
  24949. rclone config
  24950. This will guide you through an interactive setup process:
  24951. No remotes found, make a new one?
  24952. n) New remote
  24953. s) Set configuration password
  24954. q) Quit config
  24955. n/s/q> n
  24956. name> remote
  24957. Type of storage to configure.
  24958. Choose a number from below, or type in your own value
  24959. [snip]
  24960. XX / Mega
  24961. \ "mega"
  24962. [snip]
  24963. Storage> mega
  24964. User name
  24965. user> you@example.com
  24966. Password.
  24967. y) Yes type in my own password
  24968. g) Generate random password
  24969. n) No leave this optional password blank
  24970. y/g/n> y
  24971. Enter the password:
  24972. password:
  24973. Confirm the password:
  24974. password:
  24975. Remote config
  24976. --------------------
  24977. [remote]
  24978. type = mega
  24979. user = you@example.com
  24980. pass = *** ENCRYPTED ***
  24981. --------------------
  24982. y) Yes this is OK
  24983. e) Edit this remote
  24984. d) Delete this remote
  24985. y/e/d> y
  24986. NOTE: The encryption keys need to have been already generated after a
  24987. regular login via the browser, otherwise attempting to use the
  24988. credentials in rclone will fail.
  24989. Once configured you can then use rclone like this,
  24990. List directories in top level of your Mega
  24991. rclone lsd remote:
  24992. List all the files in your Mega
  24993. rclone ls remote:
  24994. To copy a local directory to an Mega directory called backup
  24995. rclone copy /home/source remote:backup
  24996. Modified time and hashes
  24997. Mega does not support modification times or hashes yet.
  24998. Restricted filename characters
  24999. Character Value Replacement
  25000. ----------- ------- -------------
  25001. NUL 0x00 ␀
  25002. / 0x2F /
  25003. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  25004. strings.
  25005. Duplicated files
  25006. Mega can have two files with exactly the same name and path (unlike a
  25007. normal file system).
  25008. Duplicated files cause problems with the syncing and you will see
  25009. messages in the log about duplicates.
  25010. Use rclone dedupe to fix duplicated files.
  25011. Failure to log-in
  25012. Object not found
  25013. If you are connecting to your Mega remote for the first time, to test
  25014. access and synchronization, you may receive an error such as
  25015. Failed to create file system for "my-mega-remote:":
  25016. couldn't login: Object (typically, node or user) not found
  25017. The diagnostic steps often recommended in the rclone forum start with
  25018. the MEGAcmd utility. Note that this refers to the official C++ command
  25019. from https://github.com/meganz/MEGAcmd and not the go language built
  25020. command from t3rm1n4l/megacmd that is no longer maintained.
  25021. Follow the instructions for installing MEGAcmd and try accessing your
  25022. remote as they recommend. You can establish whether or not you can log
  25023. in using MEGAcmd, and obtain diagnostic information to help you, and
  25024. search or work with others in the forum.
  25025. MEGA CMD> login me@example.com
  25026. Password:
  25027. Fetching nodes ...
  25028. Loading transfers from local cache
  25029. Login complete as me@example.com
  25030. me@example.com:/$
  25031. Note that some have found issues with passwords containing special
  25032. characters. If you can not log on with rclone, but MEGAcmd logs on just
  25033. fine, then consider changing your password temporarily to pure
  25034. alphanumeric characters, in case that helps.
  25035. Repeated commands blocks access
  25036. Mega remotes seem to get blocked (reject logins) under "heavy use". We
  25037. haven't worked out the exact blocking rules but it seems to be related
  25038. to fast paced, successive rclone commands.
  25039. For example, executing this command 90 times in a row
  25040. rclone link remote:file will cause the remote to become "blocked". This
  25041. is not an abnormal situation, for example if you wish to get the public
  25042. links of a directory with hundred of files... After more or less a week,
  25043. the remote will remote accept rclone logins normally again.
  25044. You can mitigate this issue by mounting the remote it with rclone mount.
  25045. This will log-in when mounting and a log-out when unmounting only. You
  25046. can also run rclone rcd and then use rclone rc to run the commands over
  25047. the API to avoid logging in each time.
  25048. Rclone does not currently close mega sessions (you can see them in the
  25049. web interface), however closing the sessions does not solve the issue.
  25050. If you space rclone commands by 3 seconds it will avoid blocking the
  25051. remote. We haven't identified the exact blocking rules, so perhaps one
  25052. could execute the command 80 times without waiting and avoid blocking by
  25053. waiting 3 seconds, then continuing...
  25054. Note that this has been observed by trial and error and might not be set
  25055. in stone.
  25056. Other tools seem not to produce this blocking effect, as they use a
  25057. different working approach (state-based, using sessionIDs instead of
  25058. log-in) which isn't compatible with the current stateless rclone
  25059. approach.
  25060. Note that once blocked, the use of other tools (such as megacmd) is not
  25061. a sure workaround: following megacmd login times have been observed in
  25062. succession for blocked remote: 7 minutes, 20 min, 30min, 30 min, 30min.
  25063. Web access looks unaffected though.
  25064. Investigation is continuing in relation to workarounds based on
  25065. timeouts, pacers, retrials and tpslimits - if you discover something
  25066. relevant, please post on the forum.
  25067. So, if rclone was working nicely and suddenly you are unable to log-in
  25068. and you are sure the user and the password are correct, likely you have
  25069. got the remote blocked for a while.
  25070. Standard options
  25071. Here are the Standard options specific to mega (Mega).
  25072. --mega-user
  25073. User name.
  25074. Properties:
  25075. - Config: user
  25076. - Env Var: RCLONE_MEGA_USER
  25077. - Type: string
  25078. - Required: true
  25079. --mega-pass
  25080. Password.
  25081. NB Input to this must be obscured - see rclone obscure.
  25082. Properties:
  25083. - Config: pass
  25084. - Env Var: RCLONE_MEGA_PASS
  25085. - Type: string
  25086. - Required: true
  25087. Advanced options
  25088. Here are the Advanced options specific to mega (Mega).
  25089. --mega-debug
  25090. Output more debug from Mega.
  25091. If this flag is set (along with -vv) it will print further debugging
  25092. information from the mega backend.
  25093. Properties:
  25094. - Config: debug
  25095. - Env Var: RCLONE_MEGA_DEBUG
  25096. - Type: bool
  25097. - Default: false
  25098. --mega-hard-delete
  25099. Delete files permanently rather than putting them into the trash.
  25100. Normally the mega backend will put all deletions into the trash rather
  25101. than permanently deleting them. If you specify this then rclone will
  25102. permanently delete objects instead.
  25103. Properties:
  25104. - Config: hard_delete
  25105. - Env Var: RCLONE_MEGA_HARD_DELETE
  25106. - Type: bool
  25107. - Default: false
  25108. --mega-use-https
  25109. Use HTTPS for transfers.
  25110. MEGA uses plain text HTTP connections by default. Some ISPs throttle
  25111. HTTP connections, this causes transfers to become very slow. Enabling
  25112. this will force MEGA to use HTTPS for all transfers. HTTPS is normally
  25113. not necessary since all data is already encrypted anyway. Enabling it
  25114. will increase CPU usage and add network overhead.
  25115. Properties:
  25116. - Config: use_https
  25117. - Env Var: RCLONE_MEGA_USE_HTTPS
  25118. - Type: bool
  25119. - Default: false
  25120. --mega-encoding
  25121. The encoding for the backend.
  25122. See the encoding section in the overview for more info.
  25123. Properties:
  25124. - Config: encoding
  25125. - Env Var: RCLONE_MEGA_ENCODING
  25126. - Type: MultiEncoder
  25127. - Default: Slash,InvalidUtf8,Dot
  25128. Limitations
  25129. This backend uses the go-mega go library which is an opensource go
  25130. library implementing the Mega API. There doesn't appear to be any
  25131. documentation for the mega protocol beyond the mega C++ SDK source code
  25132. so there are likely quite a few errors still remaining in this library.
  25133. Mega allows duplicate files which may confuse rclone.
  25134. Memory
  25135. The memory backend is an in RAM backend. It does not persist its data -
  25136. use the local backend for that.
  25137. The memory backend behaves like a bucket-based remote (e.g. like s3).
  25138. Because it has no parameters you can just use it with the :memory:
  25139. remote name.
  25140. Configuration
  25141. You can configure it as a remote like this with rclone config too if you
  25142. want to:
  25143. No remotes found, make a new one?
  25144. n) New remote
  25145. s) Set configuration password
  25146. q) Quit config
  25147. n/s/q> n
  25148. name> remote
  25149. Type of storage to configure.
  25150. Enter a string value. Press Enter for the default ("").
  25151. Choose a number from below, or type in your own value
  25152. [snip]
  25153. XX / Memory
  25154. \ "memory"
  25155. [snip]
  25156. Storage> memory
  25157. ** See help for memory backend at: https://rclone.org/memory/ **
  25158. Remote config
  25159. --------------------
  25160. [remote]
  25161. type = memory
  25162. --------------------
  25163. y) Yes this is OK (default)
  25164. e) Edit this remote
  25165. d) Delete this remote
  25166. y/e/d> y
  25167. Because the memory backend isn't persistent it is most useful for
  25168. testing or with an rclone server or rclone mount, e.g.
  25169. rclone mount :memory: /mnt/tmp
  25170. rclone serve webdav :memory:
  25171. rclone serve sftp :memory:
  25172. Modified time and hashes
  25173. The memory backend supports MD5 hashes and modification times accurate
  25174. to 1 nS.
  25175. Restricted filename characters
  25176. The memory backend replaces the default restricted characters set.
  25177. Akamai NetStorage
  25178. Paths are specified as remote: You may put subdirectories in too, e.g.
  25179. remote:/path/to/dir. If you have a CP code you can use that as the
  25180. folder after the domain such as <domain>/<cpcode>/<internal directories
  25181. within cpcode>.
  25182. For example, this is commonly configured with or without a CP code: *
  25183. With a CP code.
  25184. [your-domain-prefix]-nsu.akamaihd.net/123456/subdirectory/ * Without a
  25185. CP code. [your-domain-prefix]-nsu.akamaihd.net
  25186. See all buckets rclone lsd remote: The initial setup for Netstorage
  25187. involves getting an account and secret. Use rclone config to walk you
  25188. through the setup process.
  25189. Configuration
  25190. Here's an example of how to make a remote called ns1.
  25191. 1. To begin the interactive configuration process, enter this command:
  25192. rclone config
  25193. 2. Type n to create a new remote.
  25194. n) New remote
  25195. d) Delete remote
  25196. q) Quit config
  25197. e/n/d/q> n
  25198. 3. For this example, enter ns1 when you reach the name> prompt.
  25199. name> ns1
  25200. 4. Enter netstorage as the type of storage to configure.
  25201. Type of storage to configure.
  25202. Enter a string value. Press Enter for the default ("").
  25203. Choose a number from below, or type in your own value
  25204. XX / NetStorage
  25205. \ "netstorage"
  25206. Storage> netstorage
  25207. 5. Select between the HTTP or HTTPS protocol. Most users should choose
  25208. HTTPS, which is the default. HTTP is provided primarily for
  25209. debugging purposes.
  25210. Enter a string value. Press Enter for the default ("").
  25211. Choose a number from below, or type in your own value
  25212. 1 / HTTP protocol
  25213. \ "http"
  25214. 2 / HTTPS protocol
  25215. \ "https"
  25216. protocol> 1
  25217. 6. Specify your NetStorage host, CP code, and any necessary content
  25218. paths using this format: <domain>/<cpcode>/<content>/
  25219. Enter a string value. Press Enter for the default ("").
  25220. host> baseball-nsu.akamaihd.net/123456/content/
  25221. 7. Set the netstorage account name
  25222. Enter a string value. Press Enter for the default ("").
  25223. account> username
  25224. 8. Set the Netstorage account secret/G2O key which will be used for
  25225. authentication purposes. Select the y option to set your own
  25226. password then enter your secret. Note: The secret is stored in the
  25227. rclone.conf file with hex-encoded encryption.
  25228. y) Yes type in my own password
  25229. g) Generate random password
  25230. y/g> y
  25231. Enter the password:
  25232. password:
  25233. Confirm the password:
  25234. password:
  25235. 9. View the summary and confirm your remote configuration.
  25236. [ns1]
  25237. type = netstorage
  25238. protocol = http
  25239. host = baseball-nsu.akamaihd.net/123456/content/
  25240. account = username
  25241. secret = *** ENCRYPTED ***
  25242. --------------------
  25243. y) Yes this is OK (default)
  25244. e) Edit this remote
  25245. d) Delete this remote
  25246. y/e/d> y
  25247. This remote is called ns1 and can now be used.
  25248. Example operations
  25249. Get started with rclone and NetStorage with these examples. For
  25250. additional rclone commands, visit https://rclone.org/commands/.
  25251. See contents of a directory in your project
  25252. rclone lsd ns1:/974012/testing/
  25253. Sync the contents local with remote
  25254. rclone sync . ns1:/974012/testing/
  25255. Upload local content to remote
  25256. rclone copy notes.txt ns1:/974012/testing/
  25257. Delete content on remote
  25258. rclone delete ns1:/974012/testing/notes.txt
  25259. Move or copy content between CP codes.
  25260. Your credentials must have access to two CP codes on the same remote.
  25261. You can't perform operations between different remotes.
  25262. rclone move ns1:/974012/testing/notes.txt ns1:/974450/testing2/
  25263. Features
  25264. Symlink Support
  25265. The Netstorage backend changes the rclone --links, -l behavior. When
  25266. uploading, instead of creating the .rclonelink file, use the "symlink"
  25267. API in order to create the corresponding symlink on the remote. The
  25268. .rclonelink file will not be created, the upload will be intercepted and
  25269. only the symlink file that matches the source file name with no suffix
  25270. will be created on the remote.
  25271. This will effectively allow commands like copy/copyto, move/moveto and
  25272. sync to upload from local to remote and download from remote to local
  25273. directories with symlinks. Due to internal rclone limitations, it is not
  25274. possible to upload an individual symlink file to any remote backend. You
  25275. can always use the "backend symlink" command to create a symlink on the
  25276. NetStorage server, refer to "symlink" section below.
  25277. Individual symlink files on the remote can be used with the commands
  25278. like "cat" to print the destination name, or "delete" to delete symlink,
  25279. or copy, copy/to and move/moveto to download from the remote to local.
  25280. Note: individual symlink files on the remote should be specified
  25281. including the suffix .rclonelink.
  25282. Note: No file with the suffix .rclonelink should ever exist on the
  25283. server since it is not possible to actually upload/create a file with
  25284. .rclonelink suffix with rclone, it can only exist if it is manually
  25285. created through a non-rclone method on the remote.
  25286. Implicit vs. Explicit Directories
  25287. With NetStorage, directories can exist in one of two forms:
  25288. 1. Explicit Directory. This is an actual, physical directory that you
  25289. have created in a storage group.
  25290. 2. Implicit Directory. This refers to a directory within a path that
  25291. has not been physically created. For example, during upload of a
  25292. file, nonexistent subdirectories can be specified in the target
  25293. path. NetStorage creates these as "implicit." While the directories
  25294. aren't physically created, they exist implicitly and the noted path
  25295. is connected with the uploaded file.
  25296. Rclone will intercept all file uploads and mkdir commands for the
  25297. NetStorage remote and will explicitly issue the mkdir command for each
  25298. directory in the uploading path. This will help with the
  25299. interoperability with the other Akamai services such as SFTP and the
  25300. Content Management Shell (CMShell). Rclone will not guarantee
  25301. correctness of operations with implicit directories which might have
  25302. been created as a result of using an upload API directly.
  25303. --fast-list / ListR support
  25304. NetStorage remote supports the ListR feature by using the "list"
  25305. NetStorage API action to return a lexicographical list of all objects
  25306. within the specified CP code, recursing into subdirectories as they're
  25307. encountered.
  25308. - Rclone will use the ListR method for some commands by default.
  25309. Commands such as lsf -R will use ListR by default. To disable this,
  25310. include the --disable listR option to use the non-recursive method
  25311. of listing objects.
  25312. - Rclone will not use the ListR method for some commands. Commands
  25313. such as sync don't use ListR by default. To force using the ListR
  25314. method, include the --fast-list option.
  25315. There are pros and cons of using the ListR method, refer to rclone
  25316. documentation. In general, the sync command over an existing deep tree
  25317. on the remote will run faster with the "--fast-list" flag but with extra
  25318. memory usage as a side effect. It might also result in higher CPU
  25319. utilization but the whole task can be completed faster.
  25320. Note: There is a known limitation that "lsf -R" will display number of
  25321. files in the directory and directory size as -1 when ListR method is
  25322. used. The workaround is to pass "--disable listR" flag if these numbers
  25323. are important in the output.
  25324. Purge
  25325. NetStorage remote supports the purge feature by using the "quick-delete"
  25326. NetStorage API action. The quick-delete action is disabled by default
  25327. for security reasons and can be enabled for the account through the
  25328. Akamai portal. Rclone will first try to use quick-delete action for the
  25329. purge command and if this functionality is disabled then will fall back
  25330. to a standard delete method.
  25331. Note: Read the NetStorage Usage API for considerations when using
  25332. "quick-delete". In general, using quick-delete method will not delete
  25333. the tree immediately and objects targeted for quick-delete may still be
  25334. accessible.
  25335. Standard options
  25336. Here are the Standard options specific to netstorage (Akamai
  25337. NetStorage).
  25338. --netstorage-host
  25339. Domain+path of NetStorage host to connect to.
  25340. Format should be <domain>/<internal folders>
  25341. Properties:
  25342. - Config: host
  25343. - Env Var: RCLONE_NETSTORAGE_HOST
  25344. - Type: string
  25345. - Required: true
  25346. --netstorage-account
  25347. Set the NetStorage account name
  25348. Properties:
  25349. - Config: account
  25350. - Env Var: RCLONE_NETSTORAGE_ACCOUNT
  25351. - Type: string
  25352. - Required: true
  25353. --netstorage-secret
  25354. Set the NetStorage account secret/G2O key for authentication.
  25355. Please choose the 'y' option to set your own password then enter your
  25356. secret.
  25357. NB Input to this must be obscured - see rclone obscure.
  25358. Properties:
  25359. - Config: secret
  25360. - Env Var: RCLONE_NETSTORAGE_SECRET
  25361. - Type: string
  25362. - Required: true
  25363. Advanced options
  25364. Here are the Advanced options specific to netstorage (Akamai
  25365. NetStorage).
  25366. --netstorage-protocol
  25367. Select between HTTP or HTTPS protocol.
  25368. Most users should choose HTTPS, which is the default. HTTP is provided
  25369. primarily for debugging purposes.
  25370. Properties:
  25371. - Config: protocol
  25372. - Env Var: RCLONE_NETSTORAGE_PROTOCOL
  25373. - Type: string
  25374. - Default: "https"
  25375. - Examples:
  25376. - "http"
  25377. - HTTP protocol
  25378. - "https"
  25379. - HTTPS protocol
  25380. Backend commands
  25381. Here are the commands specific to the netstorage backend.
  25382. Run them with
  25383. rclone backend COMMAND remote:
  25384. The help below will explain what arguments each command takes.
  25385. See the backend command for more info on how to pass options and
  25386. arguments.
  25387. These can be run on a running backend using the rc command
  25388. backend/command.
  25389. du
  25390. Return disk usage information for a specified directory
  25391. rclone backend du remote: [options] [<arguments>+]
  25392. The usage information returned, includes the targeted directory as well
  25393. as all files stored in any sub-directories that may exist.
  25394. symlink
  25395. You can create a symbolic link in ObjectStore with the symlink action.
  25396. rclone backend symlink remote: [options] [<arguments>+]
  25397. The desired path location (including applicable sub-directories) ending
  25398. in the object that will be the target of the symlink (for example,
  25399. /links/mylink). Include the file extension for the object, if
  25400. applicable. rclone backend symlink <src> <path>
  25401. Microsoft Azure Blob Storage
  25402. Paths are specified as remote:container (or remote: for the lsd
  25403. command.) You may put subdirectories in too, e.g.
  25404. remote:container/path/to/dir.
  25405. Configuration
  25406. Here is an example of making a Microsoft Azure Blob Storage
  25407. configuration. For a remote called remote. First run:
  25408. rclone config
  25409. This will guide you through an interactive setup process:
  25410. No remotes found, make a new one?
  25411. n) New remote
  25412. s) Set configuration password
  25413. q) Quit config
  25414. n/s/q> n
  25415. name> remote
  25416. Type of storage to configure.
  25417. Choose a number from below, or type in your own value
  25418. [snip]
  25419. XX / Microsoft Azure Blob Storage
  25420. \ "azureblob"
  25421. [snip]
  25422. Storage> azureblob
  25423. Storage Account Name
  25424. account> account_name
  25425. Storage Account Key
  25426. key> base64encodedkey==
  25427. Endpoint for the service - leave blank normally.
  25428. endpoint>
  25429. Remote config
  25430. --------------------
  25431. [remote]
  25432. account = account_name
  25433. key = base64encodedkey==
  25434. endpoint =
  25435. --------------------
  25436. y) Yes this is OK
  25437. e) Edit this remote
  25438. d) Delete this remote
  25439. y/e/d> y
  25440. See all containers
  25441. rclone lsd remote:
  25442. Make a new container
  25443. rclone mkdir remote:container
  25444. List the contents of a container
  25445. rclone ls remote:container
  25446. Sync /home/local/directory to the remote container, deleting any excess
  25447. files in the container.
  25448. rclone sync --interactive /home/local/directory remote:container
  25449. --fast-list
  25450. This remote supports --fast-list which allows you to use fewer
  25451. transactions in exchange for more memory. See the rclone docs for more
  25452. details.
  25453. Modified time
  25454. The modified time is stored as metadata on the object with the mtime
  25455. key. It is stored using RFC3339 Format time with nanosecond precision.
  25456. The metadata is supplied during directory listings so there is no
  25457. performance overhead to using it.
  25458. If you wish to use the Azure standard LastModified time stored on the
  25459. object as the modified time, then use the --use-server-modtime flag.
  25460. Note that rclone can't set LastModified, so using the --update flag when
  25461. syncing is recommended if using --use-server-modtime.
  25462. Performance
  25463. When uploading large files, increasing the value of
  25464. --azureblob-upload-concurrency will increase performance at the cost of
  25465. using more memory. The default of 16 is set quite conservatively to use
  25466. less memory. It maybe be necessary raise it to 64 or higher to fully
  25467. utilize a 1 GBit/s link with a single file transfer.
  25468. Restricted filename characters
  25469. In addition to the default restricted characters set the following
  25470. characters are also replaced:
  25471. Character Value Replacement
  25472. ----------- ------- -------------
  25473. / 0x2F /
  25474. \ 0x5C \
  25475. File names can also not end with the following characters. These only
  25476. get replaced if they are the last character in the name:
  25477. Character Value Replacement
  25478. ----------- ------- -------------
  25479. . 0x2E .
  25480. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  25481. strings.
  25482. Hashes
  25483. MD5 hashes are stored with blobs. However blobs that were uploaded in
  25484. chunks only have an MD5 if the source remote was capable of MD5 hashes,
  25485. e.g. the local disk.
  25486. Authentication
  25487. There are a number of ways of supplying credentials for Azure Blob
  25488. Storage. Rclone tries them in the order of the sections below.
  25489. Env Auth
  25490. If the env_auth config parameter is true then rclone will pull
  25491. credentials from the environment or runtime.
  25492. It tries these authentication methods in this order:
  25493. 1. Environment Variables
  25494. 2. Managed Service Identity Credentials
  25495. 3. Azure CLI credentials (as used by the az tool)
  25496. These are described in the following sections
  25497. Env Auth: 1. Environment Variables
  25498. If env_auth is set and environment variables are present rclone
  25499. authenticates a service principal with a secret or certificate, or a
  25500. user with a password, depending on which environment variable are set.
  25501. It reads configuration from these variables, in the following order:
  25502. 1. Service principal with client secret
  25503. - AZURE_TENANT_ID: ID of the service principal's tenant. Also
  25504. called its "directory" ID.
  25505. - AZURE_CLIENT_ID: the service principal's client ID
  25506. - AZURE_CLIENT_SECRET: one of the service principal's client
  25507. secrets
  25508. 2. Service principal with certificate
  25509. - AZURE_TENANT_ID: ID of the service principal's tenant. Also
  25510. called its "directory" ID.
  25511. - AZURE_CLIENT_ID: the service principal's client ID
  25512. - AZURE_CLIENT_CERTIFICATE_PATH: path to a PEM or PKCS12
  25513. certificate file including the private key.
  25514. - AZURE_CLIENT_CERTIFICATE_PASSWORD: (optional) password for the
  25515. certificate file.
  25516. - AZURE_CLIENT_SEND_CERTIFICATE_CHAIN: (optional) Specifies
  25517. whether an authentication request will include an x5c header to
  25518. support subject name / issuer based authentication. When set to
  25519. "true" or "1", authentication requests include the x5c header.
  25520. 3. User with username and password
  25521. - AZURE_TENANT_ID: (optional) tenant to authenticate in. Defaults
  25522. to "organizations".
  25523. - AZURE_CLIENT_ID: client ID of the application the user will
  25524. authenticate to
  25525. - AZURE_USERNAME: a username (usually an email address)
  25526. - AZURE_PASSWORD: the user's password
  25527. 4. Workload Identity
  25528. - AZURE_TENANT_ID: Tenant to authenticate in.
  25529. - AZURE_CLIENT_ID: Client ID of the application the user will
  25530. authenticate to.
  25531. - AZURE_FEDERATED_TOKEN_FILE: Path to projected service account
  25532. token file.
  25533. - AZURE_AUTHORITY_HOST: Authority of an Azure Active Directory
  25534. endpoint (default: login.microsoftonline.com).
  25535. Env Auth: 2. Managed Service Identity Credentials
  25536. When using Managed Service Identity if the VM(SS) on which this program
  25537. is running has a system-assigned identity, it will be used by default.
  25538. If the resource has no system-assigned but exactly one user-assigned
  25539. identity, the user-assigned identity will be used by default.
  25540. If the resource has multiple user-assigned identities you will need to
  25541. unset env_auth and set use_msi instead. See the use_msi section.
  25542. Env Auth: 3. Azure CLI credentials (as used by the az tool)
  25543. Credentials created with the az tool can be picked up using env_auth.
  25544. For example if you were to login with a service principal like this:
  25545. az login --service-principal -u XXX -p XXX --tenant XXX
  25546. Then you could access rclone resources like this:
  25547. rclone lsf :azureblob,env_auth,account=ACCOUNT:CONTAINER
  25548. Or
  25549. rclone lsf --azureblob-env-auth --azureblob-account=ACCOUNT :azureblob:CONTAINER
  25550. Which is analogous to using the az tool:
  25551. az storage blob list --container-name CONTAINER --account-name ACCOUNT --auth-mode login
  25552. Account and Shared Key
  25553. This is the most straight forward and least flexible way. Just fill in
  25554. the account and key lines and leave the rest blank.
  25555. SAS URL
  25556. This can be an account level SAS URL or container level SAS URL.
  25557. To use it leave account and key blank and fill in sas_url.
  25558. An account level SAS URL or container level SAS URL can be obtained from
  25559. the Azure portal or the Azure Storage Explorer. To get a container level
  25560. SAS URL right click on a container in the Azure Blob explorer in the
  25561. Azure portal.
  25562. If you use a container level SAS URL, rclone operations are permitted
  25563. only on a particular container, e.g.
  25564. rclone ls azureblob:container
  25565. You can also list the single container from the root. This will only
  25566. show the container specified by the SAS URL.
  25567. $ rclone lsd azureblob:
  25568. container/
  25569. Note that you can't see or access any other containers - this will fail
  25570. rclone ls azureblob:othercontainer
  25571. Container level SAS URLs are useful for temporarily allowing third
  25572. parties access to a single container or putting credentials into an
  25573. untrusted environment such as a CI build server.
  25574. Service principal with client secret
  25575. If these variables are set, rclone will authenticate with a service
  25576. principal with a client secret.
  25577. - tenant: ID of the service principal's tenant. Also called its
  25578. "directory" ID.
  25579. - client_id: the service principal's client ID
  25580. - client_secret: one of the service principal's client secrets
  25581. The credentials can also be placed in a file using the
  25582. service_principal_file configuration option.
  25583. Service principal with certificate
  25584. If these variables are set, rclone will authenticate with a service
  25585. principal with certificate.
  25586. - tenant: ID of the service principal's tenant. Also called its
  25587. "directory" ID.
  25588. - client_id: the service principal's client ID
  25589. - client_certificate_path: path to a PEM or PKCS12 certificate file
  25590. including the private key.
  25591. - client_certificate_password: (optional) password for the certificate
  25592. file.
  25593. - client_send_certificate_chain: (optional) Specifies whether an
  25594. authentication request will include an x5c header to support subject
  25595. name / issuer based authentication. When set to "true" or "1",
  25596. authentication requests include the x5c header.
  25597. NB client_certificate_password must be obscured - see rclone obscure.
  25598. User with username and password
  25599. If these variables are set, rclone will authenticate with username and
  25600. password.
  25601. - tenant: (optional) tenant to authenticate in. Defaults to
  25602. "organizations".
  25603. - client_id: client ID of the application the user will authenticate
  25604. to
  25605. - username: a username (usually an email address)
  25606. - password: the user's password
  25607. Microsoft doesn't recommend this kind of authentication, because it's
  25608. less secure than other authentication flows. This method is not
  25609. interactive, so it isn't compatible with any form of multi-factor
  25610. authentication, and the application must already have user or admin
  25611. consent. This credential can only authenticate work and school accounts;
  25612. it can't authenticate Microsoft accounts.
  25613. NB password must be obscured - see rclone obscure.
  25614. Managed Service Identity Credentials
  25615. If use_msi is set then managed service identity credentials are used.
  25616. This authentication only works when running in an Azure service.
  25617. env_auth needs to be unset to use this.
  25618. However if you have multiple user identities to choose from these must
  25619. be explicitly specified using exactly one of the msi_object_id,
  25620. msi_client_id, or msi_mi_res_id parameters.
  25621. If none of msi_object_id, msi_client_id, or msi_mi_res_id is set, this
  25622. is is equivalent to using env_auth.
  25623. Standard options
  25624. Here are the Standard options specific to azureblob (Microsoft Azure
  25625. Blob Storage).
  25626. --azureblob-account
  25627. Azure Storage Account Name.
  25628. Set this to the Azure Storage Account Name in use.
  25629. Leave blank to use SAS URL or Emulator, otherwise it needs to be set.
  25630. If this is blank and if env_auth is set it will be read from the
  25631. environment variable AZURE_STORAGE_ACCOUNT_NAME if possible.
  25632. Properties:
  25633. - Config: account
  25634. - Env Var: RCLONE_AZUREBLOB_ACCOUNT
  25635. - Type: string
  25636. - Required: false
  25637. --azureblob-env-auth
  25638. Read credentials from runtime (environment variables, CLI or MSI).
  25639. See the authentication docs for full info.
  25640. Properties:
  25641. - Config: env_auth
  25642. - Env Var: RCLONE_AZUREBLOB_ENV_AUTH
  25643. - Type: bool
  25644. - Default: false
  25645. --azureblob-key
  25646. Storage Account Shared Key.
  25647. Leave blank to use SAS URL or Emulator.
  25648. Properties:
  25649. - Config: key
  25650. - Env Var: RCLONE_AZUREBLOB_KEY
  25651. - Type: string
  25652. - Required: false
  25653. --azureblob-sas-url
  25654. SAS URL for container level access only.
  25655. Leave blank if using account/key or Emulator.
  25656. Properties:
  25657. - Config: sas_url
  25658. - Env Var: RCLONE_AZUREBLOB_SAS_URL
  25659. - Type: string
  25660. - Required: false
  25661. --azureblob-tenant
  25662. ID of the service principal's tenant. Also called its directory ID.
  25663. Set this if using - Service principal with client secret - Service
  25664. principal with certificate - User with username and password
  25665. Properties:
  25666. - Config: tenant
  25667. - Env Var: RCLONE_AZUREBLOB_TENANT
  25668. - Type: string
  25669. - Required: false
  25670. --azureblob-client-id
  25671. The ID of the client in use.
  25672. Set this if using - Service principal with client secret - Service
  25673. principal with certificate - User with username and password
  25674. Properties:
  25675. - Config: client_id
  25676. - Env Var: RCLONE_AZUREBLOB_CLIENT_ID
  25677. - Type: string
  25678. - Required: false
  25679. --azureblob-client-secret
  25680. One of the service principal's client secrets
  25681. Set this if using - Service principal with client secret
  25682. Properties:
  25683. - Config: client_secret
  25684. - Env Var: RCLONE_AZUREBLOB_CLIENT_SECRET
  25685. - Type: string
  25686. - Required: false
  25687. --azureblob-client-certificate-path
  25688. Path to a PEM or PKCS12 certificate file including the private key.
  25689. Set this if using - Service principal with certificate
  25690. Properties:
  25691. - Config: client_certificate_path
  25692. - Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PATH
  25693. - Type: string
  25694. - Required: false
  25695. --azureblob-client-certificate-password
  25696. Password for the certificate file (optional).
  25697. Optionally set this if using - Service principal with certificate
  25698. And the certificate has a password.
  25699. NB Input to this must be obscured - see rclone obscure.
  25700. Properties:
  25701. - Config: client_certificate_password
  25702. - Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PASSWORD
  25703. - Type: string
  25704. - Required: false
  25705. Advanced options
  25706. Here are the Advanced options specific to azureblob (Microsoft Azure
  25707. Blob Storage).
  25708. --azureblob-client-send-certificate-chain
  25709. Send the certificate chain when using certificate auth.
  25710. Specifies whether an authentication request will include an x5c header
  25711. to support subject name / issuer based authentication. When set to true,
  25712. authentication requests include the x5c header.
  25713. Optionally set this if using - Service principal with certificate
  25714. Properties:
  25715. - Config: client_send_certificate_chain
  25716. - Env Var: RCLONE_AZUREBLOB_CLIENT_SEND_CERTIFICATE_CHAIN
  25717. - Type: bool
  25718. - Default: false
  25719. --azureblob-username
  25720. User name (usually an email address)
  25721. Set this if using - User with username and password
  25722. Properties:
  25723. - Config: username
  25724. - Env Var: RCLONE_AZUREBLOB_USERNAME
  25725. - Type: string
  25726. - Required: false
  25727. --azureblob-password
  25728. The user's password
  25729. Set this if using - User with username and password
  25730. NB Input to this must be obscured - see rclone obscure.
  25731. Properties:
  25732. - Config: password
  25733. - Env Var: RCLONE_AZUREBLOB_PASSWORD
  25734. - Type: string
  25735. - Required: false
  25736. --azureblob-service-principal-file
  25737. Path to file containing credentials for use with a service principal.
  25738. Leave blank normally. Needed only if you want to use a service principal
  25739. instead of interactive login.
  25740. $ az ad sp create-for-rbac --name "<name>" \
  25741. --role "Storage Blob Data Owner" \
  25742. --scopes "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>" \
  25743. > azure-principal.json
  25744. See "Create an Azure service principal" and "Assign an Azure role for
  25745. access to blob data" pages for more details.
  25746. It may be more convenient to put the credentials directly into the
  25747. rclone config file under the client_id, tenant and client_secret keys
  25748. instead of setting service_principal_file.
  25749. Properties:
  25750. - Config: service_principal_file
  25751. - Env Var: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE
  25752. - Type: string
  25753. - Required: false
  25754. --azureblob-use-msi
  25755. Use a managed service identity to authenticate (only works in Azure).
  25756. When true, use a managed service identity to authenticate to Azure
  25757. Storage instead of a SAS token or account key.
  25758. If the VM(SS) on which this program is running has a system-assigned
  25759. identity, it will be used by default. If the resource has no
  25760. system-assigned but exactly one user-assigned identity, the
  25761. user-assigned identity will be used by default. If the resource has
  25762. multiple user-assigned identities, the identity to use must be
  25763. explicitly specified using exactly one of the msi_object_id,
  25764. msi_client_id, or msi_mi_res_id parameters.
  25765. Properties:
  25766. - Config: use_msi
  25767. - Env Var: RCLONE_AZUREBLOB_USE_MSI
  25768. - Type: bool
  25769. - Default: false
  25770. --azureblob-msi-object-id
  25771. Object ID of the user-assigned MSI to use, if any.
  25772. Leave blank if msi_client_id or msi_mi_res_id specified.
  25773. Properties:
  25774. - Config: msi_object_id
  25775. - Env Var: RCLONE_AZUREBLOB_MSI_OBJECT_ID
  25776. - Type: string
  25777. - Required: false
  25778. --azureblob-msi-client-id
  25779. Object ID of the user-assigned MSI to use, if any.
  25780. Leave blank if msi_object_id or msi_mi_res_id specified.
  25781. Properties:
  25782. - Config: msi_client_id
  25783. - Env Var: RCLONE_AZUREBLOB_MSI_CLIENT_ID
  25784. - Type: string
  25785. - Required: false
  25786. --azureblob-msi-mi-res-id
  25787. Azure resource ID of the user-assigned MSI to use, if any.
  25788. Leave blank if msi_client_id or msi_object_id specified.
  25789. Properties:
  25790. - Config: msi_mi_res_id
  25791. - Env Var: RCLONE_AZUREBLOB_MSI_MI_RES_ID
  25792. - Type: string
  25793. - Required: false
  25794. --azureblob-use-emulator
  25795. Uses local storage emulator if provided as 'true'.
  25796. Leave blank if using real azure storage endpoint.
  25797. Properties:
  25798. - Config: use_emulator
  25799. - Env Var: RCLONE_AZUREBLOB_USE_EMULATOR
  25800. - Type: bool
  25801. - Default: false
  25802. --azureblob-endpoint
  25803. Endpoint for the service.
  25804. Leave blank normally.
  25805. Properties:
  25806. - Config: endpoint
  25807. - Env Var: RCLONE_AZUREBLOB_ENDPOINT
  25808. - Type: string
  25809. - Required: false
  25810. --azureblob-upload-cutoff
  25811. Cutoff for switching to chunked upload (<= 256 MiB) (deprecated).
  25812. Properties:
  25813. - Config: upload_cutoff
  25814. - Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
  25815. - Type: string
  25816. - Required: false
  25817. --azureblob-chunk-size
  25818. Upload chunk size.
  25819. Note that this is stored in memory and there may be up to "--transfers"
  25820. * "--azureblob-upload-concurrency" chunks stored at once in memory.
  25821. Properties:
  25822. - Config: chunk_size
  25823. - Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE
  25824. - Type: SizeSuffix
  25825. - Default: 4Mi
  25826. --azureblob-upload-concurrency
  25827. Concurrency for multipart uploads.
  25828. This is the number of chunks of the same file that are uploaded
  25829. concurrently.
  25830. If you are uploading small numbers of large files over high-speed links
  25831. and these uploads do not fully utilize your bandwidth, then increasing
  25832. this may help to speed up the transfers.
  25833. In tests, upload speed increases almost linearly with upload
  25834. concurrency. For example to fill a gigabit pipe it may be necessary to
  25835. raise this to 64. Note that this will use more memory.
  25836. Note that chunks are stored in memory and there may be up to
  25837. "--transfers" * "--azureblob-upload-concurrency" chunks stored at once
  25838. in memory.
  25839. Properties:
  25840. - Config: upload_concurrency
  25841. - Env Var: RCLONE_AZUREBLOB_UPLOAD_CONCURRENCY
  25842. - Type: int
  25843. - Default: 16
  25844. --azureblob-list-chunk
  25845. Size of blob list.
  25846. This sets the number of blobs requested in each listing chunk. Default
  25847. is the maximum, 5000. "List blobs" requests are permitted 2 minutes per
  25848. megabyte to complete. If an operation is taking longer than 2 minutes
  25849. per megabyte on average, it will time out ( source ). This can be used
  25850. to limit the number of blobs items to return, to avoid the time out.
  25851. Properties:
  25852. - Config: list_chunk
  25853. - Env Var: RCLONE_AZUREBLOB_LIST_CHUNK
  25854. - Type: int
  25855. - Default: 5000
  25856. --azureblob-access-tier
  25857. Access tier of blob: hot, cool or archive.
  25858. Archived blobs can be restored by setting access tier to hot or cool.
  25859. Leave blank if you intend to use default access tier, which is set at
  25860. account level
  25861. If there is no "access tier" specified, rclone doesn't apply any tier.
  25862. rclone performs "Set Tier" operation on blobs while uploading, if
  25863. objects are not modified, specifying "access tier" to new one will have
  25864. no effect. If blobs are in "archive tier" at remote, trying to perform
  25865. data transfer operations from remote will not be allowed. User should
  25866. first restore by tiering blob to "Hot" or "Cool".
  25867. Properties:
  25868. - Config: access_tier
  25869. - Env Var: RCLONE_AZUREBLOB_ACCESS_TIER
  25870. - Type: string
  25871. - Required: false
  25872. --azureblob-archive-tier-delete
  25873. Delete archive tier blobs before overwriting.
  25874. Archive tier blobs cannot be updated. So without this flag, if you
  25875. attempt to update an archive tier blob, then rclone will produce the
  25876. error:
  25877. can't update archive tier blob without --azureblob-archive-tier-delete
  25878. With this flag set then before rclone attempts to overwrite an archive
  25879. tier blob, it will delete the existing blob before uploading its
  25880. replacement. This has the potential for data loss if the upload fails
  25881. (unlike updating a normal blob) and also may cost more since deleting
  25882. archive tier blobs early may be chargable.
  25883. Properties:
  25884. - Config: archive_tier_delete
  25885. - Env Var: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE
  25886. - Type: bool
  25887. - Default: false
  25888. --azureblob-disable-checksum
  25889. Don't store MD5 checksum with object metadata.
  25890. Normally rclone will calculate the MD5 checksum of the input before
  25891. uploading it so it can add it to metadata on the object. This is great
  25892. for data integrity checking but can cause long delays for large files to
  25893. start uploading.
  25894. Properties:
  25895. - Config: disable_checksum
  25896. - Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM
  25897. - Type: bool
  25898. - Default: false
  25899. --azureblob-memory-pool-flush-time
  25900. How often internal memory buffer pools will be flushed.
  25901. Uploads which requires additional buffers (f.e multipart) will use
  25902. memory pool for allocations. This option controls how often unused
  25903. buffers will be removed from the pool.
  25904. Properties:
  25905. - Config: memory_pool_flush_time
  25906. - Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME
  25907. - Type: Duration
  25908. - Default: 1m0s
  25909. --azureblob-memory-pool-use-mmap
  25910. Whether to use mmap buffers in internal memory pool.
  25911. Properties:
  25912. - Config: memory_pool_use_mmap
  25913. - Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP
  25914. - Type: bool
  25915. - Default: false
  25916. --azureblob-encoding
  25917. The encoding for the backend.
  25918. See the encoding section in the overview for more info.
  25919. Properties:
  25920. - Config: encoding
  25921. - Env Var: RCLONE_AZUREBLOB_ENCODING
  25922. - Type: MultiEncoder
  25923. - Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8
  25924. --azureblob-public-access
  25925. Public access level of a container: blob or container.
  25926. Properties:
  25927. - Config: public_access
  25928. - Env Var: RCLONE_AZUREBLOB_PUBLIC_ACCESS
  25929. - Type: string
  25930. - Required: false
  25931. - Examples:
  25932. - ""
  25933. - The container and its blobs can be accessed only with an
  25934. authorized request.
  25935. - It's a default value.
  25936. - "blob"
  25937. - Blob data within this container can be read via anonymous
  25938. request.
  25939. - "container"
  25940. - Allow full public read access for container and blob data.
  25941. --azureblob-directory-markers
  25942. Upload an empty object with a trailing slash when a new directory is
  25943. created
  25944. Empty folders are unsupported for bucket based remotes, this option
  25945. creates an empty object ending with "/", to persist the folder.
  25946. This object also has the metadata "hdi_isfolder = true" to conform to
  25947. the Microsoft standard.
  25948. Properties:
  25949. - Config: directory_markers
  25950. - Env Var: RCLONE_AZUREBLOB_DIRECTORY_MARKERS
  25951. - Type: bool
  25952. - Default: false
  25953. --azureblob-no-check-container
  25954. If set, don't attempt to check the container exists or create it.
  25955. This can be useful when trying to minimise the number of transactions
  25956. rclone does if you know the container exists already.
  25957. Properties:
  25958. - Config: no_check_container
  25959. - Env Var: RCLONE_AZUREBLOB_NO_CHECK_CONTAINER
  25960. - Type: bool
  25961. - Default: false
  25962. --azureblob-no-head-object
  25963. If set, do not do HEAD before GET when getting objects.
  25964. Properties:
  25965. - Config: no_head_object
  25966. - Env Var: RCLONE_AZUREBLOB_NO_HEAD_OBJECT
  25967. - Type: bool
  25968. - Default: false
  25969. Custom upload headers
  25970. You can set custom upload headers with the --header-upload flag.
  25971. - Cache-Control
  25972. - Content-Disposition
  25973. - Content-Encoding
  25974. - Content-Language
  25975. - Content-Type
  25976. Eg --header-upload "Content-Type: text/potato"
  25977. Limitations
  25978. MD5 sums are only uploaded with chunked files if the source has an MD5
  25979. sum. This will always be the case for a local to azure copy.
  25980. rclone about is not supported by the Microsoft Azure Blob storage
  25981. backend. Backends without this capability cannot determine free space
  25982. for an rclone mount or use policy mfs (most free space) as a member of
  25983. an rclone union remote.
  25984. See List of backends that do not support rclone about and rclone about
  25985. Azure Storage Emulator Support
  25986. You can run rclone with the storage emulator (usually azurite).
  25987. To do this, just set up a new remote with rclone config following the
  25988. instructions in the introduction and set use_emulator in the advanced
  25989. settings as true. You do not need to provide a default account name nor
  25990. an account key. But you can override them in the account and key
  25991. options. (Prior to v1.61 they were hard coded to azurite's
  25992. devstoreaccount1.)
  25993. Also, if you want to access a storage emulator instance running on a
  25994. different machine, you can override the endpoint parameter in the
  25995. advanced settings, setting it to
  25996. http(s)://<host>:<port>/devstoreaccount1 (e.g.
  25997. http://10.254.2.5:10000/devstoreaccount1).
  25998. Microsoft OneDrive
  25999. Paths are specified as remote:path
  26000. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  26001. Configuration
  26002. The initial setup for OneDrive involves getting a token from Microsoft
  26003. which you need to do in your browser. rclone config walks you through
  26004. it.
  26005. Here is an example of how to make a remote called remote. First run:
  26006. rclone config
  26007. This will guide you through an interactive setup process:
  26008. e) Edit existing remote
  26009. n) New remote
  26010. d) Delete remote
  26011. r) Rename remote
  26012. c) Copy remote
  26013. s) Set configuration password
  26014. q) Quit config
  26015. e/n/d/r/c/s/q> n
  26016. name> remote
  26017. Type of storage to configure.
  26018. Enter a string value. Press Enter for the default ("").
  26019. Choose a number from below, or type in your own value
  26020. [snip]
  26021. XX / Microsoft OneDrive
  26022. \ "onedrive"
  26023. [snip]
  26024. Storage> onedrive
  26025. Microsoft App Client Id
  26026. Leave blank normally.
  26027. Enter a string value. Press Enter for the default ("").
  26028. client_id>
  26029. Microsoft App Client Secret
  26030. Leave blank normally.
  26031. Enter a string value. Press Enter for the default ("").
  26032. client_secret>
  26033. Edit advanced config? (y/n)
  26034. y) Yes
  26035. n) No
  26036. y/n> n
  26037. Remote config
  26038. Use web browser to automatically authenticate rclone with remote?
  26039. * Say Y if the machine running rclone has a web browser you can use
  26040. * Say N if running rclone on a (remote) machine without web browser access
  26041. If not sure try Y. If Y failed, try N.
  26042. y) Yes
  26043. n) No
  26044. y/n> y
  26045. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  26046. Log in and authorize rclone for access
  26047. Waiting for code...
  26048. Got code
  26049. Choose a number from below, or type in an existing value
  26050. 1 / OneDrive Personal or Business
  26051. \ "onedrive"
  26052. 2 / Sharepoint site
  26053. \ "sharepoint"
  26054. 3 / Type in driveID
  26055. \ "driveid"
  26056. 4 / Type in SiteID
  26057. \ "siteid"
  26058. 5 / Search a Sharepoint site
  26059. \ "search"
  26060. Your choice> 1
  26061. Found 1 drives, please select the one you want to use:
  26062. 0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
  26063. Chose drive to use:> 0
  26064. Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents
  26065. Is that okay?
  26066. y) Yes
  26067. n) No
  26068. y/n> y
  26069. --------------------
  26070. [remote]
  26071. type = onedrive
  26072. token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
  26073. drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
  26074. drive_type = business
  26075. --------------------
  26076. y) Yes this is OK
  26077. e) Edit this remote
  26078. d) Delete this remote
  26079. y/e/d> y
  26080. See the remote setup docs for how to set it up on a machine with no
  26081. Internet browser available.
  26082. Note that rclone runs a webserver on your local machine to collect the
  26083. token as returned from Microsoft. This only runs from the moment it
  26084. opens your browser to the moment you get back the verification code.
  26085. This is on http://127.0.0.1:53682/ and this it may require you to
  26086. unblock it temporarily if you are running a host firewall.
  26087. Once configured you can then use rclone like this,
  26088. List directories in top level of your OneDrive
  26089. rclone lsd remote:
  26090. List all the files in your OneDrive
  26091. rclone ls remote:
  26092. To copy a local directory to an OneDrive directory called backup
  26093. rclone copy /home/source remote:backup
  26094. Getting your own Client ID and Key
  26095. rclone uses a default Client ID when talking to OneDrive, unless a
  26096. custom client_id is specified in the config. The default Client ID and
  26097. Key are shared by all rclone users when performing requests.
  26098. You may choose to create and use your own Client ID, in case the default
  26099. one does not work well for you. For example, you might see throttling.
  26100. Creating Client ID for OneDrive Personal
  26101. To create your own Client ID, please follow these steps:
  26102. 1. Open
  26103. https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
  26104. and then click New registration.
  26105. 2. Enter a name for your app, choose account type
  26106. Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox),
  26107. select Web in Redirect URI, then type (do not copy and paste)
  26108. http://localhost:53682/ and click Register. Copy and keep the
  26109. Application (client) ID under the app name for later use.
  26110. 3. Under manage select Certificates & secrets, click New client secret.
  26111. Enter a description (can be anything) and set Expires to 24 months.
  26112. Copy and keep that secret Value for later use (you won't be able to
  26113. see this value afterwards).
  26114. 4. Under manage select API permissions, click Add a permission and
  26115. select Microsoft Graph then select delegated permissions.
  26116. 5. Search and select the following permissions: Files.Read,
  26117. Files.ReadWrite, Files.Read.All, Files.ReadWrite.All,
  26118. offline_access, User.Read and Sites.Read.All (if custom access
  26119. scopes are configured, select the permissions accordingly). Once
  26120. selected click Add permissions at the bottom.
  26121. Now the application is complete. Run rclone config to create or edit a
  26122. OneDrive remote. Supply the app ID and password as Client ID and Secret,
  26123. respectively. rclone will walk you through the remaining steps.
  26124. The access_scopes option allows you to configure the permissions
  26125. requested by rclone. See Microsoft Docs for more information about the
  26126. different scopes.
  26127. The Sites.Read.All permission is required if you need to search
  26128. SharePoint sites when configuring the remote. However, if that
  26129. permission is not assigned, you need to exclude Sites.Read.All from your
  26130. access scopes or set disable_site_permission option to true in the
  26131. advanced options.
  26132. Creating Client ID for OneDrive Business
  26133. The steps for OneDrive Personal may or may not work for OneDrive
  26134. Business, depending on the security settings of the organization. A
  26135. common error is that the publisher of the App is not verified.
  26136. You may try to verify you account, or try to limit the App to your
  26137. organization only, as shown below.
  26138. 1. Make sure to create the App with your business account.
  26139. 2. Follow the steps above to create an App. However, we need a
  26140. different account type here:
  26141. Accounts in this organizational directory only (*** - Single tenant).
  26142. Note that you can also change the account type after creating the
  26143. App.
  26144. 3. Find the tenant ID of your organization.
  26145. 4. In the rclone config, set auth_url to
  26146. https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/authorize.
  26147. 5. In the rclone config, set token_url to
  26148. https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token.
  26149. Note: If you have a special region, you may need a different host in
  26150. step 4 and 5. Here are some hints.
  26151. Modification time and hashes
  26152. OneDrive allows modification times to be set on objects accurate to 1
  26153. second. These will be used to detect whether objects need syncing or
  26154. not.
  26155. OneDrive Personal, OneDrive for Business and Sharepoint Server support
  26156. QuickXorHash.
  26157. Before rclone 1.62 the default hash for Onedrive Personal was SHA1. For
  26158. rclone 1.62 and above the default for all Onedrive backends is
  26159. QuickXorHash.
  26160. Starting from July 2023 SHA1 support is being phased out in Onedrive
  26161. Personal in favour of QuickXorHash. If necessary the
  26162. --onedrive-hash-type flag (or hash_type config option) can be used to
  26163. select SHA1 during the transition period if this is important your
  26164. workflow.
  26165. For all types of OneDrive you can use the --checksum flag.
  26166. Restricted filename characters
  26167. In addition to the default restricted characters set the following
  26168. characters are also replaced:
  26169. Character Value Replacement
  26170. ----------- ------- -------------
  26171. " 0x22 "
  26172. * 0x2A *
  26173. : 0x3A :
  26174. < 0x3C <
  26175. > 0x3E >
  26176. ? 0x3F ?
  26177. \ 0x5C \
  26178. | 0x7C |
  26179. File names can also not end with the following characters. These only
  26180. get replaced if they are the last character in the name:
  26181. Character Value Replacement
  26182. ----------- ------- -------------
  26183. SP 0x20 ␠
  26184. . 0x2E .
  26185. File names can also not begin with the following characters. These only
  26186. get replaced if they are the first character in the name:
  26187. Character Value Replacement
  26188. ----------- ------- -------------
  26189. SP 0x20 ␠
  26190. ~ 0x7E ~
  26191. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  26192. strings.
  26193. Deleting files
  26194. Any files you delete with rclone will end up in the trash. Microsoft
  26195. doesn't provide an API to permanently delete files, nor to empty the
  26196. trash, so you will have to do that with one of Microsoft's apps or via
  26197. the OneDrive website.
  26198. Standard options
  26199. Here are the Standard options specific to onedrive (Microsoft OneDrive).
  26200. --onedrive-client-id
  26201. OAuth Client Id.
  26202. Leave blank normally.
  26203. Properties:
  26204. - Config: client_id
  26205. - Env Var: RCLONE_ONEDRIVE_CLIENT_ID
  26206. - Type: string
  26207. - Required: false
  26208. --onedrive-client-secret
  26209. OAuth Client Secret.
  26210. Leave blank normally.
  26211. Properties:
  26212. - Config: client_secret
  26213. - Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET
  26214. - Type: string
  26215. - Required: false
  26216. --onedrive-region
  26217. Choose national cloud region for OneDrive.
  26218. Properties:
  26219. - Config: region
  26220. - Env Var: RCLONE_ONEDRIVE_REGION
  26221. - Type: string
  26222. - Default: "global"
  26223. - Examples:
  26224. - "global"
  26225. - Microsoft Cloud Global
  26226. - "us"
  26227. - Microsoft Cloud for US Government
  26228. - "de"
  26229. - Microsoft Cloud Germany
  26230. - "cn"
  26231. - Azure and Office 365 operated by Vnet Group in China
  26232. Advanced options
  26233. Here are the Advanced options specific to onedrive (Microsoft OneDrive).
  26234. --onedrive-token
  26235. OAuth Access Token as a JSON blob.
  26236. Properties:
  26237. - Config: token
  26238. - Env Var: RCLONE_ONEDRIVE_TOKEN
  26239. - Type: string
  26240. - Required: false
  26241. --onedrive-auth-url
  26242. Auth server URL.
  26243. Leave blank to use the provider defaults.
  26244. Properties:
  26245. - Config: auth_url
  26246. - Env Var: RCLONE_ONEDRIVE_AUTH_URL
  26247. - Type: string
  26248. - Required: false
  26249. --onedrive-token-url
  26250. Token server url.
  26251. Leave blank to use the provider defaults.
  26252. Properties:
  26253. - Config: token_url
  26254. - Env Var: RCLONE_ONEDRIVE_TOKEN_URL
  26255. - Type: string
  26256. - Required: false
  26257. --onedrive-chunk-size
  26258. Chunk size to upload files with - must be multiple of 320k (327,680
  26259. bytes).
  26260. Above this size files will be chunked - must be multiple of 320k
  26261. (327,680 bytes) and should not exceed 250M (262,144,000 bytes) else you
  26262. may encounter "Microsoft.SharePoint.Client.InvalidClientQueryException:
  26263. The request message is too big." Note that the chunks will be buffered
  26264. into memory.
  26265. Properties:
  26266. - Config: chunk_size
  26267. - Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE
  26268. - Type: SizeSuffix
  26269. - Default: 10Mi
  26270. --onedrive-drive-id
  26271. The ID of the drive to use.
  26272. Properties:
  26273. - Config: drive_id
  26274. - Env Var: RCLONE_ONEDRIVE_DRIVE_ID
  26275. - Type: string
  26276. - Required: false
  26277. --onedrive-drive-type
  26278. The type of the drive (personal | business | documentLibrary).
  26279. Properties:
  26280. - Config: drive_type
  26281. - Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE
  26282. - Type: string
  26283. - Required: false
  26284. --onedrive-root-folder-id
  26285. ID of the root folder.
  26286. This isn't normally needed, but in special circumstances you might know
  26287. the folder ID that you wish to access but not be able to get there
  26288. through a path traversal.
  26289. Properties:
  26290. - Config: root_folder_id
  26291. - Env Var: RCLONE_ONEDRIVE_ROOT_FOLDER_ID
  26292. - Type: string
  26293. - Required: false
  26294. --onedrive-access-scopes
  26295. Set scopes to be requested by rclone.
  26296. Choose or manually enter a custom space separated list with all scopes,
  26297. that rclone should request.
  26298. Properties:
  26299. - Config: access_scopes
  26300. - Env Var: RCLONE_ONEDRIVE_ACCESS_SCOPES
  26301. - Type: SpaceSepList
  26302. - Default: Files.Read Files.ReadWrite Files.Read.All
  26303. Files.ReadWrite.All Sites.Read.All offline_access
  26304. - Examples:
  26305. - "Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All
  26306. Sites.Read.All offline_access"
  26307. - Read and write access to all resources
  26308. - "Files.Read Files.Read.All Sites.Read.All offline_access"
  26309. - Read only access to all resources
  26310. - "Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All
  26311. offline_access"
  26312. - Read and write access to all resources, without the ability
  26313. to browse SharePoint sites.
  26314. - Same as if disable_site_permission was set to true
  26315. --onedrive-disable-site-permission
  26316. Disable the request for Sites.Read.All permission.
  26317. If set to true, you will no longer be able to search for a SharePoint
  26318. site when configuring drive ID, because rclone will not request
  26319. Sites.Read.All permission. Set it to true if your organization didn't
  26320. assign Sites.Read.All permission to the application, and your
  26321. organization disallows users to consent app permission request on their
  26322. own.
  26323. Properties:
  26324. - Config: disable_site_permission
  26325. - Env Var: RCLONE_ONEDRIVE_DISABLE_SITE_PERMISSION
  26326. - Type: bool
  26327. - Default: false
  26328. --onedrive-expose-onenote-files
  26329. Set to make OneNote files show up in directory listings.
  26330. By default, rclone will hide OneNote files in directory listings because
  26331. operations like "Open" and "Update" won't work on them. But this
  26332. behaviour may also prevent you from deleting them. If you want to delete
  26333. OneNote files or otherwise want them to show up in directory listing,
  26334. set this option.
  26335. Properties:
  26336. - Config: expose_onenote_files
  26337. - Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES
  26338. - Type: bool
  26339. - Default: false
  26340. --onedrive-server-side-across-configs
  26341. Deprecated: use --server-side-across-configs instead.
  26342. Allow server-side operations (e.g. copy) to work across different
  26343. onedrive configs.
  26344. This will only work if you are copying between two OneDrive Personal
  26345. drives AND the files to copy are already shared between them. In other
  26346. cases, rclone will fall back to normal copy (which will be slightly
  26347. slower).
  26348. Properties:
  26349. - Config: server_side_across_configs
  26350. - Env Var: RCLONE_ONEDRIVE_SERVER_SIDE_ACROSS_CONFIGS
  26351. - Type: bool
  26352. - Default: false
  26353. --onedrive-list-chunk
  26354. Size of listing chunk.
  26355. Properties:
  26356. - Config: list_chunk
  26357. - Env Var: RCLONE_ONEDRIVE_LIST_CHUNK
  26358. - Type: int
  26359. - Default: 1000
  26360. --onedrive-no-versions
  26361. Remove all versions on modifying operations.
  26362. Onedrive for business creates versions when rclone uploads new files
  26363. overwriting an existing one and when it sets the modification time.
  26364. These versions take up space out of the quota.
  26365. This flag checks for versions after file upload and setting modification
  26366. time and removes all but the last version.
  26367. NB Onedrive personal can't currently delete versions so don't use this
  26368. flag there.
  26369. Properties:
  26370. - Config: no_versions
  26371. - Env Var: RCLONE_ONEDRIVE_NO_VERSIONS
  26372. - Type: bool
  26373. - Default: false
  26374. --onedrive-link-scope
  26375. Set the scope of the links created by the link command.
  26376. Properties:
  26377. - Config: link_scope
  26378. - Env Var: RCLONE_ONEDRIVE_LINK_SCOPE
  26379. - Type: string
  26380. - Default: "anonymous"
  26381. - Examples:
  26382. - "anonymous"
  26383. - Anyone with the link has access, without needing to sign in.
  26384. - This may include people outside of your organization.
  26385. - Anonymous link support may be disabled by an administrator.
  26386. - "organization"
  26387. - Anyone signed into your organization (tenant) can use the
  26388. link to get access.
  26389. - Only available in OneDrive for Business and SharePoint.
  26390. --onedrive-link-type
  26391. Set the type of the links created by the link command.
  26392. Properties:
  26393. - Config: link_type
  26394. - Env Var: RCLONE_ONEDRIVE_LINK_TYPE
  26395. - Type: string
  26396. - Default: "view"
  26397. - Examples:
  26398. - "view"
  26399. - Creates a read-only link to the item.
  26400. - "edit"
  26401. - Creates a read-write link to the item.
  26402. - "embed"
  26403. - Creates an embeddable link to the item.
  26404. --onedrive-link-password
  26405. Set the password for links created by the link command.
  26406. At the time of writing this only works with OneDrive personal paid
  26407. accounts.
  26408. Properties:
  26409. - Config: link_password
  26410. - Env Var: RCLONE_ONEDRIVE_LINK_PASSWORD
  26411. - Type: string
  26412. - Required: false
  26413. --onedrive-hash-type
  26414. Specify the hash in use for the backend.
  26415. This specifies the hash type in use. If set to "auto" it will use the
  26416. default hash which is QuickXorHash.
  26417. Before rclone 1.62 an SHA1 hash was used by default for Onedrive
  26418. Personal. For 1.62 and later the default is to use a QuickXorHash for
  26419. all onedrive types. If an SHA1 hash is desired then set this option
  26420. accordingly.
  26421. From July 2023 QuickXorHash will be the only available hash for both
  26422. OneDrive for Business and OneDriver Personal.
  26423. This can be set to "none" to not use any hashes.
  26424. If the hash requested does not exist on the object, it will be returned
  26425. as an empty string which is treated as a missing hash by rclone.
  26426. Properties:
  26427. - Config: hash_type
  26428. - Env Var: RCLONE_ONEDRIVE_HASH_TYPE
  26429. - Type: string
  26430. - Default: "auto"
  26431. - Examples:
  26432. - "auto"
  26433. - Rclone chooses the best hash
  26434. - "quickxor"
  26435. - QuickXor
  26436. - "sha1"
  26437. - SHA1
  26438. - "sha256"
  26439. - SHA256
  26440. - "crc32"
  26441. - CRC32
  26442. - "none"
  26443. - None - don't use any hashes
  26444. --onedrive-av-override
  26445. Allows download of files the server thinks has a virus.
  26446. The onedrive/sharepoint server may check files uploaded with an Anti
  26447. Virus checker. If it detects any potential viruses or malware it will
  26448. block download of the file.
  26449. In this case you will see a message like this
  26450. server reports this file is infected with a virus - use --onedrive-av-override to download anyway: Infected (name of virus): 403 Forbidden:
  26451. If you are 100% sure you want to download this file anyway then use the
  26452. --onedrive-av-override flag, or av_override = true in the config file.
  26453. Properties:
  26454. - Config: av_override
  26455. - Env Var: RCLONE_ONEDRIVE_AV_OVERRIDE
  26456. - Type: bool
  26457. - Default: false
  26458. --onedrive-encoding
  26459. The encoding for the backend.
  26460. See the encoding section in the overview for more info.
  26461. Properties:
  26462. - Config: encoding
  26463. - Env Var: RCLONE_ONEDRIVE_ENCODING
  26464. - Type: MultiEncoder
  26465. - Default:
  26466. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot
  26467. Limitations
  26468. If you don't use rclone for 90 days the refresh token will expire. This
  26469. will result in authorization problems. This is easy to fix by running
  26470. the rclone config reconnect remote: command to get a new token and
  26471. refresh token.
  26472. Naming
  26473. Note that OneDrive is case insensitive so you can't have a file called
  26474. "Hello.doc" and one called "hello.doc".
  26475. There are quite a few characters that can't be in OneDrive file names.
  26476. These can't occur on Windows platforms, but on non-Windows platforms
  26477. they are common. Rclone will map these names to and from an identical
  26478. looking unicode equivalent. For example if a file has a ? in it will be
  26479. mapped to ? instead.
  26480. File sizes
  26481. The largest allowed file size is 250 GiB for both OneDrive Personal and
  26482. OneDrive for Business (Updated 13 Jan 2021).
  26483. Path length
  26484. The entire path, including the file name, must contain fewer than 400
  26485. characters for OneDrive, OneDrive for Business and SharePoint Online. If
  26486. you are encrypting file and folder names with rclone, you may want to
  26487. pay attention to this limitation because the encrypted names are
  26488. typically longer than the original ones.
  26489. Number of files
  26490. OneDrive seems to be OK with at least 50,000 files in a folder, but at
  26491. 100,000 rclone will get errors listing the directory like
  26492. couldn’t list files: UnknownError:. See #2707 for more info.
  26493. An official document about the limitations for different types of
  26494. OneDrive can be found here.
  26495. Versions
  26496. Every change in a file OneDrive causes the service to create a new
  26497. version of the file. This counts against a users quota. For example
  26498. changing the modification time of a file creates a second version, so
  26499. the file apparently uses twice the space.
  26500. For example the copy command is affected by this as rclone copies the
  26501. file and then afterwards sets the modification time to match the source
  26502. file which uses another version.
  26503. You can use the rclone cleanup command (see below) to remove all old
  26504. versions.
  26505. Or you can set the no_versions parameter to true and rclone will remove
  26506. versions after operations which create new versions. This takes extra
  26507. transactions so only enable it if you need it.
  26508. Note At the time of writing Onedrive Personal creates versions (but not
  26509. for setting the modification time) but the API for removing them returns
  26510. "API not found" so cleanup and no_versions should not be used on
  26511. Onedrive Personal.
  26512. Disabling versioning
  26513. Starting October 2018, users will no longer be able to disable
  26514. versioning by default. This is because Microsoft has brought an update
  26515. to the mechanism. To change this new default setting, a PowerShell
  26516. command is required to be run by a SharePoint admin. If you are an
  26517. admin, you can run these commands in PowerShell to change that setting:
  26518. 1. Install-Module -Name Microsoft.Online.SharePoint.PowerShell (in case
  26519. you haven't installed this already)
  26520. 2. Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
  26521. 3. Connect-SPOService -Url https://YOURSITE-admin.sharepoint.com -Credential YOU@YOURSITE.COM
  26522. (replacing YOURSITE, YOU, YOURSITE.COM with the actual values; this
  26523. will prompt for your credentials)
  26524. 4. Set-SPOTenant -EnableMinimumVersionRequirement $False
  26525. 5. Disconnect-SPOService (to disconnect from the server)
  26526. Below are the steps for normal users to disable versioning. If you don't
  26527. see the "No Versioning" option, make sure the above requirements are
  26528. met.
  26529. User Weropol has found a method to disable versioning on OneDrive
  26530. 1. Open the settings menu by clicking on the gear symbol at the top of
  26531. the OneDrive Business page.
  26532. 2. Click Site settings.
  26533. 3. Once on the Site settings page, navigate to Site Administration >
  26534. Site libraries and lists.
  26535. 4. Click Customize "Documents".
  26536. 5. Click General Settings > Versioning Settings.
  26537. 6. Under Document Version History select the option No versioning.
  26538. Note: This will disable the creation of new file versions, but will
  26539. not remove any previous versions. Your documents are safe.
  26540. 7. Apply the changes by clicking OK.
  26541. 8. Use rclone to upload or modify files. (I also use the
  26542. --no-update-modtime flag)
  26543. 9. Restore the versioning settings after using rclone. (Optional)
  26544. Cleanup
  26545. OneDrive supports rclone cleanup which causes rclone to look through
  26546. every file under the path supplied and delete all version but the
  26547. current version. Because this involves traversing all the files, then
  26548. querying each file for versions it can be quite slow. Rclone does
  26549. --checkers tests in parallel. The command also supports --interactive/i
  26550. or --dry-run which is a great way to see what it would do.
  26551. rclone cleanup --interactive remote:path/subdir # interactively remove all old version for path/subdir
  26552. rclone cleanup remote:path/subdir # unconditionally remove all old version for path/subdir
  26553. NB Onedrive personal can't currently delete versions
  26554. Troubleshooting
  26555. Excessive throttling or blocked on SharePoint
  26556. If you experience excessive throttling or is being blocked on SharePoint
  26557. then it may help to set the user agent explicitly with a flag like this:
  26558. --user-agent "ISV|rclone.org|rclone/v1.55.1"
  26559. The specific details can be found in the Microsoft document: Avoid
  26560. getting throttled or blocked in SharePoint Online
  26561. Unexpected file size/hash differences on Sharepoint
  26562. It is a known issue that Sharepoint (not OneDrive or OneDrive for
  26563. Business) silently modifies uploaded files, mainly Office files (.docx,
  26564. .xlsx, etc.), causing file size and hash checks to fail. There are also
  26565. other situations that will cause OneDrive to report inconsistent file
  26566. sizes. To use rclone with such affected files on Sharepoint, you may
  26567. disable these checks with the following command line arguments:
  26568. --ignore-checksum --ignore-size
  26569. Alternatively, if you have write access to the OneDrive files, it may be
  26570. possible to fix this problem for certain files, by attempting the steps
  26571. below. Open the web interface for OneDrive and find the affected files
  26572. (which will be in the error messages/log for rclone). Simply click on
  26573. each of these files, causing OneDrive to open them on the web. This will
  26574. cause each file to be converted in place to a format that is
  26575. functionally equivalent but which will no longer trigger the size
  26576. discrepancy. Once all problematic files are converted you will no longer
  26577. need the ignore options above.
  26578. Replacing/deleting existing files on Sharepoint gets "item not found"
  26579. It is a known issue that Sharepoint (not OneDrive or OneDrive for
  26580. Business) may return "item not found" errors when users try to replace
  26581. or delete uploaded files; this seems to mainly affect Office files
  26582. (.docx, .xlsx, etc.) and web files (.html, .aspx, etc.). As a
  26583. workaround, you may use the --backup-dir <BACKUP_DIR> command line
  26584. argument so rclone moves the files to be replaced/deleted into a given
  26585. backup directory (instead of directly replacing/deleting them). For
  26586. example, to instruct rclone to move the files into the directory
  26587. rclone-backup-dir on backend mysharepoint, you may use:
  26588. --backup-dir mysharepoint:rclone-backup-dir
  26589. access_denied (AADSTS65005)
  26590. Error: access_denied
  26591. Code: AADSTS65005
  26592. Description: Using application 'rclone' 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.
  26593. This means that rclone can't use the OneDrive for Business API with your
  26594. account. You can't do much about it, maybe write an email to your
  26595. admins.
  26596. However, there are other ways to interact with your OneDrive account.
  26597. Have a look at the WebDAV backend: https://rclone.org/webdav/#sharepoint
  26598. invalid_grant (AADSTS50076)
  26599. Error: invalid_grant
  26600. Code: AADSTS50076
  26601. 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 '...'.
  26602. If you see the error above after enabling multi-factor authentication
  26603. for your account, you can fix it by refreshing your OAuth refresh token.
  26604. To do that, run rclone config, and choose to edit your OneDrive backend.
  26605. Then, you don't need to actually make any changes until you reach this
  26606. question: Already have a token - refresh?. For this question, answer y
  26607. and go through the process to refresh your token, just like the first
  26608. time the backend is configured. After this, rclone should work again for
  26609. this backend.
  26610. Invalid request when making public links
  26611. On Sharepoint and OneDrive for Business, rclone link may return an
  26612. "Invalid request" error. A possible cause is that the organisation admin
  26613. didn't allow public links to be made for the organisation/sharepoint
  26614. library. To fix the permissions as an admin, take a look at the docs: 1,
  26615. 2.
  26616. Can not access Shared with me files
  26617. Shared with me files is not supported by rclone currently, but there is
  26618. a workaround:
  26619. 1. Visit https://onedrive.live.com
  26620. 2. Right click a item in Shared, then click Add shortcut to My files in
  26621. the context [make_shortcut]
  26622. 3. The shortcut will appear in My files, you can access it with rclone,
  26623. it behaves like a normal folder/file. [in_my_files] [rclone_mount]
  26624. Live Photos uploaded from iOS (small video clips in .heic files)
  26625. The iOS OneDrive app introduced upload and storage of Live Photos in
  26626. 2020. The usage and download of these uploaded Live Photos is
  26627. unfortunately still work-in-progress and this introduces several issues
  26628. when copying, synchronising and mounting – both in rclone and in the
  26629. native OneDrive client on Windows.
  26630. The root cause can easily be seen if you locate one of your Live Photos
  26631. in the OneDrive web interface. Then download the photo from the web
  26632. interface. You will then see that the size of downloaded .heic file is
  26633. smaller than the size displayed in the web interface. The downloaded
  26634. file is smaller because it only contains a single frame (still photo)
  26635. extracted from the Live Photo (movie) stored in OneDrive.
  26636. The different sizes will cause rclone copy/sync to repeatedly recopy
  26637. unmodified photos something like this:
  26638. DEBUG : 20230203_123826234_iOS.heic: Sizes differ (src 4470314 vs dst 1298667)
  26639. DEBUG : 20230203_123826234_iOS.heic: sha1 = fc2edde7863b7a7c93ca6771498ac797f8460750 OK
  26640. INFO : 20230203_123826234_iOS.heic: Copied (replaced existing)
  26641. These recopies can be worked around by adding --ignore-size. Please note
  26642. that this workaround only syncs the still-picture not the movie clip,
  26643. and relies on modification dates being correctly updated on all files in
  26644. all situations.
  26645. The different sizes will also cause rclone check to report size errors
  26646. something like this:
  26647. ERROR : 20230203_123826234_iOS.heic: sizes differ
  26648. These check errors can be suppressed by adding --ignore-size.
  26649. The different sizes will also cause rclone mount to fail downloading
  26650. with an error something like this:
  26651. ERROR : 20230203_123826234_iOS.heic: ReadFileHandle.Read error: low level retry 1/10: unexpected EOF
  26652. or like this when using --cache-mode=full:
  26653. 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:
  26654. ERROR : 20230203_123826234_iOS.heic: vfs cache: failed to download: vfs reader: failed to write to cache file: 416 Requested Range Not Satisfiable:
  26655. OpenDrive
  26656. Paths are specified as remote:path
  26657. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  26658. Configuration
  26659. Here is an example of how to make a remote called remote. First run:
  26660. rclone config
  26661. This will guide you through an interactive setup process:
  26662. n) New remote
  26663. d) Delete remote
  26664. q) Quit config
  26665. e/n/d/q> n
  26666. name> remote
  26667. Type of storage to configure.
  26668. Choose a number from below, or type in your own value
  26669. [snip]
  26670. XX / OpenDrive
  26671. \ "opendrive"
  26672. [snip]
  26673. Storage> opendrive
  26674. Username
  26675. username>
  26676. Password
  26677. y) Yes type in my own password
  26678. g) Generate random password
  26679. y/g> y
  26680. Enter the password:
  26681. password:
  26682. Confirm the password:
  26683. password:
  26684. --------------------
  26685. [remote]
  26686. username =
  26687. password = *** ENCRYPTED ***
  26688. --------------------
  26689. y) Yes this is OK
  26690. e) Edit this remote
  26691. d) Delete this remote
  26692. y/e/d> y
  26693. List directories in top level of your OpenDrive
  26694. rclone lsd remote:
  26695. List all the files in your OpenDrive
  26696. rclone ls remote:
  26697. To copy a local directory to an OpenDrive directory called backup
  26698. rclone copy /home/source remote:backup
  26699. Modified time and MD5SUMs
  26700. OpenDrive allows modification times to be set on objects accurate to 1
  26701. second. These will be used to detect whether objects need syncing or
  26702. not.
  26703. Restricted filename characters
  26704. Character Value Replacement
  26705. ----------- ------- -------------
  26706. NUL 0x00 ␀
  26707. / 0x2F /
  26708. " 0x22 "
  26709. * 0x2A *
  26710. : 0x3A :
  26711. < 0x3C <
  26712. > 0x3E >
  26713. ? 0x3F ?
  26714. \ 0x5C \
  26715. | 0x7C |
  26716. File names can also not begin or end with the following characters.
  26717. These only get replaced if they are the first or last character in the
  26718. name:
  26719. Character Value Replacement
  26720. ----------- ------- -------------
  26721. SP 0x20 ␠
  26722. HT 0x09 ␉
  26723. LF 0x0A ␊
  26724. VT 0x0B ␋
  26725. CR 0x0D ␍
  26726. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  26727. strings.
  26728. Standard options
  26729. Here are the Standard options specific to opendrive (OpenDrive).
  26730. --opendrive-username
  26731. Username.
  26732. Properties:
  26733. - Config: username
  26734. - Env Var: RCLONE_OPENDRIVE_USERNAME
  26735. - Type: string
  26736. - Required: true
  26737. --opendrive-password
  26738. Password.
  26739. NB Input to this must be obscured - see rclone obscure.
  26740. Properties:
  26741. - Config: password
  26742. - Env Var: RCLONE_OPENDRIVE_PASSWORD
  26743. - Type: string
  26744. - Required: true
  26745. Advanced options
  26746. Here are the Advanced options specific to opendrive (OpenDrive).
  26747. --opendrive-encoding
  26748. The encoding for the backend.
  26749. See the encoding section in the overview for more info.
  26750. Properties:
  26751. - Config: encoding
  26752. - Env Var: RCLONE_OPENDRIVE_ENCODING
  26753. - Type: MultiEncoder
  26754. - Default:
  26755. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot
  26756. --opendrive-chunk-size
  26757. Files will be uploaded in chunks this size.
  26758. Note that these chunks are buffered in memory so increasing them will
  26759. increase memory use.
  26760. Properties:
  26761. - Config: chunk_size
  26762. - Env Var: RCLONE_OPENDRIVE_CHUNK_SIZE
  26763. - Type: SizeSuffix
  26764. - Default: 10Mi
  26765. Limitations
  26766. Note that OpenDrive is case insensitive so you can't have a file called
  26767. "Hello.doc" and one called "hello.doc".
  26768. There are quite a few characters that can't be in OpenDrive file names.
  26769. These can't occur on Windows platforms, but on non-Windows platforms
  26770. they are common. Rclone will map these names to and from an identical
  26771. looking unicode equivalent. For example if a file has a ? in it will be
  26772. mapped to ? instead.
  26773. rclone about is not supported by the OpenDrive backend. Backends without
  26774. this capability cannot determine free space for an rclone mount or use
  26775. policy mfs (most free space) as a member of an rclone union remote.
  26776. See List of backends that do not support rclone about and rclone about
  26777. Oracle Object Storage
  26778. Oracle Object Storage Overview
  26779. Oracle Object Storage FAQ
  26780. Paths are specified as remote:bucket (or remote: for the lsd command.)
  26781. You may put subdirectories in too, e.g. remote:bucket/path/to/dir.
  26782. Configuration
  26783. Here is an example of making an oracle object storage configuration.
  26784. rclone config walks you through it.
  26785. Here is an example of how to make a remote called remote. First run:
  26786. rclone config
  26787. This will guide you through an interactive setup process:
  26788. n) New remote
  26789. d) Delete remote
  26790. r) Rename remote
  26791. c) Copy remote
  26792. s) Set configuration password
  26793. q) Quit config
  26794. e/n/d/r/c/s/q> n
  26795. Enter name for new remote.
  26796. name> remote
  26797. Option Storage.
  26798. Type of storage to configure.
  26799. Choose a number from below, or type in your own value.
  26800. [snip]
  26801. XX / Oracle Cloud Infrastructure Object Storage
  26802. \ (oracleobjectstorage)
  26803. Storage> oracleobjectstorage
  26804. Option provider.
  26805. Choose your Auth Provider
  26806. Choose a number from below, or type in your own string value.
  26807. Press Enter for the default (env_auth).
  26808. 1 / automatically pickup the credentials from runtime(env), first one to provide auth wins
  26809. \ (env_auth)
  26810. / use an OCI user and an API key for authentication.
  26811. 2 | you’ll need to put in a config file your tenancy OCID, user OCID, region, the path, fingerprint to an API key.
  26812. | https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm
  26813. \ (user_principal_auth)
  26814. / use instance principals to authorize an instance to make API calls.
  26815. 3 | each instance has its own identity, and authenticates using the certificates that are read from instance metadata.
  26816. | https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm
  26817. \ (instance_principal_auth)
  26818. 4 / use resource principals to make API calls
  26819. \ (resource_principal_auth)
  26820. 5 / no credentials needed, this is typically for reading public buckets
  26821. \ (no_auth)
  26822. provider> 2
  26823. Option namespace.
  26824. Object storage namespace
  26825. Enter a value.
  26826. namespace> idbamagbg734
  26827. Option compartment.
  26828. Object storage compartment OCID
  26829. Enter a value.
  26830. compartment> ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba
  26831. Option region.
  26832. Object storage Region
  26833. Enter a value.
  26834. region> us-ashburn-1
  26835. Option endpoint.
  26836. Endpoint for Object storage API.
  26837. Leave blank to use the default endpoint for the region.
  26838. Enter a value. Press Enter to leave empty.
  26839. endpoint>
  26840. Option config_file.
  26841. Full Path to OCI config file
  26842. Choose a number from below, or type in your own string value.
  26843. Press Enter for the default (~/.oci/config).
  26844. 1 / oci configuration file location
  26845. \ (~/.oci/config)
  26846. config_file> /etc/oci/dev.conf
  26847. Option config_profile.
  26848. Profile name inside OCI config file
  26849. Choose a number from below, or type in your own string value.
  26850. Press Enter for the default (Default).
  26851. 1 / Use the default profile
  26852. \ (Default)
  26853. config_profile> Test
  26854. Edit advanced config?
  26855. y) Yes
  26856. n) No (default)
  26857. y/n> n
  26858. Configuration complete.
  26859. Options:
  26860. - type: oracleobjectstorage
  26861. - namespace: idbamagbg734
  26862. - compartment: ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba
  26863. - region: us-ashburn-1
  26864. - provider: user_principal_auth
  26865. - config_file: /etc/oci/dev.conf
  26866. - config_profile: Test
  26867. Keep this "remote" remote?
  26868. y) Yes this is OK (default)
  26869. e) Edit this remote
  26870. d) Delete this remote
  26871. y/e/d> y
  26872. See all buckets
  26873. rclone lsd remote:
  26874. Create a new bucket
  26875. rclone mkdir remote:bucket
  26876. List the contents of a bucket
  26877. rclone ls remote:bucket
  26878. rclone ls remote:bucket --max-depth 1
  26879. OCI Authentication Provider
  26880. OCI has various authentication methods. To learn more about
  26881. authentication methods please refer oci authentication methods These
  26882. choices can be specified in the rclone config file.
  26883. Rclone supports the following OCI authentication provider.
  26884. User Principal
  26885. Instance Principal
  26886. Resource Principal
  26887. No authentication
  26888. Authentication provider choice: User Principal
  26889. Sample rclone config file for Authentication Provider User Principal:
  26890. [oos]
  26891. type = oracleobjectstorage
  26892. namespace = id<redacted>34
  26893. compartment = ocid1.compartment.oc1..aa<redacted>ba
  26894. region = us-ashburn-1
  26895. provider = user_principal_auth
  26896. config_file = /home/opc/.oci/config
  26897. config_profile = Default
  26898. Advantages: - One can use this method from any server within OCI or
  26899. on-premises or from other cloud provider.
  26900. Considerations: - you need to configure user’s privileges / policy to
  26901. allow access to object storage - Overhead of managing users and keys. -
  26902. If the user is deleted, the config file will no longer work and may
  26903. cause automation regressions that use the user's credentials.
  26904. Authentication provider choice: Instance Principal
  26905. An OCI compute instance can be authorized to use rclone by using it's
  26906. identity and certificates as an instance principal. With this approach
  26907. no credentials have to be stored and managed.
  26908. Sample rclone configuration file for Authentication Provider Instance
  26909. Principal:
  26910. [opc@rclone ~]$ cat ~/.config/rclone/rclone.conf
  26911. [oos]
  26912. type = oracleobjectstorage
  26913. namespace = id<redacted>fn
  26914. compartment = ocid1.compartment.oc1..aa<redacted>k7a
  26915. region = us-ashburn-1
  26916. provider = instance_principal_auth
  26917. Advantages:
  26918. - With instance principals, you don't need to configure user
  26919. credentials and transfer/ save it to disk in your compute instances
  26920. or rotate the credentials.
  26921. - You don’t need to deal with users and keys.
  26922. - Greatly helps in automation as you don't have to manage access keys,
  26923. user private keys, storing them in vault, using kms etc.
  26924. Considerations:
  26925. - You need to configure a dynamic group having this instance as member
  26926. and add policy to read object storage to that dynamic group.
  26927. - Everyone who has access to this machine can execute the CLI
  26928. commands.
  26929. - It is applicable for oci compute instances only. It cannot be used
  26930. on external instance or resources.
  26931. Authentication provider choice: Resource Principal
  26932. Resource principal auth is very similar to instance principal auth but
  26933. used for resources that are not compute instances such as serverless
  26934. functions. To use resource principal ensure Rclone process is started
  26935. with these environment variables set in its process.
  26936. export OCI_RESOURCE_PRINCIPAL_VERSION=2.2
  26937. export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1
  26938. export OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM=/usr/share/model-server/key.pem
  26939. export OCI_RESOURCE_PRINCIPAL_RPST=/usr/share/model-server/security_token
  26940. Sample rclone configuration file for Authentication Provider Resource
  26941. Principal:
  26942. [oos]
  26943. type = oracleobjectstorage
  26944. namespace = id<redacted>34
  26945. compartment = ocid1.compartment.oc1..aa<redacted>ba
  26946. region = us-ashburn-1
  26947. provider = resource_principal_auth
  26948. Authentication provider choice: No authentication
  26949. Public buckets do not require any authentication mechanism to read
  26950. objects. Sample rclone configuration file for No authentication:
  26951. [oos]
  26952. type = oracleobjectstorage
  26953. namespace = id<redacted>34
  26954. compartment = ocid1.compartment.oc1..aa<redacted>ba
  26955. region = us-ashburn-1
  26956. provider = no_auth
  26957. Options
  26958. Modified time
  26959. The modified time is stored as metadata on the object as opc-meta-mtime
  26960. as floating point since the epoch, accurate to 1 ns.
  26961. If the modification time needs to be updated rclone will attempt to
  26962. perform a server side copy to update the modification if the object can
  26963. be copied in a single part. In the case the object is larger than 5Gb,
  26964. the object will be uploaded rather than copied.
  26965. Note that reading this from the object takes an additional HEAD request
  26966. as the metadata isn't returned in object listings.
  26967. Multipart uploads
  26968. rclone supports multipart uploads with OOS which means that it can
  26969. upload files bigger than 5 GiB.
  26970. Note that files uploaded both with multipart upload and through crypt
  26971. remotes do not have MD5 sums.
  26972. rclone switches from single part uploads to multipart uploads at the
  26973. point specified by --oos-upload-cutoff. This can be a maximum of 5 GiB
  26974. and a minimum of 0 (ie always upload multipart files).
  26975. The chunk sizes used in the multipart upload are specified by
  26976. --oos-chunk-size and the number of chunks uploaded concurrently is
  26977. specified by --oos-upload-concurrency.
  26978. Multipart uploads will use --transfers * --oos-upload-concurrency *
  26979. --oos-chunk-size extra memory. Single part uploads to not use extra
  26980. memory.
  26981. Single part transfers can be faster than multipart transfers or slower
  26982. depending on your latency from oos - the more latency, the more likely
  26983. single part transfers will be faster.
  26984. Increasing --oos-upload-concurrency will increase throughput (8 would be
  26985. a sensible value) and increasing --oos-chunk-size also increases
  26986. throughput (16M would be sensible). Increasing either of these will use
  26987. more memory. The default values are high enough to gain most of the
  26988. possible performance without using too much memory.
  26989. Standard options
  26990. Here are the Standard options specific to oracleobjectstorage (Oracle
  26991. Cloud Infrastructure Object Storage).
  26992. --oos-provider
  26993. Choose your Auth Provider
  26994. Properties:
  26995. - Config: provider
  26996. - Env Var: RCLONE_OOS_PROVIDER
  26997. - Type: string
  26998. - Default: "env_auth"
  26999. - Examples:
  27000. - "env_auth"
  27001. - automatically pickup the credentials from runtime(env),
  27002. first one to provide auth wins
  27003. - "user_principal_auth"
  27004. - use an OCI user and an API key for authentication.
  27005. - you’ll need to put in a config file your tenancy OCID, user
  27006. OCID, region, the path, fingerprint to an API key.
  27007. - https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm
  27008. - "instance_principal_auth"
  27009. - use instance principals to authorize an instance to make API
  27010. calls.
  27011. - each instance has its own identity, and authenticates using
  27012. the certificates that are read from instance metadata.
  27013. - https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm
  27014. - "resource_principal_auth"
  27015. - use resource principals to make API calls
  27016. - "no_auth"
  27017. - no credentials needed, this is typically for reading public
  27018. buckets
  27019. --oos-namespace
  27020. Object storage namespace
  27021. Properties:
  27022. - Config: namespace
  27023. - Env Var: RCLONE_OOS_NAMESPACE
  27024. - Type: string
  27025. - Required: true
  27026. --oos-compartment
  27027. Object storage compartment OCID
  27028. Properties:
  27029. - Config: compartment
  27030. - Env Var: RCLONE_OOS_COMPARTMENT
  27031. - Provider: !no_auth
  27032. - Type: string
  27033. - Required: true
  27034. --oos-region
  27035. Object storage Region
  27036. Properties:
  27037. - Config: region
  27038. - Env Var: RCLONE_OOS_REGION
  27039. - Type: string
  27040. - Required: true
  27041. --oos-endpoint
  27042. Endpoint for Object storage API.
  27043. Leave blank to use the default endpoint for the region.
  27044. Properties:
  27045. - Config: endpoint
  27046. - Env Var: RCLONE_OOS_ENDPOINT
  27047. - Type: string
  27048. - Required: false
  27049. --oos-config-file
  27050. Path to OCI config file
  27051. Properties:
  27052. - Config: config_file
  27053. - Env Var: RCLONE_OOS_CONFIG_FILE
  27054. - Provider: user_principal_auth
  27055. - Type: string
  27056. - Default: "~/.oci/config"
  27057. - Examples:
  27058. - "~/.oci/config"
  27059. - oci configuration file location
  27060. --oos-config-profile
  27061. Profile name inside the oci config file
  27062. Properties:
  27063. - Config: config_profile
  27064. - Env Var: RCLONE_OOS_CONFIG_PROFILE
  27065. - Provider: user_principal_auth
  27066. - Type: string
  27067. - Default: "Default"
  27068. - Examples:
  27069. - "Default"
  27070. - Use the default profile
  27071. Advanced options
  27072. Here are the Advanced options specific to oracleobjectstorage (Oracle
  27073. Cloud Infrastructure Object Storage).
  27074. --oos-storage-tier
  27075. The storage class to use when storing new objects in storage.
  27076. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm
  27077. Properties:
  27078. - Config: storage_tier
  27079. - Env Var: RCLONE_OOS_STORAGE_TIER
  27080. - Type: string
  27081. - Default: "Standard"
  27082. - Examples:
  27083. - "Standard"
  27084. - Standard storage tier, this is the default tier
  27085. - "InfrequentAccess"
  27086. - InfrequentAccess storage tier
  27087. - "Archive"
  27088. - Archive storage tier
  27089. --oos-upload-cutoff
  27090. Cutoff for switching to chunked upload.
  27091. Any files larger than this will be uploaded in chunks of chunk_size. The
  27092. minimum is 0 and the maximum is 5 GiB.
  27093. Properties:
  27094. - Config: upload_cutoff
  27095. - Env Var: RCLONE_OOS_UPLOAD_CUTOFF
  27096. - Type: SizeSuffix
  27097. - Default: 200Mi
  27098. --oos-chunk-size
  27099. Chunk size to use for uploading.
  27100. When uploading files larger than upload_cutoff or files with unknown
  27101. size (e.g. from "rclone rcat" or uploaded with "rclone mount" or google
  27102. photos or google docs) they will be uploaded as multipart uploads using
  27103. this chunk size.
  27104. Note that "upload_concurrency" chunks of this size are buffered in
  27105. memory per transfer.
  27106. If you are transferring large files over high-speed links and you have
  27107. enough memory, then increasing this will speed up the transfers.
  27108. Rclone will automatically increase the chunk size when uploading a large
  27109. file of known size to stay below the 10,000 chunks limit.
  27110. Files of unknown size are uploaded with the configured chunk_size. Since
  27111. the default chunk size is 5 MiB and there can be at most 10,000 chunks,
  27112. this means that by default the maximum size of a file you can stream
  27113. upload is 48 GiB. If you wish to stream upload larger files then you
  27114. will need to increase chunk_size.
  27115. Increasing the chunk size decreases the accuracy of the progress
  27116. statistics displayed with "-P" flag.
  27117. Properties:
  27118. - Config: chunk_size
  27119. - Env Var: RCLONE_OOS_CHUNK_SIZE
  27120. - Type: SizeSuffix
  27121. - Default: 5Mi
  27122. --oos-upload-concurrency
  27123. Concurrency for multipart uploads.
  27124. This is the number of chunks of the same file that are uploaded
  27125. concurrently.
  27126. If you are uploading small numbers of large files over high-speed links
  27127. and these uploads do not fully utilize your bandwidth, then increasing
  27128. this may help to speed up the transfers.
  27129. Properties:
  27130. - Config: upload_concurrency
  27131. - Env Var: RCLONE_OOS_UPLOAD_CONCURRENCY
  27132. - Type: int
  27133. - Default: 10
  27134. --oos-copy-cutoff
  27135. Cutoff for switching to multipart copy.
  27136. Any files larger than this that need to be server-side copied will be
  27137. copied in chunks of this size.
  27138. The minimum is 0 and the maximum is 5 GiB.
  27139. Properties:
  27140. - Config: copy_cutoff
  27141. - Env Var: RCLONE_OOS_COPY_CUTOFF
  27142. - Type: SizeSuffix
  27143. - Default: 4.656Gi
  27144. --oos-copy-timeout
  27145. Timeout for copy.
  27146. Copy is an asynchronous operation, specify timeout to wait for copy to
  27147. succeed
  27148. Properties:
  27149. - Config: copy_timeout
  27150. - Env Var: RCLONE_OOS_COPY_TIMEOUT
  27151. - Type: Duration
  27152. - Default: 1m0s
  27153. --oos-disable-checksum
  27154. Don't store MD5 checksum with object metadata.
  27155. Normally rclone will calculate the MD5 checksum of the input before
  27156. uploading it so it can add it to metadata on the object. This is great
  27157. for data integrity checking but can cause long delays for large files to
  27158. start uploading.
  27159. Properties:
  27160. - Config: disable_checksum
  27161. - Env Var: RCLONE_OOS_DISABLE_CHECKSUM
  27162. - Type: bool
  27163. - Default: false
  27164. --oos-encoding
  27165. The encoding for the backend.
  27166. See the encoding section in the overview for more info.
  27167. Properties:
  27168. - Config: encoding
  27169. - Env Var: RCLONE_OOS_ENCODING
  27170. - Type: MultiEncoder
  27171. - Default: Slash,InvalidUtf8,Dot
  27172. --oos-leave-parts-on-error
  27173. If true avoid calling abort upload on a failure, leaving all
  27174. successfully uploaded parts on S3 for manual recovery.
  27175. It should be set to true for resuming uploads across different sessions.
  27176. WARNING: Storing parts of an incomplete multipart upload counts towards
  27177. space usage on object storage and will add additional costs if not
  27178. cleaned up.
  27179. Properties:
  27180. - Config: leave_parts_on_error
  27181. - Env Var: RCLONE_OOS_LEAVE_PARTS_ON_ERROR
  27182. - Type: bool
  27183. - Default: false
  27184. --oos-no-check-bucket
  27185. If set, don't attempt to check the bucket exists or create it.
  27186. This can be useful when trying to minimise the number of transactions
  27187. rclone does if you know the bucket exists already.
  27188. It can also be needed if the user you are using does not have bucket
  27189. creation permissions.
  27190. Properties:
  27191. - Config: no_check_bucket
  27192. - Env Var: RCLONE_OOS_NO_CHECK_BUCKET
  27193. - Type: bool
  27194. - Default: false
  27195. --oos-sse-customer-key-file
  27196. To use SSE-C, a file containing the base64-encoded string of the AES-256
  27197. encryption key associated with the object. Please note only one of
  27198. sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.'
  27199. Properties:
  27200. - Config: sse_customer_key_file
  27201. - Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY_FILE
  27202. - Type: string
  27203. - Required: false
  27204. - Examples:
  27205. - ""
  27206. - None
  27207. --oos-sse-customer-key
  27208. To use SSE-C, the optional header that specifies the base64-encoded
  27209. 256-bit encryption key to use to encrypt or decrypt the data. Please
  27210. note only one of sse_customer_key_file|sse_customer_key|sse_kms_key_id
  27211. is needed. For more information, see Using Your Own Keys for Server-Side
  27212. Encryption
  27213. (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm)
  27214. Properties:
  27215. - Config: sse_customer_key
  27216. - Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY
  27217. - Type: string
  27218. - Required: false
  27219. - Examples:
  27220. - ""
  27221. - None
  27222. --oos-sse-customer-key-sha256
  27223. If using SSE-C, The optional header that specifies the base64-encoded
  27224. SHA256 hash of the encryption key. This value is used to check the
  27225. integrity of the encryption key. see Using Your Own Keys for Server-Side
  27226. Encryption
  27227. (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm).
  27228. Properties:
  27229. - Config: sse_customer_key_sha256
  27230. - Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY_SHA256
  27231. - Type: string
  27232. - Required: false
  27233. - Examples:
  27234. - ""
  27235. - None
  27236. --oos-sse-kms-key-id
  27237. if using your own master key in vault, this header specifies the OCID
  27238. (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm)
  27239. of a master encryption key used to call the Key Management service to
  27240. generate a data encryption key or to encrypt or decrypt a data
  27241. encryption key. Please note only one of
  27242. sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.
  27243. Properties:
  27244. - Config: sse_kms_key_id
  27245. - Env Var: RCLONE_OOS_SSE_KMS_KEY_ID
  27246. - Type: string
  27247. - Required: false
  27248. - Examples:
  27249. - ""
  27250. - None
  27251. --oos-sse-customer-algorithm
  27252. If using SSE-C, the optional header that specifies "AES256" as the
  27253. encryption algorithm. Object Storage supports "AES256" as the encryption
  27254. algorithm. For more information, see Using Your Own Keys for Server-Side
  27255. Encryption
  27256. (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm).
  27257. Properties:
  27258. - Config: sse_customer_algorithm
  27259. - Env Var: RCLONE_OOS_SSE_CUSTOMER_ALGORITHM
  27260. - Type: string
  27261. - Required: false
  27262. - Examples:
  27263. - ""
  27264. - None
  27265. - "AES256"
  27266. - AES256
  27267. Backend commands
  27268. Here are the commands specific to the oracleobjectstorage backend.
  27269. Run them with
  27270. rclone backend COMMAND remote:
  27271. The help below will explain what arguments each command takes.
  27272. See the backend command for more info on how to pass options and
  27273. arguments.
  27274. These can be run on a running backend using the rc command
  27275. backend/command.
  27276. rename
  27277. change the name of an object
  27278. rclone backend rename remote: [options] [<arguments>+]
  27279. This command can be used to rename a object.
  27280. Usage Examples:
  27281. rclone backend rename oos:bucket relative-object-path-under-bucket object-new-name
  27282. list-multipart-uploads
  27283. List the unfinished multipart uploads
  27284. rclone backend list-multipart-uploads remote: [options] [<arguments>+]
  27285. This command lists the unfinished multipart uploads in JSON format.
  27286. rclone backend list-multipart-uploads oos:bucket/path/to/object
  27287. It returns a dictionary of buckets with values as lists of unfinished
  27288. multipart uploads.
  27289. You can call it with no bucket in which case it lists all bucket, with a
  27290. bucket or with a bucket and path.
  27291. {
  27292. "test-bucket": [
  27293. {
  27294. "namespace": "test-namespace",
  27295. "bucket": "test-bucket",
  27296. "object": "600m.bin",
  27297. "uploadId": "51dd8114-52a4-b2f2-c42f-5291f05eb3c8",
  27298. "timeCreated": "2022-07-29T06:21:16.595Z",
  27299. "storageTier": "Standard"
  27300. }
  27301. ]
  27302. cleanup
  27303. Remove unfinished multipart uploads.
  27304. rclone backend cleanup remote: [options] [<arguments>+]
  27305. This command removes unfinished multipart uploads of age greater than
  27306. max-age which defaults to 24 hours.
  27307. Note that you can use --interactive/-i or --dry-run with this command to
  27308. see what it would do.
  27309. rclone backend cleanup oos:bucket/path/to/object
  27310. rclone backend cleanup -o max-age=7w oos:bucket/path/to/object
  27311. Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
  27312. Options:
  27313. - "max-age": Max age of upload to delete
  27314. QingStor
  27315. Paths are specified as remote:bucket (or remote: for the lsd command.)
  27316. You may put subdirectories in too, e.g. remote:bucket/path/to/dir.
  27317. Configuration
  27318. Here is an example of making an QingStor configuration. First run
  27319. rclone config
  27320. This will guide you through an interactive setup process.
  27321. No remotes found, make a new one?
  27322. n) New remote
  27323. r) Rename remote
  27324. c) Copy remote
  27325. s) Set configuration password
  27326. q) Quit config
  27327. n/r/c/s/q> n
  27328. name> remote
  27329. Type of storage to configure.
  27330. Choose a number from below, or type in your own value
  27331. [snip]
  27332. XX / QingStor Object Storage
  27333. \ "qingstor"
  27334. [snip]
  27335. Storage> qingstor
  27336. Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
  27337. Choose a number from below, or type in your own value
  27338. 1 / Enter QingStor credentials in the next step
  27339. \ "false"
  27340. 2 / Get QingStor credentials from the environment (env vars or IAM)
  27341. \ "true"
  27342. env_auth> 1
  27343. QingStor Access Key ID - leave blank for anonymous access or runtime credentials.
  27344. access_key_id> access_key
  27345. QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
  27346. secret_access_key> secret_key
  27347. Enter an endpoint URL to connection QingStor API.
  27348. Leave blank will use the default value "https://qingstor.com:443"
  27349. endpoint>
  27350. Zone connect to. Default is "pek3a".
  27351. Choose a number from below, or type in your own value
  27352. / The Beijing (China) Three Zone
  27353. 1 | Needs location constraint pek3a.
  27354. \ "pek3a"
  27355. / The Shanghai (China) First Zone
  27356. 2 | Needs location constraint sh1a.
  27357. \ "sh1a"
  27358. zone> 1
  27359. Number of connection retry.
  27360. Leave blank will use the default value "3".
  27361. connection_retries>
  27362. Remote config
  27363. --------------------
  27364. [remote]
  27365. env_auth = false
  27366. access_key_id = access_key
  27367. secret_access_key = secret_key
  27368. endpoint =
  27369. zone = pek3a
  27370. connection_retries =
  27371. --------------------
  27372. y) Yes this is OK
  27373. e) Edit this remote
  27374. d) Delete this remote
  27375. y/e/d> y
  27376. This remote is called remote and can now be used like this
  27377. See all buckets
  27378. rclone lsd remote:
  27379. Make a new bucket
  27380. rclone mkdir remote:bucket
  27381. List the contents of a bucket
  27382. rclone ls remote:bucket
  27383. Sync /home/local/directory to the remote bucket, deleting any excess
  27384. files in the bucket.
  27385. rclone sync --interactive /home/local/directory remote:bucket
  27386. --fast-list
  27387. This remote supports --fast-list which allows you to use fewer
  27388. transactions in exchange for more memory. See the rclone docs for more
  27389. details.
  27390. Multipart uploads
  27391. rclone supports multipart uploads with QingStor which means that it can
  27392. upload files bigger than 5 GiB. Note that files uploaded with multipart
  27393. upload don't have an MD5SUM.
  27394. Note that incomplete multipart uploads older than 24 hours can be
  27395. removed with rclone cleanup remote:bucket just for one bucket
  27396. rclone cleanup remote: for all buckets. QingStor does not ever remove
  27397. incomplete multipart uploads so it may be necessary to run this from
  27398. time to time.
  27399. Buckets and Zone
  27400. With QingStor you can list buckets (rclone lsd) using any zone, but you
  27401. can only access the content of a bucket from the zone it was created in.
  27402. If you attempt to access a bucket from the wrong zone, you will get an
  27403. error, incorrect zone, the bucket is not in 'XXX' zone.
  27404. Authentication
  27405. There are two ways to supply rclone with a set of QingStor credentials.
  27406. In order of precedence:
  27407. - Directly in the rclone configuration file (as configured by
  27408. rclone config)
  27409. - set access_key_id and secret_access_key
  27410. - Runtime configuration:
  27411. - set env_auth to true in the config file
  27412. - Exporting the following environment variables before running
  27413. rclone
  27414. - Access Key ID: QS_ACCESS_KEY_ID or QS_ACCESS_KEY
  27415. - Secret Access Key: QS_SECRET_ACCESS_KEY or QS_SECRET_KEY
  27416. Restricted filename characters
  27417. The control characters 0x00-0x1F and / are replaced as in the default
  27418. restricted characters set. Note that 0x7F is not replaced.
  27419. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  27420. strings.
  27421. Standard options
  27422. Here are the Standard options specific to qingstor (QingCloud Object
  27423. Storage).
  27424. --qingstor-env-auth
  27425. Get QingStor credentials from runtime.
  27426. Only applies if access_key_id and secret_access_key is blank.
  27427. Properties:
  27428. - Config: env_auth
  27429. - Env Var: RCLONE_QINGSTOR_ENV_AUTH
  27430. - Type: bool
  27431. - Default: false
  27432. - Examples:
  27433. - "false"
  27434. - Enter QingStor credentials in the next step.
  27435. - "true"
  27436. - Get QingStor credentials from the environment (env vars or
  27437. IAM).
  27438. --qingstor-access-key-id
  27439. QingStor Access Key ID.
  27440. Leave blank for anonymous access or runtime credentials.
  27441. Properties:
  27442. - Config: access_key_id
  27443. - Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID
  27444. - Type: string
  27445. - Required: false
  27446. --qingstor-secret-access-key
  27447. QingStor Secret Access Key (password).
  27448. Leave blank for anonymous access or runtime credentials.
  27449. Properties:
  27450. - Config: secret_access_key
  27451. - Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
  27452. - Type: string
  27453. - Required: false
  27454. --qingstor-endpoint
  27455. Enter an endpoint URL to connection QingStor API.
  27456. Leave blank will use the default value "https://qingstor.com:443".
  27457. Properties:
  27458. - Config: endpoint
  27459. - Env Var: RCLONE_QINGSTOR_ENDPOINT
  27460. - Type: string
  27461. - Required: false
  27462. --qingstor-zone
  27463. Zone to connect to.
  27464. Default is "pek3a".
  27465. Properties:
  27466. - Config: zone
  27467. - Env Var: RCLONE_QINGSTOR_ZONE
  27468. - Type: string
  27469. - Required: false
  27470. - Examples:
  27471. - "pek3a"
  27472. - The Beijing (China) Three Zone.
  27473. - Needs location constraint pek3a.
  27474. - "sh1a"
  27475. - The Shanghai (China) First Zone.
  27476. - Needs location constraint sh1a.
  27477. - "gd2a"
  27478. - The Guangdong (China) Second Zone.
  27479. - Needs location constraint gd2a.
  27480. Advanced options
  27481. Here are the Advanced options specific to qingstor (QingCloud Object
  27482. Storage).
  27483. --qingstor-connection-retries
  27484. Number of connection retries.
  27485. Properties:
  27486. - Config: connection_retries
  27487. - Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES
  27488. - Type: int
  27489. - Default: 3
  27490. --qingstor-upload-cutoff
  27491. Cutoff for switching to chunked upload.
  27492. Any files larger than this will be uploaded in chunks of chunk_size. The
  27493. minimum is 0 and the maximum is 5 GiB.
  27494. Properties:
  27495. - Config: upload_cutoff
  27496. - Env Var: RCLONE_QINGSTOR_UPLOAD_CUTOFF
  27497. - Type: SizeSuffix
  27498. - Default: 200Mi
  27499. --qingstor-chunk-size
  27500. Chunk size to use for uploading.
  27501. When uploading files larger than upload_cutoff they will be uploaded as
  27502. multipart uploads using this chunk size.
  27503. Note that "--qingstor-upload-concurrency" chunks of this size are
  27504. buffered in memory per transfer.
  27505. If you are transferring large files over high-speed links and you have
  27506. enough memory, then increasing this will speed up the transfers.
  27507. Properties:
  27508. - Config: chunk_size
  27509. - Env Var: RCLONE_QINGSTOR_CHUNK_SIZE
  27510. - Type: SizeSuffix
  27511. - Default: 4Mi
  27512. --qingstor-upload-concurrency
  27513. Concurrency for multipart uploads.
  27514. This is the number of chunks of the same file that are uploaded
  27515. concurrently.
  27516. NB if you set this to > 1 then the checksums of multipart uploads become
  27517. corrupted (the uploads themselves are not corrupted though).
  27518. If you are uploading small numbers of large files over high-speed links
  27519. and these uploads do not fully utilize your bandwidth, then increasing
  27520. this may help to speed up the transfers.
  27521. Properties:
  27522. - Config: upload_concurrency
  27523. - Env Var: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY
  27524. - Type: int
  27525. - Default: 1
  27526. --qingstor-encoding
  27527. The encoding for the backend.
  27528. See the encoding section in the overview for more info.
  27529. Properties:
  27530. - Config: encoding
  27531. - Env Var: RCLONE_QINGSTOR_ENCODING
  27532. - Type: MultiEncoder
  27533. - Default: Slash,Ctl,InvalidUtf8
  27534. Limitations
  27535. rclone about is not supported by the qingstor backend. Backends without
  27536. this capability cannot determine free space for an rclone mount or use
  27537. policy mfs (most free space) as a member of an rclone union remote.
  27538. See List of backends that do not support rclone about and rclone about
  27539. Sia
  27540. Sia (sia.tech) is a decentralized cloud storage platform based on the
  27541. blockchain technology. With rclone you can use it like any other remote
  27542. filesystem or mount Sia folders locally. The technology behind it
  27543. involves a number of new concepts such as Siacoins and Wallet,
  27544. Blockchain and Consensus, Renting and Hosting, and so on. If you are new
  27545. to it, you'd better first familiarize yourself using their excellent
  27546. support documentation.
  27547. Introduction
  27548. Before you can use rclone with Sia, you will need to have a running copy
  27549. of Sia-UI or siad (the Sia daemon) locally on your computer or on local
  27550. network (e.g. a NAS). Please follow the Get started guide and install
  27551. one.
  27552. rclone interacts with Sia network by talking to the Sia daemon via HTTP
  27553. API which is usually available on port 9980. By default you will run the
  27554. daemon locally on the same computer so it's safe to leave the API
  27555. password blank (the API URL will be http://127.0.0.1:9980 making
  27556. external access impossible).
  27557. However, if you want to access Sia daemon running on another node, for
  27558. example due to memory constraints or because you want to share single
  27559. daemon between several rclone and Sia-UI instances, you'll need to make
  27560. a few more provisions: - Ensure you have Sia daemon installed directly
  27561. or in a docker container because Sia-UI does not support this mode
  27562. natively. - Run it on externally accessible port, for example provide
  27563. --api-addr :9980 and --disable-api-security arguments on the daemon
  27564. command line. - Enforce API password for the siad daemon via environment
  27565. variable SIA_API_PASSWORD or text file named apipassword in the daemon
  27566. directory. - Set rclone backend option api_password taking it from above
  27567. locations.
  27568. Notes: 1. If your wallet is locked, rclone cannot unlock it
  27569. automatically. You should either unlock it in advance by using Sia-UI or
  27570. via command line siac wallet unlock. Alternatively you can make siad
  27571. unlock your wallet automatically upon startup by running it with
  27572. environment variable SIA_WALLET_PASSWORD. 2. If siad cannot find the
  27573. SIA_API_PASSWORD variable or the apipassword file in the SIA_DIR
  27574. directory, it will generate a random password and store in the text file
  27575. named apipassword under YOUR_HOME/.sia/ directory on Unix or
  27576. C:\Users\YOUR_HOME\AppData\Local\Sia\apipassword on Windows. Remember
  27577. this when you configure password in rclone. 3. The only way to use siad
  27578. without API password is to run it on localhost with command line
  27579. argument --authorize-api=false, but this is insecure and strongly
  27580. discouraged.
  27581. Configuration
  27582. Here is an example of how to make a sia remote called mySia. First, run:
  27583. rclone config
  27584. This will guide you through an interactive setup process:
  27585. No remotes found, make a new one?
  27586. n) New remote
  27587. s) Set configuration password
  27588. q) Quit config
  27589. n/s/q> n
  27590. name> mySia
  27591. Type of storage to configure.
  27592. Enter a string value. Press Enter for the default ("").
  27593. Choose a number from below, or type in your own value
  27594. ...
  27595. 29 / Sia Decentralized Cloud
  27596. \ "sia"
  27597. ...
  27598. Storage> sia
  27599. Sia daemon API URL, like http://sia.daemon.host:9980.
  27600. Note that siad must run with --disable-api-security to open API port for other hosts (not recommended).
  27601. Keep default if Sia daemon runs on localhost.
  27602. Enter a string value. Press Enter for the default ("http://127.0.0.1:9980").
  27603. api_url> http://127.0.0.1:9980
  27604. Sia Daemon API Password.
  27605. Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory.
  27606. y) Yes type in my own password
  27607. g) Generate random password
  27608. n) No leave this optional password blank (default)
  27609. y/g/n> y
  27610. Enter the password:
  27611. password:
  27612. Confirm the password:
  27613. password:
  27614. Edit advanced config?
  27615. y) Yes
  27616. n) No (default)
  27617. y/n> n
  27618. --------------------
  27619. [mySia]
  27620. type = sia
  27621. api_url = http://127.0.0.1:9980
  27622. api_password = *** ENCRYPTED ***
  27623. --------------------
  27624. y) Yes this is OK (default)
  27625. e) Edit this remote
  27626. d) Delete this remote
  27627. y/e/d> y
  27628. Once configured, you can then use rclone like this:
  27629. - List directories in top level of your Sia storage
  27630. rclone lsd mySia:
  27631. - List all the files in your Sia storage
  27632. rclone ls mySia:
  27633. - Upload a local directory to the Sia directory called backup
  27634. rclone copy /home/source mySia:backup
  27635. Standard options
  27636. Here are the Standard options specific to sia (Sia Decentralized Cloud).
  27637. --sia-api-url
  27638. Sia daemon API URL, like http://sia.daemon.host:9980.
  27639. Note that siad must run with --disable-api-security to open API port for
  27640. other hosts (not recommended). Keep default if Sia daemon runs on
  27641. localhost.
  27642. Properties:
  27643. - Config: api_url
  27644. - Env Var: RCLONE_SIA_API_URL
  27645. - Type: string
  27646. - Default: "http://127.0.0.1:9980"
  27647. --sia-api-password
  27648. Sia Daemon API Password.
  27649. Can be found in the apipassword file located in HOME/.sia/ or in the
  27650. daemon directory.
  27651. NB Input to this must be obscured - see rclone obscure.
  27652. Properties:
  27653. - Config: api_password
  27654. - Env Var: RCLONE_SIA_API_PASSWORD
  27655. - Type: string
  27656. - Required: false
  27657. Advanced options
  27658. Here are the Advanced options specific to sia (Sia Decentralized Cloud).
  27659. --sia-user-agent
  27660. Siad User Agent
  27661. Sia daemon requires the 'Sia-Agent' user agent by default for security
  27662. Properties:
  27663. - Config: user_agent
  27664. - Env Var: RCLONE_SIA_USER_AGENT
  27665. - Type: string
  27666. - Default: "Sia-Agent"
  27667. --sia-encoding
  27668. The encoding for the backend.
  27669. See the encoding section in the overview for more info.
  27670. Properties:
  27671. - Config: encoding
  27672. - Env Var: RCLONE_SIA_ENCODING
  27673. - Type: MultiEncoder
  27674. - Default: Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot
  27675. Limitations
  27676. - Modification times not supported
  27677. - Checksums not supported
  27678. - rclone about not supported
  27679. - rclone can work only with Siad or Sia-UI at the moment, the SkyNet
  27680. daemon is not supported yet.
  27681. - Sia does not allow control characters or symbols like question and
  27682. pound signs in file names. rclone will transparently encode them for
  27683. you, but you'd better be aware
  27684. Swift
  27685. Swift refers to OpenStack Object Storage. Commercial implementations of
  27686. that being:
  27687. - Rackspace Cloud Files
  27688. - Memset Memstore
  27689. - OVH Object Storage
  27690. - Oracle Cloud Storage
  27691. - Blomp Cloud Storage
  27692. - IBM Bluemix Cloud ObjectStorage Swift
  27693. Paths are specified as remote:container (or remote: for the lsd
  27694. command.) You may put subdirectories in too, e.g.
  27695. remote:container/path/to/dir.
  27696. Configuration
  27697. Here is an example of making a swift configuration. First run
  27698. rclone config
  27699. This will guide you through an interactive setup process.
  27700. No remotes found, make a new one?
  27701. n) New remote
  27702. s) Set configuration password
  27703. q) Quit config
  27704. n/s/q> n
  27705. name> remote
  27706. Type of storage to configure.
  27707. Choose a number from below, or type in your own value
  27708. [snip]
  27709. XX / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)
  27710. \ "swift"
  27711. [snip]
  27712. Storage> swift
  27713. Get swift credentials from environment variables in standard OpenStack form.
  27714. Choose a number from below, or type in your own value
  27715. 1 / Enter swift credentials in the next step
  27716. \ "false"
  27717. 2 / Get swift credentials from environment vars. Leave other fields blank if using this.
  27718. \ "true"
  27719. env_auth> true
  27720. User name to log in (OS_USERNAME).
  27721. user>
  27722. API key or password (OS_PASSWORD).
  27723. key>
  27724. Authentication URL for server (OS_AUTH_URL).
  27725. Choose a number from below, or type in your own value
  27726. 1 / Rackspace US
  27727. \ "https://auth.api.rackspacecloud.com/v1.0"
  27728. 2 / Rackspace UK
  27729. \ "https://lon.auth.api.rackspacecloud.com/v1.0"
  27730. 3 / Rackspace v2
  27731. \ "https://identity.api.rackspacecloud.com/v2.0"
  27732. 4 / Memset Memstore UK
  27733. \ "https://auth.storage.memset.com/v1.0"
  27734. 5 / Memset Memstore UK v2
  27735. \ "https://auth.storage.memset.com/v2.0"
  27736. 6 / OVH
  27737. \ "https://auth.cloud.ovh.net/v3"
  27738. 7 / Blomp Cloud Storage
  27739. \ "https://authenticate.ain.net"
  27740. auth>
  27741. User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
  27742. user_id>
  27743. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  27744. domain>
  27745. Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
  27746. tenant>
  27747. Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
  27748. tenant_id>
  27749. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
  27750. tenant_domain>
  27751. Region name - optional (OS_REGION_NAME)
  27752. region>
  27753. Storage URL - optional (OS_STORAGE_URL)
  27754. storage_url>
  27755. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
  27756. auth_token>
  27757. AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
  27758. auth_version>
  27759. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
  27760. Choose a number from below, or type in your own value
  27761. 1 / Public (default, choose this if not sure)
  27762. \ "public"
  27763. 2 / Internal (use internal service net)
  27764. \ "internal"
  27765. 3 / Admin
  27766. \ "admin"
  27767. endpoint_type>
  27768. Remote config
  27769. --------------------
  27770. [test]
  27771. env_auth = true
  27772. user =
  27773. key =
  27774. auth =
  27775. user_id =
  27776. domain =
  27777. tenant =
  27778. tenant_id =
  27779. tenant_domain =
  27780. region =
  27781. storage_url =
  27782. auth_token =
  27783. auth_version =
  27784. endpoint_type =
  27785. --------------------
  27786. y) Yes this is OK
  27787. e) Edit this remote
  27788. d) Delete this remote
  27789. y/e/d> y
  27790. This remote is called remote and can now be used like this
  27791. See all containers
  27792. rclone lsd remote:
  27793. Make a new container
  27794. rclone mkdir remote:container
  27795. List the contents of a container
  27796. rclone ls remote:container
  27797. Sync /home/local/directory to the remote container, deleting any excess
  27798. files in the container.
  27799. rclone sync --interactive /home/local/directory remote:container
  27800. Configuration from an OpenStack credentials file
  27801. An OpenStack credentials file typically looks something something like
  27802. this (without the comments)
  27803. export OS_AUTH_URL=https://a.provider.net/v2.0
  27804. export OS_TENANT_ID=ffffffffffffffffffffffffffffffff
  27805. export OS_TENANT_NAME="1234567890123456"
  27806. export OS_USERNAME="123abc567xy"
  27807. echo "Please enter your OpenStack Password: "
  27808. read -sr OS_PASSWORD_INPUT
  27809. export OS_PASSWORD=$OS_PASSWORD_INPUT
  27810. export OS_REGION_NAME="SBG1"
  27811. if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
  27812. The config file needs to look something like this where $OS_USERNAME
  27813. represents the value of the OS_USERNAME variable - 123abc567xy in the
  27814. example above.
  27815. [remote]
  27816. type = swift
  27817. user = $OS_USERNAME
  27818. key = $OS_PASSWORD
  27819. auth = $OS_AUTH_URL
  27820. tenant = $OS_TENANT_NAME
  27821. Note that you may (or may not) need to set region too - try without
  27822. first.
  27823. Configuration from the environment
  27824. If you prefer you can configure rclone to use swift using a standard set
  27825. of OpenStack environment variables.
  27826. When you run through the config, make sure you choose true for env_auth
  27827. and leave everything else blank.
  27828. rclone will then set any empty config parameters from the environment
  27829. using standard OpenStack environment variables. There is a list of the
  27830. variables in the docs for the swift library.
  27831. Using an alternate authentication method
  27832. If your OpenStack installation uses a non-standard authentication method
  27833. that might not be yet supported by rclone or the underlying swift
  27834. library, you can authenticate externally (e.g. calling manually the
  27835. openstack commands to get a token). Then, you just need to pass the two
  27836. configuration variables auth_token and storage_url. If they are both
  27837. provided, the other variables are ignored. rclone will not try to
  27838. authenticate but instead assume it is already authenticated and use
  27839. these two variables to access the OpenStack installation.
  27840. Using rclone without a config file
  27841. You can use rclone with swift without a config file, if desired, like
  27842. this:
  27843. source openstack-credentials-file
  27844. export RCLONE_CONFIG_MYREMOTE_TYPE=swift
  27845. export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true
  27846. rclone lsd myremote:
  27847. --fast-list
  27848. This remote supports --fast-list which allows you to use fewer
  27849. transactions in exchange for more memory. See the rclone docs for more
  27850. details.
  27851. --update and --use-server-modtime
  27852. As noted below, the modified time is stored on metadata on the object.
  27853. It is used by default for all operations that require checking the time
  27854. a file was last updated. It allows rclone to treat the remote more like
  27855. a true filesystem, but it is inefficient because it requires an extra
  27856. API call to retrieve the metadata.
  27857. For many operations, the time the object was last uploaded to the remote
  27858. is sufficient to determine if it is "dirty". By using --update along
  27859. with --use-server-modtime, you can avoid the extra API call and simply
  27860. upload files whose local modtime is newer than the time it was last
  27861. uploaded.
  27862. Modified time
  27863. The modified time is stored as metadata on the object as
  27864. X-Object-Meta-Mtime as floating point since the epoch accurate to 1 ns.
  27865. This is a de facto standard (used in the official python-swiftclient
  27866. amongst others) for storing the modification time for an object.
  27867. Restricted filename characters
  27868. Character Value Replacement
  27869. ----------- ------- -------------
  27870. NUL 0x00 ␀
  27871. / 0x2F /
  27872. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  27873. strings.
  27874. Standard options
  27875. Here are the Standard options specific to swift (OpenStack Swift
  27876. (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)).
  27877. --swift-env-auth
  27878. Get swift credentials from environment variables in standard OpenStack
  27879. form.
  27880. Properties:
  27881. - Config: env_auth
  27882. - Env Var: RCLONE_SWIFT_ENV_AUTH
  27883. - Type: bool
  27884. - Default: false
  27885. - Examples:
  27886. - "false"
  27887. - Enter swift credentials in the next step.
  27888. - "true"
  27889. - Get swift credentials from environment vars.
  27890. - Leave other fields blank if using this.
  27891. --swift-user
  27892. User name to log in (OS_USERNAME).
  27893. Properties:
  27894. - Config: user
  27895. - Env Var: RCLONE_SWIFT_USER
  27896. - Type: string
  27897. - Required: false
  27898. --swift-key
  27899. API key or password (OS_PASSWORD).
  27900. Properties:
  27901. - Config: key
  27902. - Env Var: RCLONE_SWIFT_KEY
  27903. - Type: string
  27904. - Required: false
  27905. --swift-auth
  27906. Authentication URL for server (OS_AUTH_URL).
  27907. Properties:
  27908. - Config: auth
  27909. - Env Var: RCLONE_SWIFT_AUTH
  27910. - Type: string
  27911. - Required: false
  27912. - Examples:
  27913. - "https://auth.api.rackspacecloud.com/v1.0"
  27914. - Rackspace US
  27915. - "https://lon.auth.api.rackspacecloud.com/v1.0"
  27916. - Rackspace UK
  27917. - "https://identity.api.rackspacecloud.com/v2.0"
  27918. - Rackspace v2
  27919. - "https://auth.storage.memset.com/v1.0"
  27920. - Memset Memstore UK
  27921. - "https://auth.storage.memset.com/v2.0"
  27922. - Memset Memstore UK v2
  27923. - "https://auth.cloud.ovh.net/v3"
  27924. - OVH
  27925. - "https://authenticate.ain.net"
  27926. - Blomp Cloud Storage
  27927. --swift-user-id
  27928. User ID to log in - optional - most swift systems use user and leave
  27929. this blank (v3 auth) (OS_USER_ID).
  27930. Properties:
  27931. - Config: user_id
  27932. - Env Var: RCLONE_SWIFT_USER_ID
  27933. - Type: string
  27934. - Required: false
  27935. --swift-domain
  27936. User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
  27937. Properties:
  27938. - Config: domain
  27939. - Env Var: RCLONE_SWIFT_DOMAIN
  27940. - Type: string
  27941. - Required: false
  27942. --swift-tenant
  27943. Tenant name - optional for v1 auth, this or tenant_id required otherwise
  27944. (OS_TENANT_NAME or OS_PROJECT_NAME).
  27945. Properties:
  27946. - Config: tenant
  27947. - Env Var: RCLONE_SWIFT_TENANT
  27948. - Type: string
  27949. - Required: false
  27950. --swift-tenant-id
  27951. Tenant ID - optional for v1 auth, this or tenant required otherwise
  27952. (OS_TENANT_ID).
  27953. Properties:
  27954. - Config: tenant_id
  27955. - Env Var: RCLONE_SWIFT_TENANT_ID
  27956. - Type: string
  27957. - Required: false
  27958. --swift-tenant-domain
  27959. Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME).
  27960. Properties:
  27961. - Config: tenant_domain
  27962. - Env Var: RCLONE_SWIFT_TENANT_DOMAIN
  27963. - Type: string
  27964. - Required: false
  27965. --swift-region
  27966. Region name - optional (OS_REGION_NAME).
  27967. Properties:
  27968. - Config: region
  27969. - Env Var: RCLONE_SWIFT_REGION
  27970. - Type: string
  27971. - Required: false
  27972. --swift-storage-url
  27973. Storage URL - optional (OS_STORAGE_URL).
  27974. Properties:
  27975. - Config: storage_url
  27976. - Env Var: RCLONE_SWIFT_STORAGE_URL
  27977. - Type: string
  27978. - Required: false
  27979. --swift-auth-token
  27980. Auth Token from alternate authentication - optional (OS_AUTH_TOKEN).
  27981. Properties:
  27982. - Config: auth_token
  27983. - Env Var: RCLONE_SWIFT_AUTH_TOKEN
  27984. - Type: string
  27985. - Required: false
  27986. --swift-application-credential-id
  27987. Application Credential ID (OS_APPLICATION_CREDENTIAL_ID).
  27988. Properties:
  27989. - Config: application_credential_id
  27990. - Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID
  27991. - Type: string
  27992. - Required: false
  27993. --swift-application-credential-name
  27994. Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME).
  27995. Properties:
  27996. - Config: application_credential_name
  27997. - Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME
  27998. - Type: string
  27999. - Required: false
  28000. --swift-application-credential-secret
  28001. Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET).
  28002. Properties:
  28003. - Config: application_credential_secret
  28004. - Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET
  28005. - Type: string
  28006. - Required: false
  28007. --swift-auth-version
  28008. AuthVersion - optional - set to (1,2,3) if your auth URL has no version
  28009. (ST_AUTH_VERSION).
  28010. Properties:
  28011. - Config: auth_version
  28012. - Env Var: RCLONE_SWIFT_AUTH_VERSION
  28013. - Type: int
  28014. - Default: 0
  28015. --swift-endpoint-type
  28016. Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE).
  28017. Properties:
  28018. - Config: endpoint_type
  28019. - Env Var: RCLONE_SWIFT_ENDPOINT_TYPE
  28020. - Type: string
  28021. - Default: "public"
  28022. - Examples:
  28023. - "public"
  28024. - Public (default, choose this if not sure)
  28025. - "internal"
  28026. - Internal (use internal service net)
  28027. - "admin"
  28028. - Admin
  28029. --swift-storage-policy
  28030. The storage policy to use when creating a new container.
  28031. This applies the specified storage policy when creating a new container.
  28032. The policy cannot be changed afterwards. The allowed configuration
  28033. values and their meaning depend on your Swift storage provider.
  28034. Properties:
  28035. - Config: storage_policy
  28036. - Env Var: RCLONE_SWIFT_STORAGE_POLICY
  28037. - Type: string
  28038. - Required: false
  28039. - Examples:
  28040. - ""
  28041. - Default
  28042. - "pcs"
  28043. - OVH Public Cloud Storage
  28044. - "pca"
  28045. - OVH Public Cloud Archive
  28046. Advanced options
  28047. Here are the Advanced options specific to swift (OpenStack Swift
  28048. (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)).
  28049. --swift-leave-parts-on-error
  28050. If true avoid calling abort upload on a failure.
  28051. It should be set to true for resuming uploads across different sessions.
  28052. Properties:
  28053. - Config: leave_parts_on_error
  28054. - Env Var: RCLONE_SWIFT_LEAVE_PARTS_ON_ERROR
  28055. - Type: bool
  28056. - Default: false
  28057. --swift-chunk-size
  28058. Above this size files will be chunked into a _segments container.
  28059. Above this size files will be chunked into a _segments container. The
  28060. default for this is 5 GiB which is its maximum value.
  28061. Properties:
  28062. - Config: chunk_size
  28063. - Env Var: RCLONE_SWIFT_CHUNK_SIZE
  28064. - Type: SizeSuffix
  28065. - Default: 5Gi
  28066. --swift-no-chunk
  28067. Don't chunk files during streaming upload.
  28068. When doing streaming uploads (e.g. using rcat or mount) setting this
  28069. flag will cause the swift backend to not upload chunked files.
  28070. This will limit the maximum upload size to 5 GiB. However non chunked
  28071. files are easier to deal with and have an MD5SUM.
  28072. Rclone will still chunk files bigger than chunk_size when doing normal
  28073. copy operations.
  28074. Properties:
  28075. - Config: no_chunk
  28076. - Env Var: RCLONE_SWIFT_NO_CHUNK
  28077. - Type: bool
  28078. - Default: false
  28079. --swift-no-large-objects
  28080. Disable support for static and dynamic large objects
  28081. Swift cannot transparently store files bigger than 5 GiB. There are two
  28082. schemes for doing that, static or dynamic large objects, and the API
  28083. does not allow rclone to determine whether a file is a static or dynamic
  28084. large object without doing a HEAD on the object. Since these need to be
  28085. treated differently, this means rclone has to issue HEAD requests for
  28086. objects for example when reading checksums.
  28087. When no_large_objects is set, rclone will assume that there are no
  28088. static or dynamic large objects stored. This means it can stop doing the
  28089. extra HEAD calls which in turn increases performance greatly especially
  28090. when doing a swift to swift transfer with --checksum set.
  28091. Setting this option implies no_chunk and also that no files will be
  28092. uploaded in chunks, so files bigger than 5 GiB will just fail on upload.
  28093. If you set this option and there are static or dynamic large objects,
  28094. then this will give incorrect hashes for them. Downloads will succeed,
  28095. but other operations such as Remove and Copy will fail.
  28096. Properties:
  28097. - Config: no_large_objects
  28098. - Env Var: RCLONE_SWIFT_NO_LARGE_OBJECTS
  28099. - Type: bool
  28100. - Default: false
  28101. --swift-encoding
  28102. The encoding for the backend.
  28103. See the encoding section in the overview for more info.
  28104. Properties:
  28105. - Config: encoding
  28106. - Env Var: RCLONE_SWIFT_ENCODING
  28107. - Type: MultiEncoder
  28108. - Default: Slash,InvalidUtf8
  28109. Limitations
  28110. The Swift API doesn't return a correct MD5SUM for segmented files
  28111. (Dynamic or Static Large Objects) so rclone won't check or use the
  28112. MD5SUM for these.
  28113. Troubleshooting
  28114. Rclone gives Failed to create file system for "remote:": Bad Request
  28115. Due to an oddity of the underlying swift library, it gives a "Bad
  28116. Request" error rather than a more sensible error when the authentication
  28117. fails for Swift.
  28118. So this most likely means your username / password is wrong. You can
  28119. investigate further with the --dump-bodies flag.
  28120. This may also be caused by specifying the region when you shouldn't have
  28121. (e.g. OVH).
  28122. Rclone gives Failed to create file system: Response didn't have storage url and auth token
  28123. This is most likely caused by forgetting to specify your tenant when
  28124. setting up a swift remote.
  28125. OVH Cloud Archive
  28126. To use rclone with OVH cloud archive, first use rclone config to set up
  28127. a swift backend with OVH, choosing pca as the storage_policy.
  28128. Uploading Objects
  28129. Uploading objects to OVH cloud archive is no different to object
  28130. storage, you just simply run the command you like (move, copy or sync)
  28131. to upload the objects. Once uploaded the objects will show in a "Frozen"
  28132. state within the OVH control panel.
  28133. Retrieving Objects
  28134. To retrieve objects use rclone copy as normal. If the objects are in a
  28135. frozen state then rclone will ask for them all to be unfrozen and it
  28136. will wait at the end of the output with a message like the following:
  28137. 2019/03/23 13:06:33 NOTICE: Received retry after error - sleeping until 2019-03-23T13:16:33.481657164+01:00 (9m59.99985121s)
  28138. Rclone will wait for the time specified then retry the copy.
  28139. pCloud
  28140. Paths are specified as remote:path
  28141. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  28142. Configuration
  28143. The initial setup for pCloud involves getting a token from pCloud which
  28144. you need to do in your browser. rclone config walks you through it.
  28145. Here is an example of how to make a remote called remote. First run:
  28146. rclone config
  28147. This will guide you through an interactive setup process:
  28148. No remotes found, make a new one?
  28149. n) New remote
  28150. s) Set configuration password
  28151. q) Quit config
  28152. n/s/q> n
  28153. name> remote
  28154. Type of storage to configure.
  28155. Choose a number from below, or type in your own value
  28156. [snip]
  28157. XX / Pcloud
  28158. \ "pcloud"
  28159. [snip]
  28160. Storage> pcloud
  28161. Pcloud App Client Id - leave blank normally.
  28162. client_id>
  28163. Pcloud App Client Secret - leave blank normally.
  28164. client_secret>
  28165. Remote config
  28166. Use web browser to automatically authenticate rclone with remote?
  28167. * Say Y if the machine running rclone has a web browser you can use
  28168. * Say N if running rclone on a (remote) machine without web browser access
  28169. If not sure try Y. If Y failed, try N.
  28170. y) Yes
  28171. n) No
  28172. y/n> y
  28173. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  28174. Log in and authorize rclone for access
  28175. Waiting for code...
  28176. Got code
  28177. --------------------
  28178. [remote]
  28179. client_id =
  28180. client_secret =
  28181. token = {"access_token":"XXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
  28182. --------------------
  28183. y) Yes this is OK
  28184. e) Edit this remote
  28185. d) Delete this remote
  28186. y/e/d> y
  28187. See the remote setup docs for how to set it up on a machine with no
  28188. Internet browser available.
  28189. Note that rclone runs a webserver on your local machine to collect the
  28190. token as returned from pCloud. This only runs from the moment it opens
  28191. your browser to the moment you get back the verification code. This is
  28192. on http://127.0.0.1:53682/ and this it may require you to unblock it
  28193. temporarily if you are running a host firewall.
  28194. Once configured you can then use rclone like this,
  28195. List directories in top level of your pCloud
  28196. rclone lsd remote:
  28197. List all the files in your pCloud
  28198. rclone ls remote:
  28199. To copy a local directory to a pCloud directory called backup
  28200. rclone copy /home/source remote:backup
  28201. Modified time and hashes
  28202. pCloud allows modification times to be set on objects accurate to 1
  28203. second. These will be used to detect whether objects need syncing or
  28204. not. In order to set a Modification time pCloud requires the object be
  28205. re-uploaded.
  28206. pCloud supports MD5 and SHA1 hashes in the US region, and SHA1 and
  28207. SHA256 hashes in the EU region, so you can use the --checksum flag.
  28208. Restricted filename characters
  28209. In addition to the default restricted characters set the following
  28210. characters are also replaced:
  28211. Character Value Replacement
  28212. ----------- ------- -------------
  28213. \ 0x5C \
  28214. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  28215. strings.
  28216. Deleting files
  28217. Deleted files will be moved to the trash. Your subscription level will
  28218. determine how long items stay in the trash. rclone cleanup can be used
  28219. to empty the trash.
  28220. Emptying the trash
  28221. Due to an API limitation, the rclone cleanup command will only work if
  28222. you set your username and password in the advanced options for this
  28223. backend. Since we generally want to avoid storing user passwords in the
  28224. rclone config file, we advise you to only set this up if you need the
  28225. rclone cleanup command to work.
  28226. Root folder ID
  28227. You can set the root_folder_id for rclone. This is the directory
  28228. (identified by its Folder ID) that rclone considers to be the root of
  28229. your pCloud drive.
  28230. Normally you will leave this blank and rclone will determine the correct
  28231. root to use itself.
  28232. However you can set this to restrict rclone to a specific folder
  28233. hierarchy.
  28234. In order to do this you will have to find the Folder ID of the directory
  28235. you wish rclone to display. This will be the folder field of the URL
  28236. when you open the relevant folder in the pCloud web interface.
  28237. So if the folder you want rclone to use has a URL which looks like
  28238. https://my.pcloud.com/#page=filemanager&folder=5xxxxxxxx8&tpl=foldergrid
  28239. in the browser, then you use 5xxxxxxxx8 as the root_folder_id in the
  28240. config.
  28241. Standard options
  28242. Here are the Standard options specific to pcloud (Pcloud).
  28243. --pcloud-client-id
  28244. OAuth Client Id.
  28245. Leave blank normally.
  28246. Properties:
  28247. - Config: client_id
  28248. - Env Var: RCLONE_PCLOUD_CLIENT_ID
  28249. - Type: string
  28250. - Required: false
  28251. --pcloud-client-secret
  28252. OAuth Client Secret.
  28253. Leave blank normally.
  28254. Properties:
  28255. - Config: client_secret
  28256. - Env Var: RCLONE_PCLOUD_CLIENT_SECRET
  28257. - Type: string
  28258. - Required: false
  28259. Advanced options
  28260. Here are the Advanced options specific to pcloud (Pcloud).
  28261. --pcloud-token
  28262. OAuth Access Token as a JSON blob.
  28263. Properties:
  28264. - Config: token
  28265. - Env Var: RCLONE_PCLOUD_TOKEN
  28266. - Type: string
  28267. - Required: false
  28268. --pcloud-auth-url
  28269. Auth server URL.
  28270. Leave blank to use the provider defaults.
  28271. Properties:
  28272. - Config: auth_url
  28273. - Env Var: RCLONE_PCLOUD_AUTH_URL
  28274. - Type: string
  28275. - Required: false
  28276. --pcloud-token-url
  28277. Token server url.
  28278. Leave blank to use the provider defaults.
  28279. Properties:
  28280. - Config: token_url
  28281. - Env Var: RCLONE_PCLOUD_TOKEN_URL
  28282. - Type: string
  28283. - Required: false
  28284. --pcloud-encoding
  28285. The encoding for the backend.
  28286. See the encoding section in the overview for more info.
  28287. Properties:
  28288. - Config: encoding
  28289. - Env Var: RCLONE_PCLOUD_ENCODING
  28290. - Type: MultiEncoder
  28291. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  28292. --pcloud-root-folder-id
  28293. Fill in for rclone to use a non root folder as its starting point.
  28294. Properties:
  28295. - Config: root_folder_id
  28296. - Env Var: RCLONE_PCLOUD_ROOT_FOLDER_ID
  28297. - Type: string
  28298. - Default: "d0"
  28299. --pcloud-hostname
  28300. Hostname to connect to.
  28301. This is normally set when rclone initially does the oauth connection,
  28302. however you will need to set it by hand if you are using remote config
  28303. with rclone authorize.
  28304. Properties:
  28305. - Config: hostname
  28306. - Env Var: RCLONE_PCLOUD_HOSTNAME
  28307. - Type: string
  28308. - Default: "api.pcloud.com"
  28309. - Examples:
  28310. - "api.pcloud.com"
  28311. - Original/US region
  28312. - "eapi.pcloud.com"
  28313. - EU region
  28314. --pcloud-username
  28315. Your pcloud username.
  28316. This is only required when you want to use the cleanup command. Due to a
  28317. bug in the pcloud API the required API does not support OAuth
  28318. authentication so we have to rely on user password authentication for
  28319. it.
  28320. Properties:
  28321. - Config: username
  28322. - Env Var: RCLONE_PCLOUD_USERNAME
  28323. - Type: string
  28324. - Required: false
  28325. --pcloud-password
  28326. Your pcloud password.
  28327. NB Input to this must be obscured - see rclone obscure.
  28328. Properties:
  28329. - Config: password
  28330. - Env Var: RCLONE_PCLOUD_PASSWORD
  28331. - Type: string
  28332. - Required: false
  28333. PikPak
  28334. PikPak is a private cloud drive.
  28335. Paths are specified as remote:path, and may be as deep as required, e.g.
  28336. remote:directory/subdirectory.
  28337. Configuration
  28338. Here is an example of making a remote for PikPak.
  28339. First run:
  28340. rclone config
  28341. This will guide you through an interactive setup process:
  28342. No remotes found, make a new one?
  28343. n) New remote
  28344. s) Set configuration password
  28345. q) Quit config
  28346. n/s/q> n
  28347. Enter name for new remote.
  28348. name> remote
  28349. Option Storage.
  28350. Type of storage to configure.
  28351. Choose a number from below, or type in your own value.
  28352. XX / PikPak
  28353. \ (pikpak)
  28354. Storage> XX
  28355. Option user.
  28356. Pikpak username.
  28357. Enter a value.
  28358. user> USERNAME
  28359. Option pass.
  28360. Pikpak password.
  28361. Choose an alternative below.
  28362. y) Yes, type in my own password
  28363. g) Generate random password
  28364. y/g> y
  28365. Enter the password:
  28366. password:
  28367. Confirm the password:
  28368. password:
  28369. Edit advanced config?
  28370. y) Yes
  28371. n) No (default)
  28372. y/n>
  28373. Configuration complete.
  28374. Options:
  28375. - type: pikpak
  28376. - user: USERNAME
  28377. - pass: *** ENCRYPTED ***
  28378. - token: {"access_token":"eyJ...","token_type":"Bearer","refresh_token":"os...","expiry":"2023-01-26T18:54:32.170582647+09:00"}
  28379. Keep this "remote" remote?
  28380. y) Yes this is OK (default)
  28381. e) Edit this remote
  28382. d) Delete this remote
  28383. y/e/d> y
  28384. Standard options
  28385. Here are the Standard options specific to pikpak (PikPak).
  28386. --pikpak-user
  28387. Pikpak username.
  28388. Properties:
  28389. - Config: user
  28390. - Env Var: RCLONE_PIKPAK_USER
  28391. - Type: string
  28392. - Required: true
  28393. --pikpak-pass
  28394. Pikpak password.
  28395. NB Input to this must be obscured - see rclone obscure.
  28396. Properties:
  28397. - Config: pass
  28398. - Env Var: RCLONE_PIKPAK_PASS
  28399. - Type: string
  28400. - Required: true
  28401. Advanced options
  28402. Here are the Advanced options specific to pikpak (PikPak).
  28403. --pikpak-client-id
  28404. OAuth Client Id.
  28405. Leave blank normally.
  28406. Properties:
  28407. - Config: client_id
  28408. - Env Var: RCLONE_PIKPAK_CLIENT_ID
  28409. - Type: string
  28410. - Required: false
  28411. --pikpak-client-secret
  28412. OAuth Client Secret.
  28413. Leave blank normally.
  28414. Properties:
  28415. - Config: client_secret
  28416. - Env Var: RCLONE_PIKPAK_CLIENT_SECRET
  28417. - Type: string
  28418. - Required: false
  28419. --pikpak-token
  28420. OAuth Access Token as a JSON blob.
  28421. Properties:
  28422. - Config: token
  28423. - Env Var: RCLONE_PIKPAK_TOKEN
  28424. - Type: string
  28425. - Required: false
  28426. --pikpak-auth-url
  28427. Auth server URL.
  28428. Leave blank to use the provider defaults.
  28429. Properties:
  28430. - Config: auth_url
  28431. - Env Var: RCLONE_PIKPAK_AUTH_URL
  28432. - Type: string
  28433. - Required: false
  28434. --pikpak-token-url
  28435. Token server url.
  28436. Leave blank to use the provider defaults.
  28437. Properties:
  28438. - Config: token_url
  28439. - Env Var: RCLONE_PIKPAK_TOKEN_URL
  28440. - Type: string
  28441. - Required: false
  28442. --pikpak-root-folder-id
  28443. ID of the root folder. Leave blank normally.
  28444. Fill in for rclone to use a non root folder as its starting point.
  28445. Properties:
  28446. - Config: root_folder_id
  28447. - Env Var: RCLONE_PIKPAK_ROOT_FOLDER_ID
  28448. - Type: string
  28449. - Required: false
  28450. --pikpak-use-trash
  28451. Send files to the trash instead of deleting permanently.
  28452. Defaults to true, namely sending files to the trash. Use
  28453. --pikpak-use-trash=false to delete files permanently instead.
  28454. Properties:
  28455. - Config: use_trash
  28456. - Env Var: RCLONE_PIKPAK_USE_TRASH
  28457. - Type: bool
  28458. - Default: true
  28459. --pikpak-trashed-only
  28460. Only show files that are in the trash.
  28461. This will show trashed files in their original directory structure.
  28462. Properties:
  28463. - Config: trashed_only
  28464. - Env Var: RCLONE_PIKPAK_TRASHED_ONLY
  28465. - Type: bool
  28466. - Default: false
  28467. --pikpak-hash-memory-limit
  28468. Files bigger than this will be cached on disk to calculate hash if
  28469. required.
  28470. Properties:
  28471. - Config: hash_memory_limit
  28472. - Env Var: RCLONE_PIKPAK_HASH_MEMORY_LIMIT
  28473. - Type: SizeSuffix
  28474. - Default: 10Mi
  28475. --pikpak-encoding
  28476. The encoding for the backend.
  28477. See the encoding section in the overview for more info.
  28478. Properties:
  28479. - Config: encoding
  28480. - Env Var: RCLONE_PIKPAK_ENCODING
  28481. - Type: MultiEncoder
  28482. - Default:
  28483. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot
  28484. Backend commands
  28485. Here are the commands specific to the pikpak backend.
  28486. Run them with
  28487. rclone backend COMMAND remote:
  28488. The help below will explain what arguments each command takes.
  28489. See the backend command for more info on how to pass options and
  28490. arguments.
  28491. These can be run on a running backend using the rc command
  28492. backend/command.
  28493. addurl
  28494. Add offline download task for url
  28495. rclone backend addurl remote: [options] [<arguments>+]
  28496. This command adds offline download task for url.
  28497. Usage:
  28498. rclone backend addurl pikpak:dirpath url
  28499. Downloads will be stored in 'dirpath'. If 'dirpath' is invalid, download
  28500. will fallback to default 'My Pack' folder.
  28501. decompress
  28502. Request decompress of a file/files in a folder
  28503. rclone backend decompress remote: [options] [<arguments>+]
  28504. This command requests decompress of file/files in a folder.
  28505. Usage:
  28506. rclone backend decompress pikpak:dirpath {filename} -o password=password
  28507. rclone backend decompress pikpak:dirpath {filename} -o delete-src-file
  28508. An optional argument 'filename' can be specified for a file located in
  28509. 'pikpak:dirpath'. You may want to pass '-o password=password' for a
  28510. password-protected files. Also, pass '-o delete-src-file' to delete
  28511. source files after decompression finished.
  28512. Result:
  28513. {
  28514. "Decompressed": 17,
  28515. "SourceDeleted": 0,
  28516. "Errors": 0
  28517. }
  28518. Limitations
  28519. Hashes
  28520. PikPak supports MD5 hash, but sometimes given empty especially for
  28521. user-uploaded files.
  28522. Deleted files
  28523. Deleted files will still be visible with --pikpak-trashed-only even
  28524. after the trash emptied. This goes away after few days.
  28525. premiumize.me
  28526. Paths are specified as remote:path
  28527. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  28528. Configuration
  28529. The initial setup for premiumize.me involves getting a token from
  28530. premiumize.me which you need to do in your browser. rclone config walks
  28531. you through it.
  28532. Here is an example of how to make a remote called remote. First run:
  28533. rclone config
  28534. This will guide you through an interactive setup process:
  28535. No remotes found, make a new one?
  28536. n) New remote
  28537. s) Set configuration password
  28538. q) Quit config
  28539. n/s/q> n
  28540. name> remote
  28541. Type of storage to configure.
  28542. Enter a string value. Press Enter for the default ("").
  28543. Choose a number from below, or type in your own value
  28544. [snip]
  28545. XX / premiumize.me
  28546. \ "premiumizeme"
  28547. [snip]
  28548. Storage> premiumizeme
  28549. ** See help for premiumizeme backend at: https://rclone.org/premiumizeme/ **
  28550. Remote config
  28551. Use web browser to automatically authenticate rclone with remote?
  28552. * Say Y if the machine running rclone has a web browser you can use
  28553. * Say N if running rclone on a (remote) machine without web browser access
  28554. If not sure try Y. If Y failed, try N.
  28555. y) Yes
  28556. n) No
  28557. y/n> y
  28558. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  28559. Log in and authorize rclone for access
  28560. Waiting for code...
  28561. Got code
  28562. --------------------
  28563. [remote]
  28564. type = premiumizeme
  28565. token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2029-08-07T18:44:15.548915378+01:00"}
  28566. --------------------
  28567. y) Yes this is OK
  28568. e) Edit this remote
  28569. d) Delete this remote
  28570. y/e/d>
  28571. See the remote setup docs for how to set it up on a machine with no
  28572. Internet browser available.
  28573. Note that rclone runs a webserver on your local machine to collect the
  28574. token as returned from premiumize.me. This only runs from the moment it
  28575. opens your browser to the moment you get back the verification code.
  28576. This is on http://127.0.0.1:53682/ and this it may require you to
  28577. unblock it temporarily if you are running a host firewall.
  28578. Once configured you can then use rclone like this,
  28579. List directories in top level of your premiumize.me
  28580. rclone lsd remote:
  28581. List all the files in your premiumize.me
  28582. rclone ls remote:
  28583. To copy a local directory to an premiumize.me directory called backup
  28584. rclone copy /home/source remote:backup
  28585. Modified time and hashes
  28586. premiumize.me does not support modification times or hashes, therefore
  28587. syncing will default to --size-only checking. Note that using --update
  28588. will work.
  28589. Restricted filename characters
  28590. In addition to the default restricted characters set the following
  28591. characters are also replaced:
  28592. Character Value Replacement
  28593. ----------- ------- -------------
  28594. \ 0x5C \
  28595. " 0x22 "
  28596. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  28597. strings.
  28598. Standard options
  28599. Here are the Standard options specific to premiumizeme (premiumize.me).
  28600. --premiumizeme-api-key
  28601. API Key.
  28602. This is not normally used - use oauth instead.
  28603. Properties:
  28604. - Config: api_key
  28605. - Env Var: RCLONE_PREMIUMIZEME_API_KEY
  28606. - Type: string
  28607. - Required: false
  28608. Advanced options
  28609. Here are the Advanced options specific to premiumizeme (premiumize.me).
  28610. --premiumizeme-encoding
  28611. The encoding for the backend.
  28612. See the encoding section in the overview for more info.
  28613. Properties:
  28614. - Config: encoding
  28615. - Env Var: RCLONE_PREMIUMIZEME_ENCODING
  28616. - Type: MultiEncoder
  28617. - Default: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot
  28618. Limitations
  28619. Note that premiumize.me is case insensitive so you can't have a file
  28620. called "Hello.doc" and one called "hello.doc".
  28621. premiumize.me file names can't have the \ or " characters in. rclone
  28622. maps these to and from an identical looking unicode equivalents \ and
  28623. premiumize.me only supports filenames up to 255 characters in length.
  28624. put.io
  28625. Paths are specified as remote:path
  28626. put.io paths may be as deep as required, e.g.
  28627. remote:directory/subdirectory.
  28628. Configuration
  28629. The initial setup for put.io involves getting a token from put.io which
  28630. you need to do in your browser. rclone config walks you through it.
  28631. Here is an example of how to make a remote called remote. First run:
  28632. rclone config
  28633. This will guide you through an interactive setup process:
  28634. No remotes found, make a new one?
  28635. n) New remote
  28636. s) Set configuration password
  28637. q) Quit config
  28638. n/s/q> n
  28639. name> putio
  28640. Type of storage to configure.
  28641. Enter a string value. Press Enter for the default ("").
  28642. Choose a number from below, or type in your own value
  28643. [snip]
  28644. XX / Put.io
  28645. \ "putio"
  28646. [snip]
  28647. Storage> putio
  28648. ** See help for putio backend at: https://rclone.org/putio/ **
  28649. Remote config
  28650. Use web browser to automatically authenticate rclone with remote?
  28651. * Say Y if the machine running rclone has a web browser you can use
  28652. * Say N if running rclone on a (remote) machine without web browser access
  28653. If not sure try Y. If Y failed, try N.
  28654. y) Yes
  28655. n) No
  28656. y/n> y
  28657. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  28658. Log in and authorize rclone for access
  28659. Waiting for code...
  28660. Got code
  28661. --------------------
  28662. [putio]
  28663. type = putio
  28664. token = {"access_token":"XXXXXXXX","expiry":"0001-01-01T00:00:00Z"}
  28665. --------------------
  28666. y) Yes this is OK
  28667. e) Edit this remote
  28668. d) Delete this remote
  28669. y/e/d> y
  28670. Current remotes:
  28671. Name Type
  28672. ==== ====
  28673. putio putio
  28674. e) Edit existing remote
  28675. n) New remote
  28676. d) Delete remote
  28677. r) Rename remote
  28678. c) Copy remote
  28679. s) Set configuration password
  28680. q) Quit config
  28681. e/n/d/r/c/s/q> q
  28682. See the remote setup docs for how to set it up on a machine with no
  28683. Internet browser available.
  28684. Note that rclone runs a webserver on your local machine to collect the
  28685. token as returned from put.io if using web browser to automatically
  28686. authenticate. This only runs from the moment it opens your browser to
  28687. the moment you get back the verification code. This is on
  28688. http://127.0.0.1:53682/ and this it may require you to unblock it
  28689. temporarily if you are running a host firewall, or use manual mode.
  28690. You can then use it like this,
  28691. List directories in top level of your put.io
  28692. rclone lsd remote:
  28693. List all the files in your put.io
  28694. rclone ls remote:
  28695. To copy a local directory to a put.io directory called backup
  28696. rclone copy /home/source remote:backup
  28697. Restricted filename characters
  28698. In addition to the default restricted characters set the following
  28699. characters are also replaced:
  28700. Character Value Replacement
  28701. ----------- ------- -------------
  28702. \ 0x5C \
  28703. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  28704. strings.
  28705. Advanced options
  28706. Here are the Advanced options specific to putio (Put.io).
  28707. --putio-encoding
  28708. The encoding for the backend.
  28709. See the encoding section in the overview for more info.
  28710. Properties:
  28711. - Config: encoding
  28712. - Env Var: RCLONE_PUTIO_ENCODING
  28713. - Type: MultiEncoder
  28714. - Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
  28715. Limitations
  28716. put.io has rate limiting. When you hit a limit, rclone automatically
  28717. retries after waiting the amount of time requested by the server.
  28718. If you want to avoid ever hitting these limits, you may use the
  28719. --tpslimit flag with a low number. Note that the imposed limits may be
  28720. different for different operations, and may change over time.
  28721. Seafile
  28722. This is a backend for the Seafile storage service: - It works with both
  28723. the free community edition or the professional edition. - Seafile
  28724. versions 6.x, 7.x, 8.x and 9.x are all supported. - Encrypted libraries
  28725. are also supported. - It supports 2FA enabled users - Using a Library
  28726. API Token is not supported
  28727. Configuration
  28728. There are two distinct modes you can setup your remote: - you point your
  28729. remote to the root of the server, meaning you don't specify a library
  28730. during the configuration: Paths are specified as remote:library. You may
  28731. put subdirectories in too, e.g. remote:library/path/to/dir. - you point
  28732. your remote to a specific library during the configuration: Paths are
  28733. specified as remote:path/to/dir. This is the recommended mode when using
  28734. encrypted libraries. (This mode is possibly slightly faster than the
  28735. root mode)
  28736. Configuration in root mode
  28737. Here is an example of making a seafile configuration for a user with no
  28738. two-factor authentication. First run
  28739. rclone config
  28740. This will guide you through an interactive setup process. To
  28741. authenticate you will need the URL of your server, your email (or
  28742. username) and your password.
  28743. No remotes found, make a new one?
  28744. n) New remote
  28745. s) Set configuration password
  28746. q) Quit config
  28747. n/s/q> n
  28748. name> seafile
  28749. Type of storage to configure.
  28750. Enter a string value. Press Enter for the default ("").
  28751. Choose a number from below, or type in your own value
  28752. [snip]
  28753. XX / Seafile
  28754. \ "seafile"
  28755. [snip]
  28756. Storage> seafile
  28757. ** See help for seafile backend at: https://rclone.org/seafile/ **
  28758. URL of seafile host to connect to
  28759. Enter a string value. Press Enter for the default ("").
  28760. Choose a number from below, or type in your own value
  28761. 1 / Connect to cloud.seafile.com
  28762. \ "https://cloud.seafile.com/"
  28763. url> http://my.seafile.server/
  28764. User name (usually email address)
  28765. Enter a string value. Press Enter for the default ("").
  28766. user> me@example.com
  28767. Password
  28768. y) Yes type in my own password
  28769. g) Generate random password
  28770. n) No leave this optional password blank (default)
  28771. y/g> y
  28772. Enter the password:
  28773. password:
  28774. Confirm the password:
  28775. password:
  28776. Two-factor authentication ('true' if the account has 2FA enabled)
  28777. Enter a boolean value (true or false). Press Enter for the default ("false").
  28778. 2fa> false
  28779. Name of the library. Leave blank to access all non-encrypted libraries.
  28780. Enter a string value. Press Enter for the default ("").
  28781. library>
  28782. Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
  28783. y) Yes type in my own password
  28784. g) Generate random password
  28785. n) No leave this optional password blank (default)
  28786. y/g/n> n
  28787. Edit advanced config? (y/n)
  28788. y) Yes
  28789. n) No (default)
  28790. y/n> n
  28791. Remote config
  28792. Two-factor authentication is not enabled on this account.
  28793. --------------------
  28794. [seafile]
  28795. type = seafile
  28796. url = http://my.seafile.server/
  28797. user = me@example.com
  28798. pass = *** ENCRYPTED ***
  28799. 2fa = false
  28800. --------------------
  28801. y) Yes this is OK (default)
  28802. e) Edit this remote
  28803. d) Delete this remote
  28804. y/e/d> y
  28805. This remote is called seafile. It's pointing to the root of your seafile
  28806. server and can now be used like this:
  28807. See all libraries
  28808. rclone lsd seafile:
  28809. Create a new library
  28810. rclone mkdir seafile:library
  28811. List the contents of a library
  28812. rclone ls seafile:library
  28813. Sync /home/local/directory to the remote library, deleting any excess
  28814. files in the library.
  28815. rclone sync --interactive /home/local/directory seafile:library
  28816. Configuration in library mode
  28817. Here's an example of a configuration in library mode with a user that
  28818. has the two-factor authentication enabled. Your 2FA code will be asked
  28819. at the end of the configuration, and will attempt to authenticate you:
  28820. No remotes found, make a new one?
  28821. n) New remote
  28822. s) Set configuration password
  28823. q) Quit config
  28824. n/s/q> n
  28825. name> seafile
  28826. Type of storage to configure.
  28827. Enter a string value. Press Enter for the default ("").
  28828. Choose a number from below, or type in your own value
  28829. [snip]
  28830. XX / Seafile
  28831. \ "seafile"
  28832. [snip]
  28833. Storage> seafile
  28834. ** See help for seafile backend at: https://rclone.org/seafile/ **
  28835. URL of seafile host to connect to
  28836. Enter a string value. Press Enter for the default ("").
  28837. Choose a number from below, or type in your own value
  28838. 1 / Connect to cloud.seafile.com
  28839. \ "https://cloud.seafile.com/"
  28840. url> http://my.seafile.server/
  28841. User name (usually email address)
  28842. Enter a string value. Press Enter for the default ("").
  28843. user> me@example.com
  28844. Password
  28845. y) Yes type in my own password
  28846. g) Generate random password
  28847. n) No leave this optional password blank (default)
  28848. y/g> y
  28849. Enter the password:
  28850. password:
  28851. Confirm the password:
  28852. password:
  28853. Two-factor authentication ('true' if the account has 2FA enabled)
  28854. Enter a boolean value (true or false). Press Enter for the default ("false").
  28855. 2fa> true
  28856. Name of the library. Leave blank to access all non-encrypted libraries.
  28857. Enter a string value. Press Enter for the default ("").
  28858. library> My Library
  28859. Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
  28860. y) Yes type in my own password
  28861. g) Generate random password
  28862. n) No leave this optional password blank (default)
  28863. y/g/n> n
  28864. Edit advanced config? (y/n)
  28865. y) Yes
  28866. n) No (default)
  28867. y/n> n
  28868. Remote config
  28869. Two-factor authentication: please enter your 2FA code
  28870. 2fa code> 123456
  28871. Authenticating...
  28872. Success!
  28873. --------------------
  28874. [seafile]
  28875. type = seafile
  28876. url = http://my.seafile.server/
  28877. user = me@example.com
  28878. pass =
  28879. 2fa = true
  28880. library = My Library
  28881. --------------------
  28882. y) Yes this is OK (default)
  28883. e) Edit this remote
  28884. d) Delete this remote
  28885. y/e/d> y
  28886. You'll notice your password is blank in the configuration. It's because
  28887. we only need the password to authenticate you once.
  28888. You specified My Library during the configuration. The root of the
  28889. remote is pointing at the root of the library My Library:
  28890. See all files in the library:
  28891. rclone lsd seafile:
  28892. Create a new directory inside the library
  28893. rclone mkdir seafile:directory
  28894. List the contents of a directory
  28895. rclone ls seafile:directory
  28896. Sync /home/local/directory to the remote library, deleting any excess
  28897. files in the library.
  28898. rclone sync --interactive /home/local/directory seafile:
  28899. --fast-list
  28900. Seafile version 7+ supports --fast-list which allows you to use fewer
  28901. transactions in exchange for more memory. See the rclone docs for more
  28902. details. Please note this is not supported on seafile server version 6.x
  28903. Restricted filename characters
  28904. In addition to the default restricted characters set the following
  28905. characters are also replaced:
  28906. Character Value Replacement
  28907. ----------- ------- -------------
  28908. / 0x2F /
  28909. " 0x22 "
  28910. \ 0x5C \
  28911. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  28912. strings.
  28913. Seafile and rclone link
  28914. Rclone supports generating share links for non-encrypted libraries only.
  28915. They can either be for a file or a directory:
  28916. rclone link seafile:seafile-tutorial.doc
  28917. http://my.seafile.server/f/fdcd8a2f93f84b8b90f4/
  28918. or if run on a directory you will get:
  28919. rclone link seafile:dir
  28920. http://my.seafile.server/d/9ea2455f6f55478bbb0d/
  28921. Please note a share link is unique for each file or directory. If you
  28922. run a link command on a file/dir that has already been shared, you will
  28923. get the exact same link.
  28924. Compatibility
  28925. It has been actively developed using the seafile docker image of these
  28926. versions: - 6.3.4 community edition - 7.0.5 community edition - 7.1.3
  28927. community edition - 9.0.10 community edition
  28928. Versions below 6.0 are not supported. Versions between 6.0 and 6.3
  28929. haven't been tested and might not work properly.
  28930. Each new version of rclone is automatically tested against the latest
  28931. docker image of the seafile community server.
  28932. Standard options
  28933. Here are the Standard options specific to seafile (seafile).
  28934. --seafile-url
  28935. URL of seafile host to connect to.
  28936. Properties:
  28937. - Config: url
  28938. - Env Var: RCLONE_SEAFILE_URL
  28939. - Type: string
  28940. - Required: true
  28941. - Examples:
  28942. - "https://cloud.seafile.com/"
  28943. - Connect to cloud.seafile.com.
  28944. --seafile-user
  28945. User name (usually email address).
  28946. Properties:
  28947. - Config: user
  28948. - Env Var: RCLONE_SEAFILE_USER
  28949. - Type: string
  28950. - Required: true
  28951. --seafile-pass
  28952. Password.
  28953. NB Input to this must be obscured - see rclone obscure.
  28954. Properties:
  28955. - Config: pass
  28956. - Env Var: RCLONE_SEAFILE_PASS
  28957. - Type: string
  28958. - Required: false
  28959. --seafile-2fa
  28960. Two-factor authentication ('true' if the account has 2FA enabled).
  28961. Properties:
  28962. - Config: 2fa
  28963. - Env Var: RCLONE_SEAFILE_2FA
  28964. - Type: bool
  28965. - Default: false
  28966. --seafile-library
  28967. Name of the library.
  28968. Leave blank to access all non-encrypted libraries.
  28969. Properties:
  28970. - Config: library
  28971. - Env Var: RCLONE_SEAFILE_LIBRARY
  28972. - Type: string
  28973. - Required: false
  28974. --seafile-library-key
  28975. Library password (for encrypted libraries only).
  28976. Leave blank if you pass it through the command line.
  28977. NB Input to this must be obscured - see rclone obscure.
  28978. Properties:
  28979. - Config: library_key
  28980. - Env Var: RCLONE_SEAFILE_LIBRARY_KEY
  28981. - Type: string
  28982. - Required: false
  28983. --seafile-auth-token
  28984. Authentication token.
  28985. Properties:
  28986. - Config: auth_token
  28987. - Env Var: RCLONE_SEAFILE_AUTH_TOKEN
  28988. - Type: string
  28989. - Required: false
  28990. Advanced options
  28991. Here are the Advanced options specific to seafile (seafile).
  28992. --seafile-create-library
  28993. Should rclone create a library if it doesn't exist.
  28994. Properties:
  28995. - Config: create_library
  28996. - Env Var: RCLONE_SEAFILE_CREATE_LIBRARY
  28997. - Type: bool
  28998. - Default: false
  28999. --seafile-encoding
  29000. The encoding for the backend.
  29001. See the encoding section in the overview for more info.
  29002. Properties:
  29003. - Config: encoding
  29004. - Env Var: RCLONE_SEAFILE_ENCODING
  29005. - Type: MultiEncoder
  29006. - Default: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8
  29007. SFTP
  29008. SFTP is the Secure (or SSH) File Transfer Protocol.
  29009. The SFTP backend can be used with a number of different providers:
  29010. - Hetzner Storage Box
  29011. - rsync.net
  29012. SFTP runs over SSH v2 and is installed as standard with most modern SSH
  29013. installations.
  29014. Paths are specified as remote:path. If the path does not begin with a /
  29015. it is relative to the home directory of the user. An empty path remote:
  29016. refers to the user's home directory. For example, rclone lsd remote:
  29017. would list the home directory of the user configured in the rclone
  29018. remote config (i.e /home/sftpuser). However, rclone lsd remote:/ would
  29019. list the root directory for remote machine (i.e. /)
  29020. Note that some SFTP servers will need the leading / - Synology is a good
  29021. example of this. rsync.net and Hetzner, on the other hand, requires
  29022. users to OMIT the leading /.
  29023. Note that by default rclone will try to execute shell commands on the
  29024. server, see shell access considerations.
  29025. Configuration
  29026. Here is an example of making an SFTP configuration. First run
  29027. rclone config
  29028. This will guide you through an interactive setup process.
  29029. No remotes found, make a new one?
  29030. n) New remote
  29031. s) Set configuration password
  29032. q) Quit config
  29033. n/s/q> n
  29034. name> remote
  29035. Type of storage to configure.
  29036. Choose a number from below, or type in your own value
  29037. [snip]
  29038. XX / SSH/SFTP
  29039. \ "sftp"
  29040. [snip]
  29041. Storage> sftp
  29042. SSH host to connect to
  29043. Choose a number from below, or type in your own value
  29044. 1 / Connect to example.com
  29045. \ "example.com"
  29046. host> example.com
  29047. SSH username
  29048. Enter a string value. Press Enter for the default ("$USER").
  29049. user> sftpuser
  29050. SSH port number
  29051. Enter a signed integer. Press Enter for the default (22).
  29052. port>
  29053. SSH password, leave blank to use ssh-agent.
  29054. y) Yes type in my own password
  29055. g) Generate random password
  29056. n) No leave this optional password blank
  29057. y/g/n> n
  29058. Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent.
  29059. key_file>
  29060. Remote config
  29061. --------------------
  29062. [remote]
  29063. host = example.com
  29064. user = sftpuser
  29065. port =
  29066. pass =
  29067. key_file =
  29068. --------------------
  29069. y) Yes this is OK
  29070. e) Edit this remote
  29071. d) Delete this remote
  29072. y/e/d> y
  29073. This remote is called remote and can now be used like this:
  29074. See all directories in the home directory
  29075. rclone lsd remote:
  29076. See all directories in the root directory
  29077. rclone lsd remote:/
  29078. Make a new directory
  29079. rclone mkdir remote:path/to/directory
  29080. List the contents of a directory
  29081. rclone ls remote:path/to/directory
  29082. Sync /home/local/directory to the remote directory, deleting any excess
  29083. files in the directory.
  29084. rclone sync --interactive /home/local/directory remote:directory
  29085. Mount the remote path /srv/www-data/ to the local path /mnt/www-data
  29086. rclone mount remote:/srv/www-data/ /mnt/www-data
  29087. SSH Authentication
  29088. The SFTP remote supports three authentication methods:
  29089. - Password
  29090. - Key file, including certificate signed keys
  29091. - ssh-agent
  29092. Key files should be PEM-encoded private key files. For instance
  29093. /home/$USER/.ssh/id_rsa. Only unencrypted OpenSSH or PEM encrypted files
  29094. are supported.
  29095. The key file can be specified in either an external file (key_file) or
  29096. contained within the rclone config file (key_pem). If using key_pem in
  29097. the config file, the entry should be on a single line with new line (''
  29098. or '') separating lines. i.e.
  29099. key_pem = -----BEGIN RSA PRIVATE KEY-----\nMaMbaIXtE\n0gAMbMbaSsd\nMbaass\n-----END RSA PRIVATE KEY-----
  29100. This will generate it correctly for key_pem for use in the config:
  29101. awk '{printf "%s\\n", $0}' < ~/.ssh/id_rsa
  29102. If you don't specify pass, key_file, or key_pem or ask_password then
  29103. rclone will attempt to contact an ssh-agent. You can also specify
  29104. key_use_agent to force the usage of an ssh-agent. In this case key_file
  29105. or key_pem can also be specified to force the usage of a specific key in
  29106. the ssh-agent.
  29107. Using an ssh-agent is the only way to load encrypted OpenSSH keys at the
  29108. moment.
  29109. If you set the ask_password option, rclone will prompt for a password
  29110. when needed and no password has been configured.
  29111. Certificate-signed keys
  29112. With traditional key-based authentication, you configure your private
  29113. key only, and the public key built into it will be used during the
  29114. authentication process.
  29115. If you have a certificate you may use it to sign your public key,
  29116. creating a separate SSH user certificate that should be used instead of
  29117. the plain public key extracted from the private key. Then you must
  29118. provide the path to the user certificate public key file in pubkey_file.
  29119. Note: This is not the traditional public key paired with your private
  29120. key, typically saved as /home/$USER/.ssh/id_rsa.pub. Setting this path
  29121. in pubkey_file will not work.
  29122. Example:
  29123. [remote]
  29124. type = sftp
  29125. host = example.com
  29126. user = sftpuser
  29127. key_file = ~/id_rsa
  29128. pubkey_file = ~/id_rsa-cert.pub
  29129. If you concatenate a cert with a private key then you can specify the
  29130. merged file in both places.
  29131. Note: the cert must come first in the file. e.g.
  29132. cat id_rsa-cert.pub id_rsa > merged_key
  29133. Host key validation
  29134. By default rclone will not check the server's host key for validation.
  29135. This can allow an attacker to replace a server with their own and if you
  29136. use password authentication then this can lead to that password being
  29137. exposed.
  29138. Host key matching, using standard known_hosts files can be turned on by
  29139. enabling the known_hosts_file option. This can point to the file
  29140. maintained by OpenSSH or can point to a unique file.
  29141. e.g. using the OpenSSH known_hosts file:
  29142. [remote]
  29143. type = sftp
  29144. host = example.com
  29145. user = sftpuser
  29146. pass =
  29147. known_hosts_file = ~/.ssh/known_hosts
  29148. Alternatively you can create your own known hosts file like this:
  29149. ssh-keyscan -t dsa,rsa,ecdsa,ed25519 example.com >> known_hosts
  29150. There are some limitations:
  29151. - rclone will not manage this file for you. If the key is missing or
  29152. wrong then the connection will be refused.
  29153. - If the server is set up for a certificate host key then the entry in
  29154. the known_hosts file must be the @cert-authority entry for the CA
  29155. If the host key provided by the server does not match the one in the
  29156. file (or is missing) then the connection will be aborted and an error
  29157. returned such as
  29158. NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key mismatch
  29159. or
  29160. NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key is unknown
  29161. If you see an error such as
  29162. NewFs: couldn't connect SSH: ssh: handshake failed: ssh: no authorities for hostname: example.com:22
  29163. then it is likely the server has presented a CA signed host certificate
  29164. and you will need to add the appropriate @cert-authority entry.
  29165. The known_hosts_file setting can be set during rclone config as an
  29166. advanced option.
  29167. ssh-agent on macOS
  29168. Note that there seem to be various problems with using an ssh-agent on
  29169. macOS due to recent changes in the OS. The most effective work-around
  29170. seems to be to start an ssh-agent in each session, e.g.
  29171. eval `ssh-agent -s` && ssh-add -A
  29172. And then at the end of the session
  29173. eval `ssh-agent -k`
  29174. These commands can be used in scripts of course.
  29175. Shell access
  29176. Some functionality of the SFTP backend relies on remote shell access,
  29177. and the possibility to execute commands. This includes checksum, and in
  29178. some cases also about. The shell commands that must be executed may be
  29179. different on different type of shells, and also quoting/escaping of file
  29180. path arguments containing special characters may be different. Rclone
  29181. therefore needs to know what type of shell it is, and if shell access is
  29182. available at all.
  29183. Most servers run on some version of Unix, and then a basic Unix shell
  29184. can be assumed, without further distinction. Windows 10, Server 2019,
  29185. and later can also run a SSH server, which is a port of OpenSSH (see
  29186. official installation guide). On a Windows server the shell handling is
  29187. different: Although it can also be set up to use a Unix type shell, e.g.
  29188. Cygwin bash, the default is to use Windows Command Prompt (cmd.exe), and
  29189. PowerShell is a recommended alternative. All of these have behave
  29190. differently, which rclone must handle.
  29191. Rclone tries to auto-detect what type of shell is used on the server,
  29192. first time you access the SFTP remote. If a remote shell session is
  29193. successfully created, it will look for indications that it is CMD or
  29194. PowerShell, with fall-back to Unix if not something else is detected. If
  29195. unable to even create a remote shell session, then shell command
  29196. execution will be disabled entirely. The result is stored in the SFTP
  29197. remote configuration, in option shell_type, so that the auto-detection
  29198. only have to be performed once. If you manually set a value for this
  29199. option before first run, the auto-detection will be skipped, and if you
  29200. set a different value later this will override any existing. Value none
  29201. can be set to avoid any attempts at executing shell commands, e.g. if
  29202. this is not allowed on the server.
  29203. When the server is rclone serve sftp, the rclone SFTP remote will detect
  29204. this as a Unix type shell - even if it is running on Windows. This
  29205. server does not actually have a shell, but it accepts input commands
  29206. matching the specific ones that the SFTP backend relies on for Unix
  29207. shells, e.g. md5sum and df. Also it handles the string escape rules used
  29208. for Unix shell. Treating it as a Unix type shell from a SFTP remote will
  29209. therefore always be correct, and support all features.
  29210. Shell access considerations
  29211. The shell type auto-detection logic, described above, means that by
  29212. default rclone will try to run a shell command the first time a new sftp
  29213. remote is accessed. If you configure a sftp remote without a config
  29214. file, e.g. an on the fly remote, rclone will have nowhere to store the
  29215. result, and it will re-run the command on every access. To avoid this
  29216. you should explicitly set the shell_type option to the correct value, or
  29217. to none if you want to prevent rclone from executing any remote shell
  29218. commands.
  29219. It is also important to note that, since the shell type decides how
  29220. quoting and escaping of file paths used as command-line arguments are
  29221. performed, configuring the wrong shell type may leave you exposed to
  29222. command injection exploits. Make sure to confirm the auto-detected shell
  29223. type, or explicitly set the shell type you know is correct, or disable
  29224. shell access until you know.
  29225. Checksum
  29226. SFTP does not natively support checksums (file hash), but rclone is able
  29227. to use checksumming if the same login has shell access, and can execute
  29228. remote commands. If there is a command that can calculate compatible
  29229. checksums on the remote system, Rclone can then be configured to execute
  29230. this whenever a checksum is needed, and read back the results. Currently
  29231. MD5 and SHA-1 are supported.
  29232. Normally this requires an external utility being available on the
  29233. server. By default rclone will try commands md5sum, md5 and
  29234. rclone md5sum for MD5 checksums, and the first one found usable will be
  29235. picked. Same with sha1sum, sha1 and rclone sha1sum commands for SHA-1
  29236. checksums. These utilities normally need to be in the remote's PATH to
  29237. be found.
  29238. In some cases the shell itself is capable of calculating checksums.
  29239. PowerShell is an example of such a shell. If rclone detects that the
  29240. remote shell is PowerShell, which means it most probably is a Windows
  29241. OpenSSH server, rclone will use a predefined script block to produce the
  29242. checksums when no external checksum commands are found (see shell
  29243. access). This assumes PowerShell version 4.0 or newer.
  29244. The options md5sum_command and sha1_command can be used to customize the
  29245. command to be executed for calculation of checksums. You can for example
  29246. set a specific path to where md5sum and sha1sum executables are located,
  29247. or use them to specify some other tools that print checksums in
  29248. compatible format. The value can include command-line arguments, or even
  29249. shell script blocks as with PowerShell. Rclone has subcommands md5sum
  29250. and sha1sum that use compatible format, which means if you have an
  29251. rclone executable on the server it can be used. As mentioned above, they
  29252. will be automatically picked up if found in PATH, but if not you can set
  29253. something like /path/to/rclone md5sum as the value of option
  29254. md5sum_command to make sure a specific executable is used.
  29255. Remote checksumming is recommended and enabled by default. First time
  29256. rclone is using a SFTP remote, if options md5sum_command or sha1_command
  29257. are not set, it will check if any of the default commands for each of
  29258. them, as described above, can be used. The result will be saved in the
  29259. remote configuration, so next time it will use the same. Value none will
  29260. be set if none of the default commands could be used for a specific
  29261. algorithm, and this algorithm will not be supported by the remote.
  29262. Disabling the checksumming may be required if you are connecting to SFTP
  29263. servers which are not under your control, and to which the execution of
  29264. remote shell commands is prohibited. Set the configuration option
  29265. disable_hashcheck to true to disable checksumming entirely, or set
  29266. shell_type to none to disable all functionality based on remote shell
  29267. command execution.
  29268. Modified time
  29269. Modified times are stored on the server to 1 second precision.
  29270. Modified times are used in syncing and are fully supported.
  29271. Some SFTP servers disable setting/modifying the file modification time
  29272. after upload (for example, certain configurations of ProFTPd with
  29273. mod_sftp). If you are using one of these servers, you can set the option
  29274. set_modtime = false in your RClone backend configuration to disable this
  29275. behaviour.
  29276. About command
  29277. The about command returns the total space, free space, and used space on
  29278. the remote for the disk of the specified path on the remote or, if not
  29279. set, the disk of the root on the remote.
  29280. SFTP usually supports the about command, but it depends on the server.
  29281. If the server implements the vendor-specific VFS statistics extension,
  29282. which is normally the case with OpenSSH instances, it will be used. If
  29283. not, but the same login has access to a Unix shell, where the df command
  29284. is available (e.g. in the remote's PATH), then this will be used
  29285. instead. If the server shell is PowerShell, probably with a Windows
  29286. OpenSSH server, rclone will use a built-in shell command (see shell
  29287. access). If none of the above is applicable, about will fail.
  29288. Standard options
  29289. Here are the Standard options specific to sftp (SSH/SFTP).
  29290. --sftp-host
  29291. SSH host to connect to.
  29292. E.g. "example.com".
  29293. Properties:
  29294. - Config: host
  29295. - Env Var: RCLONE_SFTP_HOST
  29296. - Type: string
  29297. - Required: true
  29298. --sftp-user
  29299. SSH username.
  29300. Properties:
  29301. - Config: user
  29302. - Env Var: RCLONE_SFTP_USER
  29303. - Type: string
  29304. - Default: "$USER"
  29305. --sftp-port
  29306. SSH port number.
  29307. Properties:
  29308. - Config: port
  29309. - Env Var: RCLONE_SFTP_PORT
  29310. - Type: int
  29311. - Default: 22
  29312. --sftp-pass
  29313. SSH password, leave blank to use ssh-agent.
  29314. NB Input to this must be obscured - see rclone obscure.
  29315. Properties:
  29316. - Config: pass
  29317. - Env Var: RCLONE_SFTP_PASS
  29318. - Type: string
  29319. - Required: false
  29320. --sftp-key-pem
  29321. Raw PEM-encoded private key.
  29322. If specified, will override key_file parameter.
  29323. Properties:
  29324. - Config: key_pem
  29325. - Env Var: RCLONE_SFTP_KEY_PEM
  29326. - Type: string
  29327. - Required: false
  29328. --sftp-key-file
  29329. Path to PEM-encoded private key file.
  29330. Leave blank or set key-use-agent to use ssh-agent.
  29331. Leading ~ will be expanded in the file name as will environment
  29332. variables such as ${RCLONE_CONFIG_DIR}.
  29333. Properties:
  29334. - Config: key_file
  29335. - Env Var: RCLONE_SFTP_KEY_FILE
  29336. - Type: string
  29337. - Required: false
  29338. --sftp-key-file-pass
  29339. The passphrase to decrypt the PEM-encoded private key file.
  29340. Only PEM encrypted key files (old OpenSSH format) are supported.
  29341. Encrypted keys in the new OpenSSH format can't be used.
  29342. NB Input to this must be obscured - see rclone obscure.
  29343. Properties:
  29344. - Config: key_file_pass
  29345. - Env Var: RCLONE_SFTP_KEY_FILE_PASS
  29346. - Type: string
  29347. - Required: false
  29348. --sftp-pubkey-file
  29349. Optional path to public key file.
  29350. Set this if you have a signed certificate you want to use for
  29351. authentication.
  29352. Leading ~ will be expanded in the file name as will environment
  29353. variables such as ${RCLONE_CONFIG_DIR}.
  29354. Properties:
  29355. - Config: pubkey_file
  29356. - Env Var: RCLONE_SFTP_PUBKEY_FILE
  29357. - Type: string
  29358. - Required: false
  29359. --sftp-key-use-agent
  29360. When set forces the usage of the ssh-agent.
  29361. When key-file is also set, the ".pub" file of the specified key-file is
  29362. read and only the associated key is requested from the ssh-agent. This
  29363. allows to avoid Too many authentication failures for *username* errors
  29364. when the ssh-agent contains many keys.
  29365. Properties:
  29366. - Config: key_use_agent
  29367. - Env Var: RCLONE_SFTP_KEY_USE_AGENT
  29368. - Type: bool
  29369. - Default: false
  29370. --sftp-use-insecure-cipher
  29371. Enable the use of insecure ciphers and key exchange methods.
  29372. This enables the use of the following insecure ciphers and key exchange
  29373. methods:
  29374. - aes128-cbc
  29375. - aes192-cbc
  29376. - aes256-cbc
  29377. - 3des-cbc
  29378. - diffie-hellman-group-exchange-sha256
  29379. - diffie-hellman-group-exchange-sha1
  29380. Those algorithms are insecure and may allow plaintext data to be
  29381. recovered by an attacker.
  29382. This must be false if you use either ciphers or key_exchange advanced
  29383. options.
  29384. Properties:
  29385. - Config: use_insecure_cipher
  29386. - Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER
  29387. - Type: bool
  29388. - Default: false
  29389. - Examples:
  29390. - "false"
  29391. - Use default Cipher list.
  29392. - "true"
  29393. - Enables the use of the aes128-cbc cipher and
  29394. diffie-hellman-group-exchange-sha256,
  29395. diffie-hellman-group-exchange-sha1 key exchange.
  29396. --sftp-disable-hashcheck
  29397. Disable the execution of SSH commands to determine if remote file
  29398. hashing is available.
  29399. Leave blank or set to false to enable hashing (recommended), set to true
  29400. to disable hashing.
  29401. Properties:
  29402. - Config: disable_hashcheck
  29403. - Env Var: RCLONE_SFTP_DISABLE_HASHCHECK
  29404. - Type: bool
  29405. - Default: false
  29406. Advanced options
  29407. Here are the Advanced options specific to sftp (SSH/SFTP).
  29408. --sftp-known-hosts-file
  29409. Optional path to known_hosts file.
  29410. Set this value to enable server host key validation.
  29411. Leading ~ will be expanded in the file name as will environment
  29412. variables such as ${RCLONE_CONFIG_DIR}.
  29413. Properties:
  29414. - Config: known_hosts_file
  29415. - Env Var: RCLONE_SFTP_KNOWN_HOSTS_FILE
  29416. - Type: string
  29417. - Required: false
  29418. - Examples:
  29419. - "~/.ssh/known_hosts"
  29420. - Use OpenSSH's known_hosts file.
  29421. --sftp-ask-password
  29422. Allow asking for SFTP password when needed.
  29423. If this is set and no password is supplied then rclone will: - ask for a
  29424. password - not contact the ssh agent
  29425. Properties:
  29426. - Config: ask_password
  29427. - Env Var: RCLONE_SFTP_ASK_PASSWORD
  29428. - Type: bool
  29429. - Default: false
  29430. --sftp-path-override
  29431. Override path used by SSH shell commands.
  29432. This allows checksum calculation when SFTP and SSH paths are different.
  29433. This issue affects among others Synology NAS boxes.
  29434. E.g. if shared folders can be found in directories representing volumes:
  29435. rclone sync /home/local/directory remote:/directory --sftp-path-override /volume2/directory
  29436. E.g. if home directory can be found in a shared folder called "home":
  29437. rclone sync /home/local/directory remote:/home/directory --sftp-path-override /volume1/homes/USER/directory
  29438. Properties:
  29439. - Config: path_override
  29440. - Env Var: RCLONE_SFTP_PATH_OVERRIDE
  29441. - Type: string
  29442. - Required: false
  29443. --sftp-set-modtime
  29444. Set the modified time on the remote if set.
  29445. Properties:
  29446. - Config: set_modtime
  29447. - Env Var: RCLONE_SFTP_SET_MODTIME
  29448. - Type: bool
  29449. - Default: true
  29450. --sftp-shell-type
  29451. The type of SSH shell on remote server, if any.
  29452. Leave blank for autodetect.
  29453. Properties:
  29454. - Config: shell_type
  29455. - Env Var: RCLONE_SFTP_SHELL_TYPE
  29456. - Type: string
  29457. - Required: false
  29458. - Examples:
  29459. - "none"
  29460. - No shell access
  29461. - "unix"
  29462. - Unix shell
  29463. - "powershell"
  29464. - PowerShell
  29465. - "cmd"
  29466. - Windows Command Prompt
  29467. --sftp-md5sum-command
  29468. The command used to read md5 hashes.
  29469. Leave blank for autodetect.
  29470. Properties:
  29471. - Config: md5sum_command
  29472. - Env Var: RCLONE_SFTP_MD5SUM_COMMAND
  29473. - Type: string
  29474. - Required: false
  29475. --sftp-sha1sum-command
  29476. The command used to read sha1 hashes.
  29477. Leave blank for autodetect.
  29478. Properties:
  29479. - Config: sha1sum_command
  29480. - Env Var: RCLONE_SFTP_SHA1SUM_COMMAND
  29481. - Type: string
  29482. - Required: false
  29483. --sftp-skip-links
  29484. Set to skip any symlinks and any other non regular files.
  29485. Properties:
  29486. - Config: skip_links
  29487. - Env Var: RCLONE_SFTP_SKIP_LINKS
  29488. - Type: bool
  29489. - Default: false
  29490. --sftp-subsystem
  29491. Specifies the SSH2 subsystem on the remote host.
  29492. Properties:
  29493. - Config: subsystem
  29494. - Env Var: RCLONE_SFTP_SUBSYSTEM
  29495. - Type: string
  29496. - Default: "sftp"
  29497. --sftp-server-command
  29498. Specifies the path or command to run a sftp server on the remote host.
  29499. The subsystem option is ignored when server_command is defined.
  29500. Properties:
  29501. - Config: server_command
  29502. - Env Var: RCLONE_SFTP_SERVER_COMMAND
  29503. - Type: string
  29504. - Required: false
  29505. --sftp-use-fstat
  29506. If set use fstat instead of stat.
  29507. Some servers limit the amount of open files and calling Stat after
  29508. opening the file will throw an error from the server. Setting this flag
  29509. will call Fstat instead of Stat which is called on an already open file
  29510. handle.
  29511. It has been found that this helps with IBM Sterling SFTP servers which
  29512. have "extractability" level set to 1 which means only 1 file can be
  29513. opened at any given time.
  29514. Properties:
  29515. - Config: use_fstat
  29516. - Env Var: RCLONE_SFTP_USE_FSTAT
  29517. - Type: bool
  29518. - Default: false
  29519. --sftp-disable-concurrent-reads
  29520. If set don't use concurrent reads.
  29521. Normally concurrent reads are safe to use and not using them will
  29522. degrade performance, so this option is disabled by default.
  29523. Some servers limit the amount number of times a file can be downloaded.
  29524. Using concurrent reads can trigger this limit, so if you have a server
  29525. which returns
  29526. Failed to copy: file does not exist
  29527. Then you may need to enable this flag.
  29528. If concurrent reads are disabled, the use_fstat option is ignored.
  29529. Properties:
  29530. - Config: disable_concurrent_reads
  29531. - Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_READS
  29532. - Type: bool
  29533. - Default: false
  29534. --sftp-disable-concurrent-writes
  29535. If set don't use concurrent writes.
  29536. Normally rclone uses concurrent writes to upload files. This improves
  29537. the performance greatly, especially for distant servers.
  29538. This option disables concurrent writes should that be necessary.
  29539. Properties:
  29540. - Config: disable_concurrent_writes
  29541. - Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_WRITES
  29542. - Type: bool
  29543. - Default: false
  29544. --sftp-idle-timeout
  29545. Max time before closing idle connections.
  29546. If no connections have been returned to the connection pool in the time
  29547. given, rclone will empty the connection pool.
  29548. Set to 0 to keep connections indefinitely.
  29549. Properties:
  29550. - Config: idle_timeout
  29551. - Env Var: RCLONE_SFTP_IDLE_TIMEOUT
  29552. - Type: Duration
  29553. - Default: 1m0s
  29554. --sftp-chunk-size
  29555. Upload and download chunk size.
  29556. This controls the maximum size of payload in SFTP protocol packets. The
  29557. RFC limits this to 32768 bytes (32k), which is the default. However, a
  29558. lot of servers support larger sizes, typically limited to a maximum
  29559. total package size of 256k, and setting it larger will increase transfer
  29560. speed dramatically on high latency links. This includes OpenSSH, and,
  29561. for example, using the value of 255k works well, leaving plenty of room
  29562. for overhead while still being within a total packet size of 256k.
  29563. Make sure to test thoroughly before using a value higher than 32k, and
  29564. only use it if you always connect to the same server or after
  29565. sufficiently broad testing. If you get errors such as "failed to send
  29566. packet payload: EOF", lots of "connection lost", or "corrupted on
  29567. transfer", when copying a larger file, try lowering the value. The
  29568. server run by rclone serve sftp sends packets with standard 32k maximum
  29569. payload so you must not set a different chunk_size when downloading
  29570. files, but it accepts packets up to the 256k total size, so for uploads
  29571. the chunk_size can be set as for the OpenSSH example above.
  29572. Properties:
  29573. - Config: chunk_size
  29574. - Env Var: RCLONE_SFTP_CHUNK_SIZE
  29575. - Type: SizeSuffix
  29576. - Default: 32Ki
  29577. --sftp-concurrency
  29578. The maximum number of outstanding requests for one file
  29579. This controls the maximum number of outstanding requests for one file.
  29580. Increasing it will increase throughput on high latency links at the cost
  29581. of using more memory.
  29582. Properties:
  29583. - Config: concurrency
  29584. - Env Var: RCLONE_SFTP_CONCURRENCY
  29585. - Type: int
  29586. - Default: 64
  29587. --sftp-set-env
  29588. Environment variables to pass to sftp and commands
  29589. Set environment variables in the form:
  29590. VAR=value
  29591. to be passed to the sftp client and to any commands run (eg md5sum).
  29592. Pass multiple variables space separated, eg
  29593. VAR1=value VAR2=value
  29594. and pass variables with spaces in quotes, eg
  29595. "VAR3=value with space" "VAR4=value with space" VAR5=nospacehere
  29596. Properties:
  29597. - Config: set_env
  29598. - Env Var: RCLONE_SFTP_SET_ENV
  29599. - Type: SpaceSepList
  29600. - Default:
  29601. --sftp-ciphers
  29602. Space separated list of ciphers to be used for session encryption,
  29603. ordered by preference.
  29604. At least one must match with server configuration. This can be checked
  29605. for example using ssh -Q cipher.
  29606. This must not be set if use_insecure_cipher is true.
  29607. Example:
  29608. aes128-ctr aes192-ctr aes256-ctr aes128-gcm@openssh.com aes256-gcm@openssh.com
  29609. Properties:
  29610. - Config: ciphers
  29611. - Env Var: RCLONE_SFTP_CIPHERS
  29612. - Type: SpaceSepList
  29613. - Default:
  29614. --sftp-key-exchange
  29615. Space separated list of key exchange algorithms, ordered by preference.
  29616. At least one must match with server configuration. This can be checked
  29617. for example using ssh -Q kex.
  29618. This must not be set if use_insecure_cipher is true.
  29619. Example:
  29620. sntrup761x25519-sha512@openssh.com curve25519-sha256 curve25519-sha256@libssh.org ecdh-sha2-nistp256
  29621. Properties:
  29622. - Config: key_exchange
  29623. - Env Var: RCLONE_SFTP_KEY_EXCHANGE
  29624. - Type: SpaceSepList
  29625. - Default:
  29626. --sftp-macs
  29627. Space separated list of MACs (message authentication code) algorithms,
  29628. ordered by preference.
  29629. At least one must match with server configuration. This can be checked
  29630. for example using ssh -Q mac.
  29631. Example:
  29632. umac-64-etm@openssh.com umac-128-etm@openssh.com hmac-sha2-256-etm@openssh.com
  29633. Properties:
  29634. - Config: macs
  29635. - Env Var: RCLONE_SFTP_MACS
  29636. - Type: SpaceSepList
  29637. - Default:
  29638. --sftp-host-key-algorithms
  29639. Space separated list of host key algorithms, ordered by preference.
  29640. At least one must match with server configuration. This can be checked
  29641. for example using ssh -Q HostKeyAlgorithms.
  29642. Note: This can affect the outcome of key negotiation with the server
  29643. even if server host key validation is not enabled.
  29644. Example:
  29645. ssh-ed25519 ssh-rsa ssh-dss
  29646. Properties:
  29647. - Config: host_key_algorithms
  29648. - Env Var: RCLONE_SFTP_HOST_KEY_ALGORITHMS
  29649. - Type: SpaceSepList
  29650. - Default:
  29651. Limitations
  29652. On some SFTP servers (e.g. Synology) the paths are different for SSH and
  29653. SFTP so the hashes can't be calculated properly. For them using
  29654. disable_hashcheck is a good idea.
  29655. The only ssh agent supported under Windows is Putty's pageant.
  29656. The Go SSH library disables the use of the aes128-cbc cipher by default,
  29657. due to security concerns. This can be re-enabled on a per-connection
  29658. basis by setting the use_insecure_cipher setting in the configuration
  29659. file to true. Further details on the insecurity of this cipher can be
  29660. found in this paper.
  29661. SFTP isn't supported under plan9 until this issue is fixed.
  29662. Note that since SFTP isn't HTTP based the following flags don't work
  29663. with it: --dump-headers, --dump-bodies, --dump-auth.
  29664. Note that --timeout and --contimeout are both supported.
  29665. rsync.net
  29666. rsync.net is supported through the SFTP backend.
  29667. See rsync.net's documentation of rclone examples.
  29668. Hetzner Storage Box
  29669. Hetzner Storage Boxes are supported through the SFTP backend on port 23.
  29670. See Hetzner's documentation for details
  29671. SMB
  29672. SMB is a communication protocol to share files over network.
  29673. This relies on go-smb2 library for communication with SMB protocol.
  29674. Paths are specified as remote:sharename (or remote: for the lsd
  29675. command.) You may put subdirectories in too, e.g.
  29676. remote:item/path/to/dir.
  29677. Notes
  29678. The first path segment must be the name of the share, which you entered
  29679. when you started to share on Windows. On smbd, it's the section title in
  29680. smb.conf (usually in /etc/samba/) file. You can find shares by querying
  29681. the root if you're unsure (e.g. rclone lsd remote:).
  29682. You can't access to the shared printers from rclone, obviously.
  29683. You can't use Anonymous access for logging in. You have to use the guest
  29684. user with an empty password instead. The rclone client tries to avoid
  29685. 8.3 names when uploading files by encoding trailing spaces and periods.
  29686. Alternatively, the local backend on Windows can access SMB servers using
  29687. UNC paths, by \\server\share. This doesn't apply to non-Windows OSes,
  29688. such as Linux and macOS.
  29689. Configuration
  29690. Here is an example of making a SMB configuration.
  29691. First run
  29692. rclone config
  29693. This will guide you through an interactive setup process.
  29694. No remotes found, make a new one?
  29695. n) New remote
  29696. s) Set configuration password
  29697. q) Quit config
  29698. n/s/q> n
  29699. name> remote
  29700. Option Storage.
  29701. Type of storage to configure.
  29702. Choose a number from below, or type in your own value.
  29703. XX / SMB / CIFS
  29704. \ (smb)
  29705. Storage> smb
  29706. Option host.
  29707. Samba hostname to connect to.
  29708. E.g. "example.com".
  29709. Enter a value.
  29710. host> localhost
  29711. Option user.
  29712. Samba username.
  29713. Enter a string value. Press Enter for the default (lesmi).
  29714. user> guest
  29715. Option port.
  29716. Samba port number.
  29717. Enter a signed integer. Press Enter for the default (445).
  29718. port>
  29719. Option pass.
  29720. Samba password.
  29721. Choose an alternative below. Press Enter for the default (n).
  29722. y) Yes, type in my own password
  29723. g) Generate random password
  29724. n) No, leave this optional password blank (default)
  29725. y/g/n> g
  29726. Password strength in bits.
  29727. 64 is just about memorable
  29728. 128 is secure
  29729. 1024 is the maximum
  29730. Bits> 64
  29731. Your password is: XXXX
  29732. Use this password? Please note that an obscured version of this
  29733. password (and not the password itself) will be stored under your
  29734. configuration file, so keep this generated password in a safe place.
  29735. y) Yes (default)
  29736. n) No
  29737. y/n> y
  29738. Option domain.
  29739. Domain name for NTLM authentication.
  29740. Enter a string value. Press Enter for the default (WORKGROUP).
  29741. domain>
  29742. Edit advanced config?
  29743. y) Yes
  29744. n) No (default)
  29745. y/n> n
  29746. Configuration complete.
  29747. Options:
  29748. - type: samba
  29749. - host: localhost
  29750. - user: guest
  29751. - pass: *** ENCRYPTED ***
  29752. Keep this "remote" remote?
  29753. y) Yes this is OK (default)
  29754. e) Edit this remote
  29755. d) Delete this remote
  29756. y/e/d> d
  29757. Standard options
  29758. Here are the Standard options specific to smb (SMB / CIFS).
  29759. --smb-host
  29760. SMB server hostname to connect to.
  29761. E.g. "example.com".
  29762. Properties:
  29763. - Config: host
  29764. - Env Var: RCLONE_SMB_HOST
  29765. - Type: string
  29766. - Required: true
  29767. --smb-user
  29768. SMB username.
  29769. Properties:
  29770. - Config: user
  29771. - Env Var: RCLONE_SMB_USER
  29772. - Type: string
  29773. - Default: "$USER"
  29774. --smb-port
  29775. SMB port number.
  29776. Properties:
  29777. - Config: port
  29778. - Env Var: RCLONE_SMB_PORT
  29779. - Type: int
  29780. - Default: 445
  29781. --smb-pass
  29782. SMB password.
  29783. NB Input to this must be obscured - see rclone obscure.
  29784. Properties:
  29785. - Config: pass
  29786. - Env Var: RCLONE_SMB_PASS
  29787. - Type: string
  29788. - Required: false
  29789. --smb-domain
  29790. Domain name for NTLM authentication.
  29791. Properties:
  29792. - Config: domain
  29793. - Env Var: RCLONE_SMB_DOMAIN
  29794. - Type: string
  29795. - Default: "WORKGROUP"
  29796. --smb-spn
  29797. Service principal name.
  29798. Rclone presents this name to the server. Some servers use this as
  29799. further authentication, and it often needs to be set for clusters. For
  29800. example:
  29801. cifs/remotehost:1020
  29802. Leave blank if not sure.
  29803. Properties:
  29804. - Config: spn
  29805. - Env Var: RCLONE_SMB_SPN
  29806. - Type: string
  29807. - Required: false
  29808. Advanced options
  29809. Here are the Advanced options specific to smb (SMB / CIFS).
  29810. --smb-idle-timeout
  29811. Max time before closing idle connections.
  29812. If no connections have been returned to the connection pool in the time
  29813. given, rclone will empty the connection pool.
  29814. Set to 0 to keep connections indefinitely.
  29815. Properties:
  29816. - Config: idle_timeout
  29817. - Env Var: RCLONE_SMB_IDLE_TIMEOUT
  29818. - Type: Duration
  29819. - Default: 1m0s
  29820. --smb-hide-special-share
  29821. Hide special shares (e.g. print$) which users aren't supposed to access.
  29822. Properties:
  29823. - Config: hide_special_share
  29824. - Env Var: RCLONE_SMB_HIDE_SPECIAL_SHARE
  29825. - Type: bool
  29826. - Default: true
  29827. --smb-case-insensitive
  29828. Whether the server is configured to be case-insensitive.
  29829. Always true on Windows shares.
  29830. Properties:
  29831. - Config: case_insensitive
  29832. - Env Var: RCLONE_SMB_CASE_INSENSITIVE
  29833. - Type: bool
  29834. - Default: true
  29835. --smb-encoding
  29836. The encoding for the backend.
  29837. See the encoding section in the overview for more info.
  29838. Properties:
  29839. - Config: encoding
  29840. - Env Var: RCLONE_SMB_ENCODING
  29841. - Type: MultiEncoder
  29842. - Default:
  29843. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
  29844. Storj
  29845. Storj is an encrypted, secure, and cost-effective object storage service
  29846. that enables you to store, back up, and archive large amounts of data in
  29847. a decentralized manner.
  29848. Backend options
  29849. Storj can be used both with this native backend and with the s3 backend
  29850. using the Storj S3 compatible gateway (shared or private).
  29851. Use this backend to take advantage of client-side encryption as well as
  29852. to achieve the best possible download performance. Uploads will be
  29853. erasure-coded locally, thus a 1gb upload will result in 2.68gb of data
  29854. being uploaded to storage nodes across the network.
  29855. Use the s3 backend and one of the S3 compatible Hosted Gateways to
  29856. increase upload performance and reduce the load on your systems and
  29857. network. Uploads will be encrypted and erasure-coded server-side, thus a
  29858. 1GB upload will result in only in 1GB of data being uploaded to storage
  29859. nodes across the network.
  29860. Side by side comparison with more details:
  29861. - Characteristics:
  29862. - Storj backend: Uses native RPC protocol, connects directly to
  29863. the storage nodes which hosts the data. Requires more CPU
  29864. resource of encoding/decoding and has network amplification
  29865. (especially during the upload), uses lots of TCP connections
  29866. - S3 backend: Uses S3 compatible HTTP Rest API via the shared
  29867. gateways. There is no network amplification, but performance
  29868. depends on the shared gateways and the secret encryption key is
  29869. shared with the gateway.
  29870. - Typical usage:
  29871. - Storj backend: Server environments and desktops with enough
  29872. resources, internet speed and connectivity - and applications
  29873. where storjs client-side encryption is required.
  29874. - S3 backend: Desktops and similar with limited resources,
  29875. internet speed or connectivity.
  29876. - Security:
  29877. - Storj backend: strong. Private encryption key doesn't need to
  29878. leave the local computer.
  29879. - S3 backend: weaker. Private encryption key is shared with the
  29880. authentication service of the hosted gateway, where it's stored
  29881. encrypted. It can be stronger when combining with the rclone
  29882. crypt backend.
  29883. - Bandwidth usage (upload):
  29884. - Storj backend: higher. As data is erasure coded on the client
  29885. side both the original data and the parities should be uploaded.
  29886. About ~2.7 times more data is required to be uploaded. Client
  29887. may start to upload with even higher number of nodes (~3.7 times
  29888. more) and abandon/stop the slow uploads.
  29889. - S3 backend: normal. Only the raw data is uploaded, erasure
  29890. coding happens on the gateway.
  29891. - Bandwidth usage (download)
  29892. - Storj backend: almost normal. Only the minimal number of data is
  29893. required, but to avoid very slow data providers a few more
  29894. sources are used and the slowest are ignored (max 1.2x
  29895. overhead).
  29896. - S3 backend: normal. Only the raw data is downloaded, erasure
  29897. coding happens on the shared gateway.
  29898. - CPU usage:
  29899. - Storj backend: higher, but more predictable. Erasure code and
  29900. encryption/decryption happens locally which requires significant
  29901. CPU usage.
  29902. - S3 backend: less. Erasure code and encryption/decryption happens
  29903. on shared s3 gateways (and as is, it depends on the current load
  29904. on the gateways)
  29905. - TCP connection usage:
  29906. - Storj backend: high. A direct connection is required to each of
  29907. the Storj nodes resulting in 110 connections on upload and 35 on
  29908. download per 64 MB segment. Not all the connections are actively
  29909. used (slow ones are pruned), but they are all opened. Adjusting
  29910. the max open file limit may be required.
  29911. - S3 backend: normal. Only one connection per download/upload
  29912. thread is required to the shared gateway.
  29913. - Overall performance:
  29914. - Storj backend: with enough resources (CPU and bandwidth) storj
  29915. backend can provide even 2x better performance. Data is directly
  29916. downloaded to / uploaded from to the client instead of the
  29917. gateway.
  29918. - S3 backend: Can be faster on edge devices where CPU and network
  29919. bandwidth is limited as the shared S3 compatible gateways take
  29920. care about the encrypting/decryption and erasure coding and no
  29921. download/upload amplification.
  29922. - Decentralization:
  29923. - Storj backend: high. Data is downloaded directly from the
  29924. distributed cloud of storage providers.
  29925. - S3 backend: low. Requires a running S3 gateway (either
  29926. self-hosted or Storj-hosted).
  29927. - Limitations:
  29928. - Storj backend: rclone checksum is not possible without download,
  29929. as checksum metadata is not calculated during upload
  29930. - S3 backend: secret encryption key is shared with the gateway
  29931. Configuration
  29932. To make a new Storj configuration you need one of the following: *
  29933. Access Grant that someone else shared with you. * API Key of a Storj
  29934. project you are a member of.
  29935. Here is an example of how to make a remote called remote. First run:
  29936. rclone config
  29937. This will guide you through an interactive setup process:
  29938. Setup with access grant
  29939. No remotes found, make a new one?
  29940. n) New remote
  29941. s) Set configuration password
  29942. q) Quit config
  29943. n/s/q> n
  29944. name> remote
  29945. Type of storage to configure.
  29946. Enter a string value. Press Enter for the default ("").
  29947. Choose a number from below, or type in your own value
  29948. [snip]
  29949. XX / Storj Decentralized Cloud Storage
  29950. \ "storj"
  29951. [snip]
  29952. Storage> storj
  29953. ** See help for storj backend at: https://rclone.org/storj/ **
  29954. Choose an authentication method.
  29955. Enter a string value. Press Enter for the default ("existing").
  29956. Choose a number from below, or type in your own value
  29957. 1 / Use an existing access grant.
  29958. \ "existing"
  29959. 2 / Create a new access grant from satellite address, API key, and passphrase.
  29960. \ "new"
  29961. provider> existing
  29962. Access Grant.
  29963. Enter a string value. Press Enter for the default ("").
  29964. access_grant> your-access-grant-received-by-someone-else
  29965. Remote config
  29966. --------------------
  29967. [remote]
  29968. type = storj
  29969. access_grant = your-access-grant-received-by-someone-else
  29970. --------------------
  29971. y) Yes this is OK (default)
  29972. e) Edit this remote
  29973. d) Delete this remote
  29974. y/e/d> y
  29975. Setup with API key and passphrase
  29976. No remotes found, make a new one?
  29977. n) New remote
  29978. s) Set configuration password
  29979. q) Quit config
  29980. n/s/q> n
  29981. name> remote
  29982. Type of storage to configure.
  29983. Enter a string value. Press Enter for the default ("").
  29984. Choose a number from below, or type in your own value
  29985. [snip]
  29986. XX / Storj Decentralized Cloud Storage
  29987. \ "storj"
  29988. [snip]
  29989. Storage> storj
  29990. ** See help for storj backend at: https://rclone.org/storj/ **
  29991. Choose an authentication method.
  29992. Enter a string value. Press Enter for the default ("existing").
  29993. Choose a number from below, or type in your own value
  29994. 1 / Use an existing access grant.
  29995. \ "existing"
  29996. 2 / Create a new access grant from satellite address, API key, and passphrase.
  29997. \ "new"
  29998. provider> new
  29999. Satellite Address. Custom satellite address should match the format: `<nodeid>@<address>:<port>`.
  30000. Enter a string value. Press Enter for the default ("us1.storj.io").
  30001. Choose a number from below, or type in your own value
  30002. 1 / US1
  30003. \ "us1.storj.io"
  30004. 2 / EU1
  30005. \ "eu1.storj.io"
  30006. 3 / AP1
  30007. \ "ap1.storj.io"
  30008. satellite_address> 1
  30009. API Key.
  30010. Enter a string value. Press Enter for the default ("").
  30011. api_key> your-api-key-for-your-storj-project
  30012. Encryption Passphrase. To access existing objects enter passphrase used for uploading.
  30013. Enter a string value. Press Enter for the default ("").
  30014. passphrase> your-human-readable-encryption-passphrase
  30015. Remote config
  30016. --------------------
  30017. [remote]
  30018. type = storj
  30019. satellite_address = 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S@us1.storj.io:7777
  30020. api_key = your-api-key-for-your-storj-project
  30021. passphrase = your-human-readable-encryption-passphrase
  30022. access_grant = the-access-grant-generated-from-the-api-key-and-passphrase
  30023. --------------------
  30024. y) Yes this is OK (default)
  30025. e) Edit this remote
  30026. d) Delete this remote
  30027. y/e/d> y
  30028. Standard options
  30029. Here are the Standard options specific to storj (Storj Decentralized
  30030. Cloud Storage).
  30031. --storj-provider
  30032. Choose an authentication method.
  30033. Properties:
  30034. - Config: provider
  30035. - Env Var: RCLONE_STORJ_PROVIDER
  30036. - Type: string
  30037. - Default: "existing"
  30038. - Examples:
  30039. - "existing"
  30040. - Use an existing access grant.
  30041. - "new"
  30042. - Create a new access grant from satellite address, API key,
  30043. and passphrase.
  30044. --storj-access-grant
  30045. Access grant.
  30046. Properties:
  30047. - Config: access_grant
  30048. - Env Var: RCLONE_STORJ_ACCESS_GRANT
  30049. - Provider: existing
  30050. - Type: string
  30051. - Required: false
  30052. --storj-satellite-address
  30053. Satellite address.
  30054. Custom satellite address should match the format:
  30055. <nodeid>@<address>:<port>.
  30056. Properties:
  30057. - Config: satellite_address
  30058. - Env Var: RCLONE_STORJ_SATELLITE_ADDRESS
  30059. - Provider: new
  30060. - Type: string
  30061. - Default: "us1.storj.io"
  30062. - Examples:
  30063. - "us1.storj.io"
  30064. - US1
  30065. - "eu1.storj.io"
  30066. - EU1
  30067. - "ap1.storj.io"
  30068. - AP1
  30069. --storj-api-key
  30070. API key.
  30071. Properties:
  30072. - Config: api_key
  30073. - Env Var: RCLONE_STORJ_API_KEY
  30074. - Provider: new
  30075. - Type: string
  30076. - Required: false
  30077. --storj-passphrase
  30078. Encryption passphrase.
  30079. To access existing objects enter passphrase used for uploading.
  30080. Properties:
  30081. - Config: passphrase
  30082. - Env Var: RCLONE_STORJ_PASSPHRASE
  30083. - Provider: new
  30084. - Type: string
  30085. - Required: false
  30086. Usage
  30087. Paths are specified as remote:bucket (or remote: for the lsf command.)
  30088. You may put subdirectories in too, e.g. remote:bucket/path/to/dir.
  30089. Once configured you can then use rclone like this.
  30090. Create a new bucket
  30091. Use the mkdir command to create new bucket, e.g. bucket.
  30092. rclone mkdir remote:bucket
  30093. List all buckets
  30094. Use the lsf command to list all buckets.
  30095. rclone lsf remote:
  30096. Note the colon (:) character at the end of the command line.
  30097. Delete a bucket
  30098. Use the rmdir command to delete an empty bucket.
  30099. rclone rmdir remote:bucket
  30100. Use the purge command to delete a non-empty bucket with all its content.
  30101. rclone purge remote:bucket
  30102. Upload objects
  30103. Use the copy command to upload an object.
  30104. rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/
  30105. The --progress flag is for displaying progress information. Remove it if
  30106. you don't need this information.
  30107. Use a folder in the local path to upload all its objects.
  30108. rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/
  30109. Only modified files will be copied.
  30110. List objects
  30111. Use the ls command to list recursively all objects in a bucket.
  30112. rclone ls remote:bucket
  30113. Add the folder to the remote path to list recursively all objects in
  30114. this folder.
  30115. rclone ls remote:bucket/path/to/dir/
  30116. Use the lsf command to list non-recursively all objects in a bucket or a
  30117. folder.
  30118. rclone lsf remote:bucket/path/to/dir/
  30119. Download objects
  30120. Use the copy command to download an object.
  30121. rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/
  30122. The --progress flag is for displaying progress information. Remove it if
  30123. you don't need this information.
  30124. Use a folder in the remote path to download all its objects.
  30125. rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/
  30126. Delete objects
  30127. Use the deletefile command to delete a single object.
  30128. rclone deletefile remote:bucket/path/to/dir/file.ext
  30129. Use the delete command to delete all object in a folder.
  30130. rclone delete remote:bucket/path/to/dir/
  30131. Print the total size of objects
  30132. Use the size command to print the total size of objects in a bucket or a
  30133. folder.
  30134. rclone size remote:bucket/path/to/dir/
  30135. Sync two Locations
  30136. Use the sync command to sync the source to the destination, changing the
  30137. destination only, deleting any excess files.
  30138. rclone sync --interactive --progress /home/local/directory/ remote:bucket/path/to/dir/
  30139. The --progress flag is for displaying progress information. Remove it if
  30140. you don't need this information.
  30141. Since this can cause data loss, test first with the --dry-run flag to
  30142. see exactly what would be copied and deleted.
  30143. The sync can be done also from Storj to the local file system.
  30144. rclone sync --interactive --progress remote:bucket/path/to/dir/ /home/local/directory/
  30145. Or between two Storj buckets.
  30146. rclone sync --interactive --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/
  30147. Or even between another cloud storage and Storj.
  30148. rclone sync --interactive --progress s3:bucket/path/to/dir/ storj:bucket/path/to/dir/
  30149. Limitations
  30150. rclone about is not supported by the rclone Storj backend. Backends
  30151. without this capability cannot determine free space for an rclone mount
  30152. or use policy mfs (most free space) as a member of an rclone union
  30153. remote.
  30154. See List of backends that do not support rclone about and rclone about
  30155. Known issues
  30156. If you get errors like too many open files this usually happens when the
  30157. default ulimit for system max open files is exceeded. Native Storj
  30158. protocol opens a large number of TCP connections (each of which is
  30159. counted as an open file). For a single upload stream you can expect 110
  30160. TCP connections to be opened. For a single download stream you can
  30161. expect 35. This batch of connections will be opened for every 64 MiB
  30162. segment and you should also expect TCP connections to be reused. If you
  30163. do many transfers you eventually open a connection to most storage nodes
  30164. (thousands of nodes).
  30165. To fix these, please raise your system limits. You can do this issuing a
  30166. ulimit -n 65536 just before you run rclone. To change the limits more
  30167. permanently you can add this to your shell startup script, e.g.
  30168. $HOME/.bashrc, or change the system-wide configuration, usually
  30169. /etc/sysctl.conf and/or /etc/security/limits.conf, but please refer to
  30170. your operating system manual.
  30171. SugarSync
  30172. SugarSync is a cloud service that enables active synchronization of
  30173. files across computers and other devices for file backup, access,
  30174. syncing, and sharing.
  30175. Configuration
  30176. The initial setup for SugarSync involves getting a token from SugarSync
  30177. which you can do with rclone. rclone config walks you through it.
  30178. Here is an example of how to make a remote called remote. First run:
  30179. rclone config
  30180. This will guide you through an interactive setup process:
  30181. No remotes found, make a new one?
  30182. n) New remote
  30183. s) Set configuration password
  30184. q) Quit config
  30185. n/s/q> n
  30186. name> remote
  30187. Type of storage to configure.
  30188. Enter a string value. Press Enter for the default ("").
  30189. Choose a number from below, or type in your own value
  30190. [snip]
  30191. XX / Sugarsync
  30192. \ "sugarsync"
  30193. [snip]
  30194. Storage> sugarsync
  30195. ** See help for sugarsync backend at: https://rclone.org/sugarsync/ **
  30196. Sugarsync App ID.
  30197. Leave blank to use rclone's.
  30198. Enter a string value. Press Enter for the default ("").
  30199. app_id>
  30200. Sugarsync Access Key ID.
  30201. Leave blank to use rclone's.
  30202. Enter a string value. Press Enter for the default ("").
  30203. access_key_id>
  30204. Sugarsync Private Access Key
  30205. Leave blank to use rclone's.
  30206. Enter a string value. Press Enter for the default ("").
  30207. private_access_key>
  30208. Permanently delete files if true
  30209. otherwise put them in the deleted files.
  30210. Enter a boolean value (true or false). Press Enter for the default ("false").
  30211. hard_delete>
  30212. Edit advanced config? (y/n)
  30213. y) Yes
  30214. n) No (default)
  30215. y/n> n
  30216. Remote config
  30217. Username (email address)> nick@craig-wood.com
  30218. Your Sugarsync password is only required during setup and will not be stored.
  30219. password:
  30220. --------------------
  30221. [remote]
  30222. type = sugarsync
  30223. refresh_token = https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX
  30224. --------------------
  30225. y) Yes this is OK (default)
  30226. e) Edit this remote
  30227. d) Delete this remote
  30228. y/e/d> y
  30229. Note that the config asks for your email and password but doesn't store
  30230. them, it only uses them to get the initial token.
  30231. Once configured you can then use rclone like this,
  30232. List directories (sync folders) in top level of your SugarSync
  30233. rclone lsd remote:
  30234. List all the files in your SugarSync folder "Test"
  30235. rclone ls remote:Test
  30236. To copy a local directory to an SugarSync folder called backup
  30237. rclone copy /home/source remote:backup
  30238. Paths are specified as remote:path
  30239. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  30240. NB you can't create files in the top level folder you have to create a
  30241. folder, which rclone will create as a "Sync Folder" with SugarSync.
  30242. Modified time and hashes
  30243. SugarSync does not support modification times or hashes, therefore
  30244. syncing will default to --size-only checking. Note that using --update
  30245. will work as rclone can read the time files were uploaded.
  30246. Restricted filename characters
  30247. SugarSync replaces the default restricted characters set except for DEL.
  30248. Invalid UTF-8 bytes will also be replaced, as they can't be used in XML
  30249. strings.
  30250. Deleting files
  30251. Deleted files will be moved to the "Deleted items" folder by default.
  30252. However you can supply the flag --sugarsync-hard-delete or set the
  30253. config parameter hard_delete = true if you would like files to be
  30254. deleted straight away.
  30255. Standard options
  30256. Here are the Standard options specific to sugarsync (Sugarsync).
  30257. --sugarsync-app-id
  30258. Sugarsync App ID.
  30259. Leave blank to use rclone's.
  30260. Properties:
  30261. - Config: app_id
  30262. - Env Var: RCLONE_SUGARSYNC_APP_ID
  30263. - Type: string
  30264. - Required: false
  30265. --sugarsync-access-key-id
  30266. Sugarsync Access Key ID.
  30267. Leave blank to use rclone's.
  30268. Properties:
  30269. - Config: access_key_id
  30270. - Env Var: RCLONE_SUGARSYNC_ACCESS_KEY_ID
  30271. - Type: string
  30272. - Required: false
  30273. --sugarsync-private-access-key
  30274. Sugarsync Private Access Key.
  30275. Leave blank to use rclone's.
  30276. Properties:
  30277. - Config: private_access_key
  30278. - Env Var: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY
  30279. - Type: string
  30280. - Required: false
  30281. --sugarsync-hard-delete
  30282. Permanently delete files if true otherwise put them in the deleted
  30283. files.
  30284. Properties:
  30285. - Config: hard_delete
  30286. - Env Var: RCLONE_SUGARSYNC_HARD_DELETE
  30287. - Type: bool
  30288. - Default: false
  30289. Advanced options
  30290. Here are the Advanced options specific to sugarsync (Sugarsync).
  30291. --sugarsync-refresh-token
  30292. Sugarsync refresh token.
  30293. Leave blank normally, will be auto configured by rclone.
  30294. Properties:
  30295. - Config: refresh_token
  30296. - Env Var: RCLONE_SUGARSYNC_REFRESH_TOKEN
  30297. - Type: string
  30298. - Required: false
  30299. --sugarsync-authorization
  30300. Sugarsync authorization.
  30301. Leave blank normally, will be auto configured by rclone.
  30302. Properties:
  30303. - Config: authorization
  30304. - Env Var: RCLONE_SUGARSYNC_AUTHORIZATION
  30305. - Type: string
  30306. - Required: false
  30307. --sugarsync-authorization-expiry
  30308. Sugarsync authorization expiry.
  30309. Leave blank normally, will be auto configured by rclone.
  30310. Properties:
  30311. - Config: authorization_expiry
  30312. - Env Var: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY
  30313. - Type: string
  30314. - Required: false
  30315. --sugarsync-user
  30316. Sugarsync user.
  30317. Leave blank normally, will be auto configured by rclone.
  30318. Properties:
  30319. - Config: user
  30320. - Env Var: RCLONE_SUGARSYNC_USER
  30321. - Type: string
  30322. - Required: false
  30323. --sugarsync-root-id
  30324. Sugarsync root id.
  30325. Leave blank normally, will be auto configured by rclone.
  30326. Properties:
  30327. - Config: root_id
  30328. - Env Var: RCLONE_SUGARSYNC_ROOT_ID
  30329. - Type: string
  30330. - Required: false
  30331. --sugarsync-deleted-id
  30332. Sugarsync deleted folder id.
  30333. Leave blank normally, will be auto configured by rclone.
  30334. Properties:
  30335. - Config: deleted_id
  30336. - Env Var: RCLONE_SUGARSYNC_DELETED_ID
  30337. - Type: string
  30338. - Required: false
  30339. --sugarsync-encoding
  30340. The encoding for the backend.
  30341. See the encoding section in the overview for more info.
  30342. Properties:
  30343. - Config: encoding
  30344. - Env Var: RCLONE_SUGARSYNC_ENCODING
  30345. - Type: MultiEncoder
  30346. - Default: Slash,Ctl,InvalidUtf8,Dot
  30347. Limitations
  30348. rclone about is not supported by the SugarSync backend. Backends without
  30349. this capability cannot determine free space for an rclone mount or use
  30350. policy mfs (most free space) as a member of an rclone union remote.
  30351. See List of backends that do not support rclone about and rclone about
  30352. Tardigrade
  30353. The Tardigrade backend has been renamed to be the Storj backend. Old
  30354. configuration files will continue to work.
  30355. Uptobox
  30356. This is a Backend for Uptobox file storage service. Uptobox is closer to
  30357. a one-click hoster than a traditional cloud storage provider and
  30358. therefore not suitable for long term storage.
  30359. Paths are specified as remote:path
  30360. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  30361. Configuration
  30362. To configure an Uptobox backend you'll need your personal api token.
  30363. You'll find it in your account settings
  30364. Here is an example of how to make a remote called remote with the
  30365. default setup. First run:
  30366. rclone config
  30367. This will guide you through an interactive setup process:
  30368. Current remotes:
  30369. Name Type
  30370. ==== ====
  30371. TestUptobox uptobox
  30372. e) Edit existing remote
  30373. n) New remote
  30374. d) Delete remote
  30375. r) Rename remote
  30376. c) Copy remote
  30377. s) Set configuration password
  30378. q) Quit config
  30379. e/n/d/r/c/s/q> n
  30380. name> uptobox
  30381. Type of storage to configure.
  30382. Enter a string value. Press Enter for the default ("").
  30383. Choose a number from below, or type in your own value
  30384. [...]
  30385. 37 / Uptobox
  30386. \ "uptobox"
  30387. [...]
  30388. Storage> uptobox
  30389. ** See help for uptobox backend at: https://rclone.org/uptobox/ **
  30390. Your API Key, get it from https://uptobox.com/my_account
  30391. Enter a string value. Press Enter for the default ("").
  30392. api_key> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  30393. Edit advanced config? (y/n)
  30394. y) Yes
  30395. n) No (default)
  30396. y/n> n
  30397. Remote config
  30398. --------------------
  30399. [uptobox]
  30400. type = uptobox
  30401. api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  30402. --------------------
  30403. y) Yes this is OK (default)
  30404. e) Edit this remote
  30405. d) Delete this remote
  30406. y/e/d>
  30407. Once configured you can then use rclone like this,
  30408. List directories in top level of your Uptobox
  30409. rclone lsd remote:
  30410. List all the files in your Uptobox
  30411. rclone ls remote:
  30412. To copy a local directory to an Uptobox directory called backup
  30413. rclone copy /home/source remote:backup
  30414. Modified time and hashes
  30415. Uptobox supports neither modified times nor checksums. All timestamps
  30416. will read as that set by --default-time.
  30417. Restricted filename characters
  30418. In addition to the default restricted characters set the following
  30419. characters are also replaced:
  30420. Character Value Replacement
  30421. ----------- ------- -------------
  30422. " 0x22 "
  30423. ` 0x41 `
  30424. Invalid UTF-8 bytes will also be replaced, as they can't be used in XML
  30425. strings.
  30426. Standard options
  30427. Here are the Standard options specific to uptobox (Uptobox).
  30428. --uptobox-access-token
  30429. Your access token.
  30430. Get it from https://uptobox.com/my_account.
  30431. Properties:
  30432. - Config: access_token
  30433. - Env Var: RCLONE_UPTOBOX_ACCESS_TOKEN
  30434. - Type: string
  30435. - Required: false
  30436. Advanced options
  30437. Here are the Advanced options specific to uptobox (Uptobox).
  30438. --uptobox-private
  30439. Set to make uploaded files private
  30440. Properties:
  30441. - Config: private
  30442. - Env Var: RCLONE_UPTOBOX_PRIVATE
  30443. - Type: bool
  30444. - Default: false
  30445. --uptobox-encoding
  30446. The encoding for the backend.
  30447. See the encoding section in the overview for more info.
  30448. Properties:
  30449. - Config: encoding
  30450. - Env Var: RCLONE_UPTOBOX_ENCODING
  30451. - Type: MultiEncoder
  30452. - Default:
  30453. Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot
  30454. Limitations
  30455. Uptobox will delete inactive files that have not been accessed in 60
  30456. days.
  30457. rclone about is not supported by this backend an overview of used space
  30458. can however been seen in the uptobox web interface.
  30459. Union
  30460. The union remote provides a unification similar to UnionFS using other
  30461. remotes.
  30462. Paths may be as deep as required or a local path, e.g.
  30463. remote:directory/subdirectory or /directory/subdirectory.
  30464. During the initial setup with rclone config you will specify the
  30465. upstream remotes as a space separated list. The upstream remotes can
  30466. either be a local paths or other remotes.
  30467. Attribute :ro and :nc can be attach to the end of path to tag the remote
  30468. as read only or no create, e.g. remote:directory/subdirectory:ro or
  30469. remote:directory/subdirectory:nc.
  30470. Subfolders can be used in upstream remotes. Assume a union remote named
  30471. backup with the remotes mydrive:private/backup. Invoking
  30472. rclone mkdir backup:desktop is exactly the same as invoking
  30473. rclone mkdir mydrive:private/backup/desktop.
  30474. There will be no special handling of paths containing .. segments.
  30475. Invoking rclone mkdir backup:../desktop is exactly the same as invoking
  30476. rclone mkdir mydrive:private/backup/../desktop.
  30477. Configuration
  30478. Here is an example of how to make a union called remote for local
  30479. folders. First run:
  30480. rclone config
  30481. This will guide you through an interactive setup process:
  30482. No remotes found, make a new one?
  30483. n) New remote
  30484. s) Set configuration password
  30485. q) Quit config
  30486. n/s/q> n
  30487. name> remote
  30488. Type of storage to configure.
  30489. Choose a number from below, or type in your own value
  30490. [snip]
  30491. XX / Union merges the contents of several remotes
  30492. \ "union"
  30493. [snip]
  30494. Storage> union
  30495. List of space separated upstreams.
  30496. Can be 'upstreama:test/dir upstreamb:', '\"upstreama:test/space:ro dir\" upstreamb:', etc.
  30497. Enter a string value. Press Enter for the default ("").
  30498. upstreams> remote1:dir1 remote2:dir2 remote3:dir3
  30499. Policy to choose upstream on ACTION class.
  30500. Enter a string value. Press Enter for the default ("epall").
  30501. action_policy>
  30502. Policy to choose upstream on CREATE class.
  30503. Enter a string value. Press Enter for the default ("epmfs").
  30504. create_policy>
  30505. Policy to choose upstream on SEARCH class.
  30506. Enter a string value. Press Enter for the default ("ff").
  30507. search_policy>
  30508. Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used.
  30509. Enter a signed integer. Press Enter for the default ("120").
  30510. cache_time>
  30511. Remote config
  30512. --------------------
  30513. [remote]
  30514. type = union
  30515. upstreams = remote1:dir1 remote2:dir2 remote3:dir3
  30516. --------------------
  30517. y) Yes this is OK
  30518. e) Edit this remote
  30519. d) Delete this remote
  30520. y/e/d> y
  30521. Current remotes:
  30522. Name Type
  30523. ==== ====
  30524. remote union
  30525. e) Edit existing remote
  30526. n) New remote
  30527. d) Delete remote
  30528. r) Rename remote
  30529. c) Copy remote
  30530. s) Set configuration password
  30531. q) Quit config
  30532. e/n/d/r/c/s/q> q
  30533. Once configured you can then use rclone like this,
  30534. List directories in top level in remote1:dir1, remote2:dir2 and
  30535. remote3:dir3
  30536. rclone lsd remote:
  30537. List all the files in remote1:dir1, remote2:dir2 and remote3:dir3
  30538. rclone ls remote:
  30539. Copy another local directory to the union directory called source, which
  30540. will be placed into remote3:dir3
  30541. rclone copy C:\source remote:source
  30542. Behavior / Policies
  30543. The behavior of union backend is inspired by trapexit/mergerfs. All
  30544. functions are grouped into 3 categories: action, create and search.
  30545. These functions and categories can be assigned a policy which dictates
  30546. what file or directory is chosen when performing that behavior. Any
  30547. policy can be assigned to a function or category though some may not be
  30548. very useful in practice. For instance: rand (random) may be useful for
  30549. file creation (create) but could lead to very odd behavior if used for
  30550. delete if there were more than one copy of the file.
  30551. Function / Category classifications
  30552. ----------------------------------------------------------------------------
  30553. Category Description Functions
  30554. ---------- --------------- -------------------------------------------------
  30555. action Writing move, rmdir, rmdirs, delete, purge and copy, sync
  30556. Existing file (as destination when file exist)
  30557. create Create copy, sync (as destination when file not exist)
  30558. non-existing
  30559. file
  30560. search Reading and ls, lsd, lsl, cat, md5sum, sha1sum and copy, sync
  30561. listing file (as source)
  30562. N/A size, about
  30563. ----------------------------------------------------------------------------
  30564. Path Preservation
  30565. Policies, as described below, are of two basic types. path preserving
  30566. and non-path preserving.
  30567. All policies which start with ep (epff, eplfs, eplus, epmfs, eprand) are
  30568. path preserving. ep stands for existing path.
  30569. A path preserving policy will only consider upstreams where the relative
  30570. path being accessed already exists.
  30571. When using non-path preserving policies paths will be created in target
  30572. upstreams as necessary.
  30573. Quota Relevant Policies
  30574. Some policies rely on quota information. These policies should be used
  30575. only if your upstreams support the respective quota fields.
  30576. Policy Required Field
  30577. ------------ ----------------
  30578. lfs, eplfs Free
  30579. mfs, epmfs Free
  30580. lus, eplus Used
  30581. lno, eplno Objects
  30582. To check if your upstream supports the field, run
  30583. rclone about remote: [flags] and see if the required field exists.
  30584. Filters
  30585. Policies basically search upstream remotes and create a list of files /
  30586. paths for functions to work on. The policy is responsible for filtering
  30587. and sorting. The policy type defines the sorting but filtering is mostly
  30588. uniform as described below.
  30589. - No search policies filter.
  30590. - All action policies will filter out remotes which are tagged as
  30591. read-only.
  30592. - All create policies will filter out remotes which are tagged
  30593. read-only or no-create.
  30594. If all remotes are filtered an error will be returned.
  30595. Policy descriptions
  30596. The policies definition are inspired by trapexit/mergerfs but not
  30597. exactly the same. Some policy definition could be different due to the
  30598. much larger latency of remote file systems.
  30599. -----------------------------------------------------------------------
  30600. Policy Description
  30601. ---------------- ------------------------------------------------------
  30602. all Search category: same as epall. Action category: same
  30603. as epall. Create category: act on all upstreams.
  30604. epall (existing Search category: Given this order configured, act on
  30605. path, all) the first one found where the relative path exists.
  30606. Action category: apply to all found. Create category:
  30607. act on all upstreams where the relative path exists.
  30608. epff (existing Act on the first one found, by the time upstreams
  30609. path, first reply, where the relative path exists.
  30610. found)
  30611. eplfs (existing Of all the upstreams on which the relative path exists
  30612. path, least free choose the one with the least free space.
  30613. space)
  30614. eplus (existing Of all the upstreams on which the relative path exists
  30615. path, least used choose the one with the least used space.
  30616. space)
  30617. eplno (existing Of all the upstreams on which the relative path exists
  30618. path, least choose the one with the least number of objects.
  30619. number of
  30620. objects)
  30621. epmfs (existing Of all the upstreams on which the relative path exists
  30622. path, most free choose the one with the most free space.
  30623. space)
  30624. eprand (existing Calls epall and then randomizes. Returns only one
  30625. path, random) upstream.
  30626. ff (first found) Search category: same as epff. Action category: same
  30627. as epff. Create category: Act on the first one found
  30628. by the time upstreams reply.
  30629. lfs (least free Search category: same as eplfs. Action category: same
  30630. space) as eplfs. Create category: Pick the upstream with the
  30631. least available free space.
  30632. lus (least used Search category: same as eplus. Action category: same
  30633. space) as eplus. Create category: Pick the upstream with the
  30634. least used space.
  30635. lno (least Search category: same as eplno. Action category: same
  30636. number of as eplno. Create category: Pick the upstream with the
  30637. objects) least number of objects.
  30638. mfs (most free Search category: same as epmfs. Action category: same
  30639. space) as epmfs. Create category: Pick the upstream with the
  30640. most available free space.
  30641. newest Pick the file / directory with the largest mtime.
  30642. rand (random) Calls all and then randomizes. Returns only one
  30643. upstream.
  30644. -----------------------------------------------------------------------
  30645. Standard options
  30646. Here are the Standard options specific to union (Union merges the
  30647. contents of several upstream fs).
  30648. --union-upstreams
  30649. List of space separated upstreams.
  30650. Can be 'upstreama:test/dir upstreamb:', '"upstreama:test/space:ro dir"
  30651. upstreamb:', etc.
  30652. Properties:
  30653. - Config: upstreams
  30654. - Env Var: RCLONE_UNION_UPSTREAMS
  30655. - Type: string
  30656. - Required: true
  30657. --union-action-policy
  30658. Policy to choose upstream on ACTION category.
  30659. Properties:
  30660. - Config: action_policy
  30661. - Env Var: RCLONE_UNION_ACTION_POLICY
  30662. - Type: string
  30663. - Default: "epall"
  30664. --union-create-policy
  30665. Policy to choose upstream on CREATE category.
  30666. Properties:
  30667. - Config: create_policy
  30668. - Env Var: RCLONE_UNION_CREATE_POLICY
  30669. - Type: string
  30670. - Default: "epmfs"
  30671. --union-search-policy
  30672. Policy to choose upstream on SEARCH category.
  30673. Properties:
  30674. - Config: search_policy
  30675. - Env Var: RCLONE_UNION_SEARCH_POLICY
  30676. - Type: string
  30677. - Default: "ff"
  30678. --union-cache-time
  30679. Cache time of usage and free space (in seconds).
  30680. This option is only useful when a path preserving policy is used.
  30681. Properties:
  30682. - Config: cache_time
  30683. - Env Var: RCLONE_UNION_CACHE_TIME
  30684. - Type: int
  30685. - Default: 120
  30686. Advanced options
  30687. Here are the Advanced options specific to union (Union merges the
  30688. contents of several upstream fs).
  30689. --union-min-free-space
  30690. Minimum viable free space for lfs/eplfs policies.
  30691. If a remote has less than this much free space then it won't be
  30692. considered for use in lfs or eplfs policies.
  30693. Properties:
  30694. - Config: min_free_space
  30695. - Env Var: RCLONE_UNION_MIN_FREE_SPACE
  30696. - Type: SizeSuffix
  30697. - Default: 1Gi
  30698. Metadata
  30699. Any metadata supported by the underlying remote is read and written.
  30700. See the metadata docs for more info.
  30701. WebDAV
  30702. Paths are specified as remote:path
  30703. Paths may be as deep as required, e.g. remote:directory/subdirectory.
  30704. Configuration
  30705. To configure the WebDAV remote you will need to have a URL for it, and a
  30706. username and password. If you know what kind of system you are
  30707. connecting to then rclone can enable extra features.
  30708. Here is an example of how to make a remote called remote. First run:
  30709. rclone config
  30710. This will guide you through an interactive setup process:
  30711. No remotes found, make a new one?
  30712. n) New remote
  30713. s) Set configuration password
  30714. q) Quit config
  30715. n/s/q> n
  30716. name> remote
  30717. Type of storage to configure.
  30718. Choose a number from below, or type in your own value
  30719. [snip]
  30720. XX / WebDAV
  30721. \ "webdav"
  30722. [snip]
  30723. Storage> webdav
  30724. URL of http host to connect to
  30725. Choose a number from below, or type in your own value
  30726. 1 / Connect to example.com
  30727. \ "https://example.com"
  30728. url> https://example.com/remote.php/webdav/
  30729. Name of the WebDAV site/service/software you are using
  30730. Choose a number from below, or type in your own value
  30731. 1 / Fastmail Files
  30732. \ (fastmail)
  30733. 2 / Nextcloud
  30734. \ (nextcloud)
  30735. 3 / Owncloud
  30736. \ (owncloud)
  30737. 4 / Sharepoint Online, authenticated by Microsoft account
  30738. \ (sharepoint)
  30739. 5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises
  30740. \ (sharepoint-ntlm)
  30741. 6 / Other site/service or software
  30742. \ (other)
  30743. vendor> 2
  30744. User name
  30745. user> user
  30746. Password.
  30747. y) Yes type in my own password
  30748. g) Generate random password
  30749. n) No leave this optional password blank
  30750. y/g/n> y
  30751. Enter the password:
  30752. password:
  30753. Confirm the password:
  30754. password:
  30755. Bearer token instead of user/pass (e.g. a Macaroon)
  30756. bearer_token>
  30757. Remote config
  30758. --------------------
  30759. [remote]
  30760. type = webdav
  30761. url = https://example.com/remote.php/webdav/
  30762. vendor = nextcloud
  30763. user = user
  30764. pass = *** ENCRYPTED ***
  30765. bearer_token =
  30766. --------------------
  30767. y) Yes this is OK
  30768. e) Edit this remote
  30769. d) Delete this remote
  30770. y/e/d> y
  30771. Once configured you can then use rclone like this,
  30772. List directories in top level of your WebDAV
  30773. rclone lsd remote:
  30774. List all the files in your WebDAV
  30775. rclone ls remote:
  30776. To copy a local directory to an WebDAV directory called backup
  30777. rclone copy /home/source remote:backup
  30778. Modified time and hashes
  30779. Plain WebDAV does not support modified times. However when used with
  30780. Fastmail Files, Owncloud or Nextcloud rclone will support modified
  30781. times.
  30782. Likewise plain WebDAV does not support hashes, however when used with
  30783. Fastmail Files, Owncloud or Nextcloud rclone will support SHA1 and MD5
  30784. hashes. Depending on the exact version of Owncloud or Nextcloud hashes
  30785. may appear on all objects, or only on objects which had a hash uploaded
  30786. with them.
  30787. Standard options
  30788. Here are the Standard options specific to webdav (WebDAV).
  30789. --webdav-url
  30790. URL of http host to connect to.
  30791. E.g. https://example.com.
  30792. Properties:
  30793. - Config: url
  30794. - Env Var: RCLONE_WEBDAV_URL
  30795. - Type: string
  30796. - Required: true
  30797. --webdav-vendor
  30798. Name of the WebDAV site/service/software you are using.
  30799. Properties:
  30800. - Config: vendor
  30801. - Env Var: RCLONE_WEBDAV_VENDOR
  30802. - Type: string
  30803. - Required: false
  30804. - Examples:
  30805. - "fastmail"
  30806. - Fastmail Files
  30807. - "nextcloud"
  30808. - Nextcloud
  30809. - "owncloud"
  30810. - Owncloud
  30811. - "sharepoint"
  30812. - Sharepoint Online, authenticated by Microsoft account
  30813. - "sharepoint-ntlm"
  30814. - Sharepoint with NTLM authentication, usually self-hosted or
  30815. on-premises
  30816. - "other"
  30817. - Other site/service or software
  30818. --webdav-user
  30819. User name.
  30820. In case NTLM authentication is used, the username should be in the
  30821. format 'Domain'.
  30822. Properties:
  30823. - Config: user
  30824. - Env Var: RCLONE_WEBDAV_USER
  30825. - Type: string
  30826. - Required: false
  30827. --webdav-pass
  30828. Password.
  30829. NB Input to this must be obscured - see rclone obscure.
  30830. Properties:
  30831. - Config: pass
  30832. - Env Var: RCLONE_WEBDAV_PASS
  30833. - Type: string
  30834. - Required: false
  30835. --webdav-bearer-token
  30836. Bearer token instead of user/pass (e.g. a Macaroon).
  30837. Properties:
  30838. - Config: bearer_token
  30839. - Env Var: RCLONE_WEBDAV_BEARER_TOKEN
  30840. - Type: string
  30841. - Required: false
  30842. Advanced options
  30843. Here are the Advanced options specific to webdav (WebDAV).
  30844. --webdav-bearer-token-command
  30845. Command to run to get a bearer token.
  30846. Properties:
  30847. - Config: bearer_token_command
  30848. - Env Var: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND
  30849. - Type: string
  30850. - Required: false
  30851. --webdav-encoding
  30852. The encoding for the backend.
  30853. See the encoding section in the overview for more info.
  30854. Default encoding is
  30855. Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8
  30856. for sharepoint-ntlm or identity otherwise.
  30857. Properties:
  30858. - Config: encoding
  30859. - Env Var: RCLONE_WEBDAV_ENCODING
  30860. - Type: string
  30861. - Required: false
  30862. --webdav-headers
  30863. Set HTTP headers for all transactions.
  30864. Use this to set additional HTTP headers for all transactions
  30865. The input format is comma separated list of key,value pairs. Standard
  30866. CSV encoding may be used.
  30867. For example, to set a Cookie use 'Cookie,name=value', or
  30868. '"Cookie","name=value"'.
  30869. You can set multiple headers, e.g.
  30870. '"Cookie","name=value","Authorization","xxx"'.
  30871. Properties:
  30872. - Config: headers
  30873. - Env Var: RCLONE_WEBDAV_HEADERS
  30874. - Type: CommaSepList
  30875. - Default:
  30876. --webdav-pacer-min-sleep
  30877. Minimum time to sleep between API calls.
  30878. Properties:
  30879. - Config: pacer_min_sleep
  30880. - Env Var: RCLONE_WEBDAV_PACER_MIN_SLEEP
  30881. - Type: Duration
  30882. - Default: 10ms
  30883. --webdav-nextcloud-chunk-size
  30884. Nextcloud upload chunk size.
  30885. We recommend configuring your NextCloud instance to increase the max
  30886. chunk size to 1 GB for better upload performances. See
  30887. https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#adjust-chunk-size-on-nextcloud-side
  30888. Set to 0 to disable chunked uploading.
  30889. Properties:
  30890. - Config: nextcloud_chunk_size
  30891. - Env Var: RCLONE_WEBDAV_NEXTCLOUD_CHUNK_SIZE
  30892. - Type: SizeSuffix
  30893. - Default: 10Mi
  30894. Provider notes
  30895. See below for notes on specific providers.
  30896. Fastmail Files
  30897. Use https://webdav.fastmail.com/ or a subdirectory as the URL, and your
  30898. Fastmail email username@domain.tld as the username. Follow this
  30899. documentation to create an app password with access to Files (WebDAV)
  30900. and use this as the password.
  30901. Fastmail supports modified times using the X-OC-Mtime header.
  30902. Owncloud
  30903. Click on the settings cog in the bottom right of the page and this will
  30904. show the WebDAV URL that rclone needs in the config step. It will look
  30905. something like https://example.com/remote.php/webdav/.
  30906. Owncloud supports modified times using the X-OC-Mtime header.
  30907. Nextcloud
  30908. This is configured in an identical way to Owncloud. Note that Nextcloud
  30909. initially did not support streaming of files (rcat) whereas Owncloud
  30910. did, but this seems to be fixed as of 2020-11-27 (tested with rclone
  30911. v1.53.1 and Nextcloud Server v19).
  30912. Sharepoint Online
  30913. Rclone can be used with Sharepoint provided by OneDrive for Business or
  30914. Office365 Education Accounts. This feature is only needed for a few of
  30915. these Accounts, mostly Office365 Education ones. These accounts are
  30916. sometimes not verified by the domain owner github#1975
  30917. This means that these accounts can't be added using the official API
  30918. (other Accounts should work with the "onedrive" option). However, it is
  30919. possible to access them using webdav.
  30920. To use a sharepoint remote with rclone, add it like this: First, you
  30921. need to get your remote's URL:
  30922. - Go here to open your OneDrive or to sign in
  30923. - Now take a look at your address bar, the URL should look like this:
  30924. https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_layouts/15/onedrive.aspx
  30925. You'll only need this URL up to the email address. After that, you'll
  30926. most likely want to add "/Documents". That subdirectory contains the
  30927. actual data stored on your OneDrive.
  30928. Add the remote to rclone like this: Configure the url as
  30929. https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
  30930. and use your normal account email and password for user and pass. If you
  30931. have 2FA enabled, you have to generate an app password. Set the vendor
  30932. to sharepoint.
  30933. Your config file should look like this:
  30934. [sharepoint]
  30935. type = webdav
  30936. url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
  30937. vendor = sharepoint
  30938. user = YourEmailAddress
  30939. pass = encryptedpassword
  30940. Sharepoint with NTLM Authentication
  30941. Use this option in case your (hosted) Sharepoint is not tied to OneDrive
  30942. accounts and uses NTLM authentication.
  30943. To get the url configuration, similarly to the above, first navigate to
  30944. the desired directory in your browser to get the URL, then strip
  30945. everything after the name of the opened directory.
  30946. Example: If the URL is:
  30947. https://example.sharepoint.com/sites/12345/Documents/Forms/AllItems.aspx
  30948. The configuration to use would be:
  30949. https://example.sharepoint.com/sites/12345/Documents
  30950. Set the vendor to sharepoint-ntlm.
  30951. NTLM uses domain and user name combination for authentication, set user
  30952. to DOMAIN\username.
  30953. Your config file should look like this:
  30954. [sharepoint]
  30955. type = webdav
  30956. url = https://[YOUR-DOMAIN]/some-path-to/Documents
  30957. vendor = sharepoint-ntlm
  30958. user = DOMAIN\user
  30959. pass = encryptedpassword
  30960. Required Flags for SharePoint
  30961. As SharePoint does some special things with uploaded documents, you
  30962. won't be able to use the documents size or the documents hash to compare
  30963. if a file has been changed since the upload / which file is newer.
  30964. For Rclone calls copying files (especially Office files such as .docx,
  30965. .xlsx, etc.) from/to SharePoint (like copy, sync, etc.), you should
  30966. append these flags to ensure Rclone uses the "Last Modified" datetime
  30967. property to compare your documents:
  30968. --ignore-size --ignore-checksum --update
  30969. dCache
  30970. dCache is a storage system that supports many protocols and
  30971. authentication/authorisation schemes. For WebDAV clients, it allows
  30972. users to authenticate with username and password (BASIC), X.509,
  30973. Kerberos, and various bearer tokens, including Macaroons and
  30974. OpenID-Connect access tokens.
  30975. Configure as normal using the other type. Don't enter a username or
  30976. password, instead enter your Macaroon as the bearer_token.
  30977. The config will end up looking something like this.
  30978. [dcache]
  30979. type = webdav
  30980. url = https://dcache...
  30981. vendor = other
  30982. user =
  30983. pass =
  30984. bearer_token = your-macaroon
  30985. There is a script that obtains a Macaroon from a dCache WebDAV endpoint,
  30986. and creates an rclone config file.
  30987. Macaroons may also be obtained from the dCacheView
  30988. web-browser/JavaScript client that comes with dCache.
  30989. OpenID-Connect
  30990. dCache also supports authenticating with OpenID-Connect access tokens.
  30991. OpenID-Connect is a protocol (based on OAuth 2.0) that allows services
  30992. to identify users who have authenticated with some central service.
  30993. Support for OpenID-Connect in rclone is currently achieved using another
  30994. software package called oidc-agent. This is a command-line tool that
  30995. facilitates obtaining an access token. Once installed and configured, an
  30996. access token is obtained by running the oidc-token command. The
  30997. following example shows a (shortened) access token obtained from the XDC
  30998. OIDC Provider.
  30999. paul@celebrimbor:~$ oidc-token XDC
  31000. eyJraWQ[...]QFXDt0
  31001. paul@celebrimbor:~$
  31002. Note Before the oidc-token command will work, the refresh token must be
  31003. loaded into the oidc agent. This is done with the oidc-add command
  31004. (e.g., oidc-add XDC). This is typically done once per login session.
  31005. Full details on this and how to register oidc-agent with your OIDC
  31006. Provider are provided in the oidc-agent documentation.
  31007. The rclone bearer_token_command configuration option is used to fetch
  31008. the access token from oidc-agent.
  31009. Configure as a normal WebDAV endpoint, using the 'other' vendor, leaving
  31010. the username and password empty. When prompted, choose to edit the
  31011. advanced config and enter the command to get a bearer token (e.g.,
  31012. oidc-agent XDC).
  31013. The following example config shows a WebDAV endpoint that uses
  31014. oidc-agent to supply an access token from the XDC OIDC Provider.
  31015. [dcache]
  31016. type = webdav
  31017. url = https://dcache.example.org/
  31018. vendor = other
  31019. bearer_token_command = oidc-token XDC
  31020. Yandex Disk
  31021. Yandex Disk is a cloud storage solution created by Yandex.
  31022. Configuration
  31023. Here is an example of making a yandex configuration. First run
  31024. rclone config
  31025. This will guide you through an interactive setup process:
  31026. No remotes found, make a new one?
  31027. n) New remote
  31028. s) Set configuration password
  31029. n/s> n
  31030. name> remote
  31031. Type of storage to configure.
  31032. Choose a number from below, or type in your own value
  31033. [snip]
  31034. XX / Yandex Disk
  31035. \ "yandex"
  31036. [snip]
  31037. Storage> yandex
  31038. Yandex Client Id - leave blank normally.
  31039. client_id>
  31040. Yandex Client Secret - leave blank normally.
  31041. client_secret>
  31042. Remote config
  31043. Use web browser to automatically authenticate rclone with remote?
  31044. * Say Y if the machine running rclone has a web browser you can use
  31045. * Say N if running rclone on a (remote) machine without web browser access
  31046. If not sure try Y. If Y failed, try N.
  31047. y) Yes
  31048. n) No
  31049. y/n> y
  31050. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
  31051. Log in and authorize rclone for access
  31052. Waiting for code...
  31053. Got code
  31054. --------------------
  31055. [remote]
  31056. client_id =
  31057. client_secret =
  31058. token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"OAuth","expiry":"2016-12-29T12:27:11.362788025Z"}
  31059. --------------------
  31060. y) Yes this is OK
  31061. e) Edit this remote
  31062. d) Delete this remote
  31063. y/e/d> y
  31064. See the remote setup docs for how to set it up on a machine with no
  31065. Internet browser available.
  31066. Note that rclone runs a webserver on your local machine to collect the
  31067. token as returned from Yandex Disk. This only runs from the moment it
  31068. opens your browser to the moment you get back the verification code.
  31069. This is on http://127.0.0.1:53682/ and this it may require you to
  31070. unblock it temporarily if you are running a host firewall.
  31071. Once configured you can then use rclone like this,
  31072. See top level directories
  31073. rclone lsd remote:
  31074. Make a new directory
  31075. rclone mkdir remote:directory
  31076. List the contents of a directory
  31077. rclone ls remote:directory
  31078. Sync /home/local/directory to the remote path, deleting any excess files
  31079. in the path.
  31080. rclone sync --interactive /home/local/directory remote:directory
  31081. Yandex paths may be as deep as required, e.g.
  31082. remote:directory/subdirectory.
  31083. Modified time
  31084. Modified times are supported and are stored accurate to 1 ns in custom
  31085. metadata called rclone_modified in RFC3339 with nanoseconds format.
  31086. MD5 checksums
  31087. MD5 checksums are natively supported by Yandex Disk.
  31088. Emptying Trash
  31089. If you wish to empty your trash you can use the rclone cleanup remote:
  31090. command which will permanently delete all your trashed files. This
  31091. command does not take any path arguments.
  31092. Quota information
  31093. To view your current quota you can use the rclone about remote: command
  31094. which will display your usage limit (quota) and the current usage.
  31095. Restricted filename characters
  31096. The default restricted characters set are replaced.
  31097. Invalid UTF-8 bytes will also be replaced, as they can't be used in JSON
  31098. strings.
  31099. Standard options
  31100. Here are the Standard options specific to yandex (Yandex Disk).
  31101. --yandex-client-id
  31102. OAuth Client Id.
  31103. Leave blank normally.
  31104. Properties:
  31105. - Config: client_id
  31106. - Env Var: RCLONE_YANDEX_CLIENT_ID
  31107. - Type: string
  31108. - Required: false
  31109. --yandex-client-secret
  31110. OAuth Client Secret.
  31111. Leave blank normally.
  31112. Properties:
  31113. - Config: client_secret
  31114. - Env Var: RCLONE_YANDEX_CLIENT_SECRET
  31115. - Type: string
  31116. - Required: false
  31117. Advanced options
  31118. Here are the Advanced options specific to yandex (Yandex Disk).
  31119. --yandex-token
  31120. OAuth Access Token as a JSON blob.
  31121. Properties:
  31122. - Config: token
  31123. - Env Var: RCLONE_YANDEX_TOKEN
  31124. - Type: string
  31125. - Required: false
  31126. --yandex-auth-url
  31127. Auth server URL.
  31128. Leave blank to use the provider defaults.
  31129. Properties:
  31130. - Config: auth_url
  31131. - Env Var: RCLONE_YANDEX_AUTH_URL
  31132. - Type: string
  31133. - Required: false
  31134. --yandex-token-url
  31135. Token server url.
  31136. Leave blank to use the provider defaults.
  31137. Properties:
  31138. - Config: token_url
  31139. - Env Var: RCLONE_YANDEX_TOKEN_URL
  31140. - Type: string
  31141. - Required: false
  31142. --yandex-hard-delete
  31143. Delete files permanently rather than putting them into the trash.
  31144. Properties:
  31145. - Config: hard_delete
  31146. - Env Var: RCLONE_YANDEX_HARD_DELETE
  31147. - Type: bool
  31148. - Default: false
  31149. --yandex-encoding
  31150. The encoding for the backend.
  31151. See the encoding section in the overview for more info.
  31152. Properties:
  31153. - Config: encoding
  31154. - Env Var: RCLONE_YANDEX_ENCODING
  31155. - Type: MultiEncoder
  31156. - Default: Slash,Del,Ctl,InvalidUtf8,Dot
  31157. Limitations
  31158. When uploading very large files (bigger than about 5 GiB) you will need
  31159. to increase the --timeout parameter. This is because Yandex pauses
  31160. (perhaps to calculate the MD5SUM for the entire file) before returning
  31161. confirmation that the file has been uploaded. The default handling of
  31162. timeouts in rclone is to assume a 5 minute pause is an error and close
  31163. the connection - you'll see net/http: timeout awaiting response headers
  31164. errors in the logs if this is happening. Setting the timeout to twice
  31165. the max size of file in GiB should be enough, so if you want to upload a
  31166. 30 GiB file set a timeout of 2 * 30 = 60m, that is --timeout 60m.
  31167. Having a Yandex Mail account is mandatory to use the Yandex.Disk
  31168. subscription. Token generation will work without a mail account, but
  31169. Rclone won't be able to complete any actions.
  31170. [403 - DiskUnsupportedUserAccountTypeError] User account type is not supported.
  31171. Zoho Workdrive
  31172. Zoho WorkDrive is a cloud storage solution created by Zoho.
  31173. Configuration
  31174. Here is an example of making a zoho configuration. First run
  31175. rclone config
  31176. This will guide you through an interactive setup process:
  31177. No remotes found, make a new one?
  31178. n) New remote
  31179. s) Set configuration password
  31180. n/s> n
  31181. name> remote
  31182. Type of storage to configure.
  31183. Enter a string value. Press Enter for the default ("").
  31184. Choose a number from below, or type in your own value
  31185. [snip]
  31186. XX / Zoho
  31187. \ "zoho"
  31188. [snip]
  31189. Storage> zoho
  31190. ** See help for zoho backend at: https://rclone.org/zoho/ **
  31191. OAuth Client Id
  31192. Leave blank normally.
  31193. Enter a string value. Press Enter for the default ("").
  31194. client_id>
  31195. OAuth Client Secret
  31196. Leave blank normally.
  31197. Enter a string value. Press Enter for the default ("").
  31198. client_secret>
  31199. Edit advanced config? (y/n)
  31200. y) Yes
  31201. n) No (default)
  31202. y/n> n
  31203. Remote config
  31204. Use web browser to automatically authenticate rclone with remote?
  31205. * Say Y if the machine running rclone has a web browser you can use
  31206. * Say N if running rclone on a (remote) machine without web browser access
  31207. If not sure try Y. If Y failed, try N.
  31208. y) Yes (default)
  31209. n) No
  31210. y/n>
  31211. If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=LVn0IHzxej1ZkmQw31d0wQ
  31212. Log in and authorize rclone for access
  31213. Waiting for code...
  31214. Got code
  31215. Choose a number from below, or type in your own value
  31216. 1 / MyTeam
  31217. \ "4u28602177065ff22426787a6745dba8954eb"
  31218. Enter a Team ID> 1
  31219. Choose a number from below, or type in your own value
  31220. 1 / General
  31221. \ "4u2869d2aa6fca04f4f2f896b6539243b85b1"
  31222. Enter a Workspace ID> 1
  31223. --------------------
  31224. [remote]
  31225. type = zoho
  31226. token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Zoho-oauthtoken","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expiry":"2020-10-12T00:54:52.370275223+02:00"}
  31227. root_folder_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  31228. --------------------
  31229. y) Yes this is OK (default)
  31230. e) Edit this remote
  31231. d) Delete this remote
  31232. y/e/d>
  31233. See the remote setup docs for how to set it up on a machine with no
  31234. Internet browser available.
  31235. Rclone runs a webserver on your local computer to collect the
  31236. authorization token from Zoho Workdrive. This is only from the moment
  31237. your browser is opened until the token is returned. The webserver runs
  31238. on http://127.0.0.1:53682/. If local port 53682 is protected by a
  31239. firewall you may need to temporarily unblock the firewall to complete
  31240. authorization.
  31241. Once configured you can then use rclone like this,
  31242. See top level directories
  31243. rclone lsd remote:
  31244. Make a new directory
  31245. rclone mkdir remote:directory
  31246. List the contents of a directory
  31247. rclone ls remote:directory
  31248. Sync /home/local/directory to the remote path, deleting any excess files
  31249. in the path.
  31250. rclone sync --interactive /home/local/directory remote:directory
  31251. Zoho paths may be as deep as required, eg remote:directory/subdirectory.
  31252. Modified time
  31253. Modified times are currently not supported for Zoho Workdrive
  31254. Checksums
  31255. No checksums are supported.
  31256. Usage information
  31257. To view your current quota you can use the rclone about remote: command
  31258. which will display your current usage.
  31259. Restricted filename characters
  31260. Only control characters and invalid UTF-8 are replaced. In addition most
  31261. Unicode full-width characters are not supported at all and will be
  31262. removed from filenames during upload.
  31263. Standard options
  31264. Here are the Standard options specific to zoho (Zoho).
  31265. --zoho-client-id
  31266. OAuth Client Id.
  31267. Leave blank normally.
  31268. Properties:
  31269. - Config: client_id
  31270. - Env Var: RCLONE_ZOHO_CLIENT_ID
  31271. - Type: string
  31272. - Required: false
  31273. --zoho-client-secret
  31274. OAuth Client Secret.
  31275. Leave blank normally.
  31276. Properties:
  31277. - Config: client_secret
  31278. - Env Var: RCLONE_ZOHO_CLIENT_SECRET
  31279. - Type: string
  31280. - Required: false
  31281. --zoho-region
  31282. Zoho region to connect to.
  31283. You'll have to use the region your organization is registered in. If not
  31284. sure use the same top level domain as you connect to in your browser.
  31285. Properties:
  31286. - Config: region
  31287. - Env Var: RCLONE_ZOHO_REGION
  31288. - Type: string
  31289. - Required: false
  31290. - Examples:
  31291. - "com"
  31292. - United states / Global
  31293. - "eu"
  31294. - Europe
  31295. - "in"
  31296. - India
  31297. - "jp"
  31298. - Japan
  31299. - "com.cn"
  31300. - China
  31301. - "com.au"
  31302. - Australia
  31303. Advanced options
  31304. Here are the Advanced options specific to zoho (Zoho).
  31305. --zoho-token
  31306. OAuth Access Token as a JSON blob.
  31307. Properties:
  31308. - Config: token
  31309. - Env Var: RCLONE_ZOHO_TOKEN
  31310. - Type: string
  31311. - Required: false
  31312. --zoho-auth-url
  31313. Auth server URL.
  31314. Leave blank to use the provider defaults.
  31315. Properties:
  31316. - Config: auth_url
  31317. - Env Var: RCLONE_ZOHO_AUTH_URL
  31318. - Type: string
  31319. - Required: false
  31320. --zoho-token-url
  31321. Token server url.
  31322. Leave blank to use the provider defaults.
  31323. Properties:
  31324. - Config: token_url
  31325. - Env Var: RCLONE_ZOHO_TOKEN_URL
  31326. - Type: string
  31327. - Required: false
  31328. --zoho-encoding
  31329. The encoding for the backend.
  31330. See the encoding section in the overview for more info.
  31331. Properties:
  31332. - Config: encoding
  31333. - Env Var: RCLONE_ZOHO_ENCODING
  31334. - Type: MultiEncoder
  31335. - Default: Del,Ctl,InvalidUtf8
  31336. Setting up your own client_id
  31337. For Zoho we advise you to set up your own client_id. To do so you have
  31338. to complete the following steps.
  31339. 1. Log in to the Zoho API Console
  31340. 2. Create a new client of type "Server-based Application". The name and
  31341. website don't matter, but you must add the redirect URL
  31342. http://localhost:53682/.
  31343. 3. Once the client is created, you can go to the settings tab and
  31344. enable it in other regions.
  31345. The client id and client secret can now be used with rclone.
  31346. Local Filesystem
  31347. Local paths are specified as normal filesystem paths, e.g.
  31348. /path/to/wherever, so
  31349. rclone sync --interactive /home/source /tmp/destination
  31350. Will sync /home/source to /tmp/destination.
  31351. Configuration
  31352. For consistencies sake one can also configure a remote of type local in
  31353. the config file, and access the local filesystem using rclone remote
  31354. paths, e.g. remote:path/to/wherever, but it is probably easier not to.
  31355. Modified time
  31356. Rclone reads and writes the modified time using an accuracy determined
  31357. by the OS. Typically this is 1ns on Linux, 10 ns on Windows and 1 Second
  31358. on OS X.
  31359. Filenames
  31360. Filenames should be encoded in UTF-8 on disk. This is the normal case
  31361. for Windows and OS X.
  31362. There is a bit more uncertainty in the Linux world, but new
  31363. distributions will have UTF-8 encoded files names. If you are using an
  31364. old Linux filesystem with non UTF-8 file names (e.g. latin1) then you
  31365. can use the convmv tool to convert the filesystem to UTF-8. This tool is
  31366. available in most distributions' package managers.
  31367. If an invalid (non-UTF8) filename is read, the invalid characters will
  31368. be replaced with a quoted representation of the invalid bytes. The name
  31369. gro\xdf will be transferred as gro‛DF. rclone will emit a debug message
  31370. in this case (use -v to see), e.g.
  31371. Local file system at .: Replacing invalid UTF-8 characters in "gro\xdf"
  31372. Restricted characters
  31373. With the local backend, restrictions on the characters that are usable
  31374. in file or directory names depend on the operating system. To check what
  31375. rclone will replace by default on your system, run
  31376. rclone help flags local-encoding.
  31377. On non Windows platforms the following characters are replaced when
  31378. handling file names.
  31379. Character Value Replacement
  31380. ----------- ------- -------------
  31381. NUL 0x00 ␀
  31382. / 0x2F /
  31383. When running on Windows the following characters are replaced. This list
  31384. is based on the Windows file naming conventions.
  31385. Character Value Replacement
  31386. ----------- ------- -------------
  31387. NUL 0x00 ␀
  31388. SOH 0x01 ␁
  31389. STX 0x02 ␂
  31390. ETX 0x03 ␃
  31391. EOT 0x04 ␄
  31392. ENQ 0x05 ␅
  31393. ACK 0x06 ␆
  31394. BEL 0x07 ␇
  31395. BS 0x08 ␈
  31396. HT 0x09 ␉
  31397. LF 0x0A ␊
  31398. VT 0x0B ␋
  31399. FF 0x0C ␌
  31400. CR 0x0D ␍
  31401. SO 0x0E ␎
  31402. SI 0x0F ␏
  31403. DLE 0x10 ␐
  31404. DC1 0x11 ␑
  31405. DC2 0x12 ␒
  31406. DC3 0x13 ␓
  31407. DC4 0x14 ␔
  31408. NAK 0x15 ␕
  31409. SYN 0x16 ␖
  31410. ETB 0x17 ␗
  31411. CAN 0x18 ␘
  31412. EM 0x19 ␙
  31413. SUB 0x1A ␚
  31414. ESC 0x1B ␛
  31415. FS 0x1C ␜
  31416. GS 0x1D ␝
  31417. RS 0x1E ␞
  31418. US 0x1F ␟
  31419. / 0x2F /
  31420. " 0x22 "
  31421. * 0x2A *
  31422. : 0x3A :
  31423. < 0x3C <
  31424. > 0x3E >
  31425. ? 0x3F ?
  31426. \ 0x5C \
  31427. | 0x7C |
  31428. File names on Windows can also not end with the following characters.
  31429. These only get replaced if they are the last character in the name:
  31430. Character Value Replacement
  31431. ----------- ------- -------------
  31432. SP 0x20 ␠
  31433. . 0x2E .
  31434. Invalid UTF-8 bytes will also be replaced, as they can't be converted to
  31435. UTF-16.
  31436. Paths on Windows
  31437. On Windows there are many ways of specifying a path to a file system
  31438. resource. Local paths can be absolute, like C:\path\to\wherever, or
  31439. relative, like ..\wherever. Network paths in UNC format, \\server\share,
  31440. are also supported. Path separator can be either \ (as in
  31441. C:\path\to\wherever) or / (as in C:/path/to/wherever). Length of these
  31442. paths are limited to 259 characters for files and 247 characters for
  31443. directories, but there is an alternative extended-length path format
  31444. increasing the limit to (approximately) 32,767 characters. This format
  31445. requires absolute paths and the use of prefix \\?\, e.g.
  31446. \\?\D:\some\very\long\path. For convenience rclone will automatically
  31447. convert regular paths into the corresponding extended-length paths, so
  31448. in most cases you do not have to worry about this (read more below).
  31449. Note that Windows supports using the same prefix \\?\ to specify path to
  31450. volumes identified by their GUID, e.g.
  31451. \\?\Volume{b75e2c83-0000-0000-0000-602f00000000}\some\path. This is not
  31452. supported in rclone, due to an issue in go.
  31453. Long paths
  31454. Rclone handles long paths automatically, by converting all paths to
  31455. extended-length path format, which allows paths up to 32,767 characters.
  31456. This conversion will ensure paths are absolute and prefix them with the
  31457. \\?\. This is why you will see that your paths, for instance .\files is
  31458. shown as path \\?\C:\files in the output, and \\server\share as
  31459. \\?\UNC\server\share.
  31460. However, in rare cases this may cause problems with buggy file system
  31461. drivers like EncFS. To disable UNC conversion globally, add this to your
  31462. .rclone.conf file:
  31463. [local]
  31464. nounc = true
  31465. If you want to selectively disable UNC, you can add it to a separate
  31466. entry like this:
  31467. [nounc]
  31468. type = local
  31469. nounc = true
  31470. And use rclone like this:
  31471. rclone copy c:\src nounc:z:\dst
  31472. This will use UNC paths on c:\src but not on z:\dst. Of course this will
  31473. cause problems if the absolute path length of a file exceeds 259
  31474. characters on z, so only use this option if you have to.
  31475. Symlinks / Junction points
  31476. Normally rclone will ignore symlinks or junction points (which behave
  31477. like symlinks under Windows).
  31478. If you supply --copy-links or -L then rclone will follow the symlink and
  31479. copy the pointed to file or directory. Note that this flag is
  31480. incompatible with --links / -l.
  31481. This flag applies to all commands.
  31482. For example, supposing you have a directory structure like this
  31483. $ tree /tmp/a
  31484. /tmp/a
  31485. ├── b -> ../b
  31486. ├── expected -> ../expected
  31487. ├── one
  31488. └── two
  31489. └── three
  31490. Then you can see the difference with and without the flag like this
  31491. $ rclone ls /tmp/a
  31492. 6 one
  31493. 6 two/three
  31494. and
  31495. $ rclone -L ls /tmp/a
  31496. 4174 expected
  31497. 6 one
  31498. 6 two/three
  31499. 6 b/two
  31500. 6 b/one
  31501. --links, -l
  31502. Normally rclone will ignore symlinks or junction points (which behave
  31503. like symlinks under Windows).
  31504. If you supply this flag then rclone will copy symbolic links from the
  31505. local storage, and store them as text files, with a '.rclonelink' suffix
  31506. in the remote storage.
  31507. The text file will contain the target of the symbolic link (see
  31508. example).
  31509. This flag applies to all commands.
  31510. For example, supposing you have a directory structure like this
  31511. $ tree /tmp/a
  31512. /tmp/a
  31513. ├── file1 -> ./file4
  31514. └── file2 -> /home/user/file3
  31515. Copying the entire directory with '-l'
  31516. $ rclone copyto -l /tmp/a/file1 remote:/tmp/a/
  31517. The remote files are created with a '.rclonelink' suffix
  31518. $ rclone ls remote:/tmp/a
  31519. 5 file1.rclonelink
  31520. 14 file2.rclonelink
  31521. The remote files will contain the target of the symbolic links
  31522. $ rclone cat remote:/tmp/a/file1.rclonelink
  31523. ./file4
  31524. $ rclone cat remote:/tmp/a/file2.rclonelink
  31525. /home/user/file3
  31526. Copying them back with '-l'
  31527. $ rclone copyto -l remote:/tmp/a/ /tmp/b/
  31528. $ tree /tmp/b
  31529. /tmp/b
  31530. ├── file1 -> ./file4
  31531. └── file2 -> /home/user/file3
  31532. However, if copied back without '-l'
  31533. $ rclone copyto remote:/tmp/a/ /tmp/b/
  31534. $ tree /tmp/b
  31535. /tmp/b
  31536. ├── file1.rclonelink
  31537. └── file2.rclonelink
  31538. Note that this flag is incompatible with -copy-links / -L.
  31539. Restricting filesystems with --one-file-system
  31540. Normally rclone will recurse through filesystems as mounted.
  31541. However if you set --one-file-system or -x this tells rclone to stay in
  31542. the filesystem specified by the root and not to recurse into different
  31543. file systems.
  31544. For example if you have a directory hierarchy like this
  31545. root
  31546. ├── disk1 - disk1 mounted on the root
  31547. │   └── file3 - stored on disk1
  31548. ├── disk2 - disk2 mounted on the root
  31549. │   └── file4 - stored on disk12
  31550. ├── file1 - stored on the root disk
  31551. └── file2 - stored on the root disk
  31552. Using rclone --one-file-system copy root remote: will only copy file1
  31553. and file2. Eg
  31554. $ rclone -q --one-file-system ls root
  31555. 0 file1
  31556. 0 file2
  31557. $ rclone -q ls root
  31558. 0 disk1/file3
  31559. 0 disk2/file4
  31560. 0 file1
  31561. 0 file2
  31562. NB Rclone (like most unix tools such as du, rsync and tar) treats a bind
  31563. mount to the same device as being on the same filesystem.
  31564. NB This flag is only available on Unix based systems. On systems where
  31565. it isn't supported (e.g. Windows) it will be ignored.
  31566. Advanced options
  31567. Here are the Advanced options specific to local (Local Disk).
  31568. --local-nounc
  31569. Disable UNC (long path names) conversion on Windows.
  31570. Properties:
  31571. - Config: nounc
  31572. - Env Var: RCLONE_LOCAL_NOUNC
  31573. - Type: bool
  31574. - Default: false
  31575. - Examples:
  31576. - "true"
  31577. - Disables long file names.
  31578. --copy-links / -L
  31579. Follow symlinks and copy the pointed to item.
  31580. Properties:
  31581. - Config: copy_links
  31582. - Env Var: RCLONE_LOCAL_COPY_LINKS
  31583. - Type: bool
  31584. - Default: false
  31585. --links / -l
  31586. Translate symlinks to/from regular files with a '.rclonelink' extension.
  31587. Properties:
  31588. - Config: links
  31589. - Env Var: RCLONE_LOCAL_LINKS
  31590. - Type: bool
  31591. - Default: false
  31592. --skip-links
  31593. Don't warn about skipped symlinks.
  31594. This flag disables warning messages on skipped symlinks or junction
  31595. points, as you explicitly acknowledge that they should be skipped.
  31596. Properties:
  31597. - Config: skip_links
  31598. - Env Var: RCLONE_LOCAL_SKIP_LINKS
  31599. - Type: bool
  31600. - Default: false
  31601. --local-zero-size-links
  31602. Assume the Stat size of links is zero (and read them instead)
  31603. (deprecated).
  31604. Rclone used to use the Stat size of links as the link size, but this
  31605. fails in quite a few places:
  31606. - Windows
  31607. - On some virtual filesystems (such ash LucidLink)
  31608. - Android
  31609. So rclone now always reads the link.
  31610. Properties:
  31611. - Config: zero_size_links
  31612. - Env Var: RCLONE_LOCAL_ZERO_SIZE_LINKS
  31613. - Type: bool
  31614. - Default: false
  31615. --local-unicode-normalization
  31616. Apply unicode NFC normalization to paths and filenames.
  31617. This flag can be used to normalize file names into unicode NFC form that
  31618. are read from the local filesystem.
  31619. Rclone does not normally touch the encoding of file names it reads from
  31620. the file system.
  31621. This can be useful when using macOS as it normally provides decomposed
  31622. (NFD) unicode which in some language (eg Korean) doesn't display
  31623. properly on some OSes.
  31624. Note that rclone compares filenames with unicode normalization in the
  31625. sync routine so this flag shouldn't normally be used.
  31626. Properties:
  31627. - Config: unicode_normalization
  31628. - Env Var: RCLONE_LOCAL_UNICODE_NORMALIZATION
  31629. - Type: bool
  31630. - Default: false
  31631. --local-no-check-updated
  31632. Don't check to see if the files change during upload.
  31633. Normally rclone checks the size and modification time of files as they
  31634. are being uploaded and aborts with a message which starts "can't copy -
  31635. source file is being updated" if the file changes during upload.
  31636. However on some file systems this modification time check may fail (e.g.
  31637. Glusterfs #2206) so this check can be disabled with this flag.
  31638. If this flag is set, rclone will use its best efforts to transfer a file
  31639. which is being updated. If the file is only having things appended to it
  31640. (e.g. a log) then rclone will transfer the log file with the size it had
  31641. the first time rclone saw it.
  31642. If the file is being modified throughout (not just appended to) then the
  31643. transfer may fail with a hash check failure.
  31644. In detail, once the file has had stat() called on it for the first time
  31645. we:
  31646. - Only transfer the size that stat gave
  31647. - Only checksum the size that stat gave
  31648. - Don't update the stat info for the file
  31649. Properties:
  31650. - Config: no_check_updated
  31651. - Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED
  31652. - Type: bool
  31653. - Default: false
  31654. --one-file-system / -x
  31655. Don't cross filesystem boundaries (unix/macOS only).
  31656. Properties:
  31657. - Config: one_file_system
  31658. - Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM
  31659. - Type: bool
  31660. - Default: false
  31661. --local-case-sensitive
  31662. Force the filesystem to report itself as case sensitive.
  31663. Normally the local backend declares itself as case insensitive on
  31664. Windows/macOS and case sensitive for everything else. Use this flag to
  31665. override the default choice.
  31666. Properties:
  31667. - Config: case_sensitive
  31668. - Env Var: RCLONE_LOCAL_CASE_SENSITIVE
  31669. - Type: bool
  31670. - Default: false
  31671. --local-case-insensitive
  31672. Force the filesystem to report itself as case insensitive.
  31673. Normally the local backend declares itself as case insensitive on
  31674. Windows/macOS and case sensitive for everything else. Use this flag to
  31675. override the default choice.
  31676. Properties:
  31677. - Config: case_insensitive
  31678. - Env Var: RCLONE_LOCAL_CASE_INSENSITIVE
  31679. - Type: bool
  31680. - Default: false
  31681. --local-no-preallocate
  31682. Disable preallocation of disk space for transferred files.
  31683. Preallocation of disk space helps prevent filesystem fragmentation.
  31684. However, some virtual filesystem layers (such as Google Drive File
  31685. Stream) may incorrectly set the actual file size equal to the
  31686. preallocated space, causing checksum and file size checks to fail. Use
  31687. this flag to disable preallocation.
  31688. Properties:
  31689. - Config: no_preallocate
  31690. - Env Var: RCLONE_LOCAL_NO_PREALLOCATE
  31691. - Type: bool
  31692. - Default: false
  31693. --local-no-sparse
  31694. Disable sparse files for multi-thread downloads.
  31695. On Windows platforms rclone will make sparse files when doing
  31696. multi-thread downloads. This avoids long pauses on large files where the
  31697. OS zeros the file. However sparse files may be undesirable as they cause
  31698. disk fragmentation and can be slow to work with.
  31699. Properties:
  31700. - Config: no_sparse
  31701. - Env Var: RCLONE_LOCAL_NO_SPARSE
  31702. - Type: bool
  31703. - Default: false
  31704. --local-no-set-modtime
  31705. Disable setting modtime.
  31706. Normally rclone updates modification time of files after they are done
  31707. uploading. This can cause permissions issues on Linux platforms when the
  31708. user rclone is running as does not own the file uploaded, such as when
  31709. copying to a CIFS mount owned by another user. If this option is
  31710. enabled, rclone will no longer update the modtime after copying a file.
  31711. Properties:
  31712. - Config: no_set_modtime
  31713. - Env Var: RCLONE_LOCAL_NO_SET_MODTIME
  31714. - Type: bool
  31715. - Default: false
  31716. --local-encoding
  31717. The encoding for the backend.
  31718. See the encoding section in the overview for more info.
  31719. Properties:
  31720. - Config: encoding
  31721. - Env Var: RCLONE_LOCAL_ENCODING
  31722. - Type: MultiEncoder
  31723. - Default: Slash,Dot
  31724. Metadata
  31725. Depending on which OS is in use the local backend may return only some
  31726. of the system metadata. Setting system metadata is supported on all OSes
  31727. but setting user metadata is only supported on linux, freebsd, netbsd,
  31728. macOS and Solaris. It is not supported on Windows yet (see
  31729. pkg/attrs#47).
  31730. User metadata is stored as extended attributes (which may not be
  31731. supported by all file systems) under the "user.*" prefix.
  31732. Here are the possible system metadata items for the local backend.
  31733. ---------------------------------------------------------------------------------------------------
  31734. Name Help Type Example Read Only
  31735. ----------- -------------- ------------- ------------------------------------- --------------------
  31736. atime Time of last RFC 3339 2006-01-02T15:04:05.999999999Z07:00 N
  31737. access
  31738. btime Time of file RFC 3339 2006-01-02T15:04:05.999999999Z07:00 N
  31739. birth
  31740. (creation)
  31741. gid Group ID of decimal 500 N
  31742. owner number
  31743. mode File type and octal, unix 0100664 N
  31744. mode style
  31745. mtime Time of last RFC 3339 2006-01-02T15:04:05.999999999Z07:00 N
  31746. modification
  31747. rdev Device ID (if hexadecimal 1abc N
  31748. special file)
  31749. uid User ID of decimal 500 N
  31750. owner number
  31751. ---------------------------------------------------------------------------------------------------
  31752. See the metadata docs for more info.
  31753. Backend commands
  31754. Here are the commands specific to the local backend.
  31755. Run them with
  31756. rclone backend COMMAND remote:
  31757. The help below will explain what arguments each command takes.
  31758. See the backend command for more info on how to pass options and
  31759. arguments.
  31760. These can be run on a running backend using the rc command
  31761. backend/command.
  31762. noop
  31763. A null operation for testing backend commands
  31764. rclone backend noop remote: [options] [<arguments>+]
  31765. This is a test command which has some options you can try to change the
  31766. output.
  31767. Options:
  31768. - "echo": echo the input arguments
  31769. - "error": return an error based on option value
  31770. Changelog
  31771. v1.63.0 - 2023-06-30
  31772. See commits
  31773. - New backends
  31774. - Pikpak (wiserain)
  31775. - New S3 providers
  31776. - petabox.io (Andrei Smirnov)
  31777. - Google Cloud Storage (Anthony Pessy)
  31778. - New WebDAV providers
  31779. - Fastmail (Arnavion)
  31780. - Major changes
  31781. - Files will be copied to a temporary name ending in .partial when
  31782. copying to local,ftp,sftp then renamed at the end of the
  31783. transfer. (Janne Hellsten, Nick Craig-Wood)
  31784. - This helps with data integrity as we don't delete the
  31785. existing file until the new one is complete.
  31786. - It can be disabled with the --inplace flag.
  31787. - This behaviour will also happen if the backend is wrapped,
  31788. for example sftp wrapped with crypt.
  31789. - The s3, azureblob and gcs backends now support directory markers
  31790. so empty directories are supported (Jānis Bebrītis, Nick
  31791. Craig-Wood)
  31792. - The --default-time flag now controls the unknown modification
  31793. time of files/dirs (Nick Craig-Wood)
  31794. - If a file or directory does not have a modification time
  31795. rclone can read then rclone will display this fixed time
  31796. instead.
  31797. - For the old behaviour use --default-time 0s which will set
  31798. this time to the time rclone started up.
  31799. - New Features
  31800. - build
  31801. - Modernise linters in use and fixup all affected code
  31802. (albertony)
  31803. - Push docker beta to GHCR (GitHub container registry)
  31804. (Richard Tweed)
  31805. - cat: Add --separator option to cat command (Loren Gordon)
  31806. - config
  31807. - Do not remove/overwrite other files during config file save
  31808. (albertony)
  31809. - Do not overwrite config file symbolic link (albertony)
  31810. - Stop config create making invalid config files (Nick
  31811. Craig-Wood)
  31812. - doc updates (Adam K, Aditya Basu, albertony, asdffdsazqqq, Damo,
  31813. danielkrajnik, Dimitri Papadopoulos, dlitster, Drew Parsons,
  31814. jumbi77, kapitainsky, mac-15, Mariusz Suchodolski, Nick
  31815. Craig-Wood, NickIAm, Rintze Zelle, Stanislav Gromov, Tareq
  31816. Sharafy, URenko, yuudi, Zach Kipp)
  31817. - fs
  31818. - Add size to JSON logs when moving or copying an object (Nick
  31819. Craig-Wood)
  31820. - Allow boolean features to be enabled with --disable !Feature
  31821. (Nick Craig-Wood)
  31822. - genautocomplete: Rename to completion with alias to the old name
  31823. (Nick Craig-Wood)
  31824. - librclone: Added example on using librclone with Go (alankrit)
  31825. - lsjson: Make --stat more efficient (Nick Craig-Wood)
  31826. - operations
  31827. - Implement --multi-thread-write-buffer-size for speed
  31828. improvements on downloads (Paulo Schreiner)
  31829. - Reopen downloads on error when using check --download and
  31830. cat (Nick Craig-Wood)
  31831. - rc: config/listremotes includes remotes defined with environment
  31832. variables (kapitainsky)
  31833. - selfupdate: Obey --no-check-certificate flag (Nick Craig-Wood)
  31834. - serve restic: Trigger systemd notify (Shyim)
  31835. - serve webdav: Implement owncloud checksum and modtime extensions
  31836. (WeidiDeng)
  31837. - sync: --suffix-keep-extension preserve 2 part extensions like
  31838. .tar.gz (Nick Craig-Wood)
  31839. - Bug Fixes
  31840. - accounting
  31841. - Fix Prometheus metrics to be the same as core/stats (Nick
  31842. Craig-Wood)
  31843. - Bwlimit signal handler should always start (Sam Lai)
  31844. - bisync: Fix maxDelete parameter being ignored via the rc (Nick
  31845. Craig-Wood)
  31846. - cmd/ncdu: Fix screen corruption when logging (eNV25)
  31847. - filter: Fix deadlock with errors on --files-from (douchen)
  31848. - fs
  31849. - Fix interaction between --progress and --interactive (Nick
  31850. Craig-Wood)
  31851. - Fix infinite recursive call in pacer ModifyCalculator (fixes
  31852. issue reported by the staticcheck linter) (albertony)
  31853. - lib/atexit: Ensure OnError only calls cancel function once (Nick
  31854. Craig-Wood)
  31855. - lib/rest: Fix problems re-using HTTP connections (Nick
  31856. Craig-Wood)
  31857. - rc
  31858. - Fix operations/stat with trailing / (Nick Craig-Wood)
  31859. - Fix missing --rc flags (Nick Craig-Wood)
  31860. - Fix output of Time values in options/get (Nick Craig-Wood)
  31861. - serve dlna: Fix potential data race (Nick Craig-Wood)
  31862. - version: Fix reported os/kernel version for windows (albertony)
  31863. - Mount
  31864. - Add --mount-case-insensitive to force the mount to be case
  31865. insensitive (Nick Craig-Wood)
  31866. - Removed unnecessary byte slice allocation for reads (Anagh Kumar
  31867. Baranwal)
  31868. - Clarify rclone mount error when installed via homebrew (Nick
  31869. Craig-Wood)
  31870. - Added _netdev to the example mount so it gets treated as a
  31871. remote-fs rather than local-fs (Anagh Kumar Baranwal)
  31872. - Mount2
  31873. - Updated go-fuse version (Anagh Kumar Baranwal)
  31874. - Fixed statfs (Anagh Kumar Baranwal)
  31875. - Disable xattrs (Anagh Kumar Baranwal)
  31876. - VFS
  31877. - Add MkdirAll function to make a directory and all beneath (Nick
  31878. Craig-Wood)
  31879. - Fix reload: failed to add virtual dir entry: file does not exist
  31880. (Nick Craig-Wood)
  31881. - Fix writing to a read only directory creating spurious directory
  31882. entries (WeidiDeng)
  31883. - Fix potential data race (Nick Craig-Wood)
  31884. - Fix backends being Shutdown too early when startup takes a long
  31885. time (Nick Craig-Wood)
  31886. - Local
  31887. - Fix filtering of symlinks with -l/--links flag (Nick Craig-Wood)
  31888. - Fix /path/to/file.rclonelink when -l/--links is in use (Nick
  31889. Craig-Wood)
  31890. - Fix crash with --metadata on Android (Nick Craig-Wood)
  31891. - Cache
  31892. - Fix backends shutting down when in use when used via the rc
  31893. (Nick Craig-Wood)
  31894. - Crypt
  31895. - Add --crypt-suffix option to set a custom suffix for encrypted
  31896. files (jladbrook)
  31897. - Add --crypt-pass-bad-blocks to allow corrupted file output (Nick
  31898. Craig-Wood)
  31899. - Fix reading 0 length files (Nick Craig-Wood)
  31900. - Try not to return "unexpected EOF" error (Nick Craig-Wood)
  31901. - Reduce allocations (albertony)
  31902. - Recommend Dropbox for base32768 encoding (Nick Craig-Wood)
  31903. - Azure Blob
  31904. - Empty directory markers (Nick Craig-Wood)
  31905. - Support azure workload identities (Tareq Sharafy)
  31906. - Fix azure blob uploads with multiple bits of metadata (Nick
  31907. Craig-Wood)
  31908. - Fix azurite compatibility by sending nil tier if set to empty
  31909. string (Roel Arents)
  31910. - Combine
  31911. - Implement missing methods (Nick Craig-Wood)
  31912. - Fix goroutine stack overflow on bad object (Nick Craig-Wood)
  31913. - Drive
  31914. - Add --drive-env-auth to get IAM credentials from runtime (Peter
  31915. Brunner)
  31916. - Update drive service account guide (Juang, Yi-Lin)
  31917. - Fix change notify picking up files outside the root (Nick
  31918. Craig-Wood)
  31919. - Fix trailing slash mis-identificaton of folder as file (Nick
  31920. Craig-Wood)
  31921. - Fix incorrect remote after Update on object (Nick Craig-Wood)
  31922. - Dropbox
  31923. - Implement --dropbox-pacer-min-sleep flag (Nick Craig-Wood)
  31924. - Fix the dropbox batcher stalling (Misty)
  31925. - Fichier
  31926. - Add --ficicher-cdn option to use the CDN for download (Nick
  31927. Craig-Wood)
  31928. - FTP
  31929. - Lower log message priority when SetModTime is not supported to
  31930. debug (Tobias Gion)
  31931. - Fix "unsupported LIST line" errors on startup (Nick Craig-Wood)
  31932. - Fix "501 Not a valid pathname." errors when creating directories
  31933. (Nick Craig-Wood)
  31934. - Google Cloud Storage
  31935. - Empty directory markers (Jānis Bebrītis, Nick Craig-Wood)
  31936. - Added --gcs-user-project needed for requester pays (Christopher
  31937. Merry)
  31938. - HTTP
  31939. - Add client certificate user auth middleware. This can auth
  31940. serve restic from the username in the client cert. (Peter Fern)
  31941. - Jottacloud
  31942. - Fix vfs writeback stuck in a failed upload loop with file
  31943. versioning disabled (albertony)
  31944. - Onedrive
  31945. - Add --onedrive-av-override flag to download files flagged as
  31946. virus (Nick Craig-Wood)
  31947. - Fix quickxorhash on 32 bit architectures (Nick Craig-Wood)
  31948. - Report any list errors during rclone cleanup (albertony)
  31949. - Putio
  31950. - Fix uploading to the wrong object on Update with overriden
  31951. remote name (Nick Craig-Wood)
  31952. - Fix modification times not being preserved for server side copy
  31953. and move (Nick Craig-Wood)
  31954. - Fix server side copy failures (400 errors) (Nick Craig-Wood)
  31955. - S3
  31956. - Empty directory markers (Jānis Bebrītis, Nick Craig-Wood)
  31957. - Update Scaleway storage classes (Brian Starkey)
  31958. - Fix --s3-versions on individual objects (Nick Craig-Wood)
  31959. - Fix hang on aborting multpart upload with iDrive e2 (Nick
  31960. Craig-Wood)
  31961. - Fix missing "tier" metadata (Nick Craig-Wood)
  31962. - Fix V3sign: add missing subresource delete (cc)
  31963. - Fix Arvancloud Domain and region changes and alphabetise the
  31964. provider (Ehsan Tadayon)
  31965. - Fix Qiniu KODO quirks virtualHostStyle is false (zzq)
  31966. - SFTP
  31967. - Add --sftp-host-key-algorithms to allow specifying SSH host key
  31968. algorithms (Joel)
  31969. - Fix using --sftp-key-use-agent and --sftp-key-file together
  31970. needing private key file (Arnav Singh)
  31971. - Fix move to allow overwriting existing files (Nick Craig-Wood)
  31972. - Don't stat directories before listing them (Nick Craig-Wood)
  31973. - Don't check remote points to a file if it ends with / (Nick
  31974. Craig-Wood)
  31975. - Sharefile
  31976. - Disable streamed transfers as they no longer work (Nick
  31977. Craig-Wood)
  31978. - Smb
  31979. - Code cleanup to avoid overwriting ctx before first use (fixes
  31980. issue reported by the staticcheck linter) (albertony)
  31981. - Storj
  31982. - Fix "uplink: too many requests" errors when uploading to the
  31983. same file (Nick Craig-Wood)
  31984. - Fix uploading to the wrong object on Update with overriden
  31985. remote name (Nick Craig-Wood)
  31986. - Swift
  31987. - Ignore 404 error when deleting an object (Nick Craig-Wood)
  31988. - Union
  31989. - Implement missing methods (Nick Craig-Wood)
  31990. - Allow errors to be unwrapped for inspection (Nick Craig-Wood)
  31991. - Uptobox
  31992. - Add --uptobox-private flag to make all uploaded files private
  31993. (Nick Craig-Wood)
  31994. - Fix improper regex (Aaron Gokaslan)
  31995. - Fix Update returning the wrong object (Nick Craig-Wood)
  31996. - Fix rmdir declaring that directories weren't empty (Nick
  31997. Craig-Wood)
  31998. - WebDAV
  31999. - nextcloud: Add support for chunked uploads (Paul)
  32000. - Set modtime using propset for owncloud and nextcloud (WeidiDeng)
  32001. - Make pacer minSleep configurable with --webdav-pacer-min-sleep
  32002. (ed)
  32003. - Fix server side copy/move not overwriting (WeidiDeng)
  32004. - Fix modtime on server side copy for owncloud and nextcloud (Nick
  32005. Craig-Wood)
  32006. - Yandex
  32007. - Fix 400 Bad Request on transfer failure (Nick Craig-Wood)
  32008. - Zoho
  32009. - Fix downloads with Range: header returning the wrong data (Nick
  32010. Craig-Wood)
  32011. v1.62.2 - 2023-03-16
  32012. See commits
  32013. - Bug Fixes
  32014. - docker volume plugin: Add missing fuse3 dependency (Nick
  32015. Craig-Wood)
  32016. - docs: Fix size documentation (asdffdsazqqq)
  32017. - FTP
  32018. - Fix 426 errors on downloads with vsftpd (Lesmiscore)
  32019. v1.62.1 - 2023-03-15
  32020. See commits
  32021. - Bug Fixes
  32022. - docker: Add missing fuse3 dependency (cycneuramus)
  32023. - build: Update release docs to be more careful with the tag (Nick
  32024. Craig-Wood)
  32025. - build: Set Github release to draft while uploading binaries
  32026. (Nick Craig-Wood)
  32027. v1.62.0 - 2023-03-14
  32028. See commits
  32029. - New Features
  32030. - accounting: Make checkers show what they are doing (Nick
  32031. Craig-Wood)
  32032. - authorize: Add support for custom templates (Hunter Wittenborn)
  32033. - build
  32034. - Update to go1.20 (Nick Craig-Wood, Anagh Kumar Baranwal)
  32035. - Add winget releaser workflow (Ryan Caezar Itang)
  32036. - Add dependabot (Ryan Caezar Itang)
  32037. - doc updates (albertony, Bryan Kaplan, Gerard Bosch,
  32038. IMTheNachoMan, Justin Winokur, Manoj Ghosh, Nick Craig-Wood, Ole
  32039. Frost, Peter Brunner, piyushgarg, Ryan Caezar Itang, Simmon Li,
  32040. ToBeFree)
  32041. - filter: Emit INFO message when can't work out directory filters
  32042. (Nick Craig-Wood)
  32043. - fs
  32044. - Added multiple ca certificate support. (alankrit)
  32045. - Add --max-delete-size a delete size threshold (Leandro
  32046. Sacchet)
  32047. - fspath: Allow the symbols @ and + in remote names (albertony)
  32048. - lib/terminal: Enable windows console virtual terminal sequences
  32049. processing (ANSI/VT100 colors) (albertony)
  32050. - move: If --check-first and --order-by are set then delete with
  32051. perfect ordering (Nick Craig-Wood)
  32052. - serve http: Support --auth-proxy (Matthias Baur)
  32053. - Bug Fixes
  32054. - accounting
  32055. - Avoid negative ETA values for very slow speeds (albertony)
  32056. - Limit length of ETA string (albertony)
  32057. - Show human readable elapsed time when longer than a day
  32058. (albertony)
  32059. - all: Apply codeql fixes (Aaron Gokaslan)
  32060. - build
  32061. - Fix condition for manual workflow run (albertony)
  32062. - Fix building for ARMv5 and ARMv6 (albertony)
  32063. - selfupdate: Consider ARM version
  32064. - install.sh: fix ARMv6 download
  32065. - version: Report ARM version
  32066. - deletefile: Return error code 4 if file does not exist (Nick
  32067. Craig-Wood)
  32068. - docker: Fix volume plugin does not remount volume on docker
  32069. restart (logopk)
  32070. - fs: Fix race conditions in --max-delete and --max-delete-size
  32071. (Nick Craig-Wood)
  32072. - lib/oauthutil: Handle fatal errors better (Alex Chen)
  32073. - mount2: Fix --allow-non-empty (Nick Craig-Wood)
  32074. - operations: Fix concurrency: use --checkers unless transferring
  32075. files (Nick Craig-Wood)
  32076. - serve ftp: Fix timestamps older than 1 year in listings (Nick
  32077. Craig-Wood)
  32078. - sync: Fix concurrency: use --checkers unless transferring files
  32079. (Nick Craig-Wood)
  32080. - tree
  32081. - Fix nil pointer exception on stat failure (Nick Craig-Wood)
  32082. - Fix colored output on windows (albertony)
  32083. - Fix display of files with illegal Windows file system names
  32084. (Nick Craig-Wood)
  32085. - Mount
  32086. - Fix creating and renaming files on case insensitive backends
  32087. (Nick Craig-Wood)
  32088. - Do not treat \\?\ prefixed paths as network share paths on
  32089. windows (albertony)
  32090. - Fix check for empty mount point on Linux (Nick Craig-Wood)
  32091. - Fix --allow-non-empty (Nick Craig-Wood)
  32092. - Avoid incorrect or premature overlap check on windows
  32093. (albertony)
  32094. - Update to fuse3 after bazil.org/fuse update (Nick Craig-Wood)
  32095. - VFS
  32096. - Make uploaded files retain modtime with non-modtime backends
  32097. (Nick Craig-Wood)
  32098. - Fix incorrect modtime on fs which don't support setting modtime
  32099. (Nick Craig-Wood)
  32100. - Fix rename of directory containing files to be uploaded (Nick
  32101. Craig-Wood)
  32102. - Local
  32103. - Fix %!w(<nil>) in "failed to read directory" error (Marks
  32104. Polakovs)
  32105. - Fix exclusion of dangling symlinks with -L/--copy-links (Nick
  32106. Craig-Wood)
  32107. - Crypt
  32108. - Obey --ignore-checksum (Nick Craig-Wood)
  32109. - Fix for unencrypted directory names on case insensitive remotes
  32110. (Ole Frost)
  32111. - Azure Blob
  32112. - Remove workarounds for SDK bugs after v0.6.1 update (Nick
  32113. Craig-Wood)
  32114. - B2
  32115. - Fix uploading files bigger than 1TiB (Nick Craig-Wood)
  32116. - Drive
  32117. - Note that --drive-acknowledge-abuse needs SA Manager permission
  32118. (Nick Craig-Wood)
  32119. - Make --drive-stop-on-upload-limit to respond to
  32120. storageQuotaExceeded (Ninh Pham)
  32121. - FTP
  32122. - Retry 426 errors (Nick Craig-Wood)
  32123. - Retry errors when initiating downloads (Nick Craig-Wood)
  32124. - Revert to upstream github.com/jlaffaye/ftp now fix is merged
  32125. (Nick Craig-Wood)
  32126. - Google Cloud Storage
  32127. - Add --gcs-env-auth to pick up IAM credentials from env/instance
  32128. (Peter Brunner)
  32129. - Mega
  32130. - Add --mega-use-https flag (NodudeWasTaken)
  32131. - Onedrive
  32132. - Default onedrive personal to QuickXorHash as Microsoft is
  32133. removing SHA1 (Nick Craig-Wood)
  32134. - Add --onedrive-hash-type to change the hash in use (Nick
  32135. Craig-Wood)
  32136. - Improve speed of QuickXorHash (LXY)
  32137. - Oracle Object Storage
  32138. - Speed up operations by using S3 pacer and setting minsleep to
  32139. 10ms (Manoj Ghosh)
  32140. - Expose the storage_tier option in config (Manoj Ghosh)
  32141. - Bring your own encryption keys (Manoj Ghosh)
  32142. - S3
  32143. - Check multipart upload ETag when --s3-no-head is in use (Nick
  32144. Craig-Wood)
  32145. - Add --s3-sts-endpoint to specify STS endpoint (Nick Craig-Wood)
  32146. - Fix incorrect tier support for StorJ and IDrive when pointing at
  32147. a file (Ole Frost)
  32148. - Fix AWS STS failing if --s3-endpoint is set (Nick Craig-Wood)
  32149. - Make purge remove directory markers too (Nick Craig-Wood)
  32150. - Seafile
  32151. - Renew library password (Fred)
  32152. - SFTP
  32153. - Fix uploads being 65% slower than they should be with crypt
  32154. (Nick Craig-Wood)
  32155. - Smb
  32156. - Allow SPN (service principal name) to be configured (Nick
  32157. Craig-Wood)
  32158. - Check smb connection is closed (happyxhw)
  32159. - Storj
  32160. - Implement rclone link (Kaloyan Raev)
  32161. - Implement rclone purge (Kaloyan Raev)
  32162. - Update satellite urls and labels (Kaloyan Raev)
  32163. - WebDAV
  32164. - Fix interop with davrods server (Nick Craig-Wood)
  32165. v1.61.1 - 2022-12-23
  32166. See commits
  32167. - Bug Fixes
  32168. - docs:
  32169. - Show only significant parts of version number in version
  32170. introduced label (albertony)
  32171. - Fix unescaped HTML (Nick Craig-Wood)
  32172. - lib/http: Shutdown all servers on exit to remove unix socket
  32173. (Nick Craig-Wood)
  32174. - rc: Fix --rc-addr flag (which is an alternate for --url) (Anagh
  32175. Kumar Baranwal)
  32176. - serve restic
  32177. - Don't serve via http if serving via --stdio (Nick
  32178. Craig-Wood)
  32179. - Fix immediate exit when not using stdio (Nick Craig-Wood)
  32180. - serve webdav
  32181. - Fix --baseurl handling after lib/http refactor (Nick
  32182. Craig-Wood)
  32183. - Fix running duplicate Serve call (Nick Craig-Wood)
  32184. - Azure Blob
  32185. - Fix "409 Public access is not permitted on this storage account"
  32186. (Nick Craig-Wood)
  32187. - S3
  32188. - storj: Update endpoints (Kaloyan Raev)
  32189. v1.61.0 - 2022-12-20
  32190. See commits
  32191. - New backends
  32192. - New S3 providers
  32193. - Liara LOS (MohammadReza)
  32194. - New Features
  32195. - build: Add vulnerability testing using govulncheck (albertony)
  32196. - cmd: Enable SIGINFO (Ctrl-T) handler on FreeBSD, NetBSD, OpenBSD
  32197. and Dragonfly BSD (x3-apptech)
  32198. - config: Add config/setpath for setting config path via
  32199. rc/librclone (Nick Craig-Wood)
  32200. - dedupe
  32201. - Count Checks in the stats while scanning for duplicates
  32202. (Nick Craig-Wood)
  32203. - Make dedupe obey the filters (Nick Craig-Wood)
  32204. - dlna: Properly attribute code used from
  32205. https://github.com/anacrolix/dms (Nick Craig-Wood)
  32206. - docs
  32207. - Add minimum versions and status badges to backend and
  32208. command docs (Nick Craig-Wood, albertony)
  32209. - Remote names may not start or end with space (albertony)
  32210. - filter: Add metadata filters --metadata-include/exclude/filter
  32211. and friends (Nick Craig-Wood)
  32212. - fs
  32213. - Make all duration flags take y, M, w, d etc suffixes (Nick
  32214. Craig-Wood)
  32215. - Add global flag --color to control terminal colors (Kevin
  32216. Verstaen)
  32217. - fspath: Allow unicode numbers and letters in remote names
  32218. (albertony)
  32219. - lib/file: Improve error message for creating dir on non-existent
  32220. network host on windows (albertony)
  32221. - lib/http: Finish port of rclone servers to lib/http (Tom
  32222. Mombourquette, Nick Craig-Wood)
  32223. - lib/oauthutil: Improved usability of config flows needing web
  32224. browser (Ole Frost)
  32225. - ncdu
  32226. - Add support for modification time (albertony)
  32227. - Fallback to sort by name also for sort by average size
  32228. (albertony)
  32229. - Rework to use tcell directly instead of the termbox wrapper
  32230. (eNV25)
  32231. - rc: Add commands to set GC Percent & Memory Limit (go 1.19+)
  32232. (Anagh Kumar Baranwal)
  32233. - rcat: Preserve metadata when Copy falls back to Rcat (Nick
  32234. Craig-Wood)
  32235. - rcd: Refactor rclone rc server to use lib/http (Nick Craig-Wood)
  32236. - rcserver: Avoid generating default credentials with htpasswd
  32237. (Kamui)
  32238. - restic: Refactor to use lib/http (Nolan Woods)
  32239. - serve http: Support unix sockets and multiple listeners (Tom
  32240. Mombourquette)
  32241. - serve webdav: Refactor to use lib/http (Nick Craig-Wood)
  32242. - test: Replace defer cleanup with t.Cleanup (Eng Zer Jun)
  32243. - test memory: Read metadata if -M flag is specified (Nick
  32244. Craig-Wood)
  32245. - wasm: Comply with wasm_exec.js licence terms (Matthew Vernon)
  32246. - Bug Fixes
  32247. - build: Update golang.org/x/net/http2 to fix GO-2022-1144 (Nick
  32248. Craig-Wood)
  32249. - restic: Fix typo in docs 'remove' should be 'remote'
  32250. (asdffdsazqqq)
  32251. - serve dlna: Fix panic: Logger uninitialized. (Nick Craig-Wood)
  32252. - Mount
  32253. - Update cgofuse for FUSE-T support for mounting volumes on Mac
  32254. (Nick Craig-Wood)
  32255. - VFS
  32256. - Windows: fix slow opening of exe files by not truncating files
  32257. when not necessary (Nick Craig-Wood)
  32258. - Fix IO Error opening a file with O_CREATE|O_RDONLY in
  32259. --vfs-cache-mode not full (Nick Craig-Wood)
  32260. - Crypt
  32261. - Fix compress wrapping crypt giving upload errors (Nick
  32262. Craig-Wood)
  32263. - Azure Blob
  32264. - Port to new SDK (Nick Craig-Wood)
  32265. - Revamp authentication to include all methods and docs (Nick
  32266. Craig-Wood)
  32267. - Port old authentication methods to new SDK (Nick Craig-Wood,
  32268. Brad Ackerman)
  32269. - Thanks to Stonebranch for sponsoring this work.
  32270. - Add --azureblob-no-check-container to assume container exists
  32271. (Nick Craig-Wood)
  32272. - Add --use-server-modtime support (Abdullah Saglam)
  32273. - Add support for custom upload headers (rkettelerij)
  32274. - Allow emulator account/key override (Roel Arents)
  32275. - Support simple "environment credentials" (Nathaniel Wesley
  32276. Filardo)
  32277. - Ignore AuthorizationFailure when trying to create a create a
  32278. container (Nick Craig-Wood)
  32279. - Box
  32280. - Added note on Box API rate limits (Ole Frost)
  32281. - Drive
  32282. - Handle shared drives with leading/trailing space in name
  32283. (related to) (albertony)
  32284. - FTP
  32285. - Update help text of implicit/explicit TLS options to refer to
  32286. FTPS instead of FTP (ycdtosa)
  32287. - Improve performance to speed up --files-from and NewObject
  32288. (Anthony Pessy)
  32289. - HTTP
  32290. - Parse GET responses when no_head is set (Arnie97)
  32291. - Do not update object size based on Range requests (Arnie97)
  32292. - Support Content-Range response header (Arnie97)
  32293. - Onedrive
  32294. - Document workaround for shared with me files (vanplus)
  32295. - S3
  32296. - Add Liara LOS to provider list (MohammadReza)
  32297. - Add DigitalOcean Spaces regions sfo3, fra1, syd1 (Jack)
  32298. - Avoid privileged GetBucketLocation to resolve s3 region (Anthony
  32299. Pessy)
  32300. - Stop setting object and bucket ACL to private if it is an empty
  32301. string (Philip Harvey)
  32302. - If bucket or object ACL is empty string then don't add
  32303. X-Amz-Acl: header (Nick Craig-Wood)
  32304. - Reduce memory consumption for s3 objects (Erik Agterdenbos)
  32305. - Fix listing loop when using v2 listing on v1 server (Nick
  32306. Craig-Wood)
  32307. - Fix nil pointer exception when using Versions (Nick Craig-Wood)
  32308. - Fix excess memory usage when using versions (Nick Craig-Wood)
  32309. - Ignore versionIDs from uploads unless using --s3-versions or
  32310. --s3-versions-at (Nick Craig-Wood)
  32311. - SFTP
  32312. - Add configuration options to set ssh Ciphers / MACs /
  32313. KeyExchange (dgouju)
  32314. - Auto-detect shell type for fish (albertony)
  32315. - Fix NewObject with leading / (Nick Craig-Wood)
  32316. - Smb
  32317. - Fix issue where spurious dot directory is created (albertony)
  32318. - Storj
  32319. - Implement server side Copy (Kaloyan Raev)
  32320. v1.60.1 - 2022-11-17
  32321. See commits
  32322. - Bug Fixes
  32323. - lib/cache: Fix alias backend shutting down too soon (Nick
  32324. Craig-Wood)
  32325. - wasm: Fix walltime link error by adding up-to-date wasm_exec.js
  32326. (João Henrique Franco)
  32327. - docs
  32328. - Update faq.md with bisync (Samuel Johnson)
  32329. - Corrected download links in windows install docs
  32330. (coultonluke)
  32331. - Add direct download link for windows arm64 (albertony)
  32332. - Remove link to rclone slack as it is no longer supported
  32333. (Nick Craig-Wood)
  32334. - Faq: how to use a proxy server that requires a username and
  32335. password (asdffdsazqqq)
  32336. - Oracle-object-storage: doc fix (Manoj Ghosh)
  32337. - Fix typo remove in rclone_serve_restic command (Joda Stößer)
  32338. - Fix character that was incorrectly interpreted as markdown
  32339. (Clément Notin)
  32340. - VFS
  32341. - Fix deadlock caused by cache cleaner and upload finishing (Nick
  32342. Craig-Wood)
  32343. - Local
  32344. - Clean absolute paths (albertony)
  32345. - Fix -L/--copy-links with filters missing directories (Nick
  32346. Craig-Wood)
  32347. - Mailru
  32348. - Note that an app password is now needed (Nick Craig-Wood)
  32349. - Allow timestamps to be before the epoch 1970-01-01 (Nick
  32350. Craig-Wood)
  32351. - S3
  32352. - Add provider quirk --s3-might-gzip to fix corrupted on transfer:
  32353. sizes differ (Nick Craig-Wood)
  32354. - Allow Storj to server side copy since it seems to work now (Nick
  32355. Craig-Wood)
  32356. - Fix for unchecked err value in s3 listv2 (Aaron Gokaslan)
  32357. - Add additional Wasabi locations (techknowlogick)
  32358. - Smb
  32359. - Fix Failed to sync: context canceled at the end of syncs (Nick
  32360. Craig-Wood)
  32361. - WebDAV
  32362. - Fix Move/Copy/DirMove when using -server-side-across-configs
  32363. (Nick Craig-Wood)
  32364. v1.60.0 - 2022-10-21
  32365. See commits
  32366. - New backends
  32367. - Oracle object storage (Manoj Ghosh)
  32368. - SMB / CIFS (Windows file sharing) (Lesmiscore)
  32369. - New S3 providers
  32370. - IONOS Cloud Storage (Dmitry Deniskin)
  32371. - Qiniu KODO (Bachue Zhou)
  32372. - New Features
  32373. - build
  32374. - Update to go1.19 and make go1.17 the minimum required
  32375. version (Nick Craig-Wood)
  32376. - Install.sh: fix arm-v7 download (Ole Frost)
  32377. - fs: Warn the user when using an existing remote name without a
  32378. colon (Nick Craig-Wood)
  32379. - httplib: Add --xxx-min-tls-version option to select minimum TLS
  32380. version for HTTP servers (Robert Newson)
  32381. - librclone: Add PHP bindings and test program (Jordi Gonzalez
  32382. Muñoz)
  32383. - operations
  32384. - Add --server-side-across-configs global flag for any backend
  32385. (Nick Craig-Wood)
  32386. - Optimise --copy-dest and --compare-dest (Nick Craig-Wood)
  32387. - rc: add job/stopgroup to stop group (Evan Spensley)
  32388. - serve dlna
  32389. - Add --announce-interval to control SSDP Announce Interval
  32390. (YanceyChiew)
  32391. - Add --interface to Specify SSDP interface names line (Simon
  32392. Bos)
  32393. - Add support for more external subtitles (YanceyChiew)
  32394. - Add verification of addresses (YanceyChiew)
  32395. - sync: Optimise --copy-dest and --compare-dest (Nick Craig-Wood)
  32396. - doc updates (albertony, Alexander Knorr, anonion, João Henrique
  32397. Franco, Josh Soref, Lorenzo Milesi, Marco Molteni, Mark Trolley,
  32398. Ole Frost, partev, Ryan Morey, Tom Mombourquette, YFdyh000)
  32399. - Bug Fixes
  32400. - filter
  32401. - Fix incorrect filtering with UseFilter context flag and
  32402. wrapping backends (Nick Craig-Wood)
  32403. - Make sure we check --files-from when looking for a single
  32404. file (Nick Craig-Wood)
  32405. - rc
  32406. - Fix mount/listmounts not returning the full Fs entered in
  32407. mount/mount (Tom Mombourquette)
  32408. - Handle external unmount when mounting (Isaac Aymerich)
  32409. - Validate Daemon option is not set when mounting a volume via
  32410. RC (Isaac Aymerich)
  32411. - sync: Update docs and error messages to reflect fixes to overlap
  32412. checks (Nick Naumann)
  32413. - VFS
  32414. - Reduce memory use by embedding sync.Cond (Nick Craig-Wood)
  32415. - Reduce memory usage by re-ordering commonly used structures
  32416. (Nick Craig-Wood)
  32417. - Fix excess CPU used by VFS cache cleaner looping (Nick
  32418. Craig-Wood)
  32419. - Local
  32420. - Obey file filters in listing to fix errors on excluded files
  32421. (Nick Craig-Wood)
  32422. - Fix "Failed to read metadata: function not implemented" on old
  32423. Linux kernels (Nick Craig-Wood)
  32424. - Compress
  32425. - Fix crash due to nil metadata (Nick Craig-Wood)
  32426. - Fix error handling to not use or return nil objects (Nick
  32427. Craig-Wood)
  32428. - Drive
  32429. - Make --drive-stop-on-upload-limit obey quota exceeded error
  32430. (Steve Kowalik)
  32431. - FTP
  32432. - Add --ftp-force-list-hidden option to show hidden items (Øyvind
  32433. Heddeland Instefjord)
  32434. - Fix hang when using ExplicitTLS to certain servers. (Nick
  32435. Craig-Wood)
  32436. - Google Cloud Storage
  32437. - Add --gcs-endpoint flag and config parameter (Nick Craig-Wood)
  32438. - Hubic
  32439. - Remove backend as service has now shut down (Nick Craig-Wood)
  32440. - Onedrive
  32441. - Rename Onedrive(cn) 21Vianet to Vnet Group (Yen Hu)
  32442. - Disable change notify in China region since it is not supported
  32443. (Nick Craig-Wood)
  32444. - S3
  32445. - Implement --s3-versions flag to show old versions of objects if
  32446. enabled (Nick Craig-Wood)
  32447. - Implement --s3-version-at flag to show versions of objects at a
  32448. particular time (Nick Craig-Wood)
  32449. - Implement backend versioning command to get/set bucket
  32450. versioning (Nick Craig-Wood)
  32451. - Implement Purge to purge versions and backend cleanup-hidden
  32452. (Nick Craig-Wood)
  32453. - Add --s3-decompress flag to decompress gzip-encoded files (Nick
  32454. Craig-Wood)
  32455. - Add --s3-sse-customer-key-base64 to supply keys with binary data
  32456. (Richard Bateman)
  32457. - Try to keep the maximum precision in ModTime with
  32458. --user-server-modtime (Nick Craig-Wood)
  32459. - Drop binary metadata with an ERROR message as it can't be stored
  32460. (Nick Craig-Wood)
  32461. - Add --s3-no-system-metadata to suppress read and write of system
  32462. metadata (Nick Craig-Wood)
  32463. - SFTP
  32464. - Fix directory creation races (Lesmiscore)
  32465. - Swift
  32466. - Add --swift-no-large-objects to reduce HEAD requests (Nick
  32467. Craig-Wood)
  32468. - Union
  32469. - Propagate SlowHash feature to fix hasher interaction
  32470. (Lesmiscore)
  32471. v1.59.2 - 2022-09-15
  32472. See commits
  32473. - Bug Fixes
  32474. - config: Move locking to fix fatal error: concurrent map read and
  32475. map write (Nick Craig-Wood)
  32476. - Local
  32477. - Disable xattr support if the filesystems indicates it is not
  32478. supported (Nick Craig-Wood)
  32479. - Azure Blob
  32480. - Fix chunksize calculations producing too many parts (Nick
  32481. Craig-Wood)
  32482. - B2
  32483. - Fix chunksize calculations producing too many parts (Nick
  32484. Craig-Wood)
  32485. - S3
  32486. - Fix chunksize calculations producing too many parts (Nick
  32487. Craig-Wood)
  32488. v1.59.1 - 2022-08-08
  32489. See commits
  32490. - Bug Fixes
  32491. - accounting: Fix panic in core/stats-reset with unknown group
  32492. (Nick Craig-Wood)
  32493. - build: Fix android build after GitHub actions change (Nick
  32494. Craig-Wood)
  32495. - dlna: Fix SOAP action header parsing (Joram Schrijver)
  32496. - docs: Fix links to mount command from install docs (albertony)
  32497. - dropbox: Fix ChangeNotify was unable to decrypt errors (Nick
  32498. Craig-Wood)
  32499. - fs: Fix parsing of times and durations of the form "YYYY-MM-DD
  32500. HH:MM:SS" (Nick Craig-Wood)
  32501. - serve sftp: Fix checksum detection (Nick Craig-Wood)
  32502. - sync: Add accidentally missed filter-sensitivity to --backup-dir
  32503. option (Nick Naumann)
  32504. - Combine
  32505. - Fix docs showing remote= instead of upstreams= (Nick Craig-Wood)
  32506. - Throw error if duplicate directory name is specified (Nick
  32507. Craig-Wood)
  32508. - Fix errors with backends shutting down while in use (Nick
  32509. Craig-Wood)
  32510. - Dropbox
  32511. - Fix hang on quit with --dropbox-batch-mode off (Nick Craig-Wood)
  32512. - Fix infinite loop on uploading a corrupted file (Nick
  32513. Craig-Wood)
  32514. - Internetarchive
  32515. - Ignore checksums for files using the different method
  32516. (Lesmiscore)
  32517. - Handle hash symbol in the middle of filename (Lesmiscore)
  32518. - Jottacloud
  32519. - Fix working with whitelabel Elgiganten Cloud
  32520. - Do not store username in config when using standard auth
  32521. (albertony)
  32522. - Mega
  32523. - Fix nil pointer exception when bad node received (Nick
  32524. Craig-Wood)
  32525. - S3
  32526. - Fix --s3-no-head panic: reflect: Elem of invalid type
  32527. s3.PutObjectInput (Nick Craig-Wood)
  32528. - SFTP
  32529. - Fix issue with WS_FTP by working around failing RealPath
  32530. (albertony)
  32531. - Union
  32532. - Fix duplicated files when using directories with leading / (Nick
  32533. Craig-Wood)
  32534. - Fix multiple files being uploaded when roots don't exist (Nick
  32535. Craig-Wood)
  32536. - Fix panic due to misalignment of struct field in 32 bit
  32537. architectures (r-ricci)
  32538. v1.59.0 - 2022-07-09
  32539. See commits
  32540. - New backends
  32541. - Combine multiple remotes in one directory tree (Nick Craig-Wood)
  32542. - Hidrive (Ovidiu Victor Tatar)
  32543. - Internet Archive (Lesmiscore (Naoya Ozaki))
  32544. - New S3 providers
  32545. - ArvanCloud AOS (ehsantdy)
  32546. - Cloudflare R2 (Nick Craig-Wood)
  32547. - Huawei OBS (m00594701)
  32548. - IDrive e2 (vyloy)
  32549. - New commands
  32550. - test makefile: Create a single file for testing (Nick
  32551. Craig-Wood)
  32552. - New Features
  32553. - Metadata framework to read and write system and user metadata on
  32554. backends (Nick Craig-Wood)
  32555. - Implemented initially for local, s3 and internetarchive
  32556. backends
  32557. - --metadata/-M flag to control whether metadata is copied
  32558. - --metadata-set flag to specify metadata for uploads
  32559. - Thanks to Manz Solutions for sponsoring this work.
  32560. - build
  32561. - Update to go1.18 and make go1.16 the minimum required
  32562. version (Nick Craig-Wood)
  32563. - Update android go build to 1.18.x and NDK to 23.1.7779620
  32564. (Nick Craig-Wood)
  32565. - All windows binaries now no longer CGO (Nick Craig-Wood)
  32566. - Add linux/arm/v6 to docker images (Nick Craig-Wood)
  32567. - A huge number of fixes found with staticcheck (albertony)
  32568. - Configurable version suffix independent of version number
  32569. (albertony)
  32570. - check: Implement --no-traverse and --no-unicode-normalization
  32571. (Nick Craig-Wood)
  32572. - config: Readability improvements (albertony)
  32573. - copyurl: Add --header-filename to honor the HTTP header filename
  32574. directive (J-P Treen)
  32575. - filter: Allow multiple --exclude-if-present flags (albertony)
  32576. - fshttp: Add --disable-http-keep-alives to disable HTTP Keep
  32577. Alives (Nick Craig-Wood)
  32578. - install.sh
  32579. - Set the modes on the files and/or directories on macOS
  32580. (Michael C Tiernan - MIT-Research Computing Project)
  32581. - Pre verify sudo authorization -v before calling curl.
  32582. (Michael C Tiernan - MIT-Research Computing Project)
  32583. - lib/encoder: Add Semicolon encoding (Nick Craig-Wood)
  32584. - lsf: Add metadata support with M flag (Nick Craig-Wood)
  32585. - lsjson: Add --metadata/-M flag (Nick Craig-Wood)
  32586. - ncdu
  32587. - Implement multi selection (CrossR)
  32588. - Replace termbox with tcell's termbox wrapper (eNV25)
  32589. - Display correct path in delete confirmation dialog (Roberto
  32590. Ricci)
  32591. - operations
  32592. - Speed up hash checking by aborting the other hash if first
  32593. returns nothing (Nick Craig-Wood)
  32594. - Use correct src/dst in some log messages (zzr93)
  32595. - rcat: Check checksums by default like copy does (Nick
  32596. Craig-Wood)
  32597. - selfupdate: Replace deprecated x/crypto/openpgp package with
  32598. ProtonMail/go-crypto (albertony)
  32599. - serve ftp: Check --passive-port arguments are correct (Nick
  32600. Craig-Wood)
  32601. - size: Warn about inaccurate results when objects with unknown
  32602. size (albertony)
  32603. - sync: Overlap check is now filter-sensitive so --backup-dir can
  32604. be in the root provided it is filtered (Nick)
  32605. - test info: Check file name lengths using 1,2,3,4 byte unicode
  32606. characters (Nick Craig-Wood)
  32607. - test makefile(s): --sparse, --zero, --pattern, --ascii,
  32608. --chargen flags to control file contents (Nick Craig-Wood)
  32609. - Make sure we call the Shutdown method on backends (Martin
  32610. Czygan)
  32611. - Bug Fixes
  32612. - accounting: Fix unknown length file transfers counting 3
  32613. transfers each (buda)
  32614. - ncdu: Fix issue where dir size is summed when file sizes are -1
  32615. (albertony)
  32616. - sync/copy/move
  32617. - Fix --fast-list --create-empty-src-dirs and --exclude (Nick
  32618. Craig-Wood)
  32619. - Fix --max-duration and --cutoff-mode soft (Nick Craig-Wood)
  32620. - Fix fs cache unpin (Martin Czygan)
  32621. - Set proper exit code for errors that are not low-level retried
  32622. (e.g. size/timestamp changing) (albertony)
  32623. - Mount
  32624. - Support windows/arm64 (may still be problems - see #5828) (Nick
  32625. Craig-Wood)
  32626. - Log IO errors at ERROR level (Nick Craig-Wood)
  32627. - Ignore _netdev mount argument (Hugal31)
  32628. - VFS
  32629. - Add --vfs-fast-fingerprint for less accurate but faster
  32630. fingerprints (Nick Craig-Wood)
  32631. - Add --vfs-disk-space-total-size option to manually set the total
  32632. disk space (Claudio Maradonna)
  32633. - vfscache: Fix fatal error: sync: unlock of unlocked mutex error
  32634. (Nick Craig-Wood)
  32635. - Local
  32636. - Fix parsing of --local-nounc flag (Nick Craig-Wood)
  32637. - Add Metadata support (Nick Craig-Wood)
  32638. - Crypt
  32639. - Support metadata (Nick Craig-Wood)
  32640. - Azure Blob
  32641. - Calculate Chunksize/blocksize to stay below maxUploadParts
  32642. (Leroy van Logchem)
  32643. - Use chunksize lib to determine chunksize dynamically (Derek
  32644. Battams)
  32645. - Case insensitive access tier (Rob Pickerill)
  32646. - Allow remote emulator (azurite) (Lorenzo Maiorfi)
  32647. - B2
  32648. - Add --b2-version-at flag to show file versions at time specified
  32649. (SwazRGB)
  32650. - Use chunksize lib to determine chunksize dynamically (Derek
  32651. Battams)
  32652. - Chunker
  32653. - Mark as not supporting metadata (Nick Craig-Wood)
  32654. - Compress
  32655. - Support metadata (Nick Craig-Wood)
  32656. - Drive
  32657. - Make backend config -o config add a combined AllDrives: remote
  32658. (Nick Craig-Wood)
  32659. - Make --drive-shared-with-me work with shared drives (Nick
  32660. Craig-Wood)
  32661. - Add --drive-resource-key for accessing link-shared files (Nick
  32662. Craig-Wood)
  32663. - Add backend commands exportformats and importformats for
  32664. debugging (Nick Craig-Wood)
  32665. - Fix 404 errors on copy/server side copy objects from public
  32666. folder (Nick Craig-Wood)
  32667. - Update Internal OAuth consent screen docs (Phil Shackleton)
  32668. - Moved root_folder_id to advanced section (Abhiraj)
  32669. - Dropbox
  32670. - Migrate from deprecated api (m8rge)
  32671. - Add logs to show when poll interval limits are exceeded (Nick
  32672. Craig-Wood)
  32673. - Fix nil pointer exception on dropbox impersonate user not found
  32674. (Nick Craig-Wood)
  32675. - Fichier
  32676. - Parse api error codes and them accordingly (buengese)
  32677. - FTP
  32678. - Add support for disable_utf8 option (Jason Zheng)
  32679. - Revert to upstream github.com/jlaffaye/ftp from our fork (Nick
  32680. Craig-Wood)
  32681. - Google Cloud Storage
  32682. - Add --gcs-no-check-bucket to minimise transactions and perms
  32683. (Nick Gooding)
  32684. - Add --gcs-decompress flag to decompress gzip-encoded files (Nick
  32685. Craig-Wood)
  32686. - by default these will be downloaded compressed (which
  32687. previously failed)
  32688. - Hasher
  32689. - Support metadata (Nick Craig-Wood)
  32690. - HTTP
  32691. - Fix missing response when using custom auth handler (albertony)
  32692. - Jottacloud
  32693. - Add support for upload to custom device and mountpoint
  32694. (albertony)
  32695. - Always store username in config and use it to avoid initial API
  32696. request (albertony)
  32697. - Fix issue with server-side copy when destination is in trash
  32698. (albertony)
  32699. - Fix listing output of remote with special characters (albertony)
  32700. - Mailru
  32701. - Fix timeout by using int instead of time.Duration for keeping
  32702. number of seconds (albertony)
  32703. - Mega
  32704. - Document using MEGAcmd to help with login failures (Art M.
  32705. Gallagher)
  32706. - Onedrive
  32707. - Implement --poll-interval for onedrive (Hugo Laloge)
  32708. - Add access scopes option (Sven Gerber)
  32709. - Opendrive
  32710. - Resolve lag and truncate bugs (Scott Grimes)
  32711. - Pcloud
  32712. - Fix about with no free space left (buengese)
  32713. - Fix cleanup (buengese)
  32714. - S3
  32715. - Use PUT Object instead of presigned URLs to upload single part
  32716. objects (Nick Craig-Wood)
  32717. - Backend restore command to skip non-GLACIER objects (Vincent
  32718. Murphy)
  32719. - Use chunksize lib to determine chunksize dynamically (Derek
  32720. Battams)
  32721. - Retry RequestTimeout errors (Nick Craig-Wood)
  32722. - Implement reading and writing of metadata (Nick Craig-Wood)
  32723. - SFTP
  32724. - Add support for about and hashsum on windows server (albertony)
  32725. - Use vendor-specific VFS statistics extension for about if
  32726. available (albertony)
  32727. - Add --sftp-chunk-size to control packets sizes for high latency
  32728. links (Nick Craig-Wood)
  32729. - Add --sftp-concurrency to improve high latency transfers (Nick
  32730. Craig-Wood)
  32731. - Add --sftp-set-env option to set environment variables (Nick
  32732. Craig-Wood)
  32733. - Add Hetzner Storage Boxes to supported sftp backends (Anthrazz)
  32734. - Storj
  32735. - Fix put which lead to the file being unreadable when using mount
  32736. (Erik van Velzen)
  32737. - Union
  32738. - Add min_free_space option for lfs/eplfs policies (Nick
  32739. Craig-Wood)
  32740. - Fix uploading files to union of all bucket based remotes (Nick
  32741. Craig-Wood)
  32742. - Fix get free space for remotes which don't support it (Nick
  32743. Craig-Wood)
  32744. - Fix eplus policy to select correct entry for existing files
  32745. (Nick Craig-Wood)
  32746. - Support metadata (Nick Craig-Wood)
  32747. - Uptobox
  32748. - Fix root path handling (buengese)
  32749. - WebDAV
  32750. - Add SharePoint in other specific regions support (Noah Hsu)
  32751. - Yandex
  32752. - Handle api error on server-side move (albertony)
  32753. - Zoho
  32754. - Add Japan and China regions (buengese)
  32755. v1.58.1 - 2022-04-29
  32756. See commits
  32757. - Bug Fixes
  32758. - build: Update github.com/billziss-gh to github.com/winfsp (Nick
  32759. Craig-Wood)
  32760. - filter: Fix timezone of --min-age/-max-age from UTC to local as
  32761. documented (Nick Craig-Wood)
  32762. - rc/js: Correct RC method names (Sơn Trần-Nguyễn)
  32763. - docs
  32764. - Fix some links to command pages (albertony)
  32765. - Add --multi-thread-streams note to --transfers. (Zsolt Ero)
  32766. - Mount
  32767. - Fix --devname and fusermount: unknown option 'fsname' when
  32768. mounting via rc (Nick Craig-Wood)
  32769. - VFS
  32770. - Remove wording which suggests VFS is only for mounting (Nick
  32771. Craig-Wood)
  32772. - Dropbox
  32773. - Fix retries of multipart uploads with incorrect_offset error
  32774. (Nick Craig-Wood)
  32775. - Google Cloud Storage
  32776. - Use the s3 pacer to speed up transactions (Nick Craig-Wood)
  32777. - pacer: Default the Google pacer to a burst of 100 to fix gcs
  32778. pacing (Nick Craig-Wood)
  32779. - Jottacloud
  32780. - Fix scope in token request (albertony)
  32781. - Netstorage
  32782. - Fix unescaped HTML in documentation (Nick Craig-Wood)
  32783. - Make levels of headings consistent (Nick Craig-Wood)
  32784. - Add support contacts to netstorage doc (Nil Alexandrov)
  32785. - Onedrive
  32786. - Note that sharepoint also changes web files (.html, .aspx) (GH)
  32787. - Putio
  32788. - Handle rate limit errors (Berkan Teber)
  32789. - Fix multithread download and other ranged requests (rafma0)
  32790. - S3
  32791. - Add ChinaMobile EOS to provider list (GuoXingbin)
  32792. - Sync providers in config description with providers (Nick
  32793. Craig-Wood)
  32794. - SFTP
  32795. - Fix OpenSSH 8.8+ RSA keys incompatibility (KARBOWSKI Piotr)
  32796. - Note that Scaleway C14 is deprecating SFTP in favor of S3
  32797. (Adrien Rey-Jarthon)
  32798. - Storj
  32799. - Fix bucket creation on Move (Nick Craig-Wood)
  32800. - WebDAV
  32801. - Don't override Referer if user sets it (Nick Craig-Wood)
  32802. v1.58.0 - 2022-03-18
  32803. See commits
  32804. - New backends
  32805. - Akamai Netstorage (Nil Alexandrov)
  32806. - Seagate Lyve, SeaweedFS, Storj, RackCorp via s3 backend
  32807. - Storj (renamed from Tardigrade - your old config files will
  32808. continue working)
  32809. - New commands
  32810. - bisync - experimental bidirectional cloud sync (Ivan Andreev,
  32811. Chris Nelson)
  32812. - New Features
  32813. - build
  32814. - Add windows/arm64 build (rclone mount not supported yet)
  32815. (Nick Craig-Wood)
  32816. - Raise minimum go version to go1.15 (Nick Craig-Wood)
  32817. - config: Allow dot in remote names and improve config editing
  32818. (albertony)
  32819. - dedupe: Add quit as a choice in interactive mode (albertony)
  32820. - dlna: Change icons to the newest ones. (Alain Nussbaumer)
  32821. - filter: Add {{ regexp }} syntax to pattern matches (Nick
  32822. Craig-Wood)
  32823. - fshttp: Add prometheus metrics for HTTP status code (Michał
  32824. Matczuk)
  32825. - hashsum: Support creating hash from data received on stdin
  32826. (albertony)
  32827. - librclone
  32828. - Allow empty string or null input instead of empty json
  32829. object (albertony)
  32830. - Add support for mount commands (albertony)
  32831. - operations: Add server-side moves to stats (Ole Frost)
  32832. - rc: Allow user to disable authentication for web gui (negative0)
  32833. - tree: Remove obsolete --human replaced by global
  32834. --human-readable (albertony)
  32835. - version: Report correct friendly-name for newer Windows 10/11
  32836. versions (albertony)
  32837. - Bug Fixes
  32838. - build
  32839. - Fix ARM architecture version in .deb packages after nfpm
  32840. change (Nick Craig-Wood)
  32841. - Hard fork github.com/jlaffaye/ftp to fix
  32842. go get github.com/rclone/rclone (Nick Craig-Wood)
  32843. - oauthutil: Fix crash when webbrowser requests /robots.txt (Nick
  32844. Craig-Wood)
  32845. - operations: Fix goroutine leak in case of copy retry (Ankur
  32846. Gupta)
  32847. - rc:
  32848. - Fix operations/publiclink default for expires parameter
  32849. (Nick Craig-Wood)
  32850. - Fix missing computation of transferQueueSize when summing up
  32851. statistics group (Carlo Mion)
  32852. - Fix missing StatsInfo fields in the computation of the group
  32853. sum (Carlo Mion)
  32854. - sync: Fix --max-duration so it doesn't retry when the duration
  32855. is exceeded (Nick Craig-Wood)
  32856. - touch: Fix issue where a directory is created instead of a file
  32857. (albertony)
  32858. - Mount
  32859. - Add --devname to set the device name sent to FUSE for mount
  32860. display (Nick Craig-Wood)
  32861. - VFS
  32862. - Add vfs/stats remote control to show statistics (Nick
  32863. Craig-Wood)
  32864. - Fix
  32865. failed to _ensure cache internal error: downloaders is nil error
  32866. (Nick Craig-Wood)
  32867. - Fix handling of special characters in file names (Bumsu Hyeon)
  32868. - Local
  32869. - Fix hash invalidation which caused errors with local crypt mount
  32870. (Nick Craig-Wood)
  32871. - Crypt
  32872. - Add base64 and base32768 filename encoding options (Max Sum,
  32873. Sinan Tan)
  32874. - Azure Blob
  32875. - Implement --azureblob-upload-concurrency parameter to speed
  32876. uploads (Nick Craig-Wood)
  32877. - Remove 100MB upper limit on chunk_size as it is no longer needed
  32878. (Nick Craig-Wood)
  32879. - Raise --azureblob-upload-concurrency to 16 by default (Nick
  32880. Craig-Wood)
  32881. - Fix crash with SAS URL and no container (Nick Craig-Wood)
  32882. - Compress
  32883. - Fix crash if metadata upload failed (Nick Craig-Wood)
  32884. - Fix memory leak (Nick Craig-Wood)
  32885. - Drive
  32886. - Added --drive-copy-shortcut-content (Abhiraj)
  32887. - Disable OAuth OOB flow (copy a token) due to Google deprecation
  32888. (Nick Craig-Wood)
  32889. - See the deprecation note.
  32890. - Add --drive-skip-dangling-shortcuts flag (Nick Craig-Wood)
  32891. - When using a link type --drive-export-formats shows all doc
  32892. types (Nick Craig-Wood)
  32893. - Dropbox
  32894. - Speed up directory listings by specifying 1000 items in a chunk
  32895. (Nick Craig-Wood)
  32896. - Save an API request when at the root (Nick Craig-Wood)
  32897. - Fichier
  32898. - Implemented About functionality (Gourav T)
  32899. - FTP
  32900. - Add --ftp-ask-password to prompt for password when needed (Borna
  32901. Butkovic)
  32902. - Google Cloud Storage
  32903. - Add missing regions (Nick Craig-Wood)
  32904. - Disable OAuth OOB flow (copy a token) due to Google deprecation
  32905. (Nick Craig-Wood)
  32906. - See the deprecation note.
  32907. - Googlephotos
  32908. - Disable OAuth OOB flow (copy a token) due to Google deprecation
  32909. (Nick Craig-Wood)
  32910. - See the deprecation note.
  32911. - Hasher
  32912. - Fix crash on object not found (Nick Craig-Wood)
  32913. - Hdfs
  32914. - Add file (Move) and directory move (DirMove) support (Andy
  32915. Jackson)
  32916. - HTTP
  32917. - Improved recognition of URL pointing to a single file
  32918. (albertony)
  32919. - Jottacloud
  32920. - Change API used by recursive list (ListR) (Kim)
  32921. - Add support for Tele2 Cloud (Fredric Arklid)
  32922. - Koofr
  32923. - Add Digistorage service as a Koofr provider. (jaKa)
  32924. - Mailru
  32925. - Fix int32 overflow on arm32 (Ivan Andreev)
  32926. - Onedrive
  32927. - Add config option for oauth scope Sites.Read.All (Charlie Jiang)
  32928. - Minor optimization of quickxorhash (Isaac Levy)
  32929. - Add --onedrive-root-folder-id flag (Nick Craig-Wood)
  32930. - Do not retry on 400 pathIsTooLong error (ctrl-q)
  32931. - Pcloud
  32932. - Add support for recursive list (ListR) (Niels van de Weem)
  32933. - Fix pre-1970 time stamps (Nick Craig-Wood)
  32934. - S3
  32935. - Use ListObjectsV2 for faster listings (Felix Bünemann)
  32936. - Fallback to ListObject v1 on unsupported providers (Nick
  32937. Craig-Wood)
  32938. - Use the ETag on multipart transfers to verify the transfer was
  32939. OK (Nick Craig-Wood)
  32940. - Add --s3-use-multipart-etag provider quirk to disable this
  32941. on unsupported providers (Nick Craig-Wood)
  32942. - New Providers
  32943. - RackCorp object storage (bbabich)
  32944. - Seagate Lyve Cloud storage (Nick Craig-Wood)
  32945. - SeaweedFS (Chris Lu)
  32946. - Storj Shared gateways (Márton Elek, Nick Craig-Wood)
  32947. - Add Wasabi AP Northeast 2 endpoint info (lindwurm)
  32948. - Add GLACIER_IR storage class (Yunhai Luo)
  32949. - Document Content-MD5 workaround for object-lock enabled buckets
  32950. (Paulo Martins)
  32951. - Fix multipart upload with --no-head flag (Nick Craig-Wood)
  32952. - Simplify content length processing in s3 with download url
  32953. (Logeshwaran Murugesan)
  32954. - SFTP
  32955. - Add rclone to list of supported md5sum/sha1sum commands to look
  32956. for (albertony)
  32957. - Refactor so we only have one way of running remote commands
  32958. (Nick Craig-Wood)
  32959. - Fix timeout on hashing large files by sending keepalives (Nick
  32960. Craig-Wood)
  32961. - Fix unnecessary seeking when uploading and downloading files
  32962. (Nick Craig-Wood)
  32963. - Update docs on how to create known_hosts file (Nick Craig-Wood)
  32964. - Storj
  32965. - Rename tardigrade backend to storj backend (Nick Craig-Wood)
  32966. - Implement server side Move for files (Nick Craig-Wood)
  32967. - Update docs to explain differences between s3 and this backend
  32968. (Elek, Márton)
  32969. - Swift
  32970. - Fix About so it shows info about the current container only
  32971. (Nick Craig-Wood)
  32972. - Union
  32973. - Fix treatment of remotes with // in (Nick Craig-Wood)
  32974. - Fix deadlock when one part of a multi-upload fails (Nick
  32975. Craig-Wood)
  32976. - Fix eplus policy returned nil (Vitor Arruda)
  32977. - Yandex
  32978. - Add permanent deletion support (deinferno)
  32979. v1.57.0 - 2021-11-01
  32980. See commits
  32981. - New backends
  32982. - Sia: for Sia decentralized cloud (Ian Levesque, Matthew Sevey,
  32983. Ivan Andreev)
  32984. - Hasher: caches hashes and enable hashes for backends that don't
  32985. support them (Ivan Andreev)
  32986. - New commands
  32987. - lsjson --stat: to get info about a single file/dir and
  32988. operations/stat api (Nick Craig-Wood)
  32989. - config paths: show configured paths (albertony)
  32990. - New Features
  32991. - about: Make human-readable output more consistent with other
  32992. commands (albertony)
  32993. - build
  32994. - Use go1.17 for building and make go1.14 the minimum
  32995. supported (Nick Craig-Wood)
  32996. - Update Go to 1.16 and NDK to 22b for Android builds (x0b)
  32997. - config
  32998. - Support hyphen in remote name from environment variable
  32999. (albertony)
  33000. - Make temporary directory user-configurable (albertony)
  33001. - Convert --cache-dir value to an absolute path (albertony)
  33002. - Do not override MIME types from OS defaults (albertony)
  33003. - docs
  33004. - Toc styling and header levels cleanup (albertony)
  33005. - Extend documentation on valid remote names (albertony)
  33006. - Mention make for building and cmount tag for macos (Alex
  33007. Chen)
  33008. - ...and many more contributions to numerous to mention!
  33009. - fs: Move with --ignore-existing will not delete skipped files
  33010. (Nathan Collins)
  33011. - hashsum
  33012. - Treat hash values in sum file as case insensitive (Ivan
  33013. Andreev)
  33014. - Don't put ERROR or UNSUPPORTED in output (Ivan Andreev)
  33015. - lib/encoder: Add encoding of square brackets (Ivan Andreev)
  33016. - lib/file: Improve error message when attempting to create dir on
  33017. nonexistent drive on windows (albertony)
  33018. - lib/http: Factor password hash salt into options with default
  33019. (Nolan Woods)
  33020. - lib/kv: Add key-value database api (Ivan Andreev)
  33021. - librclone
  33022. - Add RcloneFreeString function (albertony)
  33023. - Free strings in python example (albertony)
  33024. - log: Optionally print pid in logs (Ivan Andreev)
  33025. - ls: Introduce --human-readable global option to print
  33026. human-readable sizes (albertony)
  33027. - ncdu: Introduce key u to toggle human-readable (albertony)
  33028. - operations: Add rmdirs -v output (Justin Winokur)
  33029. - serve sftp
  33030. - Generate an ECDSA server key as well as RSA (Nick
  33031. Craig-Wood)
  33032. - Generate an Ed25519 server key as well as ECDSA and RSA
  33033. (albertony)
  33034. - serve docker
  33035. - Allow to customize proxy settings of docker plugin (Ivan
  33036. Andreev)
  33037. - Build docker plugin for multiple platforms (Thomas Stachl)
  33038. - size: Include human-readable count (albertony)
  33039. - touch: Add support for touching files in directory, with
  33040. recursive option, filtering and --dry-run/-i (albertony)
  33041. - tree: Option to print human-readable sizes removed in favor of
  33042. global option (albertony)
  33043. - Bug Fixes
  33044. - lib/http
  33045. - Fix bad username check in single auth secret provider (Nolan
  33046. Woods)
  33047. - Fix handling of SSL credentials (Nolan Woods)
  33048. - serve ftp: Ensure modtime is passed as UTC always to fix
  33049. timezone oddities (Nick Craig-Wood)
  33050. - serve sftp: Fix generation of server keys on windows (albertony)
  33051. - serve docker: Fix octal umask (Ivan Andreev)
  33052. - Mount
  33053. - Enable rclone to be run as mount helper direct from the fstab
  33054. (Ivan Andreev)
  33055. - Use procfs to validate mount on linux (Ivan Andreev)
  33056. - Correctly daemonize for compatibility with automount (Ivan
  33057. Andreev)
  33058. - VFS
  33059. - Ensure names used in cache path are legal on current OS
  33060. (albertony)
  33061. - Ignore ECLOSED when truncating file handles to fix intermittent
  33062. bad file descriptor error (Nick Craig-Wood)
  33063. - Local
  33064. - Refactor default OS encoding out from local backend into shared
  33065. encoder lib (albertony)
  33066. - Crypt
  33067. - Return wrapped object even with --crypt-no-data-encryption (Ivan
  33068. Andreev)
  33069. - Fix uploads with --crypt-no-data-encryption (Nick Craig-Wood)
  33070. - Azure Blob
  33071. - Add --azureblob-no-head-object (Tatsuya Noyori)
  33072. - Box
  33073. - Make listings of heavily used directories more reliable (Nick
  33074. Craig-Wood)
  33075. - When doing cleanup delete as much as possible (Nick Craig-Wood)
  33076. - Add --box-list-chunk to control listing chunk size (Nick
  33077. Craig-Wood)
  33078. - Delete items in parallel in cleanup using --checkers threads
  33079. (Nick Craig-Wood)
  33080. - Add --box-owned-by to only show items owned by the login passed
  33081. (Nick Craig-Wood)
  33082. - Retry operation_blocked_temporary errors (Nick Craig-Wood)
  33083. - Chunker
  33084. - Md5all must create metadata if base hash is slow (Ivan Andreev)
  33085. - Drive
  33086. - Speed up directory listings by constraining the API listing
  33087. using the current filters (fotile96, Ivan Andreev)
  33088. - Fix buffering for single request upload for files smaller than
  33089. --drive-upload-cutoff (YenForYang)
  33090. - Add -o config option to backend drives to make config for all
  33091. shared drives (Nick Craig-Wood)
  33092. - Dropbox
  33093. - Add --dropbox-batch-commit-timeout to control batch timeout
  33094. (Nick Craig-Wood)
  33095. - Filefabric
  33096. - Make backoff exponential for error_background to fix errors
  33097. (Nick Craig-Wood)
  33098. - Fix directory move after API change (Nick Craig-Wood)
  33099. - FTP
  33100. - Enable tls session cache by default (Ivan Andreev)
  33101. - Add option to disable tls13 (Ivan Andreev)
  33102. - Fix timeout after long uploads (Ivan Andreev)
  33103. - Add support for precise time (Ivan Andreev)
  33104. - Enable CI for ProFtpd, PureFtpd, VsFtpd (Ivan Andreev)
  33105. - Googlephotos
  33106. - Use encoder for album names to fix albums with control
  33107. characters (Parth Shukla)
  33108. - Jottacloud
  33109. - Implement SetModTime to support modtime-only changes (albertony)
  33110. - Improved error handling with SetModTime and corrupt files in
  33111. general (albertony)
  33112. - Add support for UserInfo (rclone config userinfo) feature
  33113. (albertony)
  33114. - Return direct download link from rclone link command (albertony)
  33115. - Koofr
  33116. - Create direct share link (Dmitry Bogatov)
  33117. - Pcloud
  33118. - Add sha256 support (Ken Enrique Morel)
  33119. - Premiumizeme
  33120. - Fix directory listing after API changes (Nick Craig-Wood)
  33121. - Fix server side move after API change (Nick Craig-Wood)
  33122. - Fix server side directory move after API changes (Nick
  33123. Craig-Wood)
  33124. - S3
  33125. - Add support to use CDN URL to download the file (Logeshwaran)
  33126. - Add AWS Snowball Edge to providers examples (r0kk3rz)
  33127. - Use a combination of SDK retries and rclone retries (Nick
  33128. Craig-Wood)
  33129. - Fix IAM Role for Service Account not working and other auth
  33130. problems (Nick Craig-Wood)
  33131. - Fix shared_credentials_file auth after reverting incorrect fix
  33132. (Nick Craig-Wood)
  33133. - Fix corrupted on transfer: sizes differ 0 vs xxxx with Ceph
  33134. (Nick Craig-Wood)
  33135. - Seafile
  33136. - Fix error when not configured for 2fa (Fred)
  33137. - SFTP
  33138. - Fix timeout when doing MD5SUM of large file (Nick Craig-Wood)
  33139. - Swift
  33140. - Update OCI URL (David Liu)
  33141. - Document OVH Cloud Archive (HNGamingUK)
  33142. - Union
  33143. - Fix rename not working with union of local disk and bucket based
  33144. remote (Nick Craig-Wood)
  33145. v1.56.2 - 2021-10-01
  33146. See commits
  33147. - Bug Fixes
  33148. - serve http: Re-add missing auth to http service (Nolan Woods)
  33149. - build: Update golang.org/x/sys to fix crash on macOS when
  33150. compiled with go1.17 (Herby Gillot)
  33151. - FTP
  33152. - Fix deadlock after failed update when concurrency=1 (Ivan
  33153. Andreev)
  33154. v1.56.1 - 2021-09-19
  33155. See commits
  33156. - Bug Fixes
  33157. - accounting: Fix maximum bwlimit by scaling scale max token
  33158. bucket size (Nick Craig-Wood)
  33159. - rc: Fix speed does not update in core/stats (negative0)
  33160. - selfupdate: Fix --quiet option, not quite quiet (yedamo)
  33161. - serve http: Fix serve http exiting directly after starting
  33162. (Cnly)
  33163. - build
  33164. - Apply gofmt from golang 1.17 (Ivan Andreev)
  33165. - Update Go to 1.16 and NDK to 22b for android/any (x0b)
  33166. - Mount
  33167. - Fix --daemon mode (Ivan Andreev)
  33168. - VFS
  33169. - Fix duplicates on rename (Nick Craig-Wood)
  33170. - Fix crash when truncating a just uploaded object (Nick
  33171. Craig-Wood)
  33172. - Fix issue where empty dirs would build up in cache meta dir
  33173. (albertony)
  33174. - Drive
  33175. - Fix instructions for auto config (Greg Sadetsky)
  33176. - Fix lsf example without drive-impersonate (Greg Sadetsky)
  33177. - Onedrive
  33178. - Handle HTTP 400 better in PublicLink (Alex Chen)
  33179. - Clarification of the process for creating custom client_id
  33180. (Mariano Absatz)
  33181. - Pcloud
  33182. - Return an early error when Put is called with an unknown size
  33183. (Nick Craig-Wood)
  33184. - Try harder to delete a failed upload (Nick Craig-Wood)
  33185. - S3
  33186. - Add Wasabi's AP-Northeast endpoint info (hota)
  33187. - Fix typo in s3 documentation (Greg Sadetsky)
  33188. - Seafile
  33189. - Fix 2fa config state machine (Fred)
  33190. - SFTP
  33191. - Remove spurious error message on --sftp-disable-concurrent-reads
  33192. (Nick Craig-Wood)
  33193. - Sugarsync
  33194. - Fix initial connection after config re-arrangement (Nick
  33195. Craig-Wood)
  33196. v1.56.0 - 2021-07-20
  33197. See commits
  33198. - New backends
  33199. - Uptobox (buengese)
  33200. - New commands
  33201. - serve docker (Antoine GIRARD) (Ivan Andreev)
  33202. - and accompanying docker volume plugin
  33203. - checksum to check files against a file of checksums (Ivan
  33204. Andreev)
  33205. - this is also available as rclone md5sum -C etc
  33206. - config touch: ensure config exists at configured location
  33207. (albertony)
  33208. - test changenotify: command to help debugging changenotify (Nick
  33209. Craig-Wood)
  33210. - Deprecations
  33211. - dbhashsum: Remove command deprecated a year ago (Ivan Andreev)
  33212. - cache: Deprecate cache backend (Ivan Andreev)
  33213. - New Features
  33214. - rework config system so it can be used non-interactively via cli
  33215. and rc API.
  33216. - See docs in config create
  33217. - This is a very big change to all the backends so may cause
  33218. breakages - please file bugs!
  33219. - librclone - export the rclone RC as a C library (lewisxy) (Nick
  33220. Craig-Wood)
  33221. - Link a C-API rclone shared object into your project
  33222. - Use the RC as an in memory interface
  33223. - Python example supplied
  33224. - Also supports Android and gomobile
  33225. - fs
  33226. - Add --disable-http2 for global http2 disable (Nick
  33227. Craig-Wood)
  33228. - Make --dump imply -vv (Alex Chen)
  33229. - Use binary prefixes for size and rate units (albertony)
  33230. - Use decimal prefixes for counts (albertony)
  33231. - Add google search widget to rclone.org (Ivan Andreev)
  33232. - accounting: Calculate rolling average speed (Haochen Tong)
  33233. - atexit: Terminate with non-zero status after receiving signal
  33234. (Michael Hanselmann)
  33235. - build
  33236. - Only run event-based workflow scripts under rclone repo with
  33237. manual override (Mathieu Carbou)
  33238. - Add Android build with gomobile (x0b)
  33239. - check: Log the hash in use like cryptcheck does (Nick
  33240. Craig-Wood)
  33241. - version: Print os/version, kernel and bitness (Ivan Andreev)
  33242. - config
  33243. - Prevent use of Windows reserved names in config file name
  33244. (albertony)
  33245. - Create config file in windows appdata directory by default
  33246. (albertony)
  33247. - Treat any config file paths with filename notfound as
  33248. memory-only config (albertony)
  33249. - Delay load config file (albertony)
  33250. - Replace defaultConfig with a thread-safe in-memory
  33251. implementation (Chris Macklin)
  33252. - Allow config create and friends to take key=value parameters
  33253. (Nick Craig-Wood)
  33254. - Fixed issues with flags/options set by environment vars.
  33255. (Ole Frost)
  33256. - fshttp: Implement graceful DSCP error handling (Tyson Moore)
  33257. - lib/http - provides an abstraction for a central http server
  33258. that services can bind routes to (Nolan Woods)
  33259. - Add --template config and flags to serve/data (Nolan Woods)
  33260. - Add default 404 handler (Nolan Woods)
  33261. - link: Use "off" value for unset expiry (Nick Craig-Wood)
  33262. - oauthutil: Raise fatal error if token expired without refresh
  33263. token (Alex Chen)
  33264. - rcat: Add --size flag for more efficient uploads of known size
  33265. (Nazar Mishturak)
  33266. - serve sftp: Add --stdio flag to serve via stdio (Tom)
  33267. - sync: Don't warn about --no-traverse when --files-from is set
  33268. (Nick Gaya)
  33269. - test makefiles
  33270. - Add --seed flag and make data generated repeatable (Nick
  33271. Craig-Wood)
  33272. - Add log levels and speed summary (Nick Craig-Wood)
  33273. - Bug Fixes
  33274. - accounting: Fix startTime of statsGroups.sum (Haochen Tong)
  33275. - cmd/ncdu: Fix out of range panic in delete (buengese)
  33276. - config
  33277. - Fix issues with memory-only config file paths (albertony)
  33278. - Fix in memory config not saving on the fly backend config
  33279. (Nick Craig-Wood)
  33280. - fshttp: Fix address parsing for DSCP (Tyson Moore)
  33281. - ncdu: Update termbox-go library to fix crash (Nick Craig-Wood)
  33282. - oauthutil: Fix old authorize result not recognised (Cnly)
  33283. - operations: Don't update timestamps of files in --compare-dest
  33284. (Nick Gaya)
  33285. - selfupdate: fix archive name on macos (Ivan Andreev)
  33286. - Mount
  33287. - Refactor before adding serve docker (Antoine GIRARD)
  33288. - VFS
  33289. - Add cache reset for --vfs-cache-max-size handling at cache poll
  33290. interval (Leo Luan)
  33291. - Fix modtime changing when reading file into cache (Nick
  33292. Craig-Wood)
  33293. - Avoid unnecessary subdir in cache path (albertony)
  33294. - Fix that umask option cannot be set as environment variable
  33295. (albertony)
  33296. - Do not print notice about missing poll-interval support when set
  33297. to 0 (albertony)
  33298. - Local
  33299. - Always use readlink to read symlink size for better
  33300. compatibility (Nick Craig-Wood)
  33301. - Add --local-unicode-normalization (and remove
  33302. --local-no-unicode-normalization) (Nick Craig-Wood)
  33303. - Skip entries removed concurrently with List() (Ivan Andreev)
  33304. - Crypt
  33305. - Support timestamped filenames from --b2-versions (Dominik
  33306. Mydlil)
  33307. - B2
  33308. - Don't include the bucket name in public link file prefixes
  33309. (Jeffrey Tolar)
  33310. - Fix versions and .files with no extension (Nick Craig-Wood)
  33311. - Factor version handling into lib/version (Dominik Mydlil)
  33312. - Box
  33313. - Use upload preflight check to avoid listings in file uploads
  33314. (Nick Craig-Wood)
  33315. - Return errors instead of calling log.Fatal with them (Nick
  33316. Craig-Wood)
  33317. - Drive
  33318. - Switch to the Drives API for looking up shared drives (Nick
  33319. Craig-Wood)
  33320. - Fix some google docs being treated as files (Nick Craig-Wood)
  33321. - Dropbox
  33322. - Add --dropbox-batch-mode flag to speed up uploading (Nick
  33323. Craig-Wood)
  33324. - Read the batch mode docs for more info
  33325. - Set visibility in link sharing when --expire is set (Nick
  33326. Craig-Wood)
  33327. - Simplify chunked uploads (Alexey Ivanov)
  33328. - Improve "own App IP" instructions (Ivan Andreev)
  33329. - Fichier
  33330. - Check if more than one upload link is returned (Nick Craig-Wood)
  33331. - Support downloading password protected files and folders
  33332. (Florian Penzkofer)
  33333. - Make error messages report text from the API (Nick Craig-Wood)
  33334. - Fix move of files in the same directory (Nick Craig-Wood)
  33335. - Check that we actually got a download token and retry if we
  33336. didn't (buengese)
  33337. - Filefabric
  33338. - Fix listing after change of from field from "int" to int. (Nick
  33339. Craig-Wood)
  33340. - FTP
  33341. - Make upload error 250 indicate success (Nick Craig-Wood)
  33342. - GCS
  33343. - Make compatible with gsutil's mtime metadata (database64128)
  33344. - Clean up time format constants (database64128)
  33345. - Google Photos
  33346. - Fix read only scope not being used properly (Nick Craig-Wood)
  33347. - HTTP
  33348. - Replace httplib with lib/http (Nolan Woods)
  33349. - Clean up Bind to better use middleware (Nolan Woods)
  33350. - Jottacloud
  33351. - Fix legacy auth with state based config system (buengese)
  33352. - Fix invalid url in output from link command (albertony)
  33353. - Add no versions option (buengese)
  33354. - Onedrive
  33355. - Add list_chunk option (Nick Gaya)
  33356. - Also report root error if unable to cancel multipart upload
  33357. (Cnly)
  33358. - Fix failed to configure: empty token found error (Nick
  33359. Craig-Wood)
  33360. - Make link return direct download link (Xuanchen Wu)
  33361. - S3
  33362. - Add --s3-no-head-object (Tatsuya Noyori)
  33363. - Remove WebIdentityRoleProvider to fix crash on auth (Nick
  33364. Craig-Wood)
  33365. - Don't check to see if remote is object if it ends with / (Nick
  33366. Craig-Wood)
  33367. - Add SeaweedFS (Chris Lu)
  33368. - Update Alibaba OSS endpoints (Chuan Zh)
  33369. - SFTP
  33370. - Fix performance regression by re-enabling concurrent writes
  33371. (Nick Craig-Wood)
  33372. - Expand tilde and environment variables in configured
  33373. known_hosts_file (albertony)
  33374. - Tardigrade
  33375. - Upgrade to uplink v1.4.6 (Caleb Case)
  33376. - Use negative offset (Caleb Case)
  33377. - Add warning about too many open files (acsfer)
  33378. - WebDAV
  33379. - Fix sharepoint auth over http (Nick Craig-Wood)
  33380. - Add headers option (Antoon Prins)
  33381. v1.55.1 - 2021-04-26
  33382. See commits
  33383. - Bug Fixes
  33384. - selfupdate
  33385. - Dont detect FUSE if build is static (Ivan Andreev)
  33386. - Add build tag noselfupdate (Ivan Andreev)
  33387. - sync: Fix incorrect error reported by graceful cutoff (Nick
  33388. Craig-Wood)
  33389. - install.sh: fix macOS arm64 download (Nick Craig-Wood)
  33390. - build: Fix version numbers in android branch builds (Nick
  33391. Craig-Wood)
  33392. - docs
  33393. - Contributing.md: update setup instructions for go1.16 (Nick
  33394. Gaya)
  33395. - WinFsp 2021 is out of beta (albertony)
  33396. - Minor cleanup of space around code section (albertony)
  33397. - Fixed some typos (albertony)
  33398. - VFS
  33399. - Fix a code path which allows dirty data to be removed causing
  33400. data loss (Nick Craig-Wood)
  33401. - Compress
  33402. - Fix compressed name regexp (buengese)
  33403. - Drive
  33404. - Fix backend copyid of google doc to directory (Nick Craig-Wood)
  33405. - Don't open browser when service account... (Ansh Mittal)
  33406. - Dropbox
  33407. - Add missing team_data.member scope for use with --impersonate
  33408. (Nick Craig-Wood)
  33409. - Fix About after scopes changes - rclone config reconnect needed
  33410. (Nick Craig-Wood)
  33411. - Fix Unable to decrypt returned paths from changeNotify (Nick
  33412. Craig-Wood)
  33413. - FTP
  33414. - Fix implicit TLS (Ivan Andreev)
  33415. - Onedrive
  33416. - Work around for random "Unable to initialize RPS" errors
  33417. (OleFrost)
  33418. - SFTP
  33419. - Revert sftp library to v1.12.0 from v1.13.0 to fix performance
  33420. regression (Nick Craig-Wood)
  33421. - Fix Update ReadFrom failed: failed to send packet: EOF errors
  33422. (Nick Craig-Wood)
  33423. - Zoho
  33424. - Fix error when region isn't set (buengese)
  33425. - Do not ask for mountpoint twice when using headless setup
  33426. (buengese)
  33427. v1.55.0 - 2021-03-31
  33428. See commits
  33429. - New commands
  33430. - selfupdate (Ivan Andreev)
  33431. - Allows rclone to update itself in-place or via a package
  33432. (using --package flag)
  33433. - Reads cryptographically signed signatures for non beta
  33434. releases
  33435. - Works on all OSes.
  33436. - test - these are test commands - use with care!
  33437. - histogram - Makes a histogram of file name characters.
  33438. - info - Discovers file name or other limitations for paths.
  33439. - makefiles - Make a random file hierarchy for testing.
  33440. - memory - Load all the objects at remote:path into memory and
  33441. report memory stats.
  33442. - New Features
  33443. - Connection strings
  33444. - Config parameters can now be passed as part of the remote
  33445. name as a connection string.
  33446. - For example, to do the equivalent of --drive-shared-with-me
  33447. use drive,shared_with_me:
  33448. - Make sure we don't save on the fly remote config to the
  33449. config file (Nick Craig-Wood)
  33450. - Make sure backends with additional config have a different
  33451. name for caching (Nick Craig-Wood)
  33452. - This work was sponsored by CERN, through the CS3MESH4EOSC
  33453. Project.
  33454. - CS3MESH4EOSC has received funding from the European
  33455. Union’s Horizon 2020
  33456. - research and innovation programme under Grant Agreement
  33457. no. 863353.
  33458. - build
  33459. - Update go build version to go1.16 and raise minimum go
  33460. version to go1.13 (Nick Craig-Wood)
  33461. - Make a macOS ARM64 build to support Apple Silicon (Nick
  33462. Craig-Wood)
  33463. - Install macfuse 4.x instead of osxfuse 3.x (Nick Craig-Wood)
  33464. - Use GO386=softfloat instead of deprecated GO386=387 for 386
  33465. builds (Nick Craig-Wood)
  33466. - Disable IOS builds for the time being (Nick Craig-Wood)
  33467. - Androids builds made with up to date NDK (x0b)
  33468. - Add an rclone user to the Docker image but don't use it by
  33469. default (cynthia kwok)
  33470. - dedupe: Make largest directory primary to minimize data moved
  33471. (Saksham Khanna)
  33472. - config
  33473. - Wrap config library in an interface (Fionera)
  33474. - Make config file system pluggable (Nick Craig-Wood)
  33475. - --config "" or "/notfound" for in memory config only (Nick
  33476. Craig-Wood)
  33477. - Clear fs cache of stale entries when altering config (Nick
  33478. Craig-Wood)
  33479. - copyurl: Add option to print resulting auto-filename (albertony)
  33480. - delete: Make --rmdirs obey the filters (Nick Craig-Wood)
  33481. - docs - many fixes and reworks from edwardxml, albertony, pvalls,
  33482. Ivan Andreev, Evan Harris, buengese, Alexey Tabakman
  33483. - encoder/filename - add SCSU as tables (Klaus Post)
  33484. - Add multiple paths support to --compare-dest and --copy-dest
  33485. flag (K265)
  33486. - filter: Make --exclude "dir/" equivalent to --exclude "dir/**"
  33487. (Nick Craig-Wood)
  33488. - fshttp: Add DSCP support with --dscp for QoS with differentiated
  33489. services (Max Sum)
  33490. - lib/cache: Add Delete and DeletePrefix methods (Nick Craig-Wood)
  33491. - lib/file
  33492. - Make pre-allocate detect disk full errors and return them
  33493. (Nick Craig-Wood)
  33494. - Don't run preallocate concurrently (Nick Craig-Wood)
  33495. - Retry preallocate on EINTR (Nick Craig-Wood)
  33496. - operations: Made copy and sync operations obey a RetryAfterError
  33497. (Ankur Gupta)
  33498. - rc
  33499. - Add string alternatives for setting options over the rc
  33500. (Nick Craig-Wood)
  33501. - Add options/local to see the options configured in the
  33502. context (Nick Craig-Wood)
  33503. - Add _config parameter to set global config for just this rc
  33504. call (Nick Craig-Wood)
  33505. - Implement passing filter config with _filter parameter (Nick
  33506. Craig-Wood)
  33507. - Add fscache/clear and fscache/entries to control the fs
  33508. cache (Nick Craig-Wood)
  33509. - Avoid +Inf value for speed in core/stats (albertony)
  33510. - Add a full set of stats to core/stats (Nick Craig-Wood)
  33511. - Allow fs= params to be a JSON blob (Nick Craig-Wood)
  33512. - rcd: Added systemd notification during the rclone rcd command.
  33513. (Naveen Honest Raj)
  33514. - rmdirs: Make --rmdirs obey the filters (Nick Craig-Wood)
  33515. - version: Show build tags and type of executable (Ivan Andreev)
  33516. - Bug Fixes
  33517. - install.sh: make it fail on download errors (Ivan Andreev)
  33518. - Fix excessive retries missing --max-duration timeout (Nick
  33519. Craig-Wood)
  33520. - Fix crash when --low-level-retries=0 (Nick Craig-Wood)
  33521. - Fix failed token refresh on mounts created via the rc (Nick
  33522. Craig-Wood)
  33523. - fshttp: Fix bandwidth limiting after bad merge (Nick Craig-Wood)
  33524. - lib/atexit
  33525. - Unregister interrupt handler once it has fired so users can
  33526. interrupt again (Nick Craig-Wood)
  33527. - Fix occasional failure to unmount with CTRL-C (Nick
  33528. Craig-Wood)
  33529. - Fix deadlock calling Finalise while Run is running (Nick
  33530. Craig-Wood)
  33531. - lib/rest: Fix multipart uploads not stopping on context cancel
  33532. (Nick Craig-Wood)
  33533. - Mount
  33534. - Allow mounting to root directory on windows (albertony)
  33535. - Improved handling of relative paths on windows (albertony)
  33536. - Fix unicode issues with accented characters on macOS (Nick
  33537. Craig-Wood)
  33538. - Docs: document the new FileSecurity option in WinFsp 2021
  33539. (albertony)
  33540. - Docs: add note about volume path syntax on windows (albertony)
  33541. - Fix caching of old directories after renaming them (Nick
  33542. Craig-Wood)
  33543. - Update cgofuse to the latest version to bring in macfuse 4 fix
  33544. (Nick Craig-Wood)
  33545. - VFS
  33546. - --vfs-used-is-size to report used space using recursive scan
  33547. (tYYGH)
  33548. - Don't set modification time if it was already correct (Nick
  33549. Craig-Wood)
  33550. - Fix Create causing windows explorer to truncate files on CTRL-C
  33551. CTRL-V (Nick Craig-Wood)
  33552. - Fix modtimes not updating when writing via cache (Nick
  33553. Craig-Wood)
  33554. - Fix modtimes changing by fractional seconds after upload (Nick
  33555. Craig-Wood)
  33556. - Fix modtime set if --vfs-cache-mode writes/full and no write
  33557. (Nick Craig-Wood)
  33558. - Rename files in cache and cancel uploads on directory rename
  33559. (Nick Craig-Wood)
  33560. - Fix directory renaming by renaming dirs cached in memory (Nick
  33561. Craig-Wood)
  33562. - Local
  33563. - Add flag --local-no-preallocate (David Sze)
  33564. - Make nounc an advanced option except on Windows (albertony)
  33565. - Don't ignore preallocate disk full errors (Nick Craig-Wood)
  33566. - Cache
  33567. - Add --fs-cache-expire-duration to control the fs cache (Nick
  33568. Craig-Wood)
  33569. - Crypt
  33570. - Add option to not encrypt data (Vesnyx)
  33571. - Log hash ok on upload (albertony)
  33572. - Azure Blob
  33573. - Add container public access level support. (Manish Kumar)
  33574. - B2
  33575. - Fix HTML files downloaded via cloudflare (Nick Craig-Wood)
  33576. - Box
  33577. - Fix transfers getting stuck on token expiry after API change
  33578. (Nick Craig-Wood)
  33579. - Chunker
  33580. - Partially implement no-rename transactions (Maxwell Calman)
  33581. - Drive
  33582. - Don't stop server side copy if couldn't read description (Nick
  33583. Craig-Wood)
  33584. - Pass context on to drive SDK - to help with cancellation (Nick
  33585. Craig-Wood)
  33586. - Dropbox
  33587. - Add polling for changes support (Robert Thomas)
  33588. - Make --timeout 0 work properly (Nick Craig-Wood)
  33589. - Raise priority of rate limited message to INFO to make it more
  33590. noticeable (Nick Craig-Wood)
  33591. - Fichier
  33592. - Implement copy & move (buengese)
  33593. - Implement public link (buengese)
  33594. - FTP
  33595. - Implement Shutdown method (Nick Craig-Wood)
  33596. - Close idle connections after --ftp-idle-timeout (1m by default)
  33597. (Nick Craig-Wood)
  33598. - Make --timeout 0 work properly (Nick Craig-Wood)
  33599. - Add --ftp-close-timeout flag for use with awkward ftp servers
  33600. (Nick Craig-Wood)
  33601. - Retry connections and logins on 421 errors (Nick Craig-Wood)
  33602. - Hdfs
  33603. - Fix permissions for when directory is created (Lucas Messenger)
  33604. - Onedrive
  33605. - Make --timeout 0 work properly (Nick Craig-Wood)
  33606. - S3
  33607. - Fix --s3-profile which wasn't working (Nick Craig-Wood)
  33608. - SFTP
  33609. - Close idle connections after --sftp-idle-timeout (1m by default)
  33610. (Nick Craig-Wood)
  33611. - Fix "file not found" errors for read once servers (Nick
  33612. Craig-Wood)
  33613. - Fix SetModTime stat failed: object not found with
  33614. --sftp-set-modtime=false (Nick Craig-Wood)
  33615. - Swift
  33616. - Update github.com/ncw/swift to v2.0.0 (Nick Craig-Wood)
  33617. - Implement copying large objects (nguyenhuuluan434)
  33618. - Union
  33619. - Fix crash when using epff policy (Nick Craig-Wood)
  33620. - Fix union attempting to update files on a read only file system
  33621. (Nick Craig-Wood)
  33622. - Refactor to use fspath.SplitFs instead of fs.ParseRemote (Nick
  33623. Craig-Wood)
  33624. - Fix initialisation broken in refactor (Nick Craig-Wood)
  33625. - WebDAV
  33626. - Add support for sharepoint with NTLM authentication (Rauno Ots)
  33627. - Make sharepoint-ntlm docs more consistent (Alex Chen)
  33628. - Improve terminology in sharepoint-ntlm docs (Ivan Andreev)
  33629. - Disable HTTP/2 for NTLM authentication (georne)
  33630. - Fix sharepoint-ntlm error 401 for parallel actions (Ivan
  33631. Andreev)
  33632. - Check that purged directory really exists (Ivan Andreev)
  33633. - Yandex
  33634. - Make --timeout 0 work properly (Nick Craig-Wood)
  33635. - Zoho
  33636. - Replace client id - you will need to rclone config reconnect
  33637. after this (buengese)
  33638. - Add forgotten setupRegion() to NewFs - this finally fixes
  33639. regions other than EU (buengese)
  33640. v1.54.1 - 2021-03-08
  33641. See commits
  33642. - Bug Fixes
  33643. - accounting: Fix --bwlimit when up or down is off (Nick
  33644. Craig-Wood)
  33645. - docs
  33646. - Fix nesting of brackets and backticks in ftp docs
  33647. (edwardxml)
  33648. - Fix broken link in sftp page (edwardxml)
  33649. - Fix typo in crypt.md (Romeo Kienzler)
  33650. - Changelog: Correct link to digitalis.io (Alex JOST)
  33651. - Replace #file-caching with #vfs-file-caching (Miron
  33652. Veryanskiy)
  33653. - Convert bogus example link to code (edwardxml)
  33654. - Remove dead link from rc.md (edwardxml)
  33655. - rc: Sync,copy,move: document createEmptySrcDirs parameter (Nick
  33656. Craig-Wood)
  33657. - lsjson: Fix unterminated JSON in the presence of errors (Nick
  33658. Craig-Wood)
  33659. - Mount
  33660. - Fix mount dropping on macOS by setting --daemon-timeout 10m
  33661. (Nick Craig-Wood)
  33662. - VFS
  33663. - Document simultaneous usage with the same cache shouldn't be
  33664. used (Nick Craig-Wood)
  33665. - B2
  33666. - Automatically raise upload cutoff to avoid spurious error (Nick
  33667. Craig-Wood)
  33668. - Fix failed to create file system with application key limited to
  33669. a prefix (Nick Craig-Wood)
  33670. - Drive
  33671. - Refer to Shared Drives instead of Team Drives (Nick Craig-Wood)
  33672. - Dropbox
  33673. - Add scopes to oauth request and optionally "members.read" (Nick
  33674. Craig-Wood)
  33675. - S3
  33676. - Fix failed to create file system with folder level permissions
  33677. policy (Nick Craig-Wood)
  33678. - Fix Wasabi HEAD requests returning stale data by using only 1
  33679. transport (Nick Craig-Wood)
  33680. - Fix shared_credentials_file auth (Dmitry Chepurovskiy)
  33681. - Add --s3-no-head to reducing costs docs (Nick Craig-Wood)
  33682. - Union
  33683. - Fix mkdir at root with remote:/ (Nick Craig-Wood)
  33684. - Zoho
  33685. - Fix custom client id's (buengese)
  33686. v1.54.0 - 2021-02-02
  33687. See commits
  33688. - New backends
  33689. - Compression remote (experimental) (buengese)
  33690. - Enterprise File Fabric (Nick Craig-Wood)
  33691. - This work was sponsored by Storage Made Easy
  33692. - HDFS (Hadoop Distributed File System) (Yury Stankevich)
  33693. - Zoho workdrive (buengese)
  33694. - New Features
  33695. - Deglobalise the config (Nick Craig-Wood)
  33696. - Global config now read from the context
  33697. - This will enable passing of global config via the rc
  33698. - This work was sponsored by Digitalis
  33699. - Add --bwlimit for upload and download (Nick Craig-Wood)
  33700. - Obey bwlimit in http Transport for better limiting
  33701. - Enhance systemd integration (Hekmon)
  33702. - log level identification, manual activation with flag,
  33703. automatic systemd launch detection
  33704. - Don't compile systemd log integration for non unix systems
  33705. (Benjamin Gustin)
  33706. - Add a --download flag to md5sum/sha1sum/hashsum to force rclone
  33707. to download and hash files locally (lostheli)
  33708. - Add --progress-terminal-title to print ETA to terminal title
  33709. (LaSombra)
  33710. - Make backend env vars show in help as the defaults for backend
  33711. flags (Nick Craig-Wood)
  33712. - build
  33713. - Raise minimum go version to go1.12 (Nick Craig-Wood)
  33714. - dedupe
  33715. - Add --by-hash to dedupe on content hash not file name (Nick
  33716. Craig-Wood)
  33717. - Add --dedupe-mode list to just list dupes, changing nothing
  33718. (Nick Craig-Wood)
  33719. - Add warning if used on a remote which can't have duplicate
  33720. names (Nick Craig-Wood)
  33721. - fs
  33722. - Add Shutdown optional method for backends (Nick Craig-Wood)
  33723. - When using --files-from check files concurrently (zhucan)
  33724. - Accumulate stats when using --dry-run (Ingo Weiss)
  33725. - Always show stats when using --dry-run or --interactive
  33726. (Nick Craig-Wood)
  33727. - Add support for flag --no-console on windows to hide the
  33728. console window (albertony)
  33729. - genautocomplete: Add support to output to stdout (Ingo)
  33730. - ncdu
  33731. - Highlight read errors instead of aborting (Claudio
  33732. Bantaloukas)
  33733. - Add sort by average size in directory (Adam Plánský)
  33734. - Add toggle option for average s3ize in directory - key 'a'
  33735. (Adam Plánský)
  33736. - Add empty folder flag into ncdu browser (Adam Plánský)
  33737. - Add ! (error) and . (unreadable) file flags to go with e
  33738. (empty) (Nick Craig-Wood)
  33739. - obscure: Make rclone obscure - ignore newline at end of line
  33740. (Nick Craig-Wood)
  33741. - operations
  33742. - Add logs when need to upload files to set mod times (Nick
  33743. Craig-Wood)
  33744. - Move and copy log name of the destination object in verbose
  33745. (Adam Plánský)
  33746. - Add size if known to skipped items and JSON log (Nick
  33747. Craig-Wood)
  33748. - rc
  33749. - Prefer actual listener address if using ":port" or "addr:0"
  33750. only (Nick Craig-Wood)
  33751. - Add listener for finished jobs (Aleksandar Jankovic)
  33752. - serve ftp: Add options to enable TLS (Deepak Sah)
  33753. - serve http/webdav: Redirect requests to the base url without the
  33754. / (Nick Craig-Wood)
  33755. - serve restic: Implement object cache (Nick Craig-Wood)
  33756. - stats: Add counter for deleted directories (Nick Craig-Wood)
  33757. - sync: Only print "There was nothing to transfer" if no errors
  33758. (Nick Craig-Wood)
  33759. - webui
  33760. - Prompt user for updating webui if an update is available
  33761. (Chaitanya Bankanhal)
  33762. - Fix plugins initialization (negative0)
  33763. - Bug Fixes
  33764. - fs
  33765. - Fix nil pointer on copy & move operations directly to remote
  33766. (Anagh Kumar Baranwal)
  33767. - Fix parsing of .. when joining remotes (Nick Craig-Wood)
  33768. - log: Fix enabling systemd logging when using --log-file (Nick
  33769. Craig-Wood)
  33770. - check
  33771. - Make the error count match up in the log message (Nick
  33772. Craig-Wood)
  33773. - move: Fix data loss when source and destination are the same
  33774. object (Nick Craig-Wood)
  33775. - operations
  33776. - Fix --cutoff-mode hard not cutting off immediately (Nick
  33777. Craig-Wood)
  33778. - Fix --immutable error message (Nick Craig-Wood)
  33779. - sync
  33780. - Fix --cutoff-mode soft & cautious so it doesn't end the
  33781. transfer early (Nick Craig-Wood)
  33782. - Fix --immutable errors retrying many times (Nick Craig-Wood)
  33783. - Docs
  33784. - Many fixes and a rewrite of the filtering docs (edwardxml)
  33785. - Many spelling and grammar fixes (Josh Soref)
  33786. - Doc fixes for commands delete, purge, rmdir, rmdirs and mount
  33787. (albertony)
  33788. - And thanks to these people for many doc fixes too numerous to
  33789. list
  33790. - Ameer Dawood, Antoine GIRARD, Bob Bagwill, Christopher
  33791. Stewart
  33792. - CokeMine, David, Dov Murik, Durval Menezes, Evan Harris,
  33793. gtorelly
  33794. - Ilyess Bachiri, Janne Johansson, Kerry Su, Marcin Zelent,
  33795. - Martin Michlmayr, Milly, Sơn Trần-Nguyễn
  33796. - Mount
  33797. - Update systemd status with cache stats (Hekmon)
  33798. - Disable bazil/fuse based mount on macOS (Nick Craig-Wood)
  33799. - Make rclone mount actually run rclone cmount under macOS
  33800. (Nick Craig-Wood)
  33801. - Implement mknod to make NFS file creation work (Nick Craig-Wood)
  33802. - Make sure we don't call umount more than once (Nick Craig-Wood)
  33803. - More user friendly mounting as network drive on windows
  33804. (albertony)
  33805. - Detect if uid or gid are set in same option string: -o
  33806. uid=123,gid=456 (albertony)
  33807. - Don't attempt to unmount if fs has been destroyed already (Nick
  33808. Craig-Wood)
  33809. - VFS
  33810. - Fix virtual entries causing deleted files to still appear (Nick
  33811. Craig-Wood)
  33812. - Fix "file already exists" error for stale cache files (Nick
  33813. Craig-Wood)
  33814. - Fix file leaks with --vfs-cache-mode full and --buffer-size 0
  33815. (Nick Craig-Wood)
  33816. - Fix invalid cache path on windows when using :backend: as remote
  33817. (albertony)
  33818. - Local
  33819. - Continue listing files/folders when a circular symlink is
  33820. detected (Manish Gupta)
  33821. - New flag --local-zero-size-links to fix sync on some virtual
  33822. filesystems (Riccardo Iaconelli)
  33823. - Azure Blob
  33824. - Add support for service principals (James Lim)
  33825. - Add support for managed identities (Brad Ackerman)
  33826. - Add examples for access tier (Bob Pusateri)
  33827. - Utilize the streaming capabilities from the SDK for multipart
  33828. uploads (Denis Neuling)
  33829. - Fix setting of mime types (Nick Craig-Wood)
  33830. - Fix crash when listing outside a SAS URL's root (Nick
  33831. Craig-Wood)
  33832. - Delete archive tier blobs before update if
  33833. --azureblob-archive-tier-delete (Nick Craig-Wood)
  33834. - Fix crash on startup (Nick Craig-Wood)
  33835. - Fix memory usage by upgrading the SDK to v0.13.0 and
  33836. implementing a TransferManager (Nick Craig-Wood)
  33837. - Require go1.14+ to compile due to SDK changes (Nick Craig-Wood)
  33838. - B2
  33839. - Make NewObject use less expensive API calls (Nick Craig-Wood)
  33840. - This will improve --files-from and restic serve in
  33841. particular
  33842. - Fixed crash on an empty file name (lluuaapp)
  33843. - Box
  33844. - Fix NewObject for files that differ in case (Nick Craig-Wood)
  33845. - Fix finding directories in a case insensitive way (Nick
  33846. Craig-Wood)
  33847. - Chunker
  33848. - Skip long local hashing, hash in-transit (fixes) (Ivan Andreev)
  33849. - Set Features ReadMimeType to false as Object.MimeType not
  33850. supported (Nick Craig-Wood)
  33851. - Fix case-insensitive NewObject, test metadata detection (Ivan
  33852. Andreev)
  33853. - Drive
  33854. - Implement rclone backend copyid command for copying files by ID
  33855. (Nick Craig-Wood)
  33856. - Added flag --drive-stop-on-download-limit to stop transfers when
  33857. the download limit is exceeded (Anagh Kumar Baranwal)
  33858. - Implement CleanUp workaround for team drives (buengese)
  33859. - Allow shortcut resolution and creation to be retried (Nick
  33860. Craig-Wood)
  33861. - Log that emptying the trash can take some time (Nick Craig-Wood)
  33862. - Add xdg office icons to xdg desktop files (Pau
  33863. Rodriguez-Estivill)
  33864. - Dropbox
  33865. - Add support for viewing shared files and folders (buengese)
  33866. - Enable short lived access tokens (Nick Craig-Wood)
  33867. - Implement IDer on Objects so rclone lsf etc can read the IDs
  33868. (buengese)
  33869. - Set Features ReadMimeType to false as Object.MimeType not
  33870. supported (Nick Craig-Wood)
  33871. - Make malformed_path errors from too long files not retriable
  33872. (Nick Craig-Wood)
  33873. - Test file name length before upload to fix upload loop (Nick
  33874. Craig-Wood)
  33875. - Fichier
  33876. - Set Features ReadMimeType to true as Object.MimeType is
  33877. supported (Nick Craig-Wood)
  33878. - FTP
  33879. - Add --ftp-disable-msld option to ignore MLSD for really old
  33880. servers (Nick Craig-Wood)
  33881. - Make --tpslimit apply (Nick Craig-Wood)
  33882. - Google Cloud Storage
  33883. - Storage class object header support (Laurens Janssen)
  33884. - Fix anonymous client to use rclone's HTTP client (Nick
  33885. Craig-Wood)
  33886. - Fix
  33887. Entry doesn't belong in directory "" (same as directory) - ignoring
  33888. (Nick Craig-Wood)
  33889. - Googlephotos
  33890. - New flag --gphotos-include-archived to show archived photos as
  33891. well (Nicolas Rueff)
  33892. - Jottacloud
  33893. - Don't erroneously report support for writing mime types
  33894. (buengese)
  33895. - Add support for Telia Cloud (Patrik Nordlén)
  33896. - Mailru
  33897. - Accept special folders eg camera-upload (Ivan Andreev)
  33898. - Avoid prehashing of large local files (Ivan Andreev)
  33899. - Fix uploads after recent changes on server (Ivan Andreev)
  33900. - Fix range requests after June 2020 changes on server (Ivan
  33901. Andreev)
  33902. - Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
  33903. - Remove deprecated protocol quirks (Ivan Andreev)
  33904. - Memory
  33905. - Fix setting of mime types (Nick Craig-Wood)
  33906. - Onedrive
  33907. - Add support for China region operated by 21vianet and other
  33908. regional suppliers (NyaMisty)
  33909. - Warn on gateway timeout errors (Nick Craig-Wood)
  33910. - Fall back to normal copy if server-side copy unavailable (Alex
  33911. Chen)
  33912. - Fix server-side copy completely disabled on OneDrive for
  33913. Business (Cnly)
  33914. - (business only) workaround to replace existing file on
  33915. server-side copy (Alex Chen)
  33916. - Enhance link creation with expiry, scope, type and password
  33917. (Nick Craig-Wood)
  33918. - Remove % and # from the set of encoded characters (Alex Chen)
  33919. - Support addressing site by server-relative URL (kice)
  33920. - Opendrive
  33921. - Fix finding directories in a case insensitive way (Nick
  33922. Craig-Wood)
  33923. - Pcloud
  33924. - Fix setting of mime types (Nick Craig-Wood)
  33925. - Premiumizeme
  33926. - Fix finding directories in a case insensitive way (Nick
  33927. Craig-Wood)
  33928. - Qingstor
  33929. - Fix error propagation in CleanUp (Nick Craig-Wood)
  33930. - Fix rclone cleanup (Nick Craig-Wood)
  33931. - S3
  33932. - Added --s3-disable-http2 to disable http/2 (Anagh Kumar
  33933. Baranwal)
  33934. - Complete SSE-C implementation (Nick Craig-Wood)
  33935. - Fix hashes on small files with AWS:KMS and SSE-C (Nick
  33936. Craig-Wood)
  33937. - Add MD5 metadata to objects uploaded with SSE-AWS/SSE-C
  33938. (Nick Craig-Wood)
  33939. - Add --s3-no-head parameter to minimise transactions on upload
  33940. (Nick Craig-Wood)
  33941. - Update docs with a Reducing Costs section (Nick Craig-Wood)
  33942. - Added error handling for error code 429 indicating too many
  33943. requests (Anagh Kumar Baranwal)
  33944. - Add requester pays option (kelv)
  33945. - Fix copy multipart with v2 auth failing with
  33946. 'SignatureDoesNotMatch' (Louis Koo)
  33947. - SFTP
  33948. - Allow cert based auth via optional pubkey (Stephen Harris)
  33949. - Allow user to optionally check server hosts key to add security
  33950. (Stephen Harris)
  33951. - Defer asking for user passwords until the SSH connection
  33952. succeeds (Stephen Harris)
  33953. - Remember entered password in AskPass mode (Stephen Harris)
  33954. - Implement Shutdown method (Nick Craig-Wood)
  33955. - Implement keyboard interactive authentication (Nick Craig-Wood)
  33956. - Make --tpslimit apply (Nick Craig-Wood)
  33957. - Implement --sftp-use-fstat for unusual SFTP servers (Nick
  33958. Craig-Wood)
  33959. - Sugarsync
  33960. - Fix NewObject for files that differ in case (Nick Craig-Wood)
  33961. - Fix finding directories in a case insensitive way (Nick
  33962. Craig-Wood)
  33963. - Swift
  33964. - Fix deletion of parts of Static Large Object (SLO) (Nguyễn Hữu
  33965. Luân)
  33966. - Ensure partially uploaded large files are uploaded unless
  33967. --swift-leave-parts-on-error (Nguyễn Hữu Luân)
  33968. - Tardigrade
  33969. - Upgrade to uplink v1.4.1 (Caleb Case)
  33970. - WebDAV
  33971. - Updated docs to show streaming to nextcloud is working (Durval
  33972. Menezes)
  33973. - Yandex
  33974. - Set Features WriteMimeType to false as Yandex ignores mime types
  33975. (Nick Craig-Wood)
  33976. v1.53.4 - 2021-01-20
  33977. See commits
  33978. - Bug Fixes
  33979. - accounting: Fix data race in Transferred() (Maciej Zimnoch)
  33980. - build
  33981. - Stop tagged releases making a current beta (Nick Craig-Wood)
  33982. - Upgrade docker buildx action (Matteo Pietro Dazzi)
  33983. - Add -buildmode to cross-compile.go (Nick Craig-Wood)
  33984. - Fix docker build by upgrading ilteoood/docker_buildx (Nick
  33985. Craig-Wood)
  33986. - Revert GitHub actions brew fix since this is now fixed (Nick
  33987. Craig-Wood)
  33988. - Fix brew install --cask syntax for macOS build (Nick
  33989. Craig-Wood)
  33990. - Update nfpm syntax to fix build of .deb/.rpm packages (Nick
  33991. Craig-Wood)
  33992. - Fix for Windows build errors (Ivan Andreev)
  33993. - fs: Parseduration: fixed tests to use UTC time (Ankur Gupta)
  33994. - fshttp: Prevent overlap of HTTP headers in logs (Nathan Collins)
  33995. - rc
  33996. - Fix core/command giving 500 internal error (Nick Craig-Wood)
  33997. - Add Copy method to rc.Params (Nick Craig-Wood)
  33998. - Fix 500 error when marshalling errors from core/command
  33999. (Nick Craig-Wood)
  34000. - plugins: Create plugins files only if webui is enabled.
  34001. (negative0)
  34002. - serve http: Fix serving files of unknown length (Nick
  34003. Craig-Wood)
  34004. - serve sftp: Fix authentication on one connection blocking others
  34005. (Nick Craig-Wood)
  34006. - Mount
  34007. - Add optional brew tag to throw an error when using mount in the
  34008. binaries installed via Homebrew (Anagh Kumar Baranwal)
  34009. - Add "." and ".." to directories to match cmount and expectations
  34010. (Nick Craig-Wood)
  34011. - VFS
  34012. - Make cache dir absolute before using it to fix path too long
  34013. errors (Nick Craig-Wood)
  34014. - Chunker
  34015. - Improve detection of incompatible metadata (Ivan Andreev)
  34016. - Google Cloud Storage
  34017. - Fix server side copy of large objects (Nick Craig-Wood)
  34018. - Jottacloud
  34019. - Fix token renewer to fix long uploads (Nick Craig-Wood)
  34020. - Fix token refresh failed: is not a regular file error (Nick
  34021. Craig-Wood)
  34022. - Pcloud
  34023. - Only use SHA1 hashes in EU region (Nick Craig-Wood)
  34024. - Sharefile
  34025. - Undo Fix backend due to API swapping integers for strings (Nick
  34026. Craig-Wood)
  34027. - WebDAV
  34028. - Fix Open Range requests to fix 4shared mount (Nick Craig-Wood)
  34029. - Add "Depth: 0" to GET requests to fix bitrix (Nick Craig-Wood)
  34030. v1.53.3 - 2020-11-19
  34031. See commits
  34032. - Bug Fixes
  34033. - random: Fix incorrect use of math/rand instead of crypto/rand
  34034. CVE-2020-28924 (Nick Craig-Wood)
  34035. - Passwords you have generated with rclone config may be
  34036. insecure
  34037. - See issue #4783 for more details and a checking tool
  34038. - random: Seed math/rand in one place with crypto strong seed
  34039. (Nick Craig-Wood)
  34040. - VFS
  34041. - Fix vfs/refresh calls with fs= parameter (Nick Craig-Wood)
  34042. - Sharefile
  34043. - Fix backend due to API swapping integers for strings (Nick
  34044. Craig-Wood)
  34045. v1.53.2 - 2020-10-26
  34046. See commits
  34047. - Bug Fixes
  34048. - accounting
  34049. - Fix incorrect speed and transferTime in core/stats (Nick
  34050. Craig-Wood)
  34051. - Stabilize display order of transfers on Windows (Nick
  34052. Craig-Wood)
  34053. - operations
  34054. - Fix use of --suffix without --backup-dir (Nick Craig-Wood)
  34055. - Fix spurious "--checksum is in use but the source and
  34056. destination have no hashes in common" (Nick Craig-Wood)
  34057. - build
  34058. - Work around GitHub actions brew problem (Nick Craig-Wood)
  34059. - Stop using set-env and set-path in the GitHub actions (Nick
  34060. Craig-Wood)
  34061. - Mount
  34062. - mount2: Fix the swapped UID / GID values (Russell Cattelan)
  34063. - VFS
  34064. - Detect and recover from a file being removed externally from the
  34065. cache (Nick Craig-Wood)
  34066. - Fix a deadlock vulnerability in downloaders.Close (Leo Luan)
  34067. - Fix a race condition in retryFailedResets (Leo Luan)
  34068. - Fix missed concurrency control between some item operations and
  34069. reset (Leo Luan)
  34070. - Add exponential backoff during ENOSPC retries (Leo Luan)
  34071. - Add a missed update of used cache space (Leo Luan)
  34072. - Fix --no-modtime to not attempt to set modtimes (as documented)
  34073. (Nick Craig-Wood)
  34074. - Local
  34075. - Fix sizes and syncing with --links option on Windows (Nick
  34076. Craig-Wood)
  34077. - Chunker
  34078. - Disable ListR to fix missing files on GDrive (workaround) (Ivan
  34079. Andreev)
  34080. - Fix upload over crypt (Ivan Andreev)
  34081. - Fichier
  34082. - Increase maximum file size from 100GB to 300GB (gyutw)
  34083. - Jottacloud
  34084. - Remove clientSecret from config when upgrading to token based
  34085. authentication (buengese)
  34086. - Avoid double url escaping of device/mountpoint (albertony)
  34087. - Remove DirMove workaround as it's not required anymore - also
  34088. (buengese)
  34089. - Mailru
  34090. - Fix uploads after recent changes on server (Ivan Andreev)
  34091. - Fix range requests after june changes on server (Ivan Andreev)
  34092. - Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
  34093. - Onedrive
  34094. - Fix disk usage for sharepoint (Nick Craig-Wood)
  34095. - S3
  34096. - Add missing regions for AWS (Anagh Kumar Baranwal)
  34097. - Seafile
  34098. - Fix accessing libraries > 2GB on 32 bit systems (Muffin King)
  34099. - SFTP
  34100. - Always convert the checksum to lower case (buengese)
  34101. - Union
  34102. - Create root directories if none exist (Nick Craig-Wood)
  34103. v1.53.1 - 2020-09-13
  34104. See commits
  34105. - Bug Fixes
  34106. - accounting: Remove new line from end of --stats-one-line display
  34107. (Nick Craig-Wood)
  34108. - check
  34109. - Add back missing --download flag (Nick Craig-Wood)
  34110. - Fix docs (Nick Craig-Wood)
  34111. - docs
  34112. - Note --log-file does append (Nick Craig-Wood)
  34113. - Add full stops for consistency in rclone --help (edwardxml)
  34114. - Add Tencent COS to s3 provider list (wjielai)
  34115. - Updated mount command to reflect that it requires Go 1.13 or
  34116. newer (Evan Harris)
  34117. - jottacloud: Mention that uploads from local disk will not
  34118. need to cache files to disk for md5 calculation (albertony)
  34119. - Fix formatting of rc docs page (Nick Craig-Wood)
  34120. - build
  34121. - Include vendor tar ball in release and fix startdev (Nick
  34122. Craig-Wood)
  34123. - Fix "Illegal instruction" error for ARMv6 builds (Nick
  34124. Craig-Wood)
  34125. - Fix architecture name in ARMv7 build (Nick Craig-Wood)
  34126. - VFS
  34127. - Fix spurious error "vfs cache: failed to _ensure cache EOF"
  34128. (Nick Craig-Wood)
  34129. - Log an ERROR if we fail to set the file to be sparse (Nick
  34130. Craig-Wood)
  34131. - Local
  34132. - Log an ERROR if we fail to set the file to be sparse (Nick
  34133. Craig-Wood)
  34134. - Drive
  34135. - Re-adds special oauth help text (Tim Gallant)
  34136. - Opendrive
  34137. - Do not retry 400 errors (Evan Harris)
  34138. v1.53.0 - 2020-09-02
  34139. See commits
  34140. - New Features
  34141. - The VFS layer was heavily reworked for this release - see below
  34142. for more details
  34143. - Interactive mode -i/--interactive for destructive operations
  34144. (fishbullet)
  34145. - Add --bwlimit-file flag to limit speeds of individual file
  34146. transfers (Nick Craig-Wood)
  34147. - Transfers are sorted by start time in the stats and progress
  34148. output (Max Sum)
  34149. - Make sure backends expand ~ and environment vars in file names
  34150. they use (Nick Craig-Wood)
  34151. - Add --refresh-times flag to set modtimes on hashless backends
  34152. (Nick Craig-Wood)
  34153. - build
  34154. - Remove vendor directory in favour of Go modules (Nick
  34155. Craig-Wood)
  34156. - Build with go1.15.x by default (Nick Craig-Wood)
  34157. - Drop macOS 386 build as it is no longer supported by go1.15
  34158. (Nick Craig-Wood)
  34159. - Add ARMv7 to the supported builds (Nick Craig-Wood)
  34160. - Enable rclone cmount on macOS (Nick Craig-Wood)
  34161. - Make rclone build with gccgo (Nick Craig-Wood)
  34162. - Make rclone build with wasm (Nick Craig-Wood)
  34163. - Change beta numbering to be semver compatible (Nick
  34164. Craig-Wood)
  34165. - Add file properties and icon to Windows executable
  34166. (albertony)
  34167. - Add experimental interface for integrating rclone into
  34168. browsers (Nick Craig-Wood)
  34169. - lib: Add file name compression (Klaus Post)
  34170. - rc
  34171. - Allow installation and use of plugins and test plugins with
  34172. rclone-webui (Chaitanya Bankanhal)
  34173. - Add reverse proxy pluginsHandler for serving plugins
  34174. (Chaitanya Bankanhal)
  34175. - Add mount/listmounts option for listing current mounts
  34176. (Chaitanya Bankanhal)
  34177. - Add operations/uploadfile to upload a file through rc using
  34178. encoding multipart/form-data (Chaitanya Bankanhal)
  34179. - Add core/command to execute rclone terminal commands.
  34180. (Chaitanya Bankanhal)
  34181. - rclone check
  34182. - Add reporting of filenames for same/missing/changed (Nick
  34183. Craig-Wood)
  34184. - Make check command obey --dry-run/-i/--interactive (Nick
  34185. Craig-Wood)
  34186. - Make check do --checkers files concurrently (Nick
  34187. Craig-Wood)
  34188. - Retry downloads if they fail when using the --download flag
  34189. (Nick Craig-Wood)
  34190. - Make it show stats by default (Nick Craig-Wood)
  34191. - rclone obscure: Allow obscure command to accept password on
  34192. STDIN (David Ibarra)
  34193. - rclone config
  34194. - Set RCLONE_CONFIG_DIR for use in config files and
  34195. subprocesses (Nick Craig-Wood)
  34196. - Reject remote names starting with a dash. (jtagcat)
  34197. - rclone cryptcheck: Add reporting of filenames for
  34198. same/missing/changed (Nick Craig-Wood)
  34199. - rclone dedupe: Make it obey the --size-only flag for duplicate
  34200. detection (Nick Craig-Wood)
  34201. - rclone link: Add --expire and --unlink flags (Roman Kredentser)
  34202. - rclone mkdir: Warn when using mkdir on remotes which can't have
  34203. empty directories (Nick Craig-Wood)
  34204. - rclone rc: Allow JSON parameters to simplify command line usage
  34205. (Nick Craig-Wood)
  34206. - rclone serve ftp
  34207. - Don't compile on < go1.13 after dependency update (Nick
  34208. Craig-Wood)
  34209. - Add error message if auth proxy fails (Nick Craig-Wood)
  34210. - Use refactored goftp.io/server library for binary shrink
  34211. (Nick Craig-Wood)
  34212. - rclone serve restic: Expose interfaces so that rclone can be
  34213. used as a library from within restic (Jack)
  34214. - rclone sync: Add --track-renames-strategy leaf (Nick Craig-Wood)
  34215. - rclone touch: Add ability to set nanosecond resolution times
  34216. (Nick Craig-Wood)
  34217. - rclone tree: Remove -i shorthand for --noindent as it conflicts
  34218. with -i/--interactive (Nick Craig-Wood)
  34219. - Bug Fixes
  34220. - accounting
  34221. - Fix documentation for speed/speedAvg (Nick Craig-Wood)
  34222. - Fix elapsed time not show actual time since beginning
  34223. (Chaitanya Bankanhal)
  34224. - Fix deadlock in stats printing (Nick Craig-Wood)
  34225. - build
  34226. - Fix file handle leak in GitHub release tool (Garrett Squire)
  34227. - rclone check: Fix successful retries with --download counting
  34228. errors (Nick Craig-Wood)
  34229. - rclone dedupe: Fix logging to be easier to understand (Nick
  34230. Craig-Wood)
  34231. - Mount
  34232. - Warn macOS users that mount implementation is changing (Nick
  34233. Craig-Wood)
  34234. - to test the new implementation use rclone cmount instead of
  34235. rclone mount
  34236. - this is because the library rclone uses has dropped macOS
  34237. support
  34238. - rc interface
  34239. - Add call for unmount all (Chaitanya Bankanhal)
  34240. - Make mount/mount remote control take vfsOpt option (Nick
  34241. Craig-Wood)
  34242. - Add mountOpt to mount/mount (Nick Craig-Wood)
  34243. - Add VFS and Mount options to mount/listmounts (Nick
  34244. Craig-Wood)
  34245. - Catch panics in cgofuse initialization and turn into error
  34246. messages (Nick Craig-Wood)
  34247. - Always supply stat information in Readdir (Nick Craig-Wood)
  34248. - Add support for reading unknown length files using direct IO
  34249. (Windows) (Nick Craig-Wood)
  34250. - Fix On Windows don't add -o uid/gid=-1 if user supplies
  34251. -o uid/gid. (Nick Craig-Wood)
  34252. - Fix macOS losing directory contents in cmount (Nick Craig-Wood)
  34253. - Fix volume name broken in recent refactor (Nick Craig-Wood)
  34254. - VFS
  34255. - Implement partial reads for --vfs-cache-mode full (Nick
  34256. Craig-Wood)
  34257. - Add --vfs-writeback option to delay writes back to cloud storage
  34258. (Nick Craig-Wood)
  34259. - Add --vfs-read-ahead parameter for use with
  34260. --vfs-cache-mode full (Nick Craig-Wood)
  34261. - Restart pending uploads on restart of the cache (Nick
  34262. Craig-Wood)
  34263. - Support synchronous cache space recovery upon ENOSPC (Leo Luan)
  34264. - Allow ReadAt and WriteAt to run concurrently with themselves
  34265. (Nick Craig-Wood)
  34266. - Change modtime of file before upload to current (Rob Calistri)
  34267. - Recommend --vfs-cache-modes writes on backends which can't
  34268. stream (Nick Craig-Wood)
  34269. - Add an optional fs parameter to vfs rc methods (Nick Craig-Wood)
  34270. - Fix errors when using > 260 char files in the cache in Windows
  34271. (Nick Craig-Wood)
  34272. - Fix renaming of items while they are being uploaded (Nick
  34273. Craig-Wood)
  34274. - Fix very high load caused by slow directory listings (Nick
  34275. Craig-Wood)
  34276. - Fix renamed files not being uploaded with
  34277. --vfs-cache-mode minimal (Nick Craig-Wood)
  34278. - Fix directory locking caused by slow directory listings (Nick
  34279. Craig-Wood)
  34280. - Fix saving from chrome without --vfs-cache-mode writes (Nick
  34281. Craig-Wood)
  34282. - Local
  34283. - Add --local-no-updated to provide a consistent view of changing
  34284. objects (Nick Craig-Wood)
  34285. - Add --local-no-set-modtime option to prevent modtime changes
  34286. (tyhuber1)
  34287. - Fix race conditions updating and reading Object metadata (Nick
  34288. Craig-Wood)
  34289. - Cache
  34290. - Make any created backends be cached to fix rc problems (Nick
  34291. Craig-Wood)
  34292. - Fix dedupe on caches wrapping drives (Nick Craig-Wood)
  34293. - Crypt
  34294. - Add --crypt-server-side-across-configs flag (Nick Craig-Wood)
  34295. - Make any created backends be cached to fix rc problems (Nick
  34296. Craig-Wood)
  34297. - Alias
  34298. - Make any created backends be cached to fix rc problems (Nick
  34299. Craig-Wood)
  34300. - Azure Blob
  34301. - Don't compile on < go1.13 after dependency update (Nick
  34302. Craig-Wood)
  34303. - B2
  34304. - Implement server-side copy for files > 5GB (Nick Craig-Wood)
  34305. - Cancel in progress multipart uploads and copies on rclone exit
  34306. (Nick Craig-Wood)
  34307. - Note that b2's encoding now allows  but rclone's hasn't changed
  34308. (Nick Craig-Wood)
  34309. - Fix transfers when using download_url (Nick Craig-Wood)
  34310. - Box
  34311. - Implement rclone cleanup (buengese)
  34312. - Cancel in progress multipart uploads and copies on rclone exit
  34313. (Nick Craig-Wood)
  34314. - Allow authentication with access token (David)
  34315. - Chunker
  34316. - Make any created backends be cached to fix rc problems (Nick
  34317. Craig-Wood)
  34318. - Drive
  34319. - Add rclone backend drives to list shared drives (teamdrives)
  34320. (Nick Craig-Wood)
  34321. - Implement rclone backend untrash (Nick Craig-Wood)
  34322. - Work around drive bug which didn't set modtime of copied docs
  34323. (Nick Craig-Wood)
  34324. - Added --drive-starred-only to only show starred files (Jay
  34325. McEntire)
  34326. - Deprecate --drive-alternate-export as it is no longer needed
  34327. (themylogin)
  34328. - Fix duplication of Google docs on server-side copy (Nick
  34329. Craig-Wood)
  34330. - Fix "panic: send on closed channel" when recycling dir entries
  34331. (Nick Craig-Wood)
  34332. - Dropbox
  34333. - Add copyright detector info in limitations section in the docs
  34334. (Alex Guerrero)
  34335. - Fix rclone link by removing expires parameter (Nick Craig-Wood)
  34336. - Fichier
  34337. - Detect Flood detected: IP Locked error and sleep for 30s (Nick
  34338. Craig-Wood)
  34339. - FTP
  34340. - Add explicit TLS support (Heiko Bornholdt)
  34341. - Add support for --dump bodies and --dump auth for debugging
  34342. (Nick Craig-Wood)
  34343. - Fix interoperation with pure-ftpd (Nick Craig-Wood)
  34344. - Google Cloud Storage
  34345. - Add support for anonymous access (Kai Lüke)
  34346. - Jottacloud
  34347. - Bring back legacy authentication for use with whitelabel
  34348. versions (buengese)
  34349. - Switch to new api root - also implement a very ugly workaround
  34350. for the DirMove failures (buengese)
  34351. - Onedrive
  34352. - Rework cancel of multipart uploads on rclone exit (Nick
  34353. Craig-Wood)
  34354. - Implement rclone cleanup (Nick Craig-Wood)
  34355. - Add --onedrive-no-versions flag to remove old versions (Nick
  34356. Craig-Wood)
  34357. - Pcloud
  34358. - Implement rclone link for public link creation (buengese)
  34359. - Qingstor
  34360. - Cancel in progress multipart uploads on rclone exit (Nick
  34361. Craig-Wood)
  34362. - S3
  34363. - Preserve metadata when doing multipart copy (Nick Craig-Wood)
  34364. - Cancel in progress multipart uploads and copies on rclone exit
  34365. (Nick Craig-Wood)
  34366. - Add rclone link for public link sharing (Roman Kredentser)
  34367. - Add rclone backend restore command to restore objects from
  34368. GLACIER (Nick Craig-Wood)
  34369. - Add rclone cleanup and rclone backend cleanup to clean
  34370. unfinished multipart uploads (Nick Craig-Wood)
  34371. - Add rclone backend list-multipart-uploads to list unfinished
  34372. multipart uploads (Nick Craig-Wood)
  34373. - Add --s3-max-upload-parts support (Kamil Trzciński)
  34374. - Add --s3-no-check-bucket for minimising rclone transactions and
  34375. perms (Nick Craig-Wood)
  34376. - Add --s3-profile and --s3-shared-credentials-file options (Nick
  34377. Craig-Wood)
  34378. - Use regional s3 us-east-1 endpoint (David)
  34379. - Add Scaleway provider (Vincent Feltz)
  34380. - Update IBM COS endpoints (Egor Margineanu)
  34381. - Reduce the default --s3-copy-cutoff to < 5GB for Backblaze S3
  34382. compatibility (Nick Craig-Wood)
  34383. - Fix detection of bucket existing (Nick Craig-Wood)
  34384. - SFTP
  34385. - Use the absolute path instead of the relative path for listing
  34386. for improved compatibility (Nick Craig-Wood)
  34387. - Add --sftp-subsystem and --sftp-server-command options (aus)
  34388. - Swift
  34389. - Fix dangling large objects breaking the listing (Nick
  34390. Craig-Wood)
  34391. - Fix purge not deleting directory markers (Nick Craig-Wood)
  34392. - Fix update multipart object removing all of its own parts (Nick
  34393. Craig-Wood)
  34394. - Fix missing hash from object returned from upload (Nick
  34395. Craig-Wood)
  34396. - Tardigrade
  34397. - Upgrade to uplink v1.2.0 (Kaloyan Raev)
  34398. - Union
  34399. - Fix writing with the all policy (Nick Craig-Wood)
  34400. - WebDAV
  34401. - Fix directory creation with 4shared (Nick Craig-Wood)
  34402. v1.52.3 - 2020-08-07
  34403. See commits
  34404. - Bug Fixes
  34405. - docs
  34406. - Disable smart typography (e.g. en-dash) in MANUAL.* and man
  34407. page (Nick Craig-Wood)
  34408. - Update install.md to reflect minimum Go version (Evan
  34409. Harris)
  34410. - Update install from source instructions (Nick Craig-Wood)
  34411. - make_manual: Support SOURCE_DATE_EPOCH (Morten Linderud)
  34412. - log: Fix --use-json-log going to stderr not --log-file on
  34413. Windows (Nick Craig-Wood)
  34414. - serve dlna: Fix file list on Samsung Series 6+ TVs (Matteo
  34415. Pietro Dazzi)
  34416. - sync: Fix deadlock with --track-renames-strategy modtime (Nick
  34417. Craig-Wood)
  34418. - Cache
  34419. - Fix moveto/copyto remote:file remote:file2 (Nick Craig-Wood)
  34420. - Drive
  34421. - Stop using root_folder_id as a cache (Nick Craig-Wood)
  34422. - Make dangling shortcuts appear in listings (Nick Craig-Wood)
  34423. - Drop "Disabling ListR" messages down to debug (Nick Craig-Wood)
  34424. - Workaround and policy for Google Drive API (Dmitry Ustalov)
  34425. - FTP
  34426. - Add note to docs about home vs root directory selection (Nick
  34427. Craig-Wood)
  34428. - Onedrive
  34429. - Fix reverting to Copy when Move would have worked (Nick
  34430. Craig-Wood)
  34431. - Avoid comma rendered in URL in onedrive.md (Kevin)
  34432. - Pcloud
  34433. - Fix oauth on European region "eapi.pcloud.com" (Nick Craig-Wood)
  34434. - S3
  34435. - Fix bucket Region auto detection when Region unset in config
  34436. (Nick Craig-Wood)
  34437. v1.52.2 - 2020-06-24
  34438. See commits
  34439. - Bug Fixes
  34440. - build
  34441. - Fix docker release build action (Nick Craig-Wood)
  34442. - Fix custom timezone in Docker image (NoLooseEnds)
  34443. - check: Fix misleading message which printed errors instead of
  34444. differences (Nick Craig-Wood)
  34445. - errors: Add WSAECONNREFUSED and more to the list of retriable
  34446. Windows errors (Nick Craig-Wood)
  34447. - rcd: Fix incorrect prometheus metrics (Gary Kim)
  34448. - serve restic: Fix flags so they use environment variables (Nick
  34449. Craig-Wood)
  34450. - serve webdav: Fix flags so they use environment variables (Nick
  34451. Craig-Wood)
  34452. - sync: Fix --track-renames-strategy modtime (Nick Craig-Wood)
  34453. - Drive
  34454. - Fix not being able to delete a directory with a trashed shortcut
  34455. (Nick Craig-Wood)
  34456. - Fix creating a directory inside a shortcut (Nick Craig-Wood)
  34457. - Fix --drive-impersonate with cached root_folder_id (Nick
  34458. Craig-Wood)
  34459. - SFTP
  34460. - Fix SSH key PEM loading (Zac Rubin)
  34461. - Swift
  34462. - Speed up deletes by not retrying segment container deletes (Nick
  34463. Craig-Wood)
  34464. - Tardigrade
  34465. - Upgrade to uplink v1.1.1 (Caleb Case)
  34466. - WebDAV
  34467. - Fix free/used display for rclone about/df for certain backends
  34468. (Nick Craig-Wood)
  34469. v1.52.1 - 2020-06-10
  34470. See commits
  34471. - Bug Fixes
  34472. - lib/file: Fix SetSparse on Windows 7 which fixes downloads of
  34473. files > 250MB (Nick Craig-Wood)
  34474. - build
  34475. - Update go.mod to go1.14 to enable -mod=vendor build (Nick
  34476. Craig-Wood)
  34477. - Remove quicktest from Dockerfile (Nick Craig-Wood)
  34478. - Build Docker images with GitHub actions (Matteo Pietro
  34479. Dazzi)
  34480. - Update Docker build workflows (Nick Craig-Wood)
  34481. - Set user_allow_other in /etc/fuse.conf in the Docker image
  34482. (Nick Craig-Wood)
  34483. - Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
  34484. - docs
  34485. - Add link to source and modified time to footer of every page
  34486. (Nick Craig-Wood)
  34487. - Remove manually set dates and use git dates instead (Nick
  34488. Craig-Wood)
  34489. - Minor tense, punctuation, brevity and positivity changes for
  34490. the home page (edwardxml)
  34491. - Remove leading slash in page reference in footer when
  34492. present (Nick Craig-Wood)
  34493. - Note commands which need obscured input in the docs (Nick
  34494. Craig-Wood)
  34495. - obscure: Write more help as we are referencing it elsewhere
  34496. (Nick Craig-Wood)
  34497. - VFS
  34498. - Fix OS vs Unix path confusion - fixes ChangeNotify on Windows
  34499. (Nick Craig-Wood)
  34500. - Drive
  34501. - Fix missing items when listing using --fast-list / ListR (Nick
  34502. Craig-Wood)
  34503. - Putio
  34504. - Fix panic on Object.Open (Cenk Alti)
  34505. - S3
  34506. - Fix upload of single files into buckets without create
  34507. permission (Nick Craig-Wood)
  34508. - Fix --header-upload (Nick Craig-Wood)
  34509. - Tardigrade
  34510. - Fix listing bug by upgrading to v1.0.7
  34511. - Set UserAgent to rclone (Caleb Case)
  34512. v1.52.0 - 2020-05-27
  34513. Special thanks to Martin Michlmayr for proof reading and correcting all
  34514. the docs and Edward Barker for helping re-write the front page.
  34515. See commits
  34516. - New backends
  34517. - Tardigrade backend for use with storj.io (Caleb Case)
  34518. - Union re-write to have multiple writable remotes (Max Sum)
  34519. - Seafile for Seafile server (Fred @creativeprojects)
  34520. - New commands
  34521. - backend: command for backend-specific commands (see backends)
  34522. (Nick Craig-Wood)
  34523. - cachestats: Deprecate in favour of rclone backend stats cache:
  34524. (Nick Craig-Wood)
  34525. - dbhashsum: Deprecate in favour of rclone hashsum DropboxHash
  34526. (Nick Craig-Wood)
  34527. - New Features
  34528. - Add --header-download and --header-upload flags for setting HTTP
  34529. headers when uploading/downloading (Tim Gallant)
  34530. - Add --header flag to add HTTP headers to every HTTP transaction
  34531. (Nick Craig-Wood)
  34532. - Add --check-first to do all checking before starting transfers
  34533. (Nick Craig-Wood)
  34534. - Add --track-renames-strategy for configurable matching criteria
  34535. for --track-renames (Bernd Schoolmann)
  34536. - Add --cutoff-mode hard,soft,cautious (Shing Kit Chan & Franklyn
  34537. Tackitt)
  34538. - Filter flags (e.g. --files-from -) can read from stdin
  34539. (fishbullet)
  34540. - Add --error-on-no-transfer option (Jon Fautley)
  34541. - Implement --order-by xxx,mixed for copying some small and some
  34542. big files (Nick Craig-Wood)
  34543. - Allow --max-backlog to be negative meaning as large as possible
  34544. (Nick Craig-Wood)
  34545. - Added --no-unicode-normalization flag to allow Unicode filenames
  34546. to remain unique (Ben Zenker)
  34547. - Allow --min-age/--max-age to take a date as well as a duration
  34548. (Nick Craig-Wood)
  34549. - Add rename statistics for file and directory renames (Nick
  34550. Craig-Wood)
  34551. - Add statistics output to JSON log (reddi)
  34552. - Make stats be printed on non-zero exit code (Nick Craig-Wood)
  34553. - When running --password-command allow use of stdin (Sébastien
  34554. Gross)
  34555. - Stop empty strings being a valid remote path (Nick Craig-Wood)
  34556. - accounting: support WriterTo for less memory copying (Nick
  34557. Craig-Wood)
  34558. - build
  34559. - Update to use go1.14 for the build (Nick Craig-Wood)
  34560. - Add -trimpath to release build for reproduceable builds
  34561. (Nick Craig-Wood)
  34562. - Remove GOOS and GOARCH from Dockerfile (Brandon Philips)
  34563. - config
  34564. - Fsync the config file after writing to save more reliably
  34565. (Nick Craig-Wood)
  34566. - Add --obscure and --no-obscure flags to config create/update
  34567. (Nick Craig-Wood)
  34568. - Make config show take remote: as well as remote (Nick
  34569. Craig-Wood)
  34570. - copyurl: Add --no-clobber flag (Denis)
  34571. - delete: Added --rmdirs flag to delete directories as well (Kush)
  34572. - filter: Added --files-from-raw flag (Ankur Gupta)
  34573. - genautocomplete: Add support for fish shell (Matan Rosenberg)
  34574. - log: Add support for syslog LOCAL facilities (Patryk Jakuszew)
  34575. - lsjson: Add --hash-type parameter and use it in lsf to speed up
  34576. hashing (Nick Craig-Wood)
  34577. - rc
  34578. - Add -o/--opt and -a/--arg for more structured input (Nick
  34579. Craig-Wood)
  34580. - Implement backend/command for running backend-specific
  34581. commands remotely (Nick Craig-Wood)
  34582. - Add mount/mount command for starting rclone mount via the
  34583. API (Chaitanya)
  34584. - rcd: Add Prometheus metrics support (Gary Kim)
  34585. - serve http
  34586. - Added a --template flag for user defined markup (calistri)
  34587. - Add Last-Modified headers to files and directories (Nick
  34588. Craig-Wood)
  34589. - serve sftp: Add support for multiple host keys by repeating
  34590. --key flag (Maxime Suret)
  34591. - touch: Add --localtime flag to make --timestamp localtime not
  34592. UTC (Nick Craig-Wood)
  34593. - Bug Fixes
  34594. - accounting
  34595. - Restore "Max number of stats groups reached" log line
  34596. (Michał Matczuk)
  34597. - Correct exitcode on Transfer Limit Exceeded flag. (Anuar
  34598. Serdaliyev)
  34599. - Reset bytes read during copy retry (Ankur Gupta)
  34600. - Fix race clearing stats (Nick Craig-Wood)
  34601. - copy: Only create empty directories when they don't exist on the
  34602. remote (Ishuah Kariuki)
  34603. - dedupe: Stop dedupe deleting files with identical IDs (Nick
  34604. Craig-Wood)
  34605. - oauth
  34606. - Use custom http client so that --no-check-certificate is
  34607. honored by oauth token fetch (Mark Spieth)
  34608. - Replace deprecated oauth2.NoContext (Lars Lehtonen)
  34609. - operations
  34610. - Fix setting the timestamp on Windows for multithread copy
  34611. (Nick Craig-Wood)
  34612. - Make rcat obey --ignore-checksum (Nick Craig-Wood)
  34613. - Make --max-transfer more accurate (Nick Craig-Wood)
  34614. - rc
  34615. - Fix dropped error (Lars Lehtonen)
  34616. - Fix misplaced http server config (Xiaoxing Ye)
  34617. - Disable duplicate log (ElonH)
  34618. - serve dlna
  34619. - Cds: don't specify childCount at all when unknown (Dan
  34620. Walters)
  34621. - Cds: use modification time as date in dlna metadata (Dan
  34622. Walters)
  34623. - serve restic: Fix tests after restic project removed vendoring
  34624. (Nick Craig-Wood)
  34625. - sync
  34626. - Fix incorrect "nothing to transfer" message using
  34627. --delete-before (Nick Craig-Wood)
  34628. - Only create empty directories when they don't exist on the
  34629. remote (Ishuah Kariuki)
  34630. - Mount
  34631. - Add --async-read flag to disable asynchronous reads (Nick
  34632. Craig-Wood)
  34633. - Ignore --allow-root flag with a warning as it has been removed
  34634. upstream (Nick Craig-Wood)
  34635. - Warn if --allow-non-empty used on Windows and clarify docs (Nick
  34636. Craig-Wood)
  34637. - Constrain to go1.13 or above otherwise bazil.org/fuse fails to
  34638. compile (Nick Craig-Wood)
  34639. - Fix fail because of too long volume name (evileye)
  34640. - Report 1PB free for unknown disk sizes (Nick Craig-Wood)
  34641. - Map more rclone errors into file systems errors (Nick
  34642. Craig-Wood)
  34643. - Fix disappearing cwd problem (Nick Craig-Wood)
  34644. - Use ReaddirPlus on Windows to improve directory listing
  34645. performance (Nick Craig-Wood)
  34646. - Send a hint as to whether the filesystem is case insensitive or
  34647. not (Nick Craig-Wood)
  34648. - Add rc command mount/types (Nick Craig-Wood)
  34649. - Change maximum leaf name length to 1024 bytes (Nick Craig-Wood)
  34650. - VFS
  34651. - Add --vfs-read-wait and --vfs-write-wait flags to control time
  34652. waiting for a sequential read/write (Nick Craig-Wood)
  34653. - Change default --vfs-read-wait to 20ms (it was 5ms and not
  34654. configurable) (Nick Craig-Wood)
  34655. - Make df output more consistent on a rclone mount. (Yves G)
  34656. - Report 1PB free for unknown disk sizes (Nick Craig-Wood)
  34657. - Fix race condition caused by unlocked reading of Dir.path (Nick
  34658. Craig-Wood)
  34659. - Make File lock and Dir lock not overlap to avoid deadlock (Nick
  34660. Craig-Wood)
  34661. - Implement lock ordering between File and Dir to eliminate
  34662. deadlocks (Nick Craig-Wood)
  34663. - Factor the vfs cache into its own package (Nick Craig-Wood)
  34664. - Pin the Fs in use in the Fs cache (Nick Craig-Wood)
  34665. - Add SetSys() methods to Node to allow caching stuff on a node
  34666. (Nick Craig-Wood)
  34667. - Ignore file not found errors from Hash in Read.Release (Nick
  34668. Craig-Wood)
  34669. - Fix hang in read wait code (Nick Craig-Wood)
  34670. - Local
  34671. - Speed up multi thread downloads by using sparse files on Windows
  34672. (Nick Craig-Wood)
  34673. - Implement --local-no-sparse flag for disabling sparse files
  34674. (Nick Craig-Wood)
  34675. - Implement rclone backend noop for testing purposes (Nick
  34676. Craig-Wood)
  34677. - Fix "file not found" errors on post transfer Hash calculation
  34678. (Nick Craig-Wood)
  34679. - Cache
  34680. - Implement rclone backend stats command (Nick Craig-Wood)
  34681. - Fix Server Side Copy with Temp Upload (Brandon McNama)
  34682. - Remove Unused Functions (Lars Lehtonen)
  34683. - Disable race tests until bbolt is fixed (Nick Craig-Wood)
  34684. - Move methods used for testing into test file (greatroar)
  34685. - Add Pin and Unpin and canonicalised lookup (Nick Craig-Wood)
  34686. - Use proper import path go.etcd.io/bbolt (Robert-André Mauchin)
  34687. - Crypt
  34688. - Calculate hashes for uploads from local disk (Nick Craig-Wood)
  34689. - This allows encrypted Jottacloud uploads without using local
  34690. disk
  34691. - This means encrypted s3/b2 uploads will now have hashes
  34692. - Added rclone backend decode/encode commands to replicate
  34693. functionality of cryptdecode (Anagh Kumar Baranwal)
  34694. - Get rid of the unused Cipher interface as it obfuscated the code
  34695. (Nick Craig-Wood)
  34696. - Azure Blob
  34697. - Implement streaming of unknown sized files so rcat is now
  34698. supported (Nick Craig-Wood)
  34699. - Implement memory pooling to control memory use (Nick Craig-Wood)
  34700. - Add --azureblob-disable-checksum flag (Nick Craig-Wood)
  34701. - Retry InvalidBlobOrBlock error as it may indicate block
  34702. concurrency problems (Nick Craig-Wood)
  34703. - Remove unused Object.parseTimeString() (Lars Lehtonen)
  34704. - Fix permission error on SAS URL limited to container (Nick
  34705. Craig-Wood)
  34706. - B2
  34707. - Add support for --header-upload and --header-download (Tim
  34708. Gallant)
  34709. - Ignore directory markers at the root also (Nick Craig-Wood)
  34710. - Force the case of the SHA1 to lowercase (Nick Craig-Wood)
  34711. - Remove unused largeUpload.clearUploadURL() (Lars Lehtonen)
  34712. - Box
  34713. - Add support for --header-upload and --header-download (Tim
  34714. Gallant)
  34715. - Implement About to read size used (Nick Craig-Wood)
  34716. - Add token renew function for jwt auth (David Bramwell)
  34717. - Added support for interchangeable root folder for Box backend
  34718. (Sunil Patra)
  34719. - Remove unnecessary iat from jws claims (David)
  34720. - Drive
  34721. - Follow shortcuts by default, skip with --drive-skip-shortcuts
  34722. (Nick Craig-Wood)
  34723. - Implement rclone backend shortcut command for creating shortcuts
  34724. (Nick Craig-Wood)
  34725. - Added rclone backend command to change service_account_file and
  34726. chunk_size (Anagh Kumar Baranwal)
  34727. - Fix missing files when using --fast-list and
  34728. --drive-shared-with-me (Nick Craig-Wood)
  34729. - Fix duplicate items when using --drive-shared-with-me (Nick
  34730. Craig-Wood)
  34731. - Extend --drive-stop-on-upload-limit to respond to
  34732. teamDriveFileLimitExceeded. (harry)
  34733. - Don't delete files with multiple parents to avoid data loss
  34734. (Nick Craig-Wood)
  34735. - Server side copy docs use default description if empty (Nick
  34736. Craig-Wood)
  34737. - Dropbox
  34738. - Make error insufficient space to be fatal (harry)
  34739. - Add info about required redirect url (Elan Ruusamäe)
  34740. - Fichier
  34741. - Add support for --header-upload and --header-download (Tim
  34742. Gallant)
  34743. - Implement custom pacer to deal with the new rate limiting
  34744. (buengese)
  34745. - FTP
  34746. - Fix lockup when using concurrency limit on failed connections
  34747. (Nick Craig-Wood)
  34748. - Fix lockup on failed upload when using concurrency limit (Nick
  34749. Craig-Wood)
  34750. - Fix lockup on Close failures when using concurrency limit (Nick
  34751. Craig-Wood)
  34752. - Work around pureftp sending spurious 150 messages (Nick
  34753. Craig-Wood)
  34754. - Google Cloud Storage
  34755. - Add support for --header-upload and --header-download (Nick
  34756. Craig-Wood)
  34757. - Add ARCHIVE storage class to help (Adam Stroud)
  34758. - Ignore directory markers at the root (Nick Craig-Wood)
  34759. - Googlephotos
  34760. - Make the start year configurable (Daven)
  34761. - Add support for --header-upload and --header-download (Tim
  34762. Gallant)
  34763. - Create feature/favorites directory (Brandon Philips)
  34764. - Fix "concurrent map write" error (Nick Craig-Wood)
  34765. - Don't put an image in error message (Nick Craig-Wood)
  34766. - HTTP
  34767. - Improved directory listing with new template from Caddy project
  34768. (calisro)
  34769. - Jottacloud
  34770. - Implement --jottacloud-trashed-only (buengese)
  34771. - Add support for --header-upload and --header-download (Tim
  34772. Gallant)
  34773. - Use RawURLEncoding when decoding base64 encoded login token
  34774. (buengese)
  34775. - Implement cleanup (buengese)
  34776. - Update docs regarding cleanup, removed remains from old auth,
  34777. and added warning about special mountpoints. (albertony)
  34778. - Mailru
  34779. - Describe 2FA requirements (valery1707)
  34780. - Onedrive
  34781. - Implement --onedrive-server-side-across-configs (Nick
  34782. Craig-Wood)
  34783. - Add support for --header-upload and --header-download (Tim
  34784. Gallant)
  34785. - Fix occasional 416 errors on multipart uploads (Nick Craig-Wood)
  34786. - Added maximum chunk size limit warning in the docs (Harry)
  34787. - Fix missing drive on config (Nick Craig-Wood)
  34788. - Make error quotaLimitReached to be fatal (harry)
  34789. - Opendrive
  34790. - Add support for --header-upload and --header-download (Tim
  34791. Gallant)
  34792. - Pcloud
  34793. - Added support for interchangeable root folder for pCloud backend
  34794. (Sunil Patra)
  34795. - Add support for --header-upload and --header-download (Tim
  34796. Gallant)
  34797. - Fix initial config "Auth state doesn't match" message (Nick
  34798. Craig-Wood)
  34799. - Premiumizeme
  34800. - Add support for --header-upload and --header-download (Tim
  34801. Gallant)
  34802. - Prune unused functions (Lars Lehtonen)
  34803. - Putio
  34804. - Add support for --header-upload and --header-download (Nick
  34805. Craig-Wood)
  34806. - Make downloading files use the rclone http Client (Nick
  34807. Craig-Wood)
  34808. - Fix parsing of remotes with leading and trailing / (Nick
  34809. Craig-Wood)
  34810. - Qingstor
  34811. - Make rclone cleanup remove pending multipart uploads older than
  34812. 24h (Nick Craig-Wood)
  34813. - Try harder to cancel failed multipart uploads (Nick Craig-Wood)
  34814. - Prune multiUploader.list() (Lars Lehtonen)
  34815. - Lint fix (Lars Lehtonen)
  34816. - S3
  34817. - Add support for --header-upload and --header-download (Tim
  34818. Gallant)
  34819. - Use memory pool for buffer allocations (Maciej Zimnoch)
  34820. - Add SSE-C support for AWS, Ceph, and MinIO (Jack Anderson)
  34821. - Fail fast multipart upload (Michał Matczuk)
  34822. - Report errors on bucket creation (mkdir) correctly (Nick
  34823. Craig-Wood)
  34824. - Specify that Minio supports URL encoding in listings (Nick
  34825. Craig-Wood)
  34826. - Added 500 as retryErrorCode (Michał Matczuk)
  34827. - Use --low-level-retries as the number of SDK retries (Aleksandar
  34828. Janković)
  34829. - Fix multipart abort context (Aleksandar Jankovic)
  34830. - Replace deprecated session.New() with session.NewSession() (Lars
  34831. Lehtonen)
  34832. - Use the provided size parameter when allocating a new memory
  34833. pool (Joachim Brandon LeBlanc)
  34834. - Use rclone's low level retries instead of AWS SDK to fix listing
  34835. retries (Nick Craig-Wood)
  34836. - Ignore directory markers at the root also (Nick Craig-Wood)
  34837. - Use single memory pool (Michał Matczuk)
  34838. - Do not resize buf on put to memBuf (Michał Matczuk)
  34839. - Improve docs for --s3-disable-checksum (Nick Craig-Wood)
  34840. - Don't leak memory or tokens in edge cases for multipart upload
  34841. (Nick Craig-Wood)
  34842. - Seafile
  34843. - Implement 2FA (Fred)
  34844. - SFTP
  34845. - Added --sftp-pem-key to support inline key files (calisro)
  34846. - Fix post transfer copies failing with 0 size when using
  34847. set_modtime=false (Nick Craig-Wood)
  34848. - Sharefile
  34849. - Add support for --header-upload and --header-download (Tim
  34850. Gallant)
  34851. - Sugarsync
  34852. - Add support for --header-upload and --header-download (Tim
  34853. Gallant)
  34854. - Swift
  34855. - Add support for --header-upload and --header-download (Nick
  34856. Craig-Wood)
  34857. - Fix cosmetic issue in error message (Martin Michlmayr)
  34858. - Union
  34859. - Implement multiple writable remotes (Max Sum)
  34860. - Fix server-side copy (Max Sum)
  34861. - Implement ListR (Max Sum)
  34862. - Enable ListR when upstreams contain local (Max Sum)
  34863. - WebDAV
  34864. - Add support for --header-upload and --header-download (Tim
  34865. Gallant)
  34866. - Fix X-OC-Mtime header for Transip compatibility (Nick
  34867. Craig-Wood)
  34868. - Report full and consistent usage with about (Yves G)
  34869. - Yandex
  34870. - Add support for --header-upload and --header-download (Tim
  34871. Gallant)
  34872. v1.51.0 - 2020-02-01
  34873. - New backends
  34874. - Memory (Nick Craig-Wood)
  34875. - Sugarsync (Nick Craig-Wood)
  34876. - New Features
  34877. - Adjust all backends to have --backend-encoding parameter (Nick
  34878. Craig-Wood)
  34879. - this enables the encoding for special characters to be
  34880. adjusted or disabled
  34881. - Add --max-duration flag to control the maximum duration of a
  34882. transfer session (boosh)
  34883. - Add --expect-continue-timeout flag, default 1s (Nick Craig-Wood)
  34884. - Add --no-check-dest flag for copying without testing the
  34885. destination (Nick Craig-Wood)
  34886. - Implement --order-by flag to order transfers (Nick Craig-Wood)
  34887. - accounting
  34888. - Don't show entries in both transferring and checking (Nick
  34889. Craig-Wood)
  34890. - Add option to delete stats (Aleksandar Jankovic)
  34891. - build
  34892. - Compress the test builds with gzip (Nick Craig-Wood)
  34893. - Implement a framework for starting test servers during tests
  34894. (Nick Craig-Wood)
  34895. - cmd: Always print elapsed time to tenth place seconds in
  34896. progress (Gary Kim)
  34897. - config
  34898. - Add --password-command to allow dynamic config password
  34899. (Damon Permezel)
  34900. - Give config questions default values (Nick Craig-Wood)
  34901. - Check a remote exists when creating a new one (Nick
  34902. Craig-Wood)
  34903. - copyurl: Add --stdout flag to write to stdout (Nick Craig-Wood)
  34904. - dedupe: Implement keep smallest too (Nick Craig-Wood)
  34905. - hashsum: Add flag --base64 flag (landall)
  34906. - lsf: Speed up on s3/swift/etc by not reading mimetype by default
  34907. (Nick Craig-Wood)
  34908. - lsjson: Add --no-mimetype flag (Nick Craig-Wood)
  34909. - rc: Add methods to turn on blocking and mutex profiling (Nick
  34910. Craig-Wood)
  34911. - rcd
  34912. - Adding group parameter to stats (Chaitanya)
  34913. - Move webgui apart; option to disable browser (Xiaoxing Ye)
  34914. - serve sftp: Add support for public key with auth proxy (Paul
  34915. Tinsley)
  34916. - stats: Show deletes in stats and hide zero stats (anuar45)
  34917. - Bug Fixes
  34918. - accounting
  34919. - Fix error counter counting multiple times (Ankur Gupta)
  34920. - Fix error count shown as checks (Cnly)
  34921. - Clear finished transfer in stats-reset (Maciej Zimnoch)
  34922. - Added StatsInfo locking in statsGroups sum function (Michał
  34923. Matczuk)
  34924. - asyncreader: Fix EOF error (buengese)
  34925. - check: Fix --one-way recursing more directories than it needs to
  34926. (Nick Craig-Wood)
  34927. - chunkedreader: Disable hash calculation for first segment (Nick
  34928. Craig-Wood)
  34929. - config
  34930. - Do not open browser on headless on drive/gcs/google photos
  34931. (Xiaoxing Ye)
  34932. - SetValueAndSave ignore error if config section does not
  34933. exist yet (buengese)
  34934. - cmd: Fix completion with an encrypted config (Danil Semelenov)
  34935. - dbhashsum: Stop it returning UNSUPPORTED on dropbox (Nick
  34936. Craig-Wood)
  34937. - dedupe: Add missing modes to help string (Nick Craig-Wood)
  34938. - operations
  34939. - Fix dedupe continuing on errors like
  34940. insufficientFilePersimmon (SezalAgrawal)
  34941. - Clear accounting before low level retry (Maciej Zimnoch)
  34942. - Write debug message when hashes could not be checked (Ole
  34943. Schütt)
  34944. - Move interface assertion to tests to remove pflag dependency
  34945. (Nick Craig-Wood)
  34946. - Make NewOverrideObjectInfo public and factor uses (Nick
  34947. Craig-Wood)
  34948. - proxy: Replace use of bcrypt with sha256 (Nick Craig-Wood)
  34949. - vendor
  34950. - Update bazil.org/fuse to fix FreeBSD 12.1 (Nick Craig-Wood)
  34951. - Update github.com/t3rm1n4l/go-mega to fix mega "illegal
  34952. base64 data at input byte 22" (Nick Craig-Wood)
  34953. - Update termbox-go to fix ncdu command on FreeBSD (Kuang-che
  34954. Wu)
  34955. - Update t3rm1n4l/go-mega - fixes mega: couldn't login:
  34956. crypto/aes: invalid key size 0 (Nick Craig-Wood)
  34957. - Mount
  34958. - Enable async reads for a 20% speedup (Nick Craig-Wood)
  34959. - Replace use of WriteAt with Write for cache mode >= writes and
  34960. O_APPEND (Brett Dutro)
  34961. - Make sure we call unmount when exiting (Nick Craig-Wood)
  34962. - Don't build on go1.10 as bazil/fuse no longer supports it (Nick
  34963. Craig-Wood)
  34964. - When setting dates discard out of range dates (Nick Craig-Wood)
  34965. - VFS
  34966. - Add a newly created file straight into the directory (Nick
  34967. Craig-Wood)
  34968. - Only calculate one hash for reads for a speedup (Nick
  34969. Craig-Wood)
  34970. - Make ReadAt for non cached files work better with non-sequential
  34971. reads (Nick Craig-Wood)
  34972. - Fix edge cases when reading ModTime from file (Nick Craig-Wood)
  34973. - Make sure existing files opened for write show correct size
  34974. (Nick Craig-Wood)
  34975. - Don't cache the path in RW file objects to fix renaming (Nick
  34976. Craig-Wood)
  34977. - Fix rename of open files when using the VFS cache (Nick
  34978. Craig-Wood)
  34979. - When renaming files in the cache, rename the cache item in
  34980. memory too (Nick Craig-Wood)
  34981. - Fix open file renaming on drive when using
  34982. --vfs-cache-mode writes (Nick Craig-Wood)
  34983. - Fix incorrect modtime for mv into mount with
  34984. --vfs-cache-modes writes (Nick Craig-Wood)
  34985. - On rename, rename in cache too if the file exists (Anagh Kumar
  34986. Baranwal)
  34987. - Local
  34988. - Make source file being updated errors be NoLowLevelRetry errors
  34989. (Nick Craig-Wood)
  34990. - Fix update of hidden files on Windows (Nick Craig-Wood)
  34991. - Cache
  34992. - Follow move of upstream library github.com/coreos/bbolt
  34993. github.com/etcd-io/bbolt (Nick Craig-Wood)
  34994. - Fix fatal error: concurrent map writes (Nick Craig-Wood)
  34995. - Crypt
  34996. - Reorder the filename encryption options (Thomas Eales)
  34997. - Correctly handle trailing dot (buengese)
  34998. - Chunker
  34999. - Reduce length of temporary suffix (Ivan Andreev)
  35000. - Drive
  35001. - Add --drive-stop-on-upload-limit flag to stop syncs when upload
  35002. limit reached (Nick Craig-Wood)
  35003. - Add --drive-use-shared-date to use date file was shared instead
  35004. of modified date (Garry McNulty)
  35005. - Make sure invalid auth for teamdrives always reports an error
  35006. (Nick Craig-Wood)
  35007. - Fix --fast-list when using appDataFolder (Nick Craig-Wood)
  35008. - Use multipart resumable uploads for streaming and uploads in
  35009. mount (Nick Craig-Wood)
  35010. - Log an ERROR if an incomplete search is returned (Nick
  35011. Craig-Wood)
  35012. - Hide dangerous config from the configurator (Nick Craig-Wood)
  35013. - Dropbox
  35014. - Treat insufficient_space errors as non retriable errors (Nick
  35015. Craig-Wood)
  35016. - Jottacloud
  35017. - Use new auth method used by official client (buengese)
  35018. - Add URL to generate Login Token to config wizard (Nick
  35019. Craig-Wood)
  35020. - Add support whitelabel versions (buengese)
  35021. - Koofr
  35022. - Use rclone HTTP client. (jaKa)
  35023. - Onedrive
  35024. - Add Sites.Read.All permission (Benjamin Richter)
  35025. - Add support "Retry-After" header (Motonori IWAMURO)
  35026. - Opendrive
  35027. - Implement --opendrive-chunk-size (Nick Craig-Wood)
  35028. - S3
  35029. - Re-implement multipart upload to fix memory issues (Nick
  35030. Craig-Wood)
  35031. - Add --s3-copy-cutoff for size to switch to multipart copy (Nick
  35032. Craig-Wood)
  35033. - Add new region Asia Pacific (Hong Kong) (Outvi V)
  35034. - Reduce memory usage streaming files by reducing max stream
  35035. upload size (Nick Craig-Wood)
  35036. - Add --s3-list-chunk option for bucket listing (Thomas
  35037. Kriechbaumer)
  35038. - Force path style bucket access to off for AWS deprecation (Nick
  35039. Craig-Wood)
  35040. - Use AWS web identity role provider if available (Tennix)
  35041. - Add StackPath Object Storage Support (Dave Koston)
  35042. - Fix ExpiryWindow value (Aleksandar Jankovic)
  35043. - Fix DisableChecksum condition (Aleksandar Janković)
  35044. - Fix URL decoding of NextMarker (Nick Craig-Wood)
  35045. - SFTP
  35046. - Add --sftp-skip-links to skip symlinks and non regular files
  35047. (Nick Craig-Wood)
  35048. - Retry Creation of Connection (Sebastian Brandt)
  35049. - Fix "failed to parse private key file: ssh: not an encrypted
  35050. key" error (Nick Craig-Wood)
  35051. - Open files for update write only to fix AWS SFTP interop (Nick
  35052. Craig-Wood)
  35053. - Swift
  35054. - Reserve segments of dynamic large object when delete objects in
  35055. container what was enabled versioning. (Nguyễn Hữu Luân)
  35056. - Fix parsing of X-Object-Manifest (Nick Craig-Wood)
  35057. - Update OVH API endpoint (unbelauscht)
  35058. - WebDAV
  35059. - Make nextcloud only upload SHA1 checksums (Nick Craig-Wood)
  35060. - Fix case of "Bearer" in Authorization: header to agree with RFC
  35061. (Nick Craig-Wood)
  35062. - Add Referer header to fix problems with WAFs (Nick Craig-Wood)
  35063. v1.50.2 - 2019-11-19
  35064. - Bug Fixes
  35065. - accounting: Fix memory leak on retries operations (Nick
  35066. Craig-Wood)
  35067. - Drive
  35068. - Fix listing of the root directory with drive.files scope (Nick
  35069. Craig-Wood)
  35070. - Fix --drive-root-folder-id with team/shared drives (Nick
  35071. Craig-Wood)
  35072. v1.50.1 - 2019-11-02
  35073. - Bug Fixes
  35074. - hash: Fix accidentally changed hash names for DropboxHash and
  35075. CRC-32 (Nick Craig-Wood)
  35076. - fshttp: Fix error reporting on tpslimit token bucket errors
  35077. (Nick Craig-Wood)
  35078. - fshttp: Don't print token bucket errors on context cancelled
  35079. (Nick Craig-Wood)
  35080. - Local
  35081. - Fix listings of . on Windows (Nick Craig-Wood)
  35082. - Onedrive
  35083. - Fix DirMove/Move after Onedrive change (Xiaoxing Ye)
  35084. v1.50.0 - 2019-10-26
  35085. - New backends
  35086. - Citrix Sharefile (Nick Craig-Wood)
  35087. - Chunker - an overlay backend to split files into smaller parts
  35088. (Ivan Andreev)
  35089. - Mail.ru Cloud (Ivan Andreev)
  35090. - New Features
  35091. - encodings (Fabian Möller & Nick Craig-Wood)
  35092. - All backends now use file name encoding to ensure any file
  35093. name can be written to any backend.
  35094. - See the restricted file name docs for more info and the
  35095. local backend docs.
  35096. - Some file names may look different in rclone if you are
  35097. using any control characters in names or unicode FULLWIDTH
  35098. symbols.
  35099. - build
  35100. - Update to use go1.13 for the build (Nick Craig-Wood)
  35101. - Drop support for go1.9 (Nick Craig-Wood)
  35102. - Build rclone with GitHub actions (Nick Craig-Wood)
  35103. - Convert python scripts to python3 (Nick Craig-Wood)
  35104. - Swap Azure/go-ansiterm for mattn/go-colorable (Nick
  35105. Craig-Wood)
  35106. - Dockerfile fixes (Matei David)
  35107. - Add plugin support for backends and commands (Richard Patel)
  35108. - config
  35109. - Use alternating Red/Green in config to make more obvious
  35110. (Nick Craig-Wood)
  35111. - contrib
  35112. - Add sample DLNA server Docker Compose manifest. (pataquets)
  35113. - Add sample WebDAV server Docker Compose manifest.
  35114. (pataquets)
  35115. - copyurl
  35116. - Add --auto-filename flag for using file name from URL in
  35117. destination path (Denis)
  35118. - serve dlna:
  35119. - Many compatibility improvements (Dan Walters)
  35120. - Support for external srt subtitles (Dan Walters)
  35121. - rc
  35122. - Added command core/quit (Saksham Khanna)
  35123. - Bug Fixes
  35124. - sync
  35125. - Make --update/-u not transfer files that haven't changed
  35126. (Nick Craig-Wood)
  35127. - Free objects after they come out of the transfer pipe to
  35128. save memory (Nick Craig-Wood)
  35129. - Fix --files-from without --no-traverse doing a recursive
  35130. scan (Nick Craig-Wood)
  35131. - operations
  35132. - Fix accounting for server-side copies (Nick Craig-Wood)
  35133. - Display 'All duplicates removed' only if dedupe successful
  35134. (Sezal Agrawal)
  35135. - Display 'Deleted X extra copies' only if dedupe successful
  35136. (Sezal Agrawal)
  35137. - accounting
  35138. - Only allow up to 100 completed transfers in the accounting
  35139. list to save memory (Nick Craig-Wood)
  35140. - Cull the old time ranges when possible to save memory (Nick
  35141. Craig-Wood)
  35142. - Fix panic due to server-side copy fallback (Ivan Andreev)
  35143. - Fix memory leak noticeable for transfers of large numbers of
  35144. objects (Nick Craig-Wood)
  35145. - Fix total duration calculation (Nick Craig-Wood)
  35146. - cmd
  35147. - Fix environment variables not setting command line flags
  35148. (Nick Craig-Wood)
  35149. - Make autocomplete compatible with bash's posix mode for
  35150. macOS (Danil Semelenov)
  35151. - Make --progress work in git bash on Windows (Nick
  35152. Craig-Wood)
  35153. - Fix 'compopt: command not found' on autocomplete on macOS
  35154. (Danil Semelenov)
  35155. - config
  35156. - Fix setting of non top level flags from environment
  35157. variables (Nick Craig-Wood)
  35158. - Check config names more carefully and report errors (Nick
  35159. Craig-Wood)
  35160. - Remove error: can't use --size-only and --ignore-size
  35161. together. (Nick Craig-Wood)
  35162. - filter: Prevent mixing options when --files-from is in use
  35163. (Michele Caci)
  35164. - serve sftp: Fix crash on unsupported operations (e.g. Readlink)
  35165. (Nick Craig-Wood)
  35166. - Mount
  35167. - Allow files of unknown size to be read properly (Nick
  35168. Craig-Wood)
  35169. - Skip tests on <= 2 CPUs to avoid lockup (Nick Craig-Wood)
  35170. - Fix panic on File.Open (Nick Craig-Wood)
  35171. - Fix "mount_fusefs: -o timeout=: option not supported" on FreeBSD
  35172. (Nick Craig-Wood)
  35173. - Don't pass huge filenames (>4k) to FUSE as it can't cope (Nick
  35174. Craig-Wood)
  35175. - VFS
  35176. - Add flag --vfs-case-insensitive for windows/macOS mounts (Ivan
  35177. Andreev)
  35178. - Make objects of unknown size readable through the VFS (Nick
  35179. Craig-Wood)
  35180. - Move writeback of dirty data out of close() method into its own
  35181. method (FlushWrites) and remove close() call from Flush() (Brett
  35182. Dutro)
  35183. - Stop empty dirs disappearing when renamed on bucket-based
  35184. remotes (Nick Craig-Wood)
  35185. - Stop change notify polling clearing so much of the directory
  35186. cache (Nick Craig-Wood)
  35187. - Azure Blob
  35188. - Disable logging to the Windows event log (Nick Craig-Wood)
  35189. - B2
  35190. - Remove unverified: prefix on sha1 to improve interop (e.g. with
  35191. CyberDuck) (Nick Craig-Wood)
  35192. - Box
  35193. - Add options to get access token via JWT auth (David)
  35194. - Drive
  35195. - Disable HTTP/2 by default to work around INTERNAL_ERROR problems
  35196. (Nick Craig-Wood)
  35197. - Make sure that drive root ID is always canonical (Nick
  35198. Craig-Wood)
  35199. - Fix --drive-shared-with-me from the root with lsand --fast-list
  35200. (Nick Craig-Wood)
  35201. - Fix ChangeNotify polling for shared drives (Nick Craig-Wood)
  35202. - Fix change notify polling when using appDataFolder (Nick
  35203. Craig-Wood)
  35204. - Dropbox
  35205. - Make disallowed filenames errors not retry (Nick Craig-Wood)
  35206. - Fix nil pointer exception on restricted files (Nick Craig-Wood)
  35207. - Fichier
  35208. - Fix accessing files > 2GB on 32 bit systems (Nick Craig-Wood)
  35209. - FTP
  35210. - Allow disabling EPSV mode (Jon Fautley)
  35211. - HTTP
  35212. - HEAD directory entries in parallel to speedup (Nick Craig-Wood)
  35213. - Add --http-no-head to stop rclone doing HEAD in listings (Nick
  35214. Craig-Wood)
  35215. - Putio
  35216. - Add ability to resume uploads (Cenk Alti)
  35217. - S3
  35218. - Fix signature v2_auth headers (Anthony Rusdi)
  35219. - Fix encoding for control characters (Nick Craig-Wood)
  35220. - Only ask for URL encoded directory listings if we need them on
  35221. Ceph (Nick Craig-Wood)
  35222. - Add option for multipart failure behaviour (Aleksandar Jankovic)
  35223. - Support for multipart copy (庄天翼)
  35224. - Fix nil pointer reference if no metadata returned for object
  35225. (Nick Craig-Wood)
  35226. - SFTP
  35227. - Fix --sftp-ask-password trying to contact the ssh agent (Nick
  35228. Craig-Wood)
  35229. - Fix hashes of files with backslashes (Nick Craig-Wood)
  35230. - Include more ciphers with --sftp-use-insecure-cipher (Carlos
  35231. Ferreyra)
  35232. - WebDAV
  35233. - Parse and return Sharepoint error response (Henning Surmeier)
  35234. v1.49.5 - 2019-10-05
  35235. - Bug Fixes
  35236. - Revert back to go1.12.x for the v1.49.x builds as go1.13.x was
  35237. causing issues (Nick Craig-Wood)
  35238. - Fix rpm packages by using master builds of nfpm (Nick
  35239. Craig-Wood)
  35240. - Fix macOS build after brew changes (Nick Craig-Wood)
  35241. v1.49.4 - 2019-09-29
  35242. - Bug Fixes
  35243. - cmd/rcd: Address ZipSlip vulnerability (Richard Patel)
  35244. - accounting: Fix file handle leak on errors (Nick Craig-Wood)
  35245. - oauthutil: Fix security problem when running with two users on
  35246. the same machine (Nick Craig-Wood)
  35247. - FTP
  35248. - Fix listing of an empty root returning: error dir not found
  35249. (Nick Craig-Wood)
  35250. - S3
  35251. - Fix SetModTime on GLACIER/ARCHIVE objects and implement set/get
  35252. tier (Nick Craig-Wood)
  35253. v1.49.3 - 2019-09-15
  35254. - Bug Fixes
  35255. - accounting
  35256. - Fix total duration calculation (Aleksandar Jankovic)
  35257. - Fix "file already closed" on transfer retries (Nick
  35258. Craig-Wood)
  35259. v1.49.2 - 2019-09-08
  35260. - New Features
  35261. - build: Add Docker workflow support (Alfonso Montero)
  35262. - Bug Fixes
  35263. - accounting: Fix locking in Transfer to avoid deadlock with
  35264. --progress (Nick Craig-Wood)
  35265. - docs: Fix template argument for mktemp in install.sh (Cnly)
  35266. - operations: Fix -u/--update with google photos / files of
  35267. unknown size (Nick Craig-Wood)
  35268. - rc: Fix docs for config/create /update /password (Nick
  35269. Craig-Wood)
  35270. - Google Cloud Storage
  35271. - Fix need for elevated permissions on SetModTime (Nick
  35272. Craig-Wood)
  35273. v1.49.1 - 2019-08-28
  35274. - Bug Fixes
  35275. - config: Fix generated passwords being stored as empty password
  35276. (Nick Craig-Wood)
  35277. - rcd: Added missing parameter for web-gui info logs. (Chaitanya)
  35278. - Googlephotos
  35279. - Fix crash on error response (Nick Craig-Wood)
  35280. - Onedrive
  35281. - Fix crash on error response (Nick Craig-Wood)
  35282. v1.49.0 - 2019-08-26
  35283. - New backends
  35284. - 1fichier (Laura Hausmann)
  35285. - Google Photos (Nick Craig-Wood)
  35286. - Putio (Cenk Alti)
  35287. - premiumize.me (Nick Craig-Wood)
  35288. - New Features
  35289. - Experimental web GUI (Chaitanya Bankanhal)
  35290. - Implement --compare-dest & --copy-dest (yparitcher)
  35291. - Implement --suffix without --backup-dir for backup to current
  35292. dir (yparitcher)
  35293. - config reconnect to re-login (re-run the oauth login) for the
  35294. backend. (Nick Craig-Wood)
  35295. - config userinfo to discover which user you are logged in as.
  35296. (Nick Craig-Wood)
  35297. - config disconnect to disconnect you (log out) from the backend.
  35298. (Nick Craig-Wood)
  35299. - Add --use-json-log for JSON logging (justinalin)
  35300. - Add context propagation to rclone (Aleksandar Jankovic)
  35301. - Reworking internal statistics interfaces so they work with rc
  35302. jobs (Aleksandar Jankovic)
  35303. - Add Higher units for ETA (AbelThar)
  35304. - Update rclone logos to new design (Andreas Chlupka)
  35305. - hash: Add CRC-32 support (Cenk Alti)
  35306. - help showbackend: Fixed advanced option category when there are
  35307. no standard options (buengese)
  35308. - ncdu: Display/Copy to Clipboard Current Path (Gary Kim)
  35309. - operations:
  35310. - Run hashing operations in parallel (Nick Craig-Wood)
  35311. - Don't calculate checksums when using --ignore-checksum (Nick
  35312. Craig-Wood)
  35313. - Check transfer hashes when using --size-only mode (Nick
  35314. Craig-Wood)
  35315. - Disable multi thread copy for local to local copies (Nick
  35316. Craig-Wood)
  35317. - Debug successful hashes as well as failures (Nick
  35318. Craig-Wood)
  35319. - rc
  35320. - Add ability to stop async jobs (Aleksandar Jankovic)
  35321. - Return current settings if core/bwlimit called without
  35322. parameters (Nick Craig-Wood)
  35323. - Rclone-WebUI integration with rclone (Chaitanya Bankanhal)
  35324. - Added command line parameter to control the cross origin
  35325. resource sharing (CORS) in the rcd. (Security Improvement)
  35326. (Chaitanya Bankanhal)
  35327. - Add anchor tags to the docs so links are consistent (Nick
  35328. Craig-Wood)
  35329. - Remove _async key from input parameters after parsing so
  35330. later operations won't get confused (buengese)
  35331. - Add call to clear stats (Aleksandar Jankovic)
  35332. - rcd
  35333. - Auto-login for web-gui (Chaitanya Bankanhal)
  35334. - Implement --baseurl for rcd and web-gui (Chaitanya
  35335. Bankanhal)
  35336. - serve dlna
  35337. - Only select interfaces which can multicast for SSDP (Nick
  35338. Craig-Wood)
  35339. - Add more builtin mime types to cover standard audio/video
  35340. (Nick Craig-Wood)
  35341. - Fix missing mime types on Android causing missing videos
  35342. (Nick Craig-Wood)
  35343. - serve ftp
  35344. - Refactor to bring into line with other serve commands (Nick
  35345. Craig-Wood)
  35346. - Implement --auth-proxy (Nick Craig-Wood)
  35347. - serve http: Implement --baseurl (Nick Craig-Wood)
  35348. - serve restic: Implement --baseurl (Nick Craig-Wood)
  35349. - serve sftp
  35350. - Implement auth proxy (Nick Craig-Wood)
  35351. - Fix detection of whether server is authorized (Nick
  35352. Craig-Wood)
  35353. - serve webdav
  35354. - Implement --baseurl (Nick Craig-Wood)
  35355. - Support --auth-proxy (Nick Craig-Wood)
  35356. - Bug Fixes
  35357. - Make "bad record MAC" a retriable error (Nick Craig-Wood)
  35358. - copyurl: Fix copying files that return HTTP errors (Nick
  35359. Craig-Wood)
  35360. - march: Fix checking sub-directories when using --no-traverse
  35361. (buengese)
  35362. - rc
  35363. - Fix unmarshalable http.AuthFn in options and put in test for
  35364. marshalability (Nick Craig-Wood)
  35365. - Move job expire flags to rc to fix initialization problem
  35366. (Nick Craig-Wood)
  35367. - Fix --loopback with rc/list and others (Nick Craig-Wood)
  35368. - rcat: Fix slowdown on systems with multiple hashes (Nick
  35369. Craig-Wood)
  35370. - rcd: Fix permissions problems on cache directory with web gui
  35371. download (Nick Craig-Wood)
  35372. - Mount
  35373. - Default --daemon-timeout to 15 minutes on macOS and FreeBSD
  35374. (Nick Craig-Wood)
  35375. - Update docs to show mounting from root OK for bucket-based (Nick
  35376. Craig-Wood)
  35377. - Remove nonseekable flag from write files (Nick Craig-Wood)
  35378. - VFS
  35379. - Make write without cache more efficient (Nick Craig-Wood)
  35380. - Fix --vfs-cache-mode minimal and writes ignoring cached files
  35381. (Nick Craig-Wood)
  35382. - Local
  35383. - Add --local-case-sensitive and --local-case-insensitive (Nick
  35384. Craig-Wood)
  35385. - Avoid polluting page cache when uploading local files to remote
  35386. backends (Michał Matczuk)
  35387. - Don't calculate any hashes by default (Nick Craig-Wood)
  35388. - Fadvise run syscall on a dedicated go routine (Michał Matczuk)
  35389. - Azure Blob
  35390. - Azure Storage Emulator support (Sandeep)
  35391. - Updated config help details to remove connection string
  35392. references (Sandeep)
  35393. - Make all operations work from the root (Nick Craig-Wood)
  35394. - B2
  35395. - Implement link sharing (yparitcher)
  35396. - Enable server-side copy to copy between buckets (Nick
  35397. Craig-Wood)
  35398. - Make all operations work from the root (Nick Craig-Wood)
  35399. - Drive
  35400. - Fix server-side copy of big files (Nick Craig-Wood)
  35401. - Update API for teamdrive use (Nick Craig-Wood)
  35402. - Add error for purge with --drive-trashed-only (ginvine)
  35403. - Fichier
  35404. - Make FolderID int and adjust related code (buengese)
  35405. - Google Cloud Storage
  35406. - Reduce oauth scope requested as suggested by Google (Nick
  35407. Craig-Wood)
  35408. - Make all operations work from the root (Nick Craig-Wood)
  35409. - HTTP
  35410. - Add --http-headers flag for setting arbitrary headers (Nick
  35411. Craig-Wood)
  35412. - Jottacloud
  35413. - Use new api for retrieving internal username (buengese)
  35414. - Refactor configuration and minor cleanup (buengese)
  35415. - Koofr
  35416. - Support setting modification times on Koofr backend. (jaKa)
  35417. - Opendrive
  35418. - Refactor to use existing lib/rest facilities for uploads (Nick
  35419. Craig-Wood)
  35420. - Qingstor
  35421. - Upgrade to v3 SDK and fix listing loop (Nick Craig-Wood)
  35422. - Make all operations work from the root (Nick Craig-Wood)
  35423. - S3
  35424. - Add INTELLIGENT_TIERING storage class (Matti Niemenmaa)
  35425. - Make all operations work from the root (Nick Craig-Wood)
  35426. - SFTP
  35427. - Add missing interface check and fix About (Nick Craig-Wood)
  35428. - Completely ignore all modtime checks if SetModTime=false (Jon
  35429. Fautley)
  35430. - Support md5/sha1 with rsync.net (Nick Craig-Wood)
  35431. - Save the md5/sha1 command in use to the config file for
  35432. efficiency (Nick Craig-Wood)
  35433. - Opt-in support for diffie-hellman-group-exchange-sha256
  35434. diffie-hellman-group-exchange-sha1 (Yi FU)
  35435. - Swift
  35436. - Use FixRangeOption to fix 0 length files via the VFS (Nick
  35437. Craig-Wood)
  35438. - Fix upload when using no_chunk to return the correct size (Nick
  35439. Craig-Wood)
  35440. - Make all operations work from the root (Nick Craig-Wood)
  35441. - Fix segments leak during failed large file uploads.
  35442. (nguyenhuuluan434)
  35443. - WebDAV
  35444. - Add --webdav-bearer-token-command (Nick Craig-Wood)
  35445. - Refresh token when it expires with --webdav-bearer-token-command
  35446. (Nick Craig-Wood)
  35447. - Add docs for using bearer_token_command with oidc-agent (Paul
  35448. Millar)
  35449. v1.48.0 - 2019-06-15
  35450. - New commands
  35451. - serve sftp: Serve an rclone remote over SFTP (Nick Craig-Wood)
  35452. - New Features
  35453. - Multi threaded downloads to local storage (Nick Craig-Wood)
  35454. - controlled with --multi-thread-cutoff and
  35455. --multi-thread-streams
  35456. - Use rclone.conf from rclone executable directory to enable
  35457. portable use (albertony)
  35458. - Allow sync of a file and a directory with the same name
  35459. (forgems)
  35460. - this is common on bucket-based remotes, e.g. s3, gcs
  35461. - Add --ignore-case-sync for forced case insensitivity (garry415)
  35462. - Implement --stats-one-line-date and --stats-one-line-date-format
  35463. (Peter Berbec)
  35464. - Log an ERROR for all commands which exit with non-zero status
  35465. (Nick Craig-Wood)
  35466. - Use go-homedir to read the home directory more reliably (Nick
  35467. Craig-Wood)
  35468. - Enable creating encrypted config through external script
  35469. invocation (Wojciech Smigielski)
  35470. - build: Drop support for go1.8 (Nick Craig-Wood)
  35471. - config: Make config create/update encrypt passwords where
  35472. necessary (Nick Craig-Wood)
  35473. - copyurl: Honor --no-check-certificate (Stefan Breunig)
  35474. - install: Linux skip man pages if no mandb (didil)
  35475. - lsf: Support showing the Tier of the object (Nick Craig-Wood)
  35476. - lsjson
  35477. - Added EncryptedPath to output (calisro)
  35478. - Support showing the Tier of the object (Nick Craig-Wood)
  35479. - Add IsBucket field for bucket-based remote listing of the
  35480. root (Nick Craig-Wood)
  35481. - rc
  35482. - Add --loopback flag to run commands directly without a
  35483. server (Nick Craig-Wood)
  35484. - Add operations/fsinfo: Return information about the remote
  35485. (Nick Craig-Wood)
  35486. - Skip auth for OPTIONS request (Nick Craig-Wood)
  35487. - cmd/providers: Add DefaultStr, ValueStr and Type fields
  35488. (Nick Craig-Wood)
  35489. - jobs: Make job expiry timeouts configurable (Aleksandar
  35490. Jankovic)
  35491. - serve dlna reworked and improved (Dan Walters)
  35492. - serve ftp: add --ftp-public-ip flag to specify public IP
  35493. (calistri)
  35494. - serve restic: Add support for --private-repos in serve restic
  35495. (Florian Apolloner)
  35496. - serve webdav: Combine serve webdav and serve http (Gary Kim)
  35497. - size: Ignore negative sizes when calculating total (Garry
  35498. McNulty)
  35499. - Bug Fixes
  35500. - Make move and copy individual files obey --backup-dir (Nick
  35501. Craig-Wood)
  35502. - If --ignore-checksum is in effect, don't calculate checksum
  35503. (Nick Craig-Wood)
  35504. - moveto: Fix case-insensitive same remote move (Gary Kim)
  35505. - rc: Fix serving bucket-based objects with --rc-serve (Nick
  35506. Craig-Wood)
  35507. - serve webdav: Fix serveDir not being updated with changes from
  35508. webdav (Gary Kim)
  35509. - Mount
  35510. - Fix poll interval documentation (Animosity022)
  35511. - VFS
  35512. - Make WriteAt for non cached files work with non-sequential
  35513. writes (Nick Craig-Wood)
  35514. - Local
  35515. - Only calculate the required hashes for big speedup (Nick
  35516. Craig-Wood)
  35517. - Log errors when listing instead of returning an error (Nick
  35518. Craig-Wood)
  35519. - Fix preallocate warning on Linux with ZFS (Nick Craig-Wood)
  35520. - Crypt
  35521. - Make rclone dedupe work through crypt (Nick Craig-Wood)
  35522. - Fix wrapping of ChangeNotify to decrypt directories properly
  35523. (Nick Craig-Wood)
  35524. - Support PublicLink (rclone link) of underlying backend (Nick
  35525. Craig-Wood)
  35526. - Implement Optional methods SetTier, GetTier (Nick Craig-Wood)
  35527. - B2
  35528. - Implement server-side copy (Nick Craig-Wood)
  35529. - Implement SetModTime (Nick Craig-Wood)
  35530. - Drive
  35531. - Fix move and copy from TeamDrive to GDrive (Fionera)
  35532. - Add notes that cleanup works in the background on drive (Nick
  35533. Craig-Wood)
  35534. - Add --drive-server-side-across-configs to default back to old
  35535. server-side copy semantics by default (Nick Craig-Wood)
  35536. - Add --drive-size-as-quota to show storage quota usage for file
  35537. size (Garry McNulty)
  35538. - FTP
  35539. - Add FTP List timeout (Jeff Quinn)
  35540. - Add FTP over TLS support (Gary Kim)
  35541. - Add --ftp-no-check-certificate option for FTPS (Gary Kim)
  35542. - Google Cloud Storage
  35543. - Fix upload errors when uploading pre 1970 files (Nick
  35544. Craig-Wood)
  35545. - Jottacloud
  35546. - Add support for selecting device and mountpoint. (buengese)
  35547. - Mega
  35548. - Add cleanup support (Gary Kim)
  35549. - Onedrive
  35550. - More accurately check if root is found (Cnly)
  35551. - S3
  35552. - Support S3 Accelerated endpoints with
  35553. --s3-use-accelerate-endpoint (Nick Craig-Wood)
  35554. - Add config info for Wasabi's EU Central endpoint (Robert Marko)
  35555. - Make SetModTime work for GLACIER while syncing (Philip Harvey)
  35556. - SFTP
  35557. - Add About support (Gary Kim)
  35558. - Fix about parsing of df results so it can cope with -ve results
  35559. (Nick Craig-Wood)
  35560. - Send custom client version and debug server version (Nick
  35561. Craig-Wood)
  35562. - WebDAV
  35563. - Retry on 423 Locked errors (Nick Craig-Wood)
  35564. v1.47.0 - 2019-04-13
  35565. - New backends
  35566. - Backend for Koofr cloud storage service. (jaKa)
  35567. - New Features
  35568. - Resume downloads if the reader fails in copy (Nick Craig-Wood)
  35569. - this means rclone will restart transfers if the source has
  35570. an error
  35571. - this is most useful for downloads or cloud to cloud copies
  35572. - Use --fast-list for listing operations where it won't use more
  35573. memory (Nick Craig-Wood)
  35574. - this should speed up the following operations on remotes
  35575. which support ListR
  35576. - dedupe, serve restic lsf, ls, lsl, lsjson, lsd, md5sum,
  35577. sha1sum, hashsum, size, delete, cat, settier
  35578. - use --disable ListR to get old behaviour if required
  35579. - Make --files-from traverse the destination unless --no-traverse
  35580. is set (Nick Craig-Wood)
  35581. - this fixes --files-from with Google drive and excessive API
  35582. use in general.
  35583. - Make server-side copy account bytes and obey --max-transfer
  35584. (Nick Craig-Wood)
  35585. - Add --create-empty-src-dirs flag and default to not creating
  35586. empty dirs (ishuah)
  35587. - Add client side TLS/SSL flags
  35588. --ca-cert/--client-cert/--client-key (Nick Craig-Wood)
  35589. - Implement --suffix-keep-extension for use with --suffix (Nick
  35590. Craig-Wood)
  35591. - build:
  35592. - Switch to semver compliant version tags to be go modules
  35593. compliant (Nick Craig-Wood)
  35594. - Update to use go1.12.x for the build (Nick Craig-Wood)
  35595. - serve dlna: Add connection manager service description to
  35596. improve compatibility (Dan Walters)
  35597. - lsf: Add 'e' format to show encrypted names and 'o' for original
  35598. IDs (Nick Craig-Wood)
  35599. - lsjson: Added --files-only and --dirs-only flags (calistri)
  35600. - rc: Implement operations/publiclink the equivalent of
  35601. rclone link (Nick Craig-Wood)
  35602. - Bug Fixes
  35603. - accounting: Fix total ETA when --stats-unit bits is in effect
  35604. (Nick Craig-Wood)
  35605. - Bash TAB completion
  35606. - Use private custom func to fix clash between rclone and
  35607. kubectl (Nick Craig-Wood)
  35608. - Fix for remotes with underscores in their names (Six)
  35609. - Fix completion of remotes (Florian Gamböck)
  35610. - Fix autocompletion of remote paths with spaces (Danil
  35611. Semelenov)
  35612. - serve dlna: Fix root XML service descriptor (Dan Walters)
  35613. - ncdu: Fix display corruption with Chinese characters (Nick
  35614. Craig-Wood)
  35615. - Add SIGTERM to signals which run the exit handlers on unix (Nick
  35616. Craig-Wood)
  35617. - rc: Reload filter when the options are set via the rc (Nick
  35618. Craig-Wood)
  35619. - VFS / Mount
  35620. - Fix FreeBSD: Ignore Truncate if called with no readers and
  35621. already the correct size (Nick Craig-Wood)
  35622. - Read directory and check for a file before mkdir (Nick
  35623. Craig-Wood)
  35624. - Shorten the locking window for vfs/refresh (Nick Craig-Wood)
  35625. - Azure Blob
  35626. - Enable MD5 checksums when uploading files bigger than the
  35627. "Cutoff" (Dr.Rx)
  35628. - Fix SAS URL support (Nick Craig-Wood)
  35629. - B2
  35630. - Allow manual configuration of backblaze downloadUrl (Vince)
  35631. - Ignore already_hidden error on remove (Nick Craig-Wood)
  35632. - Ignore malformed src_last_modified_millis (Nick Craig-Wood)
  35633. - Drive
  35634. - Add --skip-checksum-gphotos to ignore incorrect checksums on
  35635. Google Photos (Nick Craig-Wood)
  35636. - Allow server-side move/copy between different remotes. (Fionera)
  35637. - Add docs on team drives and --fast-list eventual consistency
  35638. (Nestar47)
  35639. - Fix imports of text files (Nick Craig-Wood)
  35640. - Fix range requests on 0 length files (Nick Craig-Wood)
  35641. - Fix creation of duplicates with server-side copy (Nick
  35642. Craig-Wood)
  35643. - Dropbox
  35644. - Retry blank errors to fix long listings (Nick Craig-Wood)
  35645. - FTP
  35646. - Add --ftp-concurrency to limit maximum number of connections
  35647. (Nick Craig-Wood)
  35648. - Google Cloud Storage
  35649. - Fall back to default application credentials (marcintustin)
  35650. - Allow bucket policy only buckets (Nick Craig-Wood)
  35651. - HTTP
  35652. - Add --http-no-slash for websites with directories with no
  35653. slashes (Nick Craig-Wood)
  35654. - Remove duplicates from listings (Nick Craig-Wood)
  35655. - Fix socket leak on 404 errors (Nick Craig-Wood)
  35656. - Jottacloud
  35657. - Fix token refresh (Sebastian Bünger)
  35658. - Add device registration (Oliver Heyme)
  35659. - Onedrive
  35660. - Implement graceful cancel of multipart uploads if rclone is
  35661. interrupted (Cnly)
  35662. - Always add trailing colon to path when addressing items, (Cnly)
  35663. - Return errors instead of panic for invalid uploads (Fabian
  35664. Möller)
  35665. - S3
  35666. - Add support for "Glacier Deep Archive" storage class (Manu)
  35667. - Update Dreamhost endpoint (Nick Craig-Wood)
  35668. - Note incompatibility with CEPH Jewel (Nick Craig-Wood)
  35669. - SFTP
  35670. - Allow custom ssh client config (Alexandru Bumbacea)
  35671. - Swift
  35672. - Obey Retry-After to enable OVH restore from cold storage (Nick
  35673. Craig-Wood)
  35674. - Work around token expiry on CEPH (Nick Craig-Wood)
  35675. - WebDAV
  35676. - Allow IsCollection property to be integer or boolean (Nick
  35677. Craig-Wood)
  35678. - Fix race when creating directories (Nick Craig-Wood)
  35679. - Fix About/df when reading the available/total returns 0 (Nick
  35680. Craig-Wood)
  35681. v1.46 - 2019-02-09
  35682. - New backends
  35683. - Support Alibaba Cloud (Aliyun) OSS via the s3 backend (Nick
  35684. Craig-Wood)
  35685. - New commands
  35686. - serve dlna: serves a remove via DLNA for the local network
  35687. (nicolov)
  35688. - New Features
  35689. - copy, move: Restore deprecated --no-traverse flag (Nick
  35690. Craig-Wood)
  35691. - This is useful for when transferring a small number of files
  35692. into a large destination
  35693. - genautocomplete: Add remote path completion for bash completion
  35694. (Christopher Peterson & Danil Semelenov)
  35695. - Buffer memory handling reworked to return memory to the OS
  35696. better (Nick Craig-Wood)
  35697. - Buffer recycling library to replace sync.Pool
  35698. - Optionally use memory mapped memory for better memory
  35699. shrinking
  35700. - Enable with --use-mmap if having memory problems - not
  35701. default yet
  35702. - Parallelise reading of files specified by --files-from (Nick
  35703. Craig-Wood)
  35704. - check: Add stats showing total files matched. (Dario Guzik)
  35705. - Allow rename/delete open files under Windows (Nick Craig-Wood)
  35706. - lsjson: Use exactly the correct number of decimal places in the
  35707. seconds (Nick Craig-Wood)
  35708. - Add cookie support with cmdline switch --use-cookies for all
  35709. HTTP based remotes (qip)
  35710. - Warn if --checksum is set but there are no hashes available
  35711. (Nick Craig-Wood)
  35712. - Rework rate limiting (pacer) to be more accurate and allow
  35713. bursting (Nick Craig-Wood)
  35714. - Improve error reporting for too many/few arguments in commands
  35715. (Nick Craig-Wood)
  35716. - listremotes: Remove -l short flag as it conflicts with the new
  35717. global flag (weetmuts)
  35718. - Make http serving with auth generate INFO messages on auth fail
  35719. (Nick Craig-Wood)
  35720. - Bug Fixes
  35721. - Fix layout of stats (Nick Craig-Wood)
  35722. - Fix --progress crash under Windows Jenkins (Nick Craig-Wood)
  35723. - Fix transfer of google/onedrive docs by calling Rcat in Copy
  35724. when size is -1 (Cnly)
  35725. - copyurl: Fix checking of --dry-run (Denis Skovpen)
  35726. - Mount
  35727. - Check that mountpoint and local directory to mount don't overlap
  35728. (Nick Craig-Wood)
  35729. - Fix mount size under 32 bit Windows (Nick Craig-Wood)
  35730. - VFS
  35731. - Implement renaming of directories for backends without DirMove
  35732. (Nick Craig-Wood)
  35733. - now all backends except b2 support renaming directories
  35734. - Implement --vfs-cache-max-size to limit the total size of the
  35735. cache (Nick Craig-Wood)
  35736. - Add --dir-perms and --file-perms flags to set default
  35737. permissions (Nick Craig-Wood)
  35738. - Fix deadlock on concurrent operations on a directory (Nick
  35739. Craig-Wood)
  35740. - Fix deadlock between RWFileHandle.close and File.Remove (Nick
  35741. Craig-Wood)
  35742. - Fix renaming/deleting open files with cache mode "writes" under
  35743. Windows (Nick Craig-Wood)
  35744. - Fix panic on rename with --dry-run set (Nick Craig-Wood)
  35745. - Fix vfs/refresh with recurse=true needing the --fast-list flag
  35746. - Local
  35747. - Add support for -l/--links (symbolic link translation)
  35748. (yair@unicorn)
  35749. - this works by showing links as link.rclonelink - see local
  35750. backend docs for more info
  35751. - this errors if used with -L/--copy-links
  35752. - Fix renaming/deleting open files on Windows (Nick Craig-Wood)
  35753. - Crypt
  35754. - Check for maximum length before decrypting filename to fix panic
  35755. (Garry McNulty)
  35756. - Azure Blob
  35757. - Allow building azureblob backend on *BSD (themylogin)
  35758. - Use the rclone HTTP client to support --dump headers,
  35759. --tpslimit, etc. (Nick Craig-Wood)
  35760. - Use the s3 pacer for 0 delay in non error conditions (Nick
  35761. Craig-Wood)
  35762. - Ignore directory markers (Nick Craig-Wood)
  35763. - Stop Mkdir attempting to create existing containers (Nick
  35764. Craig-Wood)
  35765. - B2
  35766. - cleanup: will remove unfinished large files >24hrs old (Garry
  35767. McNulty)
  35768. - For a bucket limited application key check the bucket name (Nick
  35769. Craig-Wood)
  35770. - before this, rclone would use the authorised bucket
  35771. regardless of what you put on the command line
  35772. - Added --b2-disable-checksum flag (Wojciech Smigielski)
  35773. - this enables large files to be uploaded without a SHA-1 hash
  35774. for speed reasons
  35775. - Drive
  35776. - Set default pacer to 100ms for 10 tps (Nick Craig-Wood)
  35777. - This fits the Google defaults much better and reduces the
  35778. 403 errors massively
  35779. - Add --drive-pacer-min-sleep and --drive-pacer-burst to
  35780. control the pacer
  35781. - Improve ChangeNotify support for items with multiple parents
  35782. (Fabian Möller)
  35783. - Fix ListR for items with multiple parents - this fixes oddities
  35784. with vfs/refresh (Fabian Möller)
  35785. - Fix using --drive-impersonate and appfolders (Nick Craig-Wood)
  35786. - Fix google docs in rclone mount for some (not all) applications
  35787. (Nick Craig-Wood)
  35788. - Dropbox
  35789. - Retry-After support for Dropbox backend (Mathieu Carbou)
  35790. - FTP
  35791. - Wait for 60 seconds for a connection to Close then declare it
  35792. dead (Nick Craig-Wood)
  35793. - helps with indefinite hangs on some FTP servers
  35794. - Google Cloud Storage
  35795. - Update google cloud storage endpoints (weetmuts)
  35796. - HTTP
  35797. - Add an example with username and password which is supported but
  35798. wasn't documented (Nick Craig-Wood)
  35799. - Fix backend with --files-from and nonexistent files (Nick
  35800. Craig-Wood)
  35801. - Hubic
  35802. - Make error message more informative if authentication fails
  35803. (Nick Craig-Wood)
  35804. - Jottacloud
  35805. - Resume and deduplication support (Oliver Heyme)
  35806. - Use token auth for all API requests Don't store password anymore
  35807. (Sebastian Bünger)
  35808. - Add support for 2-factor authentication (Sebastian Bünger)
  35809. - Mega
  35810. - Implement v2 account login which fixes logins for newer Mega
  35811. accounts (Nick Craig-Wood)
  35812. - Return error if an unknown length file is attempted to be
  35813. uploaded (Nick Craig-Wood)
  35814. - Add new error codes for better error reporting (Nick Craig-Wood)
  35815. - Onedrive
  35816. - Fix broken support for "shared with me" folders (Alex Chen)
  35817. - Fix root ID not normalised (Cnly)
  35818. - Return err instead of panic on unknown-sized uploads (Cnly)
  35819. - Qingstor
  35820. - Fix go routine leak on multipart upload errors (Nick Craig-Wood)
  35821. - Add upload chunk size/concurrency/cutoff control (Nick
  35822. Craig-Wood)
  35823. - Default --qingstor-upload-concurrency to 1 to work around bug
  35824. (Nick Craig-Wood)
  35825. - S3
  35826. - Implement --s3-upload-cutoff for single part uploads below this
  35827. (Nick Craig-Wood)
  35828. - Change --s3-upload-concurrency default to 4 to increase
  35829. performance (Nick Craig-Wood)
  35830. - Add --s3-bucket-acl to control bucket ACL (Nick Craig-Wood)
  35831. - Auto detect region for buckets on operation failure (Nick
  35832. Craig-Wood)
  35833. - Add GLACIER storage class (William Cocker)
  35834. - Add Scaleway to s3 documentation (Rémy Léone)
  35835. - Add AWS endpoint eu-north-1 (weetmuts)
  35836. - SFTP
  35837. - Add support for PEM encrypted private keys (Fabian Möller)
  35838. - Add option to force the usage of an ssh-agent (Fabian Möller)
  35839. - Perform environment variable expansion on key-file (Fabian
  35840. Möller)
  35841. - Fix rmdir on Windows based servers (e.g. CrushFTP) (Nick
  35842. Craig-Wood)
  35843. - Fix rmdir deleting directory contents on some SFTP servers (Nick
  35844. Craig-Wood)
  35845. - Fix error on dangling symlinks (Nick Craig-Wood)
  35846. - Swift
  35847. - Add --swift-no-chunk to disable segmented uploads in rcat/mount
  35848. (Nick Craig-Wood)
  35849. - Introduce application credential auth support (kayrus)
  35850. - Fix memory usage by slimming Object (Nick Craig-Wood)
  35851. - Fix extra requests on upload (Nick Craig-Wood)
  35852. - Fix reauth on big files (Nick Craig-Wood)
  35853. - Union
  35854. - Fix poll-interval not working (Nick Craig-Wood)
  35855. - WebDAV
  35856. - Support About which means rclone mount will show the correct
  35857. disk size (Nick Craig-Wood)
  35858. - Support MD5 and SHA1 hashes with Owncloud and Nextcloud (Nick
  35859. Craig-Wood)
  35860. - Fail soft on time parsing errors (Nick Craig-Wood)
  35861. - Fix infinite loop on failed directory creation (Nick Craig-Wood)
  35862. - Fix identification of directories for Bitrix Site Manager (Nick
  35863. Craig-Wood)
  35864. - Fix upload of 0 length files on some servers (Nick Craig-Wood)
  35865. - Fix if MKCOL fails with 423 Locked assume the directory exists
  35866. (Nick Craig-Wood)
  35867. v1.45 - 2018-11-24
  35868. - New backends
  35869. - The Yandex backend was re-written - see below for details
  35870. (Sebastian Bünger)
  35871. - New commands
  35872. - rcd: New command just to serve the remote control API (Nick
  35873. Craig-Wood)
  35874. - New Features
  35875. - The remote control API (rc) was greatly expanded to allow full
  35876. control over rclone (Nick Craig-Wood)
  35877. - sensitive operations require authorization or the
  35878. --rc-no-auth flag
  35879. - config/* operations to configure rclone
  35880. - options/* for reading/setting command line flags
  35881. - operations/* for all low level operations, e.g. copy file,
  35882. list directory
  35883. - sync/* for sync, copy and move
  35884. - --rc-files flag to serve files on the rc http server
  35885. - this is for building web native GUIs for rclone
  35886. - Optionally serving objects on the rc http server
  35887. - Ensure rclone fails to start up if the --rc port is in use
  35888. already
  35889. - See the rc docs for more info
  35890. - sync/copy/move
  35891. - Make --files-from only read the objects specified and don't
  35892. scan directories (Nick Craig-Wood)
  35893. - This is a huge speed improvement for destinations with
  35894. lots of files
  35895. - filter: Add --ignore-case flag (Nick Craig-Wood)
  35896. - ncdu: Add remove function ('d' key) (Henning Surmeier)
  35897. - rc command
  35898. - Add --json flag for structured JSON input (Nick Craig-Wood)
  35899. - Add --user and --pass flags and interpret --rc-user,
  35900. --rc-pass, --rc-addr (Nick Craig-Wood)
  35901. - build
  35902. - Require go1.8 or later for compilation (Nick Craig-Wood)
  35903. - Enable softfloat on MIPS arch (Scott Edlund)
  35904. - Integration test framework revamped with a better report and
  35905. better retries (Nick Craig-Wood)
  35906. - Bug Fixes
  35907. - cmd: Make --progress update the stats correctly at the end (Nick
  35908. Craig-Wood)
  35909. - config: Create config directory on save if it is missing (Nick
  35910. Craig-Wood)
  35911. - dedupe: Check for existing filename before renaming a dupe file
  35912. (ssaqua)
  35913. - move: Don't create directories with --dry-run (Nick Craig-Wood)
  35914. - operations: Fix Purge and Rmdirs when dir is not the root (Nick
  35915. Craig-Wood)
  35916. - serve http/webdav/restic: Ensure rclone exits if the port is in
  35917. use (Nick Craig-Wood)
  35918. - Mount
  35919. - Make --volname work for Windows and macOS (Nick Craig-Wood)
  35920. - Azure Blob
  35921. - Avoid context deadline exceeded error by setting a large
  35922. TryTimeout value (brused27)
  35923. - Fix erroneous Rmdir error "directory not empty" (Nick
  35924. Craig-Wood)
  35925. - Wait for up to 60s to create a just deleted container (Nick
  35926. Craig-Wood)
  35927. - Dropbox
  35928. - Add dropbox impersonate support (Jake Coggiano)
  35929. - Jottacloud
  35930. - Fix bug in --fast-list handing of empty folders (albertony)
  35931. - Opendrive
  35932. - Fix transfer of files with + and & in (Nick Craig-Wood)
  35933. - Fix retries of upload chunks (Nick Craig-Wood)
  35934. - S3
  35935. - Set ACL for server-side copies to that provided by the user
  35936. (Nick Craig-Wood)
  35937. - Fix role_arn, credential_source, ... (Erik Swanson)
  35938. - Add config info for Wasabi's US-West endpoint (Henry Ptasinski)
  35939. - SFTP
  35940. - Ensure file hash checking is really disabled (Jon Fautley)
  35941. - Swift
  35942. - Add pacer for retries to make swift more reliable (Nick
  35943. Craig-Wood)
  35944. - WebDAV
  35945. - Add Content-Type to PUT requests (Nick Craig-Wood)
  35946. - Fix config parsing so --webdav-user and --webdav-pass flags work
  35947. (Nick Craig-Wood)
  35948. - Add RFC3339 date format (Ralf Hemberger)
  35949. - Yandex
  35950. - The yandex backend was re-written (Sebastian Bünger)
  35951. - This implements low level retries (Sebastian Bünger)
  35952. - Copy, Move, DirMove, PublicLink and About optional
  35953. interfaces (Sebastian Bünger)
  35954. - Improved general error handling (Sebastian Bünger)
  35955. - Removed ListR for now due to inconsistent behaviour
  35956. (Sebastian Bünger)
  35957. v1.44 - 2018-10-15
  35958. - New commands
  35959. - serve ftp: Add ftp server (Antoine GIRARD)
  35960. - settier: perform storage tier changes on supported remotes
  35961. (sandeepkru)
  35962. - New Features
  35963. - Reworked command line help
  35964. - Make default help less verbose (Nick Craig-Wood)
  35965. - Split flags up into global and backend flags (Nick
  35966. Craig-Wood)
  35967. - Implement specialised help for flags and backends (Nick
  35968. Craig-Wood)
  35969. - Show URL of backend help page when starting config (Nick
  35970. Craig-Wood)
  35971. - stats: Long names now split in center (Joanna Marek)
  35972. - Add --log-format flag for more control over log output (dcpu)
  35973. - rc: Add support for OPTIONS and basic CORS (frenos)
  35974. - stats: show FatalErrors and NoRetryErrors in stats (Cédric
  35975. Connes)
  35976. - Bug Fixes
  35977. - Fix -P not ending with a new line (Nick Craig-Wood)
  35978. - config: don't create default config dir when user supplies
  35979. --config (albertony)
  35980. - Don't print non-ASCII characters with --progress on windows
  35981. (Nick Craig-Wood)
  35982. - Correct logs for excluded items (ssaqua)
  35983. - Mount
  35984. - Remove EXPERIMENTAL tags (Nick Craig-Wood)
  35985. - VFS
  35986. - Fix race condition detected by serve ftp tests (Nick Craig-Wood)
  35987. - Add vfs/poll-interval rc command (Fabian Möller)
  35988. - Enable rename for nearly all remotes using server-side Move or
  35989. Copy (Nick Craig-Wood)
  35990. - Reduce directory cache cleared by poll-interval (Fabian Möller)
  35991. - Remove EXPERIMENTAL tags (Nick Craig-Wood)
  35992. - Local
  35993. - Skip bad symlinks in dir listing with -L enabled (Cédric Connes)
  35994. - Preallocate files on Windows to reduce fragmentation (Nick
  35995. Craig-Wood)
  35996. - Preallocate files on linux with fallocate(2) (Nick Craig-Wood)
  35997. - Cache
  35998. - Add cache/fetch rc function (Fabian Möller)
  35999. - Fix worker scale down (Fabian Möller)
  36000. - Improve performance by not sending info requests for cached
  36001. chunks (dcpu)
  36002. - Fix error return value of cache/fetch rc method (Fabian Möller)
  36003. - Documentation fix for cache-chunk-total-size (Anagh Kumar
  36004. Baranwal)
  36005. - Preserve leading / in wrapped remote path (Fabian Möller)
  36006. - Add plex_insecure option to skip certificate validation (Fabian
  36007. Möller)
  36008. - Remove entries that no longer exist in the source (dcpu)
  36009. - Crypt
  36010. - Preserve leading / in wrapped remote path (Fabian Möller)
  36011. - Alias
  36012. - Fix handling of Windows network paths (Nick Craig-Wood)
  36013. - Azure Blob
  36014. - Add --azureblob-list-chunk parameter (Santiago Rodríguez)
  36015. - Implemented settier command support on azureblob remote.
  36016. (sandeepkru)
  36017. - Work around SDK bug which causes errors for chunk-sized files
  36018. (Nick Craig-Wood)
  36019. - Box
  36020. - Implement link sharing. (Sebastian Bünger)
  36021. - Drive
  36022. - Add --drive-import-formats - google docs can now be imported
  36023. (Fabian Möller)
  36024. - Rewrite mime type and extension handling (Fabian Möller)
  36025. - Add document links (Fabian Möller)
  36026. - Add support for multipart document extensions (Fabian
  36027. Möller)
  36028. - Add support for apps-script to json export (Fabian Möller)
  36029. - Fix escaped chars in documents during list (Fabian Möller)
  36030. - Add --drive-v2-download-min-size a workaround for slow downloads
  36031. (Fabian Möller)
  36032. - Improve directory notifications in ChangeNotify (Fabian Möller)
  36033. - When listing team drives in config, continue on failure (Nick
  36034. Craig-Wood)
  36035. - FTP
  36036. - Add a small pause after failed upload before deleting file (Nick
  36037. Craig-Wood)
  36038. - Google Cloud Storage
  36039. - Fix service_account_file being ignored (Fabian Möller)
  36040. - Jottacloud
  36041. - Minor improvement in quota info (omit if unlimited) (albertony)
  36042. - Add --fast-list support (albertony)
  36043. - Add permanent delete support: --jottacloud-hard-delete
  36044. (albertony)
  36045. - Add link sharing support (albertony)
  36046. - Fix handling of reserved characters. (Sebastian Bünger)
  36047. - Fix socket leak on Object.Remove (Nick Craig-Wood)
  36048. - Onedrive
  36049. - Rework to support Microsoft Graph (Cnly)
  36050. - NB this will require re-authenticating the remote
  36051. - Removed upload cutoff and always do session uploads (Oliver
  36052. Heyme)
  36053. - Use single-part upload for empty files (Cnly)
  36054. - Fix new fields not saved when editing old config (Alex Chen)
  36055. - Fix sometimes special chars in filenames not replaced (Alex
  36056. Chen)
  36057. - Ignore OneNote files by default (Alex Chen)
  36058. - Add link sharing support (jackyzy823)
  36059. - S3
  36060. - Use custom pacer, to retry operations when reasonable (Craig
  36061. Miskell)
  36062. - Use configured server-side-encryption and storage class options
  36063. when calling CopyObject() (Paul Kohout)
  36064. - Make --s3-v2-auth flag (Nick Craig-Wood)
  36065. - Fix v2 auth on files with spaces (Nick Craig-Wood)
  36066. - Union
  36067. - Implement union backend which reads from multiple backends
  36068. (Felix Brucker)
  36069. - Implement optional interfaces (Move, DirMove, Copy, etc.) (Nick
  36070. Craig-Wood)
  36071. - Fix ChangeNotify to support multiple remotes (Fabian Möller)
  36072. - Fix --backup-dir on union backend (Nick Craig-Wood)
  36073. - WebDAV
  36074. - Add another time format (Nick Craig-Wood)
  36075. - Add a small pause after failed upload before deleting file (Nick
  36076. Craig-Wood)
  36077. - Add workaround for missing mtime (buergi)
  36078. - Sharepoint: Renew cookies after 12hrs (Henning Surmeier)
  36079. - Yandex
  36080. - Remove redundant nil checks (teresy)
  36081. v1.43.1 - 2018-09-07
  36082. Point release to fix hubic and azureblob backends.
  36083. - Bug Fixes
  36084. - ncdu: Return error instead of log.Fatal in Show (Fabian Möller)
  36085. - cmd: Fix crash with --progress and --stats 0 (Nick Craig-Wood)
  36086. - docs: Tidy website display (Anagh Kumar Baranwal)
  36087. - Azure Blob:
  36088. - Fix multi-part uploads. (sandeepkru)
  36089. - Hubic
  36090. - Fix uploads (Nick Craig-Wood)
  36091. - Retry auth fetching if it fails to make hubic more reliable
  36092. (Nick Craig-Wood)
  36093. v1.43 - 2018-09-01
  36094. - New backends
  36095. - Jottacloud (Sebastian Bünger)
  36096. - New commands
  36097. - copyurl: copies a URL to a remote (Denis)
  36098. - New Features
  36099. - Reworked config for backends (Nick Craig-Wood)
  36100. - All backend config can now be supplied by command line, env
  36101. var or config file
  36102. - Advanced section in the config wizard for the optional items
  36103. - A large step towards rclone backends being usable in other
  36104. go software
  36105. - Allow on the fly remotes with :backend: syntax
  36106. - Stats revamp
  36107. - Add --progress/-P flag to show interactive progress (Nick
  36108. Craig-Wood)
  36109. - Show the total progress of the sync in the stats (Nick
  36110. Craig-Wood)
  36111. - Add --stats-one-line flag for single line stats (Nick
  36112. Craig-Wood)
  36113. - Added weekday schedule into --bwlimit (Mateusz)
  36114. - lsjson: Add option to show the original object IDs (Fabian
  36115. Möller)
  36116. - serve webdav: Make Content-Type without reading the file and add
  36117. --etag-hash (Nick Craig-Wood)
  36118. - build
  36119. - Build macOS with native compiler (Nick Craig-Wood)
  36120. - Update to use go1.11 for the build (Nick Craig-Wood)
  36121. - rc
  36122. - Added core/stats to return the stats (reddi1)
  36123. - version --check: Prints the current release and beta versions
  36124. (Nick Craig-Wood)
  36125. - Bug Fixes
  36126. - accounting
  36127. - Fix time to completion estimates (Nick Craig-Wood)
  36128. - Fix moving average speed for file stats (Nick Craig-Wood)
  36129. - config: Fix error reading password from piped input (Nick
  36130. Craig-Wood)
  36131. - move: Fix --delete-empty-src-dirs flag to delete all empty dirs
  36132. on move (ishuah)
  36133. - Mount
  36134. - Implement --daemon-timeout flag for OSXFUSE (Nick Craig-Wood)
  36135. - Fix mount --daemon not working with encrypted config (Alex Chen)
  36136. - Clip the number of blocks to 2^32-1 on macOS - fixes borg backup
  36137. (Nick Craig-Wood)
  36138. - VFS
  36139. - Enable vfs-read-chunk-size by default (Fabian Möller)
  36140. - Add the vfs/refresh rc command (Fabian Möller)
  36141. - Add non recursive mode to vfs/refresh rc command (Fabian Möller)
  36142. - Try to seek buffer on read only files (Fabian Möller)
  36143. - Local
  36144. - Fix crash when deprecated --local-no-unicode-normalization is
  36145. supplied (Nick Craig-Wood)
  36146. - Fix mkdir error when trying to copy files to the root of a drive
  36147. on windows (Nick Craig-Wood)
  36148. - Cache
  36149. - Fix nil pointer deref when using lsjson on cached directory
  36150. (Nick Craig-Wood)
  36151. - Fix nil pointer deref for occasional crash on playback (Nick
  36152. Craig-Wood)
  36153. - Crypt
  36154. - Fix accounting when checking hashes on upload (Nick Craig-Wood)
  36155. - Amazon Cloud Drive
  36156. - Make very clear in the docs that rclone has no ACD keys (Nick
  36157. Craig-Wood)
  36158. - Azure Blob
  36159. - Add connection string and SAS URL auth (Nick Craig-Wood)
  36160. - List the container to see if it exists (Nick Craig-Wood)
  36161. - Port new Azure Blob Storage SDK (sandeepkru)
  36162. - Added blob tier, tier between Hot, Cool and Archive.
  36163. (sandeepkru)
  36164. - Remove leading / from paths (Nick Craig-Wood)
  36165. - B2
  36166. - Support Application Keys (Nick Craig-Wood)
  36167. - Remove leading / from paths (Nick Craig-Wood)
  36168. - Box
  36169. - Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood)
  36170. - Make --box-commit-retries flag defaulting to 100 to fix large
  36171. uploads (Nick Craig-Wood)
  36172. - Drive
  36173. - Add --drive-keep-revision-forever flag (lewapm)
  36174. - Handle gdocs when filtering file names in list (Fabian Möller)
  36175. - Support using --fast-list for large speedups (Fabian Möller)
  36176. - FTP
  36177. - Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood)
  36178. - Google Cloud Storage
  36179. - Fix index out of range error with --fast-list (Nick Craig-Wood)
  36180. - Jottacloud
  36181. - Fix MD5 error check (Oliver Heyme)
  36182. - Handle empty time values (Martin Polden)
  36183. - Calculate missing MD5s (Oliver Heyme)
  36184. - Docs, fixes and tests for MD5 calculation (Nick Craig-Wood)
  36185. - Add optional MimeTyper interface. (Sebastian Bünger)
  36186. - Implement optional About interface (for df support). (Sebastian
  36187. Bünger)
  36188. - Mega
  36189. - Wait for events instead of arbitrary sleeping (Nick Craig-Wood)
  36190. - Add --mega-hard-delete flag (Nick Craig-Wood)
  36191. - Fix failed logins with upper case chars in email (Nick
  36192. Craig-Wood)
  36193. - Onedrive
  36194. - Shared folder support (Yoni Jah)
  36195. - Implement DirMove (Cnly)
  36196. - Fix rmdir sometimes deleting directories with contents (Nick
  36197. Craig-Wood)
  36198. - Pcloud
  36199. - Delete half uploaded files on upload error (Nick Craig-Wood)
  36200. - Qingstor
  36201. - Remove leading / from paths (Nick Craig-Wood)
  36202. - S3
  36203. - Fix index out of range error with --fast-list (Nick Craig-Wood)
  36204. - Add --s3-force-path-style (Nick Craig-Wood)
  36205. - Add support for KMS Key ID (bsteiss)
  36206. - Remove leading / from paths (Nick Craig-Wood)
  36207. - Swift
  36208. - Add storage_policy (Ruben Vandamme)
  36209. - Make it so just storage_url or auth_token can be overridden
  36210. (Nick Craig-Wood)
  36211. - Fix server-side copy bug for unusual file names (Nick
  36212. Craig-Wood)
  36213. - Remove leading / from paths (Nick Craig-Wood)
  36214. - WebDAV
  36215. - Ensure we call MKCOL with a URL with a trailing / for QNAP
  36216. interop (Nick Craig-Wood)
  36217. - If root ends with / then don't check if it is a file (Nick
  36218. Craig-Wood)
  36219. - Don't accept redirects when reading metadata (Nick Craig-Wood)
  36220. - Add bearer token (Macaroon) support for dCache (Nick Craig-Wood)
  36221. - Document dCache and Macaroons (Onno Zweers)
  36222. - Sharepoint recursion with different depth (Henning)
  36223. - Attempt to remove failed uploads (Nick Craig-Wood)
  36224. - Yandex
  36225. - Fix listing/deleting files in the root (Nick Craig-Wood)
  36226. v1.42 - 2018-06-16
  36227. - New backends
  36228. - OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
  36229. - New commands
  36230. - deletefile command (Filip Bartodziej)
  36231. - New Features
  36232. - copy, move: Copy single files directly, don't use --files-from
  36233. work-around
  36234. - this makes them much more efficient
  36235. - Implement --max-transfer flag to quit transferring at a limit
  36236. - make exit code 8 for --max-transfer exceeded
  36237. - copy: copy empty source directories to destination (Ishuah
  36238. Kariuki)
  36239. - check: Add --one-way flag (Kasper Byrdal Nielsen)
  36240. - Add siginfo handler for macOS for ctrl-T stats (kubatasiemski)
  36241. - rc
  36242. - add core/gc to run a garbage collection on demand
  36243. - enable go profiling by default on the --rc port
  36244. - return error from remote on failure
  36245. - lsf
  36246. - Add --absolute flag to add a leading / onto path names
  36247. - Add --csv flag for compliant CSV output
  36248. - Add 'm' format specifier to show the MimeType
  36249. - Implement 'i' format for showing object ID
  36250. - lsjson
  36251. - Add MimeType to the output
  36252. - Add ID field to output to show Object ID
  36253. - Add --retries-sleep flag (Benjamin Joseph Dag)
  36254. - Oauth tidy up web page and error handling (Henning Surmeier)
  36255. - Bug Fixes
  36256. - Password prompt output with --log-file fixed for unix (Filip
  36257. Bartodziej)
  36258. - Calculate ModifyWindow each time on the fly to fix various
  36259. problems (Stefan Breunig)
  36260. - Mount
  36261. - Only print "File.rename error" if there actually is an error
  36262. (Stefan Breunig)
  36263. - Delay rename if file has open writers instead of failing
  36264. outright (Stefan Breunig)
  36265. - Ensure atexit gets run on interrupt
  36266. - macOS enhancements
  36267. - Make --noappledouble --noapplexattr
  36268. - Add --volname flag and remove special chars from it
  36269. - Make Get/List/Set/Remove xattr return ENOSYS for efficiency
  36270. - Make --daemon work for macOS without CGO
  36271. - VFS
  36272. - Add --vfs-read-chunk-size and --vfs-read-chunk-size-limit
  36273. (Fabian Möller)
  36274. - Fix ChangeNotify for new or changed folders (Fabian Möller)
  36275. - Local
  36276. - Fix symlink/junction point directory handling under Windows
  36277. - NB you will need to add -L to your command line to copy
  36278. files with reparse points
  36279. - Cache
  36280. - Add non cached dirs on notifications (Remus Bunduc)
  36281. - Allow root to be expired from rc (Remus Bunduc)
  36282. - Clean remaining empty folders from temp upload path (Remus
  36283. Bunduc)
  36284. - Cache lists using batch writes (Remus Bunduc)
  36285. - Use secure websockets for HTTPS Plex addresses (John Clayton)
  36286. - Reconnect plex websocket on failures (Remus Bunduc)
  36287. - Fix panic when running without plex configs (Remus Bunduc)
  36288. - Fix root folder caching (Remus Bunduc)
  36289. - Crypt
  36290. - Check the encrypted hash of files when uploading for extra data
  36291. security
  36292. - Dropbox
  36293. - Make Dropbox for business folders accessible using an initial /
  36294. in the path
  36295. - Google Cloud Storage
  36296. - Low level retry all operations if necessary
  36297. - Google Drive
  36298. - Add --drive-acknowledge-abuse to download flagged files
  36299. - Add --drive-alternate-export to fix large doc export
  36300. - Don't attempt to choose Team Drives when using rclone config
  36301. create
  36302. - Fix change list polling with team drives
  36303. - Fix ChangeNotify for folders (Fabian Möller)
  36304. - Fix about (and df on a mount) for team drives
  36305. - Onedrive
  36306. - Errorhandler for onedrive for business requests (Henning
  36307. Surmeier)
  36308. - S3
  36309. - Adjust upload concurrency with --s3-upload-concurrency
  36310. (themylogin)
  36311. - Fix --s3-chunk-size which was always using the minimum
  36312. - SFTP
  36313. - Add --ssh-path-override flag (Piotr Oleszczyk)
  36314. - Fix slow downloads for long latency connections
  36315. - Webdav
  36316. - Add workarounds for biz.mail.ru
  36317. - Ignore Reason-Phrase in status line to fix 4shared (Rodrigo)
  36318. - Better error message generation
  36319. v1.41 - 2018-04-28
  36320. - New backends
  36321. - Mega support added
  36322. - Webdav now supports SharePoint cookie authentication (hensur)
  36323. - New commands
  36324. - link: create public link to files and folders (Stefan Breunig)
  36325. - about: gets quota info from a remote (a-roussos, ncw)
  36326. - hashsum: a generic tool for any hash to produce md5sum like
  36327. output
  36328. - New Features
  36329. - lsd: Add -R flag and fix and update docs for all ls commands
  36330. - ncdu: added a "refresh" key - CTRL-L (Keith Goldfarb)
  36331. - serve restic: Add append-only mode (Steve Kriss)
  36332. - serve restic: Disallow overwriting files in append-only mode
  36333. (Alexander Neumann)
  36334. - serve restic: Print actual listener address (Matt Holt)
  36335. - size: Add --json flag (Matthew Holt)
  36336. - sync: implement --ignore-errors (Mateusz Pabian)
  36337. - dedupe: Add dedupe largest functionality (Richard Yang)
  36338. - fs: Extend SizeSuffix to include TB and PB for rclone about
  36339. - fs: add --dump goroutines and --dump openfiles for debugging
  36340. - rc: implement core/memstats to print internal memory usage info
  36341. - rc: new call rc/pid (Michael P. Dubner)
  36342. - Compile
  36343. - Drop support for go1.6
  36344. - Release
  36345. - Fix make tarball (Chih-Hsuan Yen)
  36346. - Bug Fixes
  36347. - filter: fix --min-age and --max-age together check
  36348. - fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport
  36349. - lsd,lsf: make sure all times we output are in local time
  36350. - rc: fix setting bwlimit to unlimited
  36351. - rc: take note of the --rc-addr flag too as per the docs
  36352. - Mount
  36353. - Use About to return the correct disk total/used/free (e.g. in
  36354. df)
  36355. - Set --attr-timeout default to 1s - fixes:
  36356. - rclone using too much memory
  36357. - rclone not serving files to samba
  36358. - excessive time listing directories
  36359. - Fix df -i (upstream fix)
  36360. - VFS
  36361. - Filter files . and .. from directory listing
  36362. - Only make the VFS cache if --vfs-cache-mode > Off
  36363. - Local
  36364. - Add --local-no-check-updated to disable updated file checks
  36365. - Retry remove on Windows sharing violation error
  36366. - Cache
  36367. - Flush the memory cache after close
  36368. - Purge file data on notification
  36369. - Always forget parent dir for notifications
  36370. - Integrate with Plex websocket
  36371. - Add rc cache/stats (seuffert)
  36372. - Add info log on notification
  36373. - Box
  36374. - Fix failure reading large directories - parse file/directory
  36375. size as float
  36376. - Dropbox
  36377. - Fix crypt+obfuscate on dropbox
  36378. - Fix repeatedly uploading the same files
  36379. - FTP
  36380. - Work around strange response from box FTP server
  36381. - More workarounds for FTP servers to fix mkParentDir error
  36382. - Fix no error on listing nonexistent directory
  36383. - Google Cloud Storage
  36384. - Add service_account_credentials (Matt Holt)
  36385. - Detect bucket presence by listing it - minimises permissions
  36386. needed
  36387. - Ignore zero length directory markers
  36388. - Google Drive
  36389. - Add service_account_credentials (Matt Holt)
  36390. - Fix directory move leaving a hardlinked directory behind
  36391. - Return proper google errors when Opening files
  36392. - When initialized with a filepath, optional features used
  36393. incorrect root path (Stefan Breunig)
  36394. - HTTP
  36395. - Fix sync for servers which don't return Content-Length in HEAD
  36396. - Onedrive
  36397. - Add QuickXorHash support for OneDrive for business
  36398. - Fix socket leak in multipart session upload
  36399. - S3
  36400. - Look in S3 named profile files for credentials
  36401. - Add --s3-disable-checksum to disable checksum uploading (Chris
  36402. Redekop)
  36403. - Hierarchical configuration support (Giri Badanahatti)
  36404. - Add in config for all the supported S3 providers
  36405. - Add One Zone Infrequent Access storage class (Craig Rachel)
  36406. - Add --use-server-modtime support (Peter Baumgartner)
  36407. - Add --s3-chunk-size option to control multipart uploads
  36408. - Ignore zero length directory markers
  36409. - SFTP
  36410. - Update docs to match code, fix typos and clarify
  36411. disable_hashcheck prompt (Michael G. Noll)
  36412. - Update docs with Synology quirks
  36413. - Fail soft with a debug on hash failure
  36414. - Swift
  36415. - Add --use-server-modtime support (Peter Baumgartner)
  36416. - Webdav
  36417. - Support SharePoint cookie authentication (hensur)
  36418. - Strip leading and trailing / off root
  36419. v1.40 - 2018-03-19
  36420. - New backends
  36421. - Alias backend to create aliases for existing remote names
  36422. (Fabian Möller)
  36423. - New commands
  36424. - lsf: list for parsing purposes (Jakub Tasiemski)
  36425. - by default this is a simple non recursive list of files and
  36426. directories
  36427. - it can be configured to add more info in an easy to parse
  36428. way
  36429. - serve restic: for serving a remote as a Restic REST endpoint
  36430. - This enables restic to use any backends that rclone can
  36431. access
  36432. - Thanks Alexander Neumann for help, patches and review
  36433. - rc: enable the remote control of a running rclone
  36434. - The running rclone must be started with --rc and related
  36435. flags.
  36436. - Currently there is support for bwlimit, and flushing for
  36437. mount and cache.
  36438. - New Features
  36439. - --max-delete flag to add a delete threshold (Bjørn Erik
  36440. Pedersen)
  36441. - All backends now support RangeOption for ranged Open
  36442. - cat: Use RangeOption for limited fetches to make more
  36443. efficient
  36444. - cryptcheck: make reading of nonce more efficient with
  36445. RangeOption
  36446. - serve http/webdav/restic
  36447. - support SSL/TLS
  36448. - add --user --pass and --htpasswd for authentication
  36449. - copy/move: detect file size change during copy/move and abort
  36450. transfer (ishuah)
  36451. - cryptdecode: added option to return encrypted file names.
  36452. (ishuah)
  36453. - lsjson: add --encrypted to show encrypted name (Jakub Tasiemski)
  36454. - Add --stats-file-name-length to specify the printed file name
  36455. length for stats (Will Gunn)
  36456. - Compile
  36457. - Code base was shuffled and factored
  36458. - backends moved into a backend directory
  36459. - large packages split up
  36460. - See the CONTRIBUTING.md doc for info as to what lives where
  36461. now
  36462. - Update to using go1.10 as the default go version
  36463. - Implement daily full integration tests
  36464. - Release
  36465. - Include a source tarball and sign it and the binaries
  36466. - Sign the git tags as part of the release process
  36467. - Add .deb and .rpm packages as part of the build
  36468. - Make a beta release for all branches on the main repo (but not
  36469. pull requests)
  36470. - Bug Fixes
  36471. - config: fixes errors on nonexistent config by loading config
  36472. file only on first access
  36473. - config: retry saving the config after failure (Mateusz)
  36474. - sync: when using --backup-dir don't delete files if we can't set
  36475. their modtime
  36476. - this fixes odd behaviour with Dropbox and --backup-dir
  36477. - fshttp: fix idle timeouts for HTTP connections
  36478. - serve http: fix serving files with : in - fixes
  36479. - Fix --exclude-if-present to ignore directories which it doesn't
  36480. have permission for (Iakov Davydov)
  36481. - Make accounting work properly with crypt and b2
  36482. - remove --no-traverse flag because it is obsolete
  36483. - Mount
  36484. - Add --attr-timeout flag to control attribute caching in kernel
  36485. - this now defaults to 0 which is correct but less efficient
  36486. - see the mount docs for more info
  36487. - Add --daemon flag to allow mount to run in the background
  36488. (ishuah)
  36489. - Fix: Return ENOSYS rather than EIO on attempted link
  36490. - This fixes FileZilla accessing an rclone mount served over
  36491. sftp.
  36492. - Fix setting modtime twice
  36493. - Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows
  36494. - Many bugs fixed in the VFS layer - see below
  36495. - VFS
  36496. - Many fixes for --vfs-cache-mode writes and above
  36497. - Update cached copy if we know it has changed (fixes stale
  36498. data)
  36499. - Clean path names before using them in the cache
  36500. - Disable cache cleaner if --vfs-cache-poll-interval=0
  36501. - Fill and clean the cache immediately on startup
  36502. - Fix Windows opening every file when it stats the file
  36503. - Fix applying modtime for an open Write Handle
  36504. - Fix creation of files when truncating
  36505. - Write 0 bytes when flushing unwritten handles to avoid race
  36506. conditions in FUSE
  36507. - Downgrade "poll-interval is not supported" message to Info
  36508. - Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
  36509. - Local
  36510. - Downgrade "invalid cross-device link: trying copy" to debug
  36511. - Make DirMove return fs.ErrorCantDirMove to allow fallback to
  36512. Copy for cross device
  36513. - Fix race conditions updating the hashes
  36514. - Cache
  36515. - Add support for polling - cache will update when remote changes
  36516. on supported backends
  36517. - Reduce log level for Plex api
  36518. - Fix dir cache issue
  36519. - Implement --cache-db-wait-time flag
  36520. - Improve efficiency with RangeOption and RangeSeek
  36521. - Fix dirmove with temp fs enabled
  36522. - Notify vfs when using temp fs
  36523. - Offline uploading
  36524. - Remote control support for path flushing
  36525. - Amazon cloud drive
  36526. - Rclone no longer has any working keys - disable integration
  36527. tests
  36528. - Implement DirChangeNotify to notify cache/vfs/mount of changes
  36529. - Azureblob
  36530. - Don't check for bucket/container presence if listing was OK
  36531. - this makes rclone do one less request per invocation
  36532. - Improve accounting for chunked uploads
  36533. - Backblaze B2
  36534. - Don't check for bucket/container presence if listing was OK
  36535. - this makes rclone do one less request per invocation
  36536. - Box
  36537. - Improve accounting for chunked uploads
  36538. - Dropbox
  36539. - Fix custom oauth client parameters
  36540. - Google Cloud Storage
  36541. - Don't check for bucket/container presence if listing was OK
  36542. - this makes rclone do one less request per invocation
  36543. - Google Drive
  36544. - Migrate to api v3 (Fabian Möller)
  36545. - Add scope configuration and root folder selection
  36546. - Add --drive-impersonate for service accounts
  36547. - thanks to everyone who tested, explored and contributed docs
  36548. - Add --drive-use-created-date to use created date as modified
  36549. date (nbuchanan)
  36550. - Request the export formats only when required
  36551. - This makes rclone quicker when there are no google docs
  36552. - Fix finding paths with latin1 chars (a workaround for a drive
  36553. bug)
  36554. - Fix copying of a single Google doc file
  36555. - Fix --drive-auth-owner-only to look in all directories
  36556. - HTTP
  36557. - Fix handling of directories with & in
  36558. - Onedrive
  36559. - Removed upload cutoff and always do session uploads
  36560. - this stops the creation of multiple versions on business
  36561. onedrive
  36562. - Overwrite object size value with real size when reading file.
  36563. (Victor)
  36564. - this fixes oddities when onedrive misreports the size of
  36565. images
  36566. - Pcloud
  36567. - Remove unused chunked upload flag and code
  36568. - Qingstor
  36569. - Don't check for bucket/container presence if listing was OK
  36570. - this makes rclone do one less request per invocation
  36571. - S3
  36572. - Support hashes for multipart files (Chris Redekop)
  36573. - Initial support for IBM COS (S3) (Giri Badanahatti)
  36574. - Update docs to discourage use of v2 auth with CEPH and others
  36575. - Don't check for bucket/container presence if listing was OK
  36576. - this makes rclone do one less request per invocation
  36577. - Fix server-side copy and set modtime on files with + in
  36578. - SFTP
  36579. - Add option to disable remote hash check command execution (Jon
  36580. Fautley)
  36581. - Add --sftp-ask-password flag to prompt for password when needed
  36582. (Leo R. Lundgren)
  36583. - Add set_modtime configuration option
  36584. - Fix following of symlinks
  36585. - Fix reading config file outside of Fs setup
  36586. - Fix reading $USER in username fallback not $HOME
  36587. - Fix running under crontab - Use correct OS way of reading
  36588. username
  36589. - Swift
  36590. - Fix refresh of authentication token
  36591. - in v1.39 a bug was introduced which ignored new tokens -
  36592. this fixes it
  36593. - Fix extra HEAD transaction when uploading a new file
  36594. - Don't check for bucket/container presence if listing was OK
  36595. - this makes rclone do one less request per invocation
  36596. - Webdav
  36597. - Add new time formats to support mydrive.ch and others
  36598. v1.39 - 2017-12-23
  36599. - New backends
  36600. - WebDAV
  36601. - tested with nextcloud, owncloud, put.io and others!
  36602. - Pcloud
  36603. - cache - wraps a cache around other backends (Remus Bunduc)
  36604. - useful in combination with mount
  36605. - NB this feature is in beta so use with care
  36606. - New commands
  36607. - serve command with subcommands:
  36608. - serve webdav: this implements a webdav server for any rclone
  36609. remote.
  36610. - serve http: command to serve a remote over HTTP
  36611. - config: add sub commands for full config file management
  36612. - create/delete/dump/edit/file/password/providers/show/update
  36613. - touch: to create or update the timestamp of a file (Jakub
  36614. Tasiemski)
  36615. - New Features
  36616. - curl install for rclone (Filip Bartodziej)
  36617. - --stats now shows percentage, size, rate and ETA in condensed
  36618. form (Ishuah Kariuki)
  36619. - --exclude-if-present to exclude a directory if a file is present
  36620. (Iakov Davydov)
  36621. - rmdirs: add --leave-root flag (lewapm)
  36622. - move: add --delete-empty-src-dirs flag to remove dirs after move
  36623. (Ishuah Kariuki)
  36624. - Add --dump flag, introduce --dump requests, responses and remove
  36625. --dump-auth, --dump-filters
  36626. - Obscure X-Auth-Token: from headers when dumping too
  36627. - Document and implement exit codes for different failure modes
  36628. (Ishuah Kariuki)
  36629. - Compile
  36630. - Bug Fixes
  36631. - Retry lots more different types of errors to make multipart
  36632. transfers more reliable
  36633. - Save the config before asking for a token, fixes disappearing
  36634. oauth config
  36635. - Warn the user if --include and --exclude are used together
  36636. (Ernest Borowski)
  36637. - Fix duplicate files (e.g. on Google drive) causing spurious
  36638. copies
  36639. - Allow trailing and leading whitespace for passwords (Jason Rose)
  36640. - ncdu: fix crashes on empty directories
  36641. - rcat: fix goroutine leak
  36642. - moveto/copyto: Fix to allow copying to the same name
  36643. - Mount
  36644. - --vfs-cache mode to make writes into mounts more reliable.
  36645. - this requires caching files on the disk (see --cache-dir)
  36646. - As this is a new feature, use with care
  36647. - Use sdnotify to signal systemd the mount is ready (Fabian
  36648. Möller)
  36649. - Check if directory is not empty before mounting (Ernest
  36650. Borowski)
  36651. - Local
  36652. - Add error message for cross file system moves
  36653. - Fix equality check for times
  36654. - Dropbox
  36655. - Rework multipart upload
  36656. - buffer the chunks when uploading large files so they can be
  36657. retried
  36658. - change default chunk size to 48MB now we are buffering them
  36659. in memory
  36660. - retry every error after the first chunk is done successfully
  36661. - Fix error when renaming directories
  36662. - Swift
  36663. - Fix crash on bad authentication
  36664. - Google Drive
  36665. - Add service account support (Tim Cooijmans)
  36666. - S3
  36667. - Make it work properly with Digital Ocean Spaces (Andrew
  36668. Starr-Bochicchio)
  36669. - Fix crash if a bad listing is received
  36670. - Add support for ECS task IAM roles (David Minor)
  36671. - Backblaze B2
  36672. - Fix multipart upload retries
  36673. - Fix --hard-delete to make it work 100% of the time
  36674. - Swift
  36675. - Allow authentication with storage URL and auth key (Giovanni
  36676. Pizzi)
  36677. - Add new fields for swift configuration to support IBM Bluemix
  36678. Swift (Pierre Carlson)
  36679. - Add OS_TENANT_ID and OS_USER_ID to config
  36680. - Allow configs with user id instead of user name
  36681. - Check if swift segments container exists before creating (John
  36682. Leach)
  36683. - Fix memory leak in swift transfers (upstream fix)
  36684. - SFTP
  36685. - Add option to enable the use of aes128-cbc cipher (Jon Fautley)
  36686. - Amazon cloud drive
  36687. - Fix download of large files failing with "Only one auth
  36688. mechanism allowed"
  36689. - crypt
  36690. - Option to encrypt directory names or leave them intact
  36691. - Implement DirChangeNotify (Fabian Möller)
  36692. - onedrive
  36693. - Add option to choose resourceURL during setup of OneDrive
  36694. Business account if more than one is available for user
  36695. v1.38 - 2017-09-30
  36696. - New backends
  36697. - Azure Blob Storage (thanks Andrei Dragomir)
  36698. - Box
  36699. - Onedrive for Business (thanks Oliver Heyme)
  36700. - QingStor from QingCloud (thanks wuyu)
  36701. - New commands
  36702. - rcat - read from standard input and stream upload
  36703. - tree - shows a nicely formatted recursive listing
  36704. - cryptdecode - decode encrypted file names (thanks ishuah)
  36705. - config show - print the config file
  36706. - config file - print the config file location
  36707. - New Features
  36708. - Empty directories are deleted on sync
  36709. - dedupe - implement merging of duplicate directories
  36710. - check and cryptcheck made more consistent and use less memory
  36711. - cleanup for remaining remotes (thanks ishuah)
  36712. - --immutable for ensuring that files don't change (thanks Jacob
  36713. McNamee)
  36714. - --user-agent option (thanks Alex McGrath Kraak)
  36715. - --disable flag to disable optional features
  36716. - --bind flag for choosing the local addr on outgoing connections
  36717. - Support for zsh auto-completion (thanks bpicode)
  36718. - Stop normalizing file names but do a normalized compare in sync
  36719. - Compile
  36720. - Update to using go1.9 as the default go version
  36721. - Remove snapd build due to maintenance problems
  36722. - Bug Fixes
  36723. - Improve retriable error detection which makes multipart uploads
  36724. better
  36725. - Make check obey --ignore-size
  36726. - Fix bwlimit toggle in conjunction with schedules (thanks
  36727. cbruegg)
  36728. - config ensures newly written config is on the same mount
  36729. - Local
  36730. - Revert to copy when moving file across file system boundaries
  36731. - --skip-links to suppress symlink warnings (thanks Zhiming Wang)
  36732. - Mount
  36733. - Re-use rcat internals to support uploads from all remotes
  36734. - Dropbox
  36735. - Fix "entry doesn't belong in directory" error
  36736. - Stop using deprecated API methods
  36737. - Swift
  36738. - Fix server-side copy to empty container with --fast-list
  36739. - Google Drive
  36740. - Change the default for --drive-use-trash to true
  36741. - S3
  36742. - Set session token when using STS (thanks Girish Ramakrishnan)
  36743. - Glacier docs and error messages (thanks Jan Varho)
  36744. - Read 1000 (not 1024) items in dir listings to fix Wasabi
  36745. - Backblaze B2
  36746. - Fix SHA1 mismatch when downloading files with no SHA1
  36747. - Calculate missing hashes on the fly instead of spooling
  36748. - --b2-hard-delete to permanently delete (not hide) files (thanks
  36749. John Papandriopoulos)
  36750. - Hubic
  36751. - Fix creating containers - no longer have to use the default
  36752. container
  36753. - Swift
  36754. - Optionally configure from a standard set of OpenStack
  36755. environment vars
  36756. - Add endpoint_type config
  36757. - Google Cloud Storage
  36758. - Fix bucket creation to work with limited permission users
  36759. - SFTP
  36760. - Implement connection pooling for multiple ssh connections
  36761. - Limit new connections per second
  36762. - Add support for MD5 and SHA1 hashes where available (thanks
  36763. Christian Brüggemann)
  36764. - HTTP
  36765. - Fix URL encoding issues
  36766. - Fix directories with : in
  36767. - Fix panic with URL encoded content
  36768. v1.37 - 2017-07-22
  36769. - New backends
  36770. - FTP - thanks to Antonio Messina
  36771. - HTTP - thanks to Vasiliy Tolstov
  36772. - New commands
  36773. - rclone ncdu - for exploring a remote with a text based user
  36774. interface.
  36775. - rclone lsjson - for listing with a machine-readable output
  36776. - rclone dbhashsum - to show Dropbox style hashes of files (local
  36777. or Dropbox)
  36778. - New Features
  36779. - Implement --fast-list flag
  36780. - This allows remotes to list recursively if they can
  36781. - This uses less transactions (important if you pay for them)
  36782. - This may or may not be quicker
  36783. - This will use more memory as it has to hold the listing in
  36784. memory
  36785. - --old-sync-method deprecated - the remaining uses are
  36786. covered by --fast-list
  36787. - This involved a major re-write of all the listing code
  36788. - Add --tpslimit and --tpslimit-burst to limit transactions per
  36789. second
  36790. - this is useful in conjunction with rclone mount to limit
  36791. external apps
  36792. - Add --stats-log-level so can see --stats without -v
  36793. - Print password prompts to stderr - Hraban Luyat
  36794. - Warn about duplicate files when syncing
  36795. - Oauth improvements
  36796. - allow auth_url and token_url to be set in the config file
  36797. - Print redirection URI if using own credentials.
  36798. - Don't Mkdir at the start of sync to save transactions
  36799. - Compile
  36800. - Update build to go1.8.3
  36801. - Require go1.6 for building rclone
  36802. - Compile 386 builds with "GO386=387" for maximum compatibility
  36803. - Bug Fixes
  36804. - Fix menu selection when no remotes
  36805. - Config saving reworked to not kill the file if disk gets full
  36806. - Don't delete remote if name does not change while renaming
  36807. - moveto, copyto: report transfers and checks as per move and copy
  36808. - Local
  36809. - Add --local-no-unicode-normalization flag - Bob Potter
  36810. - Mount
  36811. - Now supported on Windows using cgofuse and WinFsp - thanks to
  36812. Bill Zissimopoulos for much help
  36813. - Compare checksums on upload/download via FUSE
  36814. - Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM -
  36815. Jérôme Vizcaino
  36816. - On read only open of file, make open pending until first read
  36817. - Make --read-only reject modify operations
  36818. - Implement ModTime via FUSE for remotes that support it
  36819. - Allow modTime to be changed even before all writers are closed
  36820. - Fix panic on renames
  36821. - Fix hang on errored upload
  36822. - Crypt
  36823. - Report the name:root as specified by the user
  36824. - Add an "obfuscate" option for filename encryption - Stephen
  36825. Harris
  36826. - Amazon Drive
  36827. - Fix initialization order for token renewer
  36828. - Remove revoked credentials, allow oauth proxy config and update
  36829. docs
  36830. - B2
  36831. - Reduce minimum chunk size to 5MB
  36832. - Drive
  36833. - Add team drive support
  36834. - Reduce bandwidth by adding fields for partial responses - Martin
  36835. Kristensen
  36836. - Implement --drive-shared-with-me flag to view shared with me
  36837. files - Danny Tsai
  36838. - Add --drive-trashed-only to read only the files in the trash
  36839. - Remove obsolete --drive-full-list
  36840. - Add missing seek to start on retries of chunked uploads
  36841. - Fix stats accounting for upload
  36842. - Convert / in names to a unicode equivalent (/)
  36843. - Poll for Google Drive changes when mounted
  36844. - OneDrive
  36845. - Fix the uploading of files with spaces
  36846. - Fix initialization order for token renewer
  36847. - Display speeds accurately when uploading - Yoni Jah
  36848. - Swap to using http://localhost:53682/ as redirect URL - Michael
  36849. Ledin
  36850. - Retry on token expired error, reset upload body on retry - Yoni
  36851. Jah
  36852. - Google Cloud Storage
  36853. - Add ability to specify location and storage class via config and
  36854. command line - thanks gdm85
  36855. - Create container if necessary on server-side copy
  36856. - Increase directory listing chunk to 1000 to increase performance
  36857. - Obtain a refresh token for GCS - Steven Lu
  36858. - Yandex
  36859. - Fix the name reported in log messages (was empty)
  36860. - Correct error return for listing empty directory
  36861. - Dropbox
  36862. - Rewritten to use the v2 API
  36863. - Now supports ModTime
  36864. - Can only set by uploading the file again
  36865. - If you uploaded with an old rclone, rclone may upload
  36866. everything again
  36867. - Use --size-only or --checksum to avoid this
  36868. - Now supports the Dropbox content hashing scheme
  36869. - Now supports low level retries
  36870. - S3
  36871. - Work around eventual consistency in bucket creation
  36872. - Create container if necessary on server-side copy
  36873. - Add us-east-2 (Ohio) and eu-west-2 (London) S3 regions - Zahiar
  36874. Ahmed
  36875. - Swift, Hubic
  36876. - Fix zero length directory markers showing in the subdirectory
  36877. listing
  36878. - this caused lots of duplicate transfers
  36879. - Fix paged directory listings
  36880. - this caused duplicate directory errors
  36881. - Create container if necessary on server-side copy
  36882. - Increase directory listing chunk to 1000 to increase performance
  36883. - Make sensible error if the user forgets the container
  36884. - SFTP
  36885. - Add support for using ssh key files
  36886. - Fix under Windows
  36887. - Fix ssh agent on Windows
  36888. - Adapt to latest version of library - Igor Kharin
  36889. v1.36 - 2017-03-18
  36890. - New Features
  36891. - SFTP remote (Jack Schmidt)
  36892. - Re-implement sync routine to work a directory at a time reducing
  36893. memory usage
  36894. - Logging revamped to be more inline with rsync - now much
  36895. quieter * -v only shows transfers * -vv is for full debug *
  36896. --syslog to log to syslog on capable platforms
  36897. - Implement --backup-dir and --suffix
  36898. - Implement --track-renames (initial implementation by Bjørn Erik
  36899. Pedersen)
  36900. - Add time-based bandwidth limits (Lukas Loesche)
  36901. - rclone cryptcheck: checks integrity of crypt remotes
  36902. - Allow all config file variables and options to be set from
  36903. environment variables
  36904. - Add --buffer-size parameter to control buffer size for copy
  36905. - Make --delete-after the default
  36906. - Add --ignore-checksum flag (fixed by Hisham Zarka)
  36907. - rclone check: Add --download flag to check all the data, not
  36908. just hashes
  36909. - rclone cat: add --head, --tail, --offset, --count and --discard
  36910. - rclone config: when choosing from a list, allow the value to be
  36911. entered too
  36912. - rclone config: allow rename and copy of remotes
  36913. - rclone obscure: for generating encrypted passwords for rclone's
  36914. config (T.C. Ferguson)
  36915. - Comply with XDG Base Directory specification (Dario Giovannetti)
  36916. - this moves the default location of the config file in a
  36917. backwards compatible way
  36918. - Release changes
  36919. - Ubuntu snap support (Dedsec1)
  36920. - Compile with go 1.8
  36921. - MIPS/Linux big and little endian support
  36922. - Bug Fixes
  36923. - Fix copyto copying things to the wrong place if the destination
  36924. dir didn't exist
  36925. - Fix parsing of remotes in moveto and copyto
  36926. - Fix --delete-before deleting files on copy
  36927. - Fix --files-from with an empty file copying everything
  36928. - Fix sync: don't update mod times if --dry-run set
  36929. - Fix MimeType propagation
  36930. - Fix filters to add ** rules to directory rules
  36931. - Local
  36932. - Implement -L, --copy-links flag to allow rclone to follow
  36933. symlinks
  36934. - Open files in write only mode so rclone can write to an rclone
  36935. mount
  36936. - Fix unnormalised unicode causing problems reading directories
  36937. - Fix interaction between -x flag and --max-depth
  36938. - Mount
  36939. - Implement proper directory handling (mkdir, rmdir, renaming)
  36940. - Make include and exclude filters apply to mount
  36941. - Implement read and write async buffers - control with
  36942. --buffer-size
  36943. - Fix fsync on for directories
  36944. - Fix retry on network failure when reading off crypt
  36945. - Crypt
  36946. - Add --crypt-show-mapping to show encrypted file mapping
  36947. - Fix crypt writer getting stuck in a loop
  36948. - IMPORTANT this bug had the potential to cause data
  36949. corruption when
  36950. - reading data from a network based remote and
  36951. - writing to a crypt on Google Drive
  36952. - Use the cryptcheck command to validate your data if you are
  36953. concerned
  36954. - If syncing two crypt remotes, sync the unencrypted remote
  36955. - Amazon Drive
  36956. - Fix panics on Move (rename)
  36957. - Fix panic on token expiry
  36958. - B2
  36959. - Fix inconsistent listings and rclone check
  36960. - Fix uploading empty files with go1.8
  36961. - Constrain memory usage when doing multipart uploads
  36962. - Fix upload url not being refreshed properly
  36963. - Drive
  36964. - Fix Rmdir on directories with trashed files
  36965. - Fix "Ignoring unknown object" when downloading
  36966. - Add --drive-list-chunk
  36967. - Add --drive-skip-gdocs (Károly Oláh)
  36968. - OneDrive
  36969. - Implement Move
  36970. - Fix Copy
  36971. - Fix overwrite detection in Copy
  36972. - Fix waitForJob to parse errors correctly
  36973. - Use token renewer to stop auth errors on long uploads
  36974. - Fix uploading empty files with go1.8
  36975. - Google Cloud Storage
  36976. - Fix depth 1 directory listings
  36977. - Yandex
  36978. - Fix single level directory listing
  36979. - Dropbox
  36980. - Normalise the case for single level directory listings
  36981. - Fix depth 1 listing
  36982. - S3
  36983. - Added ca-central-1 region (Jon Yergatian)
  36984. v1.35 - 2017-01-02
  36985. - New Features
  36986. - moveto and copyto commands for choosing a destination name on
  36987. copy/move
  36988. - rmdirs command to recursively delete empty directories
  36989. - Allow repeated --include/--exclude/--filter options
  36990. - Only show transfer stats on commands which transfer stuff
  36991. - show stats on any command using the --stats flag
  36992. - Allow overlapping directories in move when server-side dir move
  36993. is supported
  36994. - Add --stats-unit option - thanks Scott McGillivray
  36995. - Bug Fixes
  36996. - Fix the config file being overwritten when two rclone instances
  36997. are running
  36998. - Make rclone lsd obey the filters properly
  36999. - Fix compilation on mips
  37000. - Fix not transferring files that don't differ in size
  37001. - Fix panic on nil retry/fatal error
  37002. - Mount
  37003. - Retry reads on error - should help with reliability a lot
  37004. - Report the modification times for directories from the remote
  37005. - Add bandwidth accounting and limiting (fixes --bwlimit)
  37006. - If --stats provided will show stats and which files are
  37007. transferring
  37008. - Support R/W files if truncate is set.
  37009. - Implement statfs interface so df works
  37010. - Note that write is now supported on Amazon Drive
  37011. - Report number of blocks in a file - thanks Stefan Breunig
  37012. - Crypt
  37013. - Prevent the user pointing crypt at itself
  37014. - Fix failed to authenticate decrypted block errors
  37015. - these will now return the underlying unexpected EOF instead
  37016. - Amazon Drive
  37017. - Add support for server-side move and directory move - thanks
  37018. Stefan Breunig
  37019. - Fix nil pointer deref on size attribute
  37020. - B2
  37021. - Use new prefix and delimiter parameters in directory listings
  37022. - This makes --max-depth 1 dir listings as used in mount much
  37023. faster
  37024. - Reauth the account while doing uploads too - should help with
  37025. token expiry
  37026. - Drive
  37027. - Make DirMove more efficient and complain about moving the root
  37028. - Create destination directory on Move()
  37029. v1.34 - 2016-11-06
  37030. - New Features
  37031. - Stop single file and --files-from operations iterating through
  37032. the source bucket.
  37033. - Stop removing failed upload to cloud storage remotes
  37034. - Make ContentType be preserved for cloud to cloud copies
  37035. - Add support to toggle bandwidth limits via SIGUSR2 - thanks
  37036. Marco Paganini
  37037. - rclone check shows count of hashes that couldn't be checked
  37038. - rclone listremotes command
  37039. - Support linux/arm64 build - thanks Fredrik Fornwall
  37040. - Remove Authorization: lines from --dump-headers output
  37041. - Bug Fixes
  37042. - Ignore files with control characters in the names
  37043. - Fix rclone move command
  37044. - Delete src files which already existed in dst
  37045. - Fix deletion of src file when dst file older
  37046. - Fix rclone check on encrypted file systems
  37047. - Make failed uploads not count as "Transferred"
  37048. - Make sure high level retries show with -q
  37049. - Use a vendor directory with godep for repeatable builds
  37050. - rclone mount - FUSE
  37051. - Implement FUSE mount options
  37052. - --no-modtime, --debug-fuse, --read-only, --allow-non-empty,
  37053. --allow-root, --allow-other
  37054. - --default-permissions, --write-back-cache, --max-read-ahead,
  37055. --umask, --uid, --gid
  37056. - Add --dir-cache-time to control caching of directory entries
  37057. - Implement seek for files opened for read (useful for video
  37058. players)
  37059. - with -no-seek flag to disable
  37060. - Fix crash on 32 bit ARM (alignment of 64 bit counter)
  37061. - ...and many more internal fixes and improvements!
  37062. - Crypt
  37063. - Don't show encrypted password in configurator to stop confusion
  37064. - Amazon Drive
  37065. - New wait for upload option --acd-upload-wait-per-gb
  37066. - upload timeouts scale by file size and can be disabled
  37067. - Add 502 Bad Gateway to list of errors we retry
  37068. - Fix overwriting a file with a zero length file
  37069. - Fix ACD file size warning limit - thanks Felix Bünemann
  37070. - Local
  37071. - Unix: implement -x/--one-file-system to stay on a single file
  37072. system
  37073. - thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana
  37074. - Windows: ignore the symlink bit on files
  37075. - Windows: Ignore directory-based junction points
  37076. - B2
  37077. - Make sure each upload has at least one upload slot - fixes
  37078. strange upload stats
  37079. - Fix uploads when using crypt
  37080. - Fix download of large files (sha1 mismatch)
  37081. - Return error when we try to create a bucket which someone else
  37082. owns
  37083. - Update B2 docs with Data usage, and Crypt section - thanks
  37084. Tomasz Mazur
  37085. - S3
  37086. - Command line and config file support for
  37087. - Setting/overriding ACL - thanks Radek Šenfeld
  37088. - Setting storage class - thanks Asko Tamm
  37089. - Drive
  37090. - Make exponential backoff work exactly as per Google
  37091. specification
  37092. - add .epub, .odp and .tsv as export formats.
  37093. - Swift
  37094. - Don't read metadata for directory marker objects
  37095. v1.33 - 2016-08-24
  37096. - New Features
  37097. - Implement encryption
  37098. - data encrypted in NACL secretbox format
  37099. - with optional file name encryption
  37100. - New commands
  37101. - rclone mount - implements FUSE mounting of remotes
  37102. (EXPERIMENTAL)
  37103. - works on Linux, FreeBSD and OS X (need testers for the
  37104. last 2!)
  37105. - rclone cat - outputs remote file or files to the terminal
  37106. - rclone genautocomplete - command to make a bash completion
  37107. script for rclone
  37108. - Editing a remote using rclone config now goes through the wizard
  37109. - Compile with go 1.7 - this fixes rclone on macOS Sierra and on
  37110. 386 processors
  37111. - Use cobra for sub commands and docs generation
  37112. - drive
  37113. - Document how to make your own client_id
  37114. - s3
  37115. - User-configurable Amazon S3 ACL (thanks Radek Šenfeld)
  37116. - b2
  37117. - Fix stats accounting for upload - no more jumping to 100% done
  37118. - On cleanup delete hide marker if it is the current file
  37119. - New B2 API endpoint (thanks Per Cederberg)
  37120. - Set maximum backoff to 5 Minutes
  37121. - onedrive
  37122. - Fix URL escaping in file names - e.g. uploading files with + in
  37123. them.
  37124. - amazon cloud drive
  37125. - Fix token expiry during large uploads
  37126. - Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors
  37127. - local
  37128. - Fix filenames with invalid UTF-8 not being uploaded
  37129. - Fix problem with some UTF-8 characters on OS X
  37130. v1.32 - 2016-07-13
  37131. - Backblaze B2
  37132. - Fix upload of files large files not in root
  37133. v1.31 - 2016-07-13
  37134. - New Features
  37135. - Reduce memory on sync by about 50%
  37136. - Implement --no-traverse flag to stop copy traversing the
  37137. destination remote.
  37138. - This can be used to reduce memory usage down to the smallest
  37139. possible.
  37140. - Useful to copy a small number of files into a large
  37141. destination folder.
  37142. - Implement cleanup command for emptying trash / removing old
  37143. versions of files
  37144. - Currently B2 only
  37145. - Single file handling improved
  37146. - Now copied with --files-from
  37147. - Automatically sets --no-traverse when copying a single file
  37148. - Info on using installing with ansible - thanks Stefan Weichinger
  37149. - Implement --no-update-modtime flag to stop rclone fixing the
  37150. remote modified times.
  37151. - Bug Fixes
  37152. - Fix move command - stop it running for overlapping Fses - this
  37153. was causing data loss.
  37154. - Local
  37155. - Fix incomplete hashes - this was causing problems for B2.
  37156. - Amazon Drive
  37157. - Rename Amazon Cloud Drive to Amazon Drive - no changes to config
  37158. file needed.
  37159. - Swift
  37160. - Add support for non-default project domain - thanks Antonio
  37161. Messina.
  37162. - S3
  37163. - Add instructions on how to use rclone with minio.
  37164. - Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions.
  37165. - Skip setting the modified time for objects > 5GB as it isn't
  37166. possible.
  37167. - Backblaze B2
  37168. - Add --b2-versions flag so old versions can be listed and
  37169. retrieved.
  37170. - Treat 403 errors (e.g. cap exceeded) as fatal.
  37171. - Implement cleanup command for deleting old file versions.
  37172. - Make error handling compliant with B2 integrations notes.
  37173. - Fix handling of token expiry.
  37174. - Implement --b2-test-mode to set X-Bz-Test-Mode header.
  37175. - Set cutoff for chunked upload to 200MB as per B2 guidelines.
  37176. - Make upload multi-threaded.
  37177. - Dropbox
  37178. - Don't retry 461 errors.
  37179. v1.30 - 2016-06-18
  37180. - New Features
  37181. - Directory listing code reworked for more features and better
  37182. error reporting (thanks to Klaus Post for help). This enables
  37183. - Directory include filtering for efficiency
  37184. - --max-depth parameter
  37185. - Better error reporting
  37186. - More to come
  37187. - Retry more errors
  37188. - Add --ignore-size flag - for uploading images to onedrive
  37189. - Log -v output to stdout by default
  37190. - Display the transfer stats in more human-readable form
  37191. - Make 0 size files specifiable with --max-size 0b
  37192. - Add b suffix so we can specify bytes in --bwlimit, --min-size,
  37193. etc.
  37194. - Use "password:" instead of "password>" prompt - thanks Klaus
  37195. Post and Leigh Klotz
  37196. - Bug Fixes
  37197. - Fix retry doing one too many retries
  37198. - Local
  37199. - Fix problems with OS X and UTF-8 characters
  37200. - Amazon Drive
  37201. - Check a file exists before uploading to help with 408 Conflict
  37202. errors
  37203. - Reauth on 401 errors - this has been causing a lot of problems
  37204. - Work around spurious 403 errors
  37205. - Restart directory listings on error
  37206. - Google Drive
  37207. - Check a file exists before uploading to help with duplicates
  37208. - Fix retry of multipart uploads
  37209. - Backblaze B2
  37210. - Implement large file uploading
  37211. - S3
  37212. - Add AES256 server-side encryption for - thanks Justin R. Wilson
  37213. - Google Cloud Storage
  37214. - Make sure we don't use conflicting content types on upload
  37215. - Add service account support - thanks Michal Witkowski
  37216. - Swift
  37217. - Add auth version parameter
  37218. - Add domain option for openstack (v3 auth) - thanks Fabian Ruff
  37219. v1.29 - 2016-04-18
  37220. - New Features
  37221. - Implement -I, --ignore-times for unconditional upload
  37222. - Improve dedupecommand
  37223. - Now removes identical copies without asking
  37224. - Now obeys --dry-run
  37225. - Implement --dedupe-mode for non interactive running
  37226. - --dedupe-mode interactive - interactive the default.
  37227. - --dedupe-mode skip - removes identical files then skips
  37228. anything left.
  37229. - --dedupe-mode first - removes identical files then keeps
  37230. the first one.
  37231. - --dedupe-mode newest - removes identical files then
  37232. keeps the newest one.
  37233. - --dedupe-mode oldest - removes identical files then
  37234. keeps the oldest one.
  37235. - --dedupe-mode rename - removes identical files then
  37236. renames the rest to be different.
  37237. - Bug fixes
  37238. - Make rclone check obey the --size-only flag.
  37239. - Use "application/octet-stream" if discovered mime type is
  37240. invalid.
  37241. - Fix missing "quit" option when there are no remotes.
  37242. - Google Drive
  37243. - Increase default chunk size to 8 MB - increases upload speed of
  37244. big files
  37245. - Speed up directory listings and make more reliable
  37246. - Add missing retries for Move and DirMove - increases reliability
  37247. - Preserve mime type on file update
  37248. - Backblaze B2
  37249. - Enable mod time syncing
  37250. - This means that B2 will now check modification times
  37251. - It will upload new files to update the modification times
  37252. - (there isn't an API to just set the mod time.)
  37253. - If you want the old behaviour use --size-only.
  37254. - Update API to new version
  37255. - Fix parsing of mod time when not in metadata
  37256. - Swift/Hubic
  37257. - Don't return an MD5SUM for static large objects
  37258. - S3
  37259. - Fix uploading files bigger than 50GB
  37260. v1.28 - 2016-03-01
  37261. - New Features
  37262. - Configuration file encryption - thanks Klaus Post
  37263. - Improve rclone config adding more help and making it easier to
  37264. understand
  37265. - Implement -u/--update so creation times can be used on all
  37266. remotes
  37267. - Implement --low-level-retries flag
  37268. - Optionally disable gzip compression on downloads with
  37269. --no-gzip-encoding
  37270. - Bug fixes
  37271. - Don't make directories if --dry-run set
  37272. - Fix and document the move command
  37273. - Fix redirecting stderr on unix-like OSes when using --log-file
  37274. - Fix delete command to wait until all finished - fixes missing
  37275. deletes.
  37276. - Backblaze B2
  37277. - Use one upload URL per go routine fixes
  37278. more than one upload using auth token
  37279. - Add pacing, retries and reauthentication - fixes token expiry
  37280. problems
  37281. - Upload without using a temporary file from local (and remotes
  37282. which support SHA1)
  37283. - Fix reading metadata for all files when it shouldn't have been
  37284. - Drive
  37285. - Fix listing drive documents at root
  37286. - Disable copy and move for Google docs
  37287. - Swift
  37288. - Fix uploading of chunked files with non ASCII characters
  37289. - Allow setting of storage_url in the config - thanks Xavier Lucas
  37290. - S3
  37291. - Allow IAM role and credentials from environment variables -
  37292. thanks Brian Stengaard
  37293. - Allow low privilege users to use S3 (check if directory exists
  37294. during Mkdir) - thanks Jakub Gedeon
  37295. - Amazon Drive
  37296. - Retry on more things to make directory listings more reliable
  37297. v1.27 - 2016-01-31
  37298. - New Features
  37299. - Easier headless configuration with rclone authorize
  37300. - Add support for multiple hash types - we now check SHA1 as well
  37301. as MD5 hashes.
  37302. - delete command which does obey the filters (unlike purge)
  37303. - dedupe command to deduplicate a remote. Useful with Google
  37304. Drive.
  37305. - Add --ignore-existing flag to skip all files that exist on
  37306. destination.
  37307. - Add --delete-before, --delete-during, --delete-after flags.
  37308. - Add --memprofile flag to debug memory use.
  37309. - Warn the user about files with same name but different case
  37310. - Make --include rules add their implicit exclude * at the end of
  37311. the filter list
  37312. - Deprecate compiling with go1.3
  37313. - Amazon Drive
  37314. - Fix download of files > 10 GB
  37315. - Fix directory traversal ("Next token is expired") for large
  37316. directory listings
  37317. - Remove 409 conflict from error codes we will retry - stops very
  37318. long pauses
  37319. - Backblaze B2
  37320. - SHA1 hashes now checked by rclone core
  37321. - Drive
  37322. - Add --drive-auth-owner-only to only consider files owned by the
  37323. user - thanks Björn Harrtell
  37324. - Export Google documents
  37325. - Dropbox
  37326. - Make file exclusion error controllable with -q
  37327. - Swift
  37328. - Fix upload from unprivileged user.
  37329. - S3
  37330. - Fix updating of mod times of files with + in.
  37331. - Local
  37332. - Add local file system option to disable UNC on Windows.
  37333. v1.26 - 2016-01-02
  37334. - New Features
  37335. - Yandex storage backend - thank you Dmitry Burdeev ("dibu")
  37336. - Implement Backblaze B2 storage backend
  37337. - Add --min-age and --max-age flags - thank you Adriano Aurélio
  37338. Meirelles
  37339. - Make ls/lsl/md5sum/size/check obey includes and excludes
  37340. - Fixes
  37341. - Fix crash in http logging
  37342. - Upload releases to github too
  37343. - Swift
  37344. - Fix sync for chunked files
  37345. - OneDrive
  37346. - Re-enable server-side copy
  37347. - Don't mask HTTP error codes with JSON decode error
  37348. - S3
  37349. - Fix corrupting Content-Type on mod time update (thanks Joseph
  37350. Spurrier)
  37351. v1.25 - 2015-11-14
  37352. - New features
  37353. - Implement Hubic storage system
  37354. - Fixes
  37355. - Fix deletion of some excluded files without --delete-excluded
  37356. - This could have deleted files unexpectedly on sync
  37357. - Always check first with --dry-run!
  37358. - Swift
  37359. - Stop SetModTime losing metadata (e.g. X-Object-Manifest)
  37360. - This could have caused data loss for files > 5GB in size
  37361. - Use ContentType from Object to avoid lookups in listings
  37362. - OneDrive
  37363. - disable server-side copy as it seems to be broken at Microsoft
  37364. v1.24 - 2015-11-07
  37365. - New features
  37366. - Add support for Microsoft OneDrive
  37367. - Add --no-check-certificate option to disable server certificate
  37368. verification
  37369. - Add async readahead buffer for faster transfer of big files
  37370. - Fixes
  37371. - Allow spaces in remotes and check remote names for validity at
  37372. creation time
  37373. - Allow '&' and disallow ':' in Windows filenames.
  37374. - Swift
  37375. - Ignore directory marker objects where appropriate - allows
  37376. working with Hubic
  37377. - Don't delete the container if fs wasn't at root
  37378. - S3
  37379. - Don't delete the bucket if fs wasn't at root
  37380. - Google Cloud Storage
  37381. - Don't delete the bucket if fs wasn't at root
  37382. v1.23 - 2015-10-03
  37383. - New features
  37384. - Implement rclone size for measuring remotes
  37385. - Fixes
  37386. - Fix headless config for drive and gcs
  37387. - Tell the user they should try again if the webserver method
  37388. failed
  37389. - Improve output of --dump-headers
  37390. - S3
  37391. - Allow anonymous access to public buckets
  37392. - Swift
  37393. - Stop chunked operations logging "Failed to read info: Object Not
  37394. Found"
  37395. - Use Content-Length on uploads for extra reliability
  37396. v1.22 - 2015-09-28
  37397. - Implement rsync like include and exclude flags
  37398. - swift
  37399. - Support files > 5GB - thanks Sergey Tolmachev
  37400. v1.21 - 2015-09-22
  37401. - New features
  37402. - Display individual transfer progress
  37403. - Make lsl output times in localtime
  37404. - Fixes
  37405. - Fix allowing user to override credentials again in Drive, GCS
  37406. and ACD
  37407. - Amazon Drive
  37408. - Implement compliant pacing scheme
  37409. - Google Drive
  37410. - Make directory reads concurrent for increased speed.
  37411. v1.20 - 2015-09-15
  37412. - New features
  37413. - Amazon Drive support
  37414. - Oauth support redone - fix many bugs and improve usability
  37415. - Use "golang.org/x/oauth2" as oauth library of choice
  37416. - Improve oauth usability for smoother initial signup
  37417. - drive, googlecloudstorage: optionally use auto config for
  37418. the oauth token
  37419. - Implement --dump-headers and --dump-bodies debug flags
  37420. - Show multiple matched commands if abbreviation too short
  37421. - Implement server-side move where possible
  37422. - local
  37423. - Always use UNC paths internally on Windows - fixes a lot of bugs
  37424. - dropbox
  37425. - force use of our custom transport which makes timeouts work
  37426. - Thanks to Klaus Post for lots of help with this release
  37427. v1.19 - 2015-08-28
  37428. - New features
  37429. - Server side copies for s3/swift/drive/dropbox/gcs
  37430. - Move command - uses server-side copies if it can
  37431. - Implement --retries flag - tries 3 times by default
  37432. - Build for plan9/amd64 and solaris/amd64 too
  37433. - Fixes
  37434. - Make a current version download with a fixed URL for scripting
  37435. - Ignore rmdir in limited fs rather than throwing error
  37436. - dropbox
  37437. - Increase chunk size to improve upload speeds massively
  37438. - Issue an error message when trying to upload bad file name
  37439. v1.18 - 2015-08-17
  37440. - drive
  37441. - Add --drive-use-trash flag so rclone trashes instead of deletes
  37442. - Add "Forbidden to download" message for files with no
  37443. downloadURL
  37444. - dropbox
  37445. - Remove datastore
  37446. - This was deprecated and it caused a lot of problems
  37447. - Modification times and MD5SUMs no longer stored
  37448. - Fix uploading files > 2GB
  37449. - s3
  37450. - use official AWS SDK from github.com/aws/aws-sdk-go
  37451. - NB will most likely require you to delete and recreate remote
  37452. - enable multipart upload which enables files > 5GB
  37453. - tested with Ceph / RadosGW / S3 emulation
  37454. - many thanks to Sam Liston and Brian Haymore at the Utah Center
  37455. for High Performance Computing for a Ceph test account
  37456. - misc
  37457. - Show errors when reading the config file
  37458. - Do not print stats in quiet mode - thanks Leonid Shalupov
  37459. - Add FAQ
  37460. - Fix created directories not obeying umask
  37461. - Linux installation instructions - thanks Shimon Doodkin
  37462. v1.17 - 2015-06-14
  37463. - dropbox: fix case insensitivity issues - thanks Leonid Shalupov
  37464. v1.16 - 2015-06-09
  37465. - Fix uploading big files which was causing timeouts or panics
  37466. - Don't check md5sum after download with --size-only
  37467. v1.15 - 2015-06-06
  37468. - Add --checksum flag to only discard transfers by MD5SUM - thanks
  37469. Alex Couper
  37470. - Implement --size-only flag to sync on size not checksum & modtime
  37471. - Expand docs and remove duplicated information
  37472. - Document rclone's limitations with directories
  37473. - dropbox: update docs about case insensitivity
  37474. v1.14 - 2015-05-21
  37475. - local: fix encoding of non utf-8 file names - fixes a duplicate file
  37476. problem
  37477. - drive: docs about rate limiting
  37478. - google cloud storage: Fix compile after API change in
  37479. "google.golang.org/api/storage/v1"
  37480. v1.13 - 2015-05-10
  37481. - Revise documentation (especially sync)
  37482. - Implement --timeout and --conntimeout
  37483. - s3: ignore etags from multipart uploads which aren't md5sums
  37484. v1.12 - 2015-03-15
  37485. - drive: Use chunked upload for files above a certain size
  37486. - drive: add --drive-chunk-size and --drive-upload-cutoff parameters
  37487. - drive: switch to insert from update when a failed copy deletes the
  37488. upload
  37489. - core: Log duplicate files if they are detected
  37490. v1.11 - 2015-03-04
  37491. - swift: add region parameter
  37492. - drive: fix crash on failed to update remote mtime
  37493. - In remote paths, change native directory separators to /
  37494. - Add synchronization to ls/lsl/lsd output to stop corruptions
  37495. - Ensure all stats/log messages to go stderr
  37496. - Add --log-file flag to log everything (including panics) to file
  37497. - Make it possible to disable stats printing with --stats=0
  37498. - Implement --bwlimit to limit data transfer bandwidth
  37499. v1.10 - 2015-02-12
  37500. - s3: list an unlimited number of items
  37501. - Fix getting stuck in the configurator
  37502. v1.09 - 2015-02-07
  37503. - windows: Stop drive letters (e.g. C:) getting mixed up with remotes
  37504. (e.g. drive:)
  37505. - local: Fix directory separators on Windows
  37506. - drive: fix rate limit exceeded errors
  37507. v1.08 - 2015-02-04
  37508. - drive: fix subdirectory listing to not list entire drive
  37509. - drive: Fix SetModTime
  37510. - dropbox: adapt code to recent library changes
  37511. v1.07 - 2014-12-23
  37512. - google cloud storage: fix memory leak
  37513. v1.06 - 2014-12-12
  37514. - Fix "Couldn't find home directory" on OSX
  37515. - swift: Add tenant parameter
  37516. - Use new location of Google API packages
  37517. v1.05 - 2014-08-09
  37518. - Improved tests and consequently lots of minor fixes
  37519. - core: Fix race detected by go race detector
  37520. - core: Fixes after running errcheck
  37521. - drive: reset root directory on Rmdir and Purge
  37522. - fs: Document that Purger returns error on empty directory, test and
  37523. fix
  37524. - google cloud storage: fix ListDir on subdirectory
  37525. - google cloud storage: re-read metadata in SetModTime
  37526. - s3: make reading metadata more reliable to work around eventual
  37527. consistency problems
  37528. - s3: strip trailing / from ListDir()
  37529. - swift: return directories without / in ListDir
  37530. v1.04 - 2014-07-21
  37531. - google cloud storage: Fix crash on Update
  37532. v1.03 - 2014-07-20
  37533. - swift, s3, dropbox: fix updated files being marked as corrupted
  37534. - Make compile with go 1.1 again
  37535. v1.02 - 2014-07-19
  37536. - Implement Dropbox remote
  37537. - Implement Google Cloud Storage remote
  37538. - Verify Md5sums and Sizes after copies
  37539. - Remove times from "ls" command - lists sizes only
  37540. - Add add "lsl" - lists times and sizes
  37541. - Add "md5sum" command
  37542. v1.01 - 2014-07-04
  37543. - drive: fix transfer of big files using up lots of memory
  37544. v1.00 - 2014-07-03
  37545. - drive: fix whole second dates
  37546. v0.99 - 2014-06-26
  37547. - Fix --dry-run not working
  37548. - Make compatible with go 1.1
  37549. v0.98 - 2014-05-30
  37550. - s3: Treat missing Content-Length as 0 for some ceph installations
  37551. - rclonetest: add file with a space in
  37552. v0.97 - 2014-05-05
  37553. - Implement copying of single files
  37554. - s3 & swift: support paths inside containers/buckets
  37555. v0.96 - 2014-04-24
  37556. - drive: Fix multiple files of same name being created
  37557. - drive: Use o.Update and fs.Put to optimise transfers
  37558. - Add version number, -V and --version
  37559. v0.95 - 2014-03-28
  37560. - rclone.org: website, docs and graphics
  37561. - drive: fix path parsing
  37562. v0.94 - 2014-03-27
  37563. - Change remote format one last time
  37564. - GNU style flags
  37565. v0.93 - 2014-03-16
  37566. - drive: store token in config file
  37567. - cross compile other versions
  37568. - set strict permissions on config file
  37569. v0.92 - 2014-03-15
  37570. - Config fixes and --config option
  37571. v0.91 - 2014-03-15
  37572. - Make config file
  37573. v0.90 - 2013-06-27
  37574. - Project named rclone
  37575. v0.00 - 2012-11-18
  37576. - Project started
  37577. Bugs and Limitations
  37578. Limitations
  37579. Directory timestamps aren't preserved
  37580. Rclone doesn't currently preserve the timestamps of directories. This is
  37581. because rclone only really considers objects when syncing.
  37582. Rclone struggles with millions of files in a directory/bucket
  37583. Currently rclone loads each directory/bucket entirely into memory before
  37584. using it. Since each rclone object takes 0.5k-1k of memory this can take
  37585. a very long time and use a large amount of memory.
  37586. Millions of files in a directory tends to occur on bucket-based remotes
  37587. (e.g. S3 buckets) since those remotes do not segregate subdirectories
  37588. within the bucket.
  37589. Bucket-based remotes and folders
  37590. Bucket-based remotes (e.g. S3/GCS/Swift/B2) do not have a concept of
  37591. directories. Rclone therefore cannot create directories in them which
  37592. means that empty directories on a bucket-based remote will tend to
  37593. disappear.
  37594. Some software creates empty keys ending in / as directory markers.
  37595. Rclone doesn't do this as it potentially creates more objects and costs
  37596. more. This ability may be added in the future (probably via a
  37597. flag/option).
  37598. Bugs
  37599. Bugs are stored in rclone's GitHub project:
  37600. - Reported bugs
  37601. - Known issues
  37602. Frequently Asked Questions
  37603. Do all cloud storage systems support all rclone commands
  37604. Yes they do. All the rclone commands (e.g. sync, copy, etc.) will work
  37605. on all the remote storage systems.
  37606. Can I copy the config from one machine to another
  37607. Sure! Rclone stores all of its config in a single file. If you want to
  37608. find this file, run rclone config file which will tell you where it is.
  37609. See the remote setup docs for more info.
  37610. How do I configure rclone on a remote / headless box with no browser?
  37611. This has now been documented in its own remote setup page.
  37612. Can rclone sync directly from drive to s3
  37613. Rclone can sync between two remote cloud storage systems just fine.
  37614. Note that it effectively downloads the file and uploads it again, so the
  37615. node running rclone would need to have lots of bandwidth.
  37616. The syncs would be incremental (on a file by file basis).
  37617. e.g.
  37618. rclone sync --interactive drive:Folder s3:bucket
  37619. Using rclone from multiple locations at the same time
  37620. You can use rclone from multiple places at the same time if you choose
  37621. different subdirectory for the output, e.g.
  37622. Server A> rclone sync --interactive /tmp/whatever remote:ServerA
  37623. Server B> rclone sync --interactive /tmp/whatever remote:ServerB
  37624. If you sync to the same directory then you should use rclone copy
  37625. otherwise the two instances of rclone may delete each other's files,
  37626. e.g.
  37627. Server A> rclone copy /tmp/whatever remote:Backup
  37628. Server B> rclone copy /tmp/whatever remote:Backup
  37629. The file names you upload from Server A and Server B should be different
  37630. in this case, otherwise some file systems (e.g. Drive) may make
  37631. duplicates.
  37632. Why doesn't rclone support partial transfers / binary diffs like rsync?
  37633. Rclone stores each file you transfer as a native object on the remote
  37634. cloud storage system. This means that you can see the files you upload
  37635. as expected using alternative access methods (e.g. using the Google
  37636. Drive web interface). There is a 1:1 mapping between files on your hard
  37637. disk and objects created in the cloud storage system.
  37638. Cloud storage systems (at least none I've come across yet) don't support
  37639. partially uploading an object. You can't take an existing object, and
  37640. change some bytes in the middle of it.
  37641. It would be possible to make a sync system which stored binary diffs
  37642. instead of whole objects like rclone does, but that would break the 1:1
  37643. mapping of files on your hard disk to objects in the remote cloud
  37644. storage system.
  37645. All the cloud storage systems support partial downloads of content, so
  37646. it would be possible to make partial downloads work. However to make
  37647. this work efficiently this would require storing a significant amount of
  37648. metadata, which breaks the desired 1:1 mapping of files to objects.
  37649. Can rclone do bi-directional sync?
  37650. Yes, since rclone v1.58.0, bidirectional cloud sync is available.
  37651. Can I use rclone with an HTTP proxy?
  37652. Yes. rclone will follow the standard environment variables for proxies,
  37653. similar to cURL and other programs.
  37654. In general the variables are called http_proxy (for services reached
  37655. over http) and https_proxy (for services reached over https). Most
  37656. public services will be using https, but you may wish to set both.
  37657. The content of the variable is protocol://server:port. The protocol
  37658. value is the one used to talk to the proxy server, itself, and is
  37659. commonly either http or socks5.
  37660. Slightly annoyingly, there is no standard for the name; some
  37661. applications may use http_proxy but another one HTTP_PROXY. The Go
  37662. libraries used by rclone will try both variations, but you may wish to
  37663. set all possibilities. So, on Linux, you may end up with code similar to
  37664. export http_proxy=http://proxyserver:12345
  37665. export https_proxy=$http_proxy
  37666. export HTTP_PROXY=$http_proxy
  37667. export HTTPS_PROXY=$http_proxy
  37668. Note: If the proxy server requires a username and password, then use
  37669. export http_proxy=http://username:password@proxyserver:12345
  37670. export https_proxy=$http_proxy
  37671. export HTTP_PROXY=$http_proxy
  37672. export HTTPS_PROXY=$http_proxy
  37673. The NO_PROXY allows you to disable the proxy for specific hosts. Hosts
  37674. must be comma separated, and can contain domains or parts. For instance
  37675. "foo.com" also matches "bar.foo.com".
  37676. e.g.
  37677. export no_proxy=localhost,127.0.0.0/8,my.host.name
  37678. export NO_PROXY=$no_proxy
  37679. Note that the FTP backend does not support ftp_proxy yet.
  37680. Rclone gives x509: failed to load system roots and no roots provided error
  37681. This means that rclone can't find the SSL root certificates. Likely you
  37682. are running rclone on a NAS with a cut-down Linux OS, or possibly on
  37683. Solaris.
  37684. Rclone (via the Go runtime) tries to load the root certificates from
  37685. these places on Linux.
  37686. "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
  37687. "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL
  37688. "/etc/ssl/ca-bundle.pem", // OpenSUSE
  37689. "/etc/pki/tls/cacert.pem", // OpenELEC
  37690. So doing something like this should fix the problem. It also sets the
  37691. time which is important for SSL to work properly.
  37692. mkdir -p /etc/ssl/certs/
  37693. curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  37694. ntpclient -s -h pool.ntp.org
  37695. The two environment variables SSL_CERT_FILE and SSL_CERT_DIR, mentioned
  37696. in the x509 package, provide an additional way to provide the SSL root
  37697. certificates.
  37698. Note that you may need to add the --insecure option to the curl command
  37699. line if it doesn't work without.
  37700. curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
  37701. Rclone gives Failed to load config file: function not implemented error
  37702. Likely this means that you are running rclone on Linux version not
  37703. supported by the go runtime, ie earlier than version 2.6.23.
  37704. See the system requirements section in the go install docs for full
  37705. details.
  37706. All my uploaded docx/xlsx/pptx files appear as archive/zip
  37707. This is caused by uploading these files from a Windows computer which
  37708. hasn't got the Microsoft Office suite installed. The easiest way to fix
  37709. is to install the Word viewer and the Microsoft Office Compatibility
  37710. Pack for Word, Excel, and PowerPoint 2007 and later versions' file
  37711. formats
  37712. tcp lookup some.domain.com no such host
  37713. This happens when rclone cannot resolve a domain. Please check that your
  37714. DNS setup is generally working, e.g.
  37715. # both should print a long list of possible IP addresses
  37716. dig www.googleapis.com # resolve using your default DNS
  37717. dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
  37718. If you are using systemd-resolved (default on Arch Linux), ensure it is
  37719. at version 233 or higher. Previous releases contain a bug which causes
  37720. not all domains to be resolved properly.
  37721. The Go resolver decision can be influenced with the GODEBUG=netdns=...
  37722. environment variable. This also allows to resolve certain issues with
  37723. DNS resolution. On Windows or MacOS systems, try forcing use of the
  37724. internal Go resolver by setting GODEBUG=netdns=go at runtime. On other
  37725. systems (Linux, *BSD, etc) try forcing use of the system name resolver
  37726. by setting GODEBUG=netdns=cgo (and recompile rclone from source with CGO
  37727. enabled if necessary). See the name resolution section in the go docs.
  37728. Failed to start auth webserver on Windows
  37729. 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.
  37730. ...
  37731. 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.
  37732. This is sometimes caused by the Host Network Service causing issues with
  37733. opening the port on the host.
  37734. A simple solution may be restarting the Host Network Service with eg.
  37735. Powershell
  37736. Restart-Service hns
  37737. The total size reported in the stats for a sync is wrong and keeps changing
  37738. It is likely you have more than 10,000 files that need to be synced. By
  37739. default, rclone only gets 10,000 files ahead in a sync so as not to use
  37740. up too much memory. You can change this default with the --max-backlog
  37741. flag.
  37742. Rclone is using too much memory or appears to have a memory leak
  37743. Rclone is written in Go which uses a garbage collector. The default
  37744. settings for the garbage collector mean that it runs when the heap size
  37745. has doubled.
  37746. However it is possible to tune the garbage collector to use less memory
  37747. by setting GOGC to a lower value, say export GOGC=20. This will make the
  37748. garbage collector work harder, reducing memory size at the expense of
  37749. CPU usage.
  37750. The most common cause of rclone using lots of memory is a single
  37751. directory with thousands or millions of files in. Rclone has to load
  37752. this entirely into memory as rclone objects. Each rclone object takes
  37753. 0.5k-1k of memory.
  37754. Rclone changes fullwidth Unicode punctuation marks in file names
  37755. For example: On a Windows system, you have a file with name Test:1.jpg,
  37756. where : is the Unicode fullwidth colon symbol. When using rclone to
  37757. copy this to your Google Drive, you will notice that the file gets
  37758. renamed to Test:1.jpg, where : is the regular (halfwidth) colon.
  37759. The reason for such renames is the way rclone handles different
  37760. restricted filenames on different cloud storage systems. It tries to
  37761. avoid ambiguous file names as much and allow moving files between many
  37762. cloud storage systems transparently, by replacing invalid characters
  37763. with similar looking Unicode characters when transferring to one storage
  37764. system, and replacing back again when transferring to a different
  37765. storage system where the original characters are supported. When the
  37766. same Unicode characters are intentionally used in file names, this
  37767. replacement strategy leads to unwanted renames. Read more here.
  37768. License
  37769. This is free software under the terms of the MIT license (check the
  37770. COPYING file included with the source code).
  37771. Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick/
  37772. Permission is hereby granted, free of charge, to any person obtaining a copy
  37773. of this software and associated documentation files (the "Software"), to deal
  37774. in the Software without restriction, including without limitation the rights
  37775. to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  37776. copies of the Software, and to permit persons to whom the Software is
  37777. furnished to do so, subject to the following conditions:
  37778. The above copyright notice and this permission notice shall be included in
  37779. all copies or substantial portions of the Software.
  37780. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  37781. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  37782. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  37783. AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  37784. LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  37785. OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  37786. THE SOFTWARE.
  37787. Authors and contributors
  37788. Authors
  37789. - Nick Craig-Wood nick@craig-wood.com
  37790. Contributors
  37791. {{< rem
  37792. email addresses removed from here need to be added to bin/.ignore-emails to make sure update-authors.py doesn't immediately put them back in again.
  37793. >}}
  37794. - Alex Couper amcouper@gmail.com
  37795. - Leonid Shalupov leonid@shalupov.com shalupov@diverse.org.ru
  37796. - Shimon Doodkin helpmepro1@gmail.com
  37797. - Colin Nicholson colin@colinn.com
  37798. - Klaus Post klauspost@gmail.com
  37799. - Sergey Tolmachev tolsi.ru@gmail.com
  37800. - Adriano Aurélio Meirelles adriano@atinge.com
  37801. - C. Bess cbess@users.noreply.github.com
  37802. - Dmitry Burdeev dibu28@gmail.com
  37803. - Joseph Spurrier github@josephspurrier.com
  37804. - Björn Harrtell bjorn@wololo.org
  37805. - Xavier Lucas xavier.lucas@corp.ovh.com
  37806. - Werner Beroux werner@beroux.com
  37807. - Brian Stengaard brian@stengaard.eu
  37808. - Jakub Gedeon jgedeon@sofi.com
  37809. - Jim Tittsler jwt@onjapan.net
  37810. - Michal Witkowski michal@improbable.io
  37811. - Fabian Ruff fabian.ruff@sap.com
  37812. - Leigh Klotz klotz@quixey.com
  37813. - Romain Lapray lapray.romain@gmail.com
  37814. - Justin R. Wilson jrw972@gmail.com
  37815. - Antonio Messina antonio.s.messina@gmail.com
  37816. - Stefan G. Weichinger office@oops.co.at
  37817. - Per Cederberg cederberg@gmail.com
  37818. - Radek Šenfeld rush@logic.cz
  37819. - Fredrik Fornwall fredrik@fornwall.net
  37820. - Asko Tamm asko@deekit.net
  37821. - xor-zz xor@gstocco.com
  37822. - Tomasz Mazur tmazur90@gmail.com
  37823. - Marco Paganini paganini@paganini.net
  37824. - Felix Bünemann buenemann@louis.info
  37825. - Durval Menezes jmrclone@durval.com
  37826. - Luiz Carlos Rumbelsperger Viana maxd13_luiz_carlos@hotmail.com
  37827. - Stefan Breunig stefan-github@yrden.de
  37828. - Alishan Ladhani ali-l@users.noreply.github.com
  37829. - 0xJAKE 0xJAKE@users.noreply.github.com
  37830. - Thibault Molleman thibaultmol@users.noreply.github.com
  37831. - Scott McGillivray scott.mcgillivray@gmail.com
  37832. - Bjørn Erik Pedersen bjorn.erik.pedersen@gmail.com
  37833. - Lukas Loesche lukas@mesosphere.io
  37834. - emyarod allllaboutyou@gmail.com
  37835. - T.C. Ferguson tcf909@gmail.com
  37836. - Brandur brandur@mutelight.org
  37837. - Dario Giovannetti dev@dariogiovannetti.net
  37838. - Károly Oláh okaresz@aol.com
  37839. - Jon Yergatian jon@macfanatic.ca
  37840. - Jack Schmidt github@mowsey.org
  37841. - Dedsec1 Dedsec1@users.noreply.github.com
  37842. - Hisham Zarka hzarka@gmail.com
  37843. - Jérôme Vizcaino jerome.vizcaino@gmail.com
  37844. - Mike Tesch mjt6129@rit.edu
  37845. - Marvin Watson marvwatson@users.noreply.github.com
  37846. - Danny Tsai danny8376@gmail.com
  37847. - Yoni Jah yonjah+git@gmail.com yonjah+github@gmail.com
  37848. - Stephen Harris github@spuddy.org sweharris@users.noreply.github.com
  37849. - Ihor Dvoretskyi ihor.dvoretskyi@gmail.com
  37850. - Jon Craton jncraton@gmail.com
  37851. - Hraban Luyat hraban@0brg.net
  37852. - Michael Ledin mledin89@gmail.com
  37853. - Martin Kristensen me@azgul.com
  37854. - Too Much IO toomuchio@users.noreply.github.com
  37855. - Anisse Astier anisse@astier.eu
  37856. - Zahiar Ahmed zahiar@live.com
  37857. - Igor Kharin igorkharin@gmail.com
  37858. - Bill Zissimopoulos billziss@navimatics.com
  37859. - Bob Potter bobby.potter@gmail.com
  37860. - Steven Lu tacticalazn@gmail.com
  37861. - Sjur Fredriksen sjurtf@ifi.uio.no
  37862. - Ruwbin hubus12345@gmail.com
  37863. - Fabian Möller fabianm88@gmail.com f.moeller@nynex.de
  37864. - Edward Q. Bridges github@eqbridges.com
  37865. - Vasiliy Tolstov v.tolstov@selfip.ru
  37866. - Harshavardhana harsha@minio.io
  37867. - sainaen sainaen@gmail.com
  37868. - gdm85 gdm85@users.noreply.github.com
  37869. - Yaroslav Halchenko debian@onerussian.com
  37870. - John Papandriopoulos jpap@users.noreply.github.com
  37871. - Zhiming Wang zmwangx@gmail.com
  37872. - Andy Pilate cubox@cubox.me
  37873. - Oliver Heyme olihey@googlemail.com olihey@users.noreply.github.com
  37874. de8olihe@lego.com
  37875. - wuyu wuyu@yunify.com
  37876. - Andrei Dragomir adragomi@adobe.com
  37877. - Christian Brüggemann mail@cbruegg.com
  37878. - Alex McGrath Kraak amkdude@gmail.com
  37879. - bpicode bjoern.pirnay@googlemail.com
  37880. - Daniel Jagszent daniel@jagszent.de
  37881. - Josiah White thegenius2009@gmail.com
  37882. - Ishuah Kariuki kariuki@ishuah.com ishuah91@gmail.com
  37883. - Jan Varho jan@varho.org
  37884. - Girish Ramakrishnan girish@cloudron.io
  37885. - LingMan LingMan@users.noreply.github.com
  37886. - Jacob McNamee jacobmcnamee@gmail.com
  37887. - jersou jertux@gmail.com
  37888. - thierry thierry@substantiel.fr
  37889. - Simon Leinen simon.leinen@gmail.com ubuntu@s3-test.novalocal
  37890. - Dan Dascalescu ddascalescu+github@gmail.com
  37891. - Jason Rose jason@jro.io
  37892. - Andrew Starr-Bochicchio a.starr.b@gmail.com
  37893. - John Leach john@johnleach.co.uk
  37894. - Corban Raun craun@instructure.com
  37895. - Pierre Carlson mpcarl@us.ibm.com
  37896. - Ernest Borowski er.borowski@gmail.com
  37897. - Remus Bunduc remus.bunduc@gmail.com
  37898. - Iakov Davydov iakov.davydov@unil.ch dav05.gith@myths.ru
  37899. - Jakub Tasiemski tasiemski@gmail.com
  37900. - David Minor dminor@saymedia.com
  37901. - Tim Cooijmans cooijmans.tim@gmail.com
  37902. - Laurence liuxy6@gmail.com
  37903. - Giovanni Pizzi gio.piz@gmail.com
  37904. - Filip Bartodziej filipbartodziej@gmail.com
  37905. - Jon Fautley jon@dead.li
  37906. - lewapm 32110057+lewapm@users.noreply.github.com
  37907. - Yassine Imounachen yassine256@gmail.com
  37908. - Chris Redekop chris-redekop@users.noreply.github.com
  37909. chris.redekop@gmail.com
  37910. - Jon Fautley jon@adenoid.appstal.co.uk
  37911. - Will Gunn WillGunn@users.noreply.github.com
  37912. - Lucas Bremgartner lucas@bremis.ch
  37913. - Jody Frankowski jody.frankowski@gmail.com
  37914. - Andreas Roussos arouss1980@gmail.com
  37915. - nbuchanan nbuchanan@utah.gov
  37916. - Durval Menezes rclone@durval.com
  37917. - Victor vb-github@viblo.se
  37918. - Mateusz pabian.mateusz@gmail.com
  37919. - Daniel Loader spicypixel@gmail.com
  37920. - David0rk davidork@gmail.com
  37921. - Alexander Neumann alexander@bumpern.de
  37922. - Giri Badanahatti gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local
  37923. - Leo R. Lundgren leo@finalresort.org
  37924. - wolfv wolfv6@users.noreply.github.com
  37925. - Dave Pedu dave@davepedu.com
  37926. - Stefan Lindblom lindblom@spotify.com
  37927. - seuffert oliver@seuffert.biz
  37928. - gbadanahatti 37121690+gbadanahatti@users.noreply.github.com
  37929. - Keith Goldfarb barkofdelight@gmail.com
  37930. - Steve Kriss steve@heptio.com
  37931. - Chih-Hsuan Yen yan12125@gmail.com
  37932. - Alexander Neumann fd0@users.noreply.github.com
  37933. - Matt Holt mholt@users.noreply.github.com
  37934. - Eri Bastos bastos.eri@gmail.com
  37935. - Michael P. Dubner pywebmail@list.ru
  37936. - Antoine GIRARD sapk@users.noreply.github.com
  37937. - Mateusz Piotrowski mpp302@gmail.com
  37938. - Animosity022 animosity22@users.noreply.github.com
  37939. earl.texter@gmail.com
  37940. - Peter Baumgartner pete@lincolnloop.com
  37941. - Craig Rachel craig@craigrachel.com
  37942. - Michael G. Noll miguno@users.noreply.github.com
  37943. - hensur me@hensur.de
  37944. - Oliver Heyme de8olihe@lego.com
  37945. - Richard Yang richard@yenforyang.com
  37946. - Piotr Oleszczyk piotr.oleszczyk@gmail.com
  37947. - Rodrigo rodarima@gmail.com
  37948. - NoLooseEnds NoLooseEnds@users.noreply.github.com
  37949. - Jakub Karlicek jakub@karlicek.me
  37950. - John Clayton john@codemonkeylabs.com
  37951. - Kasper Byrdal Nielsen byrdal76@gmail.com
  37952. - Benjamin Joseph Dag bjdag1234@users.noreply.github.com
  37953. - themylogin themylogin@gmail.com
  37954. - Onno Zweers onno.zweers@surfsara.nl
  37955. - Jasper Lievisse Adriaanse jasper@humppa.nl
  37956. - sandeepkru sandeep.ummadi@gmail.com
  37957. sandeepkru@users.noreply.github.com
  37958. - HerrH atomtigerzoo@users.noreply.github.com
  37959. - Andrew 4030760+sparkyman215@users.noreply.github.com
  37960. - dan smith XX1011@gmail.com
  37961. - Oleg Kovalov iamolegkovalov@gmail.com
  37962. - Ruben Vandamme github-com-00ff86@vandamme.email
  37963. - Cnly minecnly@gmail.com
  37964. - Andres Alvarez 1671935+kir4h@users.noreply.github.com
  37965. - reddi1 xreddi@gmail.com
  37966. - Matt Tucker matthewtckr@gmail.com
  37967. - Sebastian Bünger buengese@gmail.com buengese@protonmail.com
  37968. - Martin Polden mpolden@mpolden.no
  37969. - Alex Chen Cnly@users.noreply.github.com
  37970. - Denis deniskovpen@gmail.com
  37971. - bsteiss 35940619+bsteiss@users.noreply.github.com
  37972. - Cédric Connes cedric.connes@gmail.com
  37973. - Dr. Tobias Quathamer toddy15@users.noreply.github.com
  37974. - dcpu 42736967+dcpu@users.noreply.github.com
  37975. - Sheldon Rupp me@shel.io
  37976. - albertony 12441419+albertony@users.noreply.github.com
  37977. - cron410 cron410@gmail.com
  37978. - Anagh Kumar Baranwal 6824881+darthShadow@users.noreply.github.com
  37979. - Felix Brucker felix@felixbrucker.com
  37980. - Santiago Rodríguez scollazo@users.noreply.github.com
  37981. - Craig Miskell craig.miskell@fluxfederation.com
  37982. - Antoine GIRARD sapk@sapk.fr
  37983. - Joanna Marek joanna.marek@u2i.com
  37984. - frenos frenos@users.noreply.github.com
  37985. - ssaqua ssaqua@users.noreply.github.com
  37986. - xnaas me@xnaas.info
  37987. - Frantisek Fuka fuka@fuxoft.cz
  37988. - Paul Kohout pauljkohout@yahoo.com
  37989. - dcpu 43330287+dcpu@users.noreply.github.com
  37990. - jackyzy823 jackyzy823@gmail.com
  37991. - David Haguenauer ml@kurokatta.org
  37992. - teresy hi.teresy@gmail.com
  37993. - buergi patbuergi@gmx.de
  37994. - Florian Gamboeck mail@floga.de
  37995. - Ralf Hemberger 10364191+rhemberger@users.noreply.github.com
  37996. - Scott Edlund sedlund@users.noreply.github.com
  37997. - Erik Swanson erik@retailnext.net
  37998. - Jake Coggiano jake@stripe.com
  37999. - brused27 brused27@noemailaddress
  38000. - Peter Kaminski kaminski@istori.com
  38001. - Henry Ptasinski henry@logout.com
  38002. - Alexander kharkovalexander@gmail.com
  38003. - Garry McNulty garrmcnu@gmail.com
  38004. - Mathieu Carbou mathieu.carbou@gmail.com
  38005. - Mark Otway mark@otway.com
  38006. - William Cocker 37018962+WilliamCocker@users.noreply.github.com
  38007. - François Leurent 131.js@cloudyks.org
  38008. - Arkadius Stefanski arkste@gmail.com
  38009. - Jay dev@jaygoel.com
  38010. - andrea rota a@xelera.eu
  38011. - nicolov nicolov@users.noreply.github.com
  38012. - Matt Joiner anacrolix@gmail.com
  38013. - Dario Guzik dario@guzik.com.ar
  38014. - qip qip@users.noreply.github.com
  38015. - yair@unicorn yair@unicorn
  38016. - Matt Robinson brimstone@the.narro.ws
  38017. - kayrus kay.diam@gmail.com
  38018. - Rémy Léone remy.leone@gmail.com
  38019. - Wojciech Smigielski wojciech.hieronim.smigielski@gmail.com
  38020. - weetmuts oehrstroem@gmail.com
  38021. - Jonathan vanillajonathan@users.noreply.github.com
  38022. - James Carpenter orbsmiv@users.noreply.github.com
  38023. - Vince vince0villamora@gmail.com
  38024. - Nestar47 47841759+Nestar47@users.noreply.github.com
  38025. - Six brbsix@gmail.com
  38026. - Alexandru Bumbacea alexandru.bumbacea@booking.com
  38027. - calisro robert.calistri@gmail.com
  38028. - Dr.Rx david.rey@nventive.com
  38029. - marcintustin marcintustin@users.noreply.github.com
  38030. - jaKa Močnik jaka@koofr.net
  38031. - Fionera fionera@fionera.de
  38032. - Dan Walters dan@walters.io
  38033. - Danil Semelenov sgtpep@users.noreply.github.com
  38034. - xopez 28950736+xopez@users.noreply.github.com
  38035. - Ben Boeckel mathstuf@gmail.com
  38036. - Manu manu@snapdragon.cc
  38037. - Kyle E. Mitchell kyle@kemitchell.com
  38038. - Gary Kim gary@garykim.dev
  38039. - Jon jonathn@github.com
  38040. - Jeff Quinn jeffrey.quinn@bluevoyant.com
  38041. - Peter Berbec peter@berbec.com
  38042. - didil 1284255+didil@users.noreply.github.com
  38043. - id01 gaviniboom@gmail.com
  38044. - Robert Marko robimarko@gmail.com
  38045. - Philip Harvey 32467456+pharveybattelle@users.noreply.github.com
  38046. - JorisE JorisE@users.noreply.github.com
  38047. - garry415 garry.415@gmail.com
  38048. - forgems forgems@gmail.com
  38049. - Florian Apolloner florian@apolloner.eu
  38050. - Aleksandar Janković office@ajankovic.com
  38051. ajankovic@users.noreply.github.com
  38052. - Maran maran@protonmail.com
  38053. - nguyenhuuluan434 nguyenhuuluan434@gmail.com
  38054. - Laura Hausmann zotan@zotan.pw laura@hausmann.dev
  38055. - yparitcher y@paritcher.com
  38056. - AbelThar abela.tharen@gmail.com
  38057. - Matti Niemenmaa matti.niemenmaa+git@iki.fi
  38058. - Russell Davis russelldavis@users.noreply.github.com
  38059. - Yi FU yi.fu@tink.se
  38060. - Paul Millar paul.millar@desy.de
  38061. - justinalin justinalin@qnap.com
  38062. - EliEron subanimehd@gmail.com
  38063. - justina777 chiahuei.lin@gmail.com
  38064. - Chaitanya Bankanhal bchaitanya15@gmail.com
  38065. - Michał Matczuk michal@scylladb.com
  38066. - Macavirus macavirus@zoho.com
  38067. - Abhinav Sharma abhi18av@outlook.com
  38068. - ginvine 34869051+ginvine@users.noreply.github.com
  38069. - Patrick Wang mail6543210@yahoo.com.tw
  38070. - Cenk Alti cenkalti@gmail.com
  38071. - Andreas Chlupka andy@chlupka.com
  38072. - Alfonso Montero amontero@tinet.org
  38073. - Ivan Andreev ivandeex@gmail.com
  38074. - David Baumgold david@davidbaumgold.com
  38075. - Lars Lehtonen lars.lehtonen@gmail.com
  38076. - Matei David matei.david@gmail.com
  38077. - David david.bramwell@endemolshine.com
  38078. - Anthony Rusdi 33247310+antrusd@users.noreply.github.com
  38079. - Richard Patel me@terorie.dev
  38080. - 庄天翼 zty0826@gmail.com
  38081. - SwitchJS dev@switchjs.com
  38082. - Raphael PowershellNinja@users.noreply.github.com
  38083. - Sezal Agrawal sezalagrawal@gmail.com
  38084. - Tyler TylerNakamura@users.noreply.github.com
  38085. - Brett Dutro brett.dutro@gmail.com
  38086. - Vighnesh SK booterror99@gmail.com
  38087. - Arijit Biswas dibbyo456@gmail.com
  38088. - Michele Caci michele.caci@gmail.com
  38089. - AlexandrBoltris ua2fgb@gmail.com
  38090. - Bryce Larson blarson@saltstack.com
  38091. - Carlos Ferreyra crypticmind@gmail.com
  38092. - Saksham Khanna sakshamkhanna@outlook.com
  38093. - dausruddin 5763466+dausruddin@users.noreply.github.com
  38094. - zero-24 zero-24@users.noreply.github.com
  38095. - Xiaoxing Ye ye@xiaoxing.us
  38096. - Barry Muldrey barry@muldrey.net
  38097. - Sebastian Brandt sebastian.brandt@friday.de
  38098. - Marco Molteni marco.molteni@mailbox.org
  38099. - Ankur Gupta 7876747+ankur0493@users.noreply.github.com
  38100. - Maciej Zimnoch maciej@scylladb.com
  38101. - anuar45 serdaliyev.anuar@gmail.com
  38102. - Fernando ferferga@users.noreply.github.com
  38103. - David Cole david.cole@sohonet.com
  38104. - Wei He git@weispot.com
  38105. - Outvi V 19144373+outloudvi@users.noreply.github.com
  38106. - Thomas Kriechbaumer thomas@kriechbaumer.name
  38107. - Tennix tennix@users.noreply.github.com
  38108. - Ole Schütt ole@schuett.name
  38109. - Kuang-che Wu kcwu@csie.org
  38110. - Thomas Eales wingsuit@users.noreply.github.com
  38111. - Paul Tinsley paul.tinsley@vitalsource.com
  38112. - Felix Hungenberg git@shiftgeist.com
  38113. - Benjamin Richter github@dev.telepath.de
  38114. - landall cst_zf@qq.com
  38115. - thestigma thestigma@gmail.com
  38116. - jtagcat 38327267+jtagcat@users.noreply.github.com
  38117. - Damon Permezel permezel@me.com
  38118. - boosh boosh@users.noreply.github.com
  38119. - unbelauscht 58393353+unbelauscht@users.noreply.github.com
  38120. - Motonori IWAMURO vmi@nifty.com
  38121. - Benjapol Worakan benwrk@live.com
  38122. - Dave Koston dave.koston@stackpath.com
  38123. - Durval Menezes DurvalMenezes@users.noreply.github.com
  38124. - Tim Gallant me@timgallant.us
  38125. - Frederick Zhang frederick888@tsundere.moe
  38126. - valery1707 valery1707@gmail.com
  38127. - Yves G theYinYeti@yalis.fr
  38128. - Shing Kit Chan chanshingkit@gmail.com
  38129. - Franklyn Tackitt franklyn@tackitt.net
  38130. - Robert-André Mauchin zebob.m@gmail.com
  38131. - evileye 48332831+ibiruai@users.noreply.github.com
  38132. - Joachim Brandon LeBlanc brandon@leblanc.codes
  38133. - Patryk Jakuszew patryk.jakuszew@gmail.com
  38134. - fishbullet shindu666@gmail.com
  38135. - greatroar <@>
  38136. - Bernd Schoolmann mail@quexten.com
  38137. - Elan Ruusamäe glen@pld-linux.org
  38138. - Max Sum max@lolyculture.com
  38139. - Mark Spieth mspieth@users.noreply.github.com
  38140. - harry me@harry.plus
  38141. - Samantha McVey samantham@posteo.net
  38142. - Jack Anderson jack.anderson@metaswitch.com
  38143. - Michael G draget@speciesm.net
  38144. - Brandon Philips brandon@ifup.org
  38145. - Daven dooven@users.noreply.github.com
  38146. - Martin Stone martin@d7415.co.uk
  38147. - David Bramwell 13053834+dbramwell@users.noreply.github.com
  38148. - Sunil Patra snl_su@live.com
  38149. - Adam Stroud adam.stroud@gmail.com
  38150. - Kush kushsharma@users.noreply.github.com
  38151. - Matan Rosenberg matan129@gmail.com
  38152. - gitch1 63495046+gitch1@users.noreply.github.com
  38153. - ElonH elonhhuang@gmail.com
  38154. - Fred fred@creativeprojects.tech
  38155. - Sébastien Gross renard@users.noreply.github.com
  38156. - Maxime Suret 11944422+msuret@users.noreply.github.com
  38157. - Caleb Case caleb@storj.io calebcase@gmail.com
  38158. - Ben Zenker imbenzenker@gmail.com
  38159. - Martin Michlmayr tbm@cyrius.com
  38160. - Brandon McNama bmcnama@pagerduty.com
  38161. - Daniel Slyman github@skylayer.eu
  38162. - Alex Guerrero guerrero@users.noreply.github.com
  38163. - Matteo Pietro Dazzi matteopietro.dazzi@gft.com
  38164. - edwardxml 56691903+edwardxml@users.noreply.github.com
  38165. - Roman Kredentser shareed2k@gmail.com
  38166. - Kamil Trzciński ayufan@ayufan.eu
  38167. - Zac Rubin z-0@users.noreply.github.com
  38168. - Vincent Feltz psycho@feltzv.fr
  38169. - Heiko Bornholdt bornholdt@informatik.uni-hamburg.de
  38170. - Matteo Pietro Dazzi matteopietro.dazzi@gmail.com
  38171. - jtagcat gitlab@c7.ee
  38172. - Petri Salminen petri@salminen.dev
  38173. - Tim Burke tim.burke@gmail.com
  38174. - Kai Lüke kai@kinvolk.io
  38175. - Garrett Squire github@garrettsquire.com
  38176. - Evan Harris eharris@puremagic.com
  38177. - Kevin keyam@microsoft.com
  38178. - Morten Linderud morten@linderud.pw
  38179. - Dmitry Ustalov dmitry.ustalov@gmail.com
  38180. - Jack 196648+jdeng@users.noreply.github.com
  38181. - kcris cristian.tarsoaga@gmail.com
  38182. - tyhuber1 68970760+tyhuber1@users.noreply.github.com
  38183. - David Ibarra david.ibarra@realty.com
  38184. - Tim Gallant tim@lilt.com
  38185. - Kaloyan Raev kaloyan@storj.io
  38186. - Jay McEntire jay.mcentire@gmail.com
  38187. - Leo Luan leoluan@us.ibm.com
  38188. - aus 549081+aus@users.noreply.github.com
  38189. - Aaron Gokaslan agokaslan@fb.com
  38190. - Egor Margineanu egmar@users.noreply.github.com
  38191. - Lucas Kanashiro lucas.kanashiro@canonical.com
  38192. - WarpedPixel WarpedPixel@users.noreply.github.com
  38193. - Sam Edwards sam@samedwards.ca
  38194. - wjielai gouki0123@gmail.com
  38195. - Muffin King jinxz_k@live.com
  38196. - Christopher Stewart 6573710+1f47a@users.noreply.github.com
  38197. - Russell Cattelan cattelan@digitalelves.com
  38198. - gyutw 30371241+gyutw@users.noreply.github.com
  38199. - Hekmon edouardhur@gmail.com
  38200. - LaSombra lasombra@users.noreply.github.com
  38201. - Dov Murik dov.murik@gmail.com
  38202. - Ameer Dawood ameer1234567890@gmail.com
  38203. - Dan Hipschman dan.hipschman@opendoor.com
  38204. - Josh Soref jsoref@users.noreply.github.com
  38205. - David david@staron.nl
  38206. - Ingo ingo@hoffmann.cx
  38207. - Adam Plánský adamplansky@users.noreply.github.com
  38208. adamplansky@gmail.com
  38209. - Manish Gupta manishgupta.ait@gmail.com
  38210. - Deepak Sah sah.sslpu@gmail.com
  38211. - Marcin Zelent marcin@zelent.net
  38212. - zhucan zhucan.k8s@gmail.com
  38213. - James Lim james.lim@samsara.com
  38214. - Laurens Janssen BD69BM@insim.biz
  38215. - Bob Bagwill bobbagwill@gmail.com
  38216. - Nathan Collins colli372@msu.edu
  38217. - lostheli
  38218. - kelv kelvin@acks.org
  38219. - Milly milly.ca@gmail.com
  38220. - gtorelly gtorelly@gmail.com
  38221. - Brad Ackerman brad@facefault.org
  38222. - Mitsuo Heijo mitsuo.heijo@gmail.com
  38223. - Claudio Bantaloukas rockdreamer@gmail.com
  38224. - Benjamin Gustin gustin.ben@gmail.com
  38225. - Ingo Weiss ingo@redhat.com
  38226. - Kerry Su me@sshockwave.net
  38227. - Ilyess Bachiri ilyess.bachiri@sonder.com
  38228. - Yury Stankevich urykhy@gmail.com
  38229. - kice wslikerqs@gmail.com
  38230. - Denis Neuling denisneuling@gmail.com
  38231. - Janne Johansson icepic.dz@gmail.com
  38232. - Patrik Nordlén patriki@gmail.com
  38233. - CokeMine aptx4561@gmail.com
  38234. - Sơn Trần-Nguyễn github@sntran.com
  38235. - lluuaapp 266615+lluuaapp@users.noreply.github.com
  38236. - Zach Kipp kipp.zach@gmail.com
  38237. - Riccardo Iaconelli riccardo@kde.org
  38238. - Sakuragawa Misty gyc990326@gmail.com
  38239. - Nicolas Rueff nicolas@rueff.fr
  38240. - Pau Rodriguez-Estivill prodrigestivill@gmail.com
  38241. - Bob Pusateri BobPusateri@users.noreply.github.com
  38242. - Alex JOST 25005220+dimejo@users.noreply.github.com
  38243. - Alexey Tabakman samosad.ru@gmail.com
  38244. - David Sze sze.david@gmail.com
  38245. - cynthia kwok cynthia.m.kwok@gmail.com
  38246. - Miron Veryanskiy MironVeryanskiy@gmail.com
  38247. - K265 k.265@qq.com
  38248. - Vesnyx Vesnyx@users.noreply.github.com
  38249. - Dmitry Chepurovskiy me@dm3ch.net
  38250. - Rauno Ots rauno.ots@cgi.com
  38251. - Georg Neugschwandtner georg.neugschwandtner@gmx.net
  38252. - pvalls polvallsrue@gmail.com
  38253. - Robert Thomas 31854736+wolveix@users.noreply.github.com
  38254. - Romeo Kienzler romeo.kienzler@gmail.com
  38255. - tYYGH tYYGH@users.noreply.github.com
  38256. - georne 77802995+georne@users.noreply.github.com
  38257. - Maxwell Calman mcalman@MacBook-Pro.local
  38258. - Naveen Honest Raj naveendurai19@gmail.com
  38259. - Lucas Messenger lmesseng@cisco.com
  38260. - Manish Kumar krmanish260@gmail.com
  38261. - x0b x0bdev@gmail.com
  38262. - CERN through the CS3MESH4EOSC Project
  38263. - Nick Gaya nicholasgaya+github@gmail.com
  38264. - Ashok Gelal 401055+ashokgelal@users.noreply.github.com
  38265. - Dominik Mydlil dominik.mydlil@outlook.com
  38266. - Nazar Mishturak nazarmx@gmail.com
  38267. - Ansh Mittal iamAnshMittal@gmail.com
  38268. - noabody noabody@yahoo.com
  38269. - OleFrost 82263101+olefrost@users.noreply.github.com
  38270. - Kenny Parsons kennyparsons93@gmail.com
  38271. - Jeffrey Tolar tolar.jeffrey@gmail.com
  38272. - jtagcat git-514635f7@jtag.cat
  38273. - Tatsuya Noyori
  38274. 63089076+public-tatsuya-noyori@users.noreply.github.com
  38275. - lewisxy lewisxy@users.noreply.github.com
  38276. - Nolan Woods nolan_w@sfu.ca
  38277. - Gautam Kumar 25435568+gautamajay52@users.noreply.github.com
  38278. - Chris Macklin chris.macklin@10xgenomics.com
  38279. - Antoon Prins antoon.prins@surfsara.nl
  38280. - Alexey Ivanov rbtz@dropbox.com
  38281. - Serge Pouliquen sp31415@free.fr
  38282. - acsfer carlos@reendex.com
  38283. - Tom tom@tom-fitzhenry.me.uk
  38284. - Tyson Moore tyson@tyson.me
  38285. - database64128 free122448@hotmail.com
  38286. - Chris Lu chrislusf@users.noreply.github.com
  38287. - Reid Buzby reid@rethink.software
  38288. - darrenrhs darrenrhs@gmail.com
  38289. - Florian Penzkofer fp@nullptr.de
  38290. - Xuanchen Wu 117010292@link.cuhk.edu.cn
  38291. - partev petrosyan@gmail.com
  38292. - Dmitry Sitnikov fo2@inbox.ru
  38293. - Haochen Tong i@hexchain.org
  38294. - Michael Hanselmann public@hansmi.ch
  38295. - Chuan Zh zhchuan7@gmail.com
  38296. - Antoine GIRARD antoine.girard@sapk.fr
  38297. - Justin Winokur (Jwink3101) Jwink3101@users.noreply.github.com
  38298. - Mariano Absatz (git) scm@baby.com.ar
  38299. - Greg Sadetsky lepetitg@gmail.com
  38300. - yedamo logindaveye@gmail.com
  38301. - hota lindwurm.q@gmail.com
  38302. - vinibali vinibali1@gmail.com
  38303. - Ken Enrique Morel ken.morel.santana@gmail.com
  38304. - Justin Hellings justin.hellings@gmail.com
  38305. - Parth Shukla pparth@pparth.net
  38306. - wzl wangzl31@outlook.com
  38307. - HNGamingUK connor@earnshawhome.co.uk
  38308. - Jonta 359397+Jonta@users.noreply.github.com
  38309. - YenForYang YenForYang@users.noreply.github.com
  38310. - Joda Stößer stoesser@yay-digital.de services+github@simjo.st
  38311. - Logeshwaran waranlogesh@gmail.com
  38312. - Rajat Goel rajat@dropbox.com
  38313. - r0kk3rz r0kk3rz@gmail.com
  38314. - Matthew Sevey mjsevey@gmail.com
  38315. - Filip Rysavy fil@siasky.net
  38316. - Ian Levesque ian@ianlevesque.org
  38317. - Thomas Stachl thomas@stachl.me
  38318. - Dmitry Bogatov git#v1@kaction.cc
  38319. - thomae 4493560+thomae@users.noreply.github.com
  38320. - trevyn trevyn-git@protonmail.com
  38321. - David Liu david.yx.liu@oracle.com
  38322. - Chris Nelson stuff@cjnaz.com
  38323. - Felix Bünemann felix.buenemann@gmail.com
  38324. - Atílio Antônio atiliodadalto@hotmail.com
  38325. - Roberto Ricci ricci@disroot.org
  38326. - Carlo Mion mion00@gmail.com
  38327. - Chris Lu chris.lu@gmail.com
  38328. - Vitor Arruda vitor.pimenta.arruda@gmail.com
  38329. - bbabich bbabich@datamossa.com
  38330. - David dp.davide.palma@gmail.com
  38331. - Borna Butkovic borna@favicode.net
  38332. - Fredric Arklid fredric.arklid@consid.se
  38333. - Andy Jackson Andrew.Jackson@bl.uk
  38334. - Sinan Tan i@tinytangent.com
  38335. - deinferno 14363193+deinferno@users.noreply.github.com
  38336. - rsapkf rsapkfff@pm.me
  38337. - Will Holtz wholtz@gmail.com
  38338. - GGG KILLER gggkiller2@gmail.com
  38339. - Logeshwaran Murugesan logeshwaran@testpress.in
  38340. - Lu Wang coolwanglu@gmail.com
  38341. - Bumsu Hyeon ksitht@gmail.com
  38342. - Shmz Ozggrn 98463324+ShmzOzggrn@users.noreply.github.com
  38343. - Kim kim@jotta.no
  38344. - Niels van de Weem n.van.de.weem@smile.nl
  38345. - Koopa codingkoopa@gmail.com
  38346. - Yunhai Luo yunhai-luo@hotmail.com
  38347. - Charlie Jiang w@chariri.moe
  38348. - Alain Nussbaumer alain.nussbaumer@alleluia.ch
  38349. - Vanessasaurus 814322+vsoch@users.noreply.github.com
  38350. - Isaac Levy isaac.r.levy@gmail.com
  38351. - Gourav T workflowautomation@protonmail.com
  38352. - Paulo Martins paulo.pontes.m@gmail.com
  38353. - viveknathani viveknathani2402@gmail.com
  38354. - Eng Zer Jun engzerjun@gmail.com
  38355. - Abhiraj abhiraj.official15@gmail.com
  38356. - Márton Elek elek@apache.org elek@users.noreply.github.com
  38357. - Vincent Murphy vdm@vdm.ie
  38358. - ctrl-q 34975747+ctrl-q@users.noreply.github.com
  38359. - Nil Alexandrov nalexand@akamai.com
  38360. - GuoXingbin 101376330+guoxingbin@users.noreply.github.com
  38361. - Berkan Teber berkan@berkanteber.com
  38362. - Tobias Klauser tklauser@distanz.ch
  38363. - KARBOWSKI Piotr piotr.karbowski@gmail.com
  38364. - GH geeklihui@foxmail.com
  38365. - rafma0 int.main@gmail.com
  38366. - Adrien Rey-Jarthon jobs@adrienjarthon.com
  38367. - Nick Gooding 73336146+nickgooding@users.noreply.github.com
  38368. - Leroy van Logchem lr.vanlogchem@gmail.com
  38369. - Zsolt Ero zsolt.ero@gmail.com
  38370. - Lesmiscore nao20010128@gmail.com
  38371. - ehsantdy ehsan.tadayon@arvancloud.com ehsantadayon85@gmail.com
  38372. - SwazRGB 65694696+swazrgb@users.noreply.github.com
  38373. - Mateusz Puczyński mati6095@gmail.com
  38374. - Michael C Tiernan - MIT-Research Computing Project mtiernan@mit.edu
  38375. - Kaspian 34658474+KaspianDev@users.noreply.github.com
  38376. - Werner EvilOlaf@users.noreply.github.com
  38377. - Hugal31 hugo.laloge@gmail.com
  38378. - Christian Galo 36752715+cgalo5758@users.noreply.github.com
  38379. - Erik van Velzen erik@evanv.nl
  38380. - Derek Battams derek@battams.ca
  38381. - Paul devnoname120@gmail.com
  38382. - SimonLiu simonliu009@users.noreply.github.com
  38383. - Hugo Laloge hla@lescompanions.com
  38384. - Mr-Kanister 68117355+Mr-Kanister@users.noreply.github.com
  38385. - Rob Pickerill r.pickerill@gmail.com
  38386. - Andrey to.merge@gmail.com
  38387. - Eric Wolf 19wolf@gmail.com
  38388. - Nick nick.naumann@mailbox.tu-dresden.de
  38389. - Jason Zheng jszheng17@gmail.com
  38390. - Matthew Vernon mvernon@wikimedia.org
  38391. - Noah Hsu i@nn.ci
  38392. - m00594701 mengpengbo@huawei.com
  38393. - Art M. Gallagher artmg50@gmail.com
  38394. - Sven Gerber 49589423+svengerber@users.noreply.github.com
  38395. - CrossR r.cross@lancaster.ac.uk
  38396. - Maciej Radzikowski maciej@radzikowski.com.pl
  38397. - Scott Grimes scott.grimes@spaciq.com
  38398. - Phil Shackleton 71221528+philshacks@users.noreply.github.com
  38399. - eNV25 env252525@gmail.com
  38400. - Caleb inventor96@users.noreply.github.com
  38401. - J-P Treen jp@wraptious.com
  38402. - Martin Czygan 53705+miku@users.noreply.github.com
  38403. - buda sandrojijavadze@protonmail.com
  38404. - mirekphd 36706320+mirekphd@users.noreply.github.com
  38405. - vyloy vyloy@qq.com
  38406. - Anthrazz 25553648+Anthrazz@users.noreply.github.com
  38407. - zzr93 34027824+zzr93@users.noreply.github.com
  38408. - Paul Norman penorman@mac.com
  38409. - Lorenzo Maiorfi maiorfi@gmail.com
  38410. - Claudio Maradonna penguyman@stronzi.org
  38411. - Ovidiu Victor Tatar ovi.tatar@googlemail.com
  38412. - Evan Spensley epspensley@gmail.com
  38413. - Yen Hu 61753151+0x59656e@users.noreply.github.com
  38414. - Steve Kowalik steven@wedontsleep.org
  38415. - Jordi Gonzalez Muñoz jordigonzm@gmail.com
  38416. - Joram Schrijver i@joram.io
  38417. - Mark Trolley marktrolley@gmail.com
  38418. - João Henrique Franco joaohenrique.franco@gmail.com
  38419. - anonion aman207@users.noreply.github.com
  38420. - Ryan Morey 4590343+rmorey@users.noreply.github.com
  38421. - Simon Bos simonbos9@gmail.com
  38422. - YFdyh000 yfdyh000@gmail.com * Josh Soref
  38423. 2119212+jsoref@users.noreply.github.com
  38424. - Øyvind Heddeland Instefjord instefjord@outlook.com
  38425. - Dmitry Deniskin 110819396+ddeniskin@users.noreply.github.com
  38426. - Alexander Knorr 106825+opexxx@users.noreply.github.com
  38427. - Richard Bateman richard@batemansr.us
  38428. - Dimitri Papadopoulos Orfanos
  38429. 3234522+DimitriPapadopoulos@users.noreply.github.com
  38430. - Lorenzo Milesi lorenzo.milesi@yetopen.com
  38431. - Isaac Aymerich isaac.aymerich@gmail.com
  38432. - YanceyChiew 35898533+YanceyChiew@users.noreply.github.com
  38433. - Manoj Ghosh msays2000@gmail.com
  38434. - Bachue Zhou bachue.shu@gmail.com
  38435. - Manoj Ghosh manoj.ghosh@oracle.com
  38436. - Tom Mombourquette tom@devnode.com
  38437. - Robert Newson rnewson@apache.org
  38438. - Samuel Johnson esamueljohnson@gmail.com
  38439. - coultonluke luke@luke.org.uk
  38440. - Anthony Pessy anthony@cogniteev.com
  38441. - Philip Harvey pharvey@battelleecology.org
  38442. - dgouju dgouju@users.noreply.github.com
  38443. - Clément Notin clement.notin@gmail.com
  38444. - x3-apptech 66947598+x3-apptech@users.noreply.github.com
  38445. - Arnie97 arnie97@gmail.com
  38446. - Roel Arents 2691308+roelarents@users.noreply.github.com
  38447. - Aaron Gokaslan aaronGokaslan@gmail.com
  38448. - techknowlogick matti@mdranta.net
  38449. - rkettelerij richard@mindloops.nl
  38450. - Kamui fin-kamui@pm.me
  38451. - asdffdsazqqq 90116442+asdffdsazqqq@users.noreply.github.com
  38452. - Nathaniel Wesley Filardo nfilardo@microsoft.com
  38453. - ycdtosa ycdtosa@users.noreply.github.com
  38454. - Erik Agterdenbos agterdenbos@users.noreply.github.com
  38455. - Kevin Verstaen 48050031+kverstae@users.noreply.github.com
  38456. - MohammadReza mrvashian@gmail.com
  38457. - vanplus 60313789+vanplus@users.noreply.github.com
  38458. - Jack 16779171+jkpe@users.noreply.github.com
  38459. - Abdullah Saglam abdullah.saglam@stonebranch.com
  38460. - Marks Polakovs github@markspolakovs.me
  38461. - piyushgarg piyushgarg80@gmail.com
  38462. - Kaloyan Raev kaloyan-raev@users.noreply.github.com
  38463. - IMTheNachoMan imthenachoman@gmail.com
  38464. - alankrit alankrit@google.com
  38465. - Bryan Kaplan <#@bryankaplan.com>
  38466. - LXY 767763591@qq.com
  38467. - Simmon Li (he/him) li.simmon@gmail.com
  38468. - happyxhw 44490504+happyxhw@users.noreply.github.com
  38469. - Simmon Li (he/him) hello@crespire.dev
  38470. - Matthias Baur baurmatt@users.noreply.github.com
  38471. - Hunter Wittenborn hunter@hunterwittenborn.com
  38472. - logopk peter@kreuser.name
  38473. - Gerard Bosch 30733556+gerardbosch@users.noreply.github.com
  38474. - ToBeFree github@tfrei.de
  38475. - NodudeWasTaken 75137537+NodudeWasTaken@users.noreply.github.com
  38476. - Peter Brunner peter@lugoues.net
  38477. - Ninh Pham dongian.rapclubkhtn@gmail.com
  38478. - Ryan Caezar Itang sitiom@proton.me
  38479. - Peter Brunner peter@psykhe.com
  38480. - Leandro Sacchet leandro.sacchet@animati.com.br
  38481. - dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  38482. - cycneuramus 56681631+cycneuramus@users.noreply.github.com
  38483. - Arnavion me@arnavion.dev
  38484. - Christopher Merry christopher.merry@mlb.com
  38485. - Thibault Coupin thibault.coupin@gmail.com
  38486. - Richard Tweed RichardoC@users.noreply.github.com
  38487. - Zach Kipp Zacho2@users.noreply.github.com
  38488. - yuudi 26199752+yuudi@users.noreply.github.com
  38489. - NickIAm NickIAm@users.noreply.github.com
  38490. - Juang, Yi-Lin frankyjuang@gmail.com
  38491. - jumbi77 jumbi77@users.noreply.github.com
  38492. - Aditya Basu ab.aditya.basu@gmail.com
  38493. - ed s@ocv.me
  38494. - Drew Parsons dparsons@emerall.com
  38495. - Joel joelnb@users.noreply.github.com
  38496. - wiserain mail275@gmail.com
  38497. - Roel Arents roel.arents@kadaster.nl
  38498. - Shyim github@shyim.de
  38499. - Rintze Zelle 78232505+rzelle-lallemand@users.noreply.github.com
  38500. - Damo damoclark@users.noreply.github.com
  38501. - WeidiDeng weidi_deng@icloud.com
  38502. - Brian Starkey stark3y@gmail.com
  38503. - jladbrook jhladbrook@gmail.com
  38504. - Loren Gordon lorengordon@users.noreply.github.com
  38505. - dlitster davidlitster@gmail.com
  38506. - Tobias Gion tobias@gion.io
  38507. - Jānis Bebrītis janis.bebritis@wunder.io
  38508. - Adam K github.com@ak.tidy.email
  38509. - Andrei Smirnov smirnov.captain@gmail.com
  38510. - Janne Hellsten jjhellst@gmail.com
  38511. - cc 12904584+shvc@users.noreply.github.com
  38512. - Tareq Sharafy tareq.sha@gmail.com
  38513. - kapitainsky dariuszb@me.com
  38514. - douchen playgoobug@gmail.com
  38515. - Sam Lai 70988+slai@users.noreply.github.com
  38516. - URenko 18209292+URenko@users.noreply.github.com
  38517. - Stanislav Gromov kullfar@gmail.com
  38518. - Paulo Schreiner paulo.schreiner@delivion.de
  38519. - Mariusz Suchodolski mariusz@suchodol.ski
  38520. - danielkrajnik dan94kra@gmail.com
  38521. - Peter Fern github@0xc0dedbad.com
  38522. - zzq i@zhangzqs.cn
  38523. - mac-15 usman.ilamdin@phpstudios.com
  38524. Contact the rclone project
  38525. Forum
  38526. Forum for questions and general discussion:
  38527. - https://forum.rclone.org
  38528. GitHub repository
  38529. The project's repository is located at:
  38530. - https://github.com/rclone/rclone
  38531. There you can file bug reports or contribute with pull requests.
  38532. Twitter
  38533. You can also follow me on twitter for rclone announcements:
  38534. - [@njcw](https://twitter.com/njcw)
  38535. Email
  38536. Or if all else fails or you want to ask something private or
  38537. confidential email Nick Craig-Wood. Please don't email me requests for
  38538. help - those are better directed to the forum. Thanks!