Fatti:
A.
A.a. A._ (1981) e B._ (1975) si sono sposati nel 2007 in Kenya. A._ era già madre di C._, nata nel 1999 da una precedente relazione. Dal matrimonio sono poi nati D._ nel 2009 e E._ nel 2010. Nel 2008 la famiglia si è trasferita in Svizzera e dal febbraio 2010 ha vissuto nel Cantone Ticino, a X._. Nel 2013 B._ ha adottato C._. I coniugi si sono separati nel gennaio 2014. Il marito è educatore, mentre la moglie, priva di formazione specifica, non ha svolto attività lucrativa durante la comunione domestica, dedicandosi alla cura della casa e dei figli.
A.b. Con decisione 7 ottobre 2014, a protezione dell'unione coniugale, il Pretore aggiunto del Distretto di Bellinzona ha omologato un accordo che affidava i figli alla madre (riservato il diritto di visita paterno) e obbligava B._ a versare un contributo alimentare mensile per la moglie di fr. 1'500.-- e per D._ e E._ di fr. 800.-- mensili ciascuno.
A.c. Il 29 agosto 2016 A._ si è trasferita con i figli nel Canton Argovia.
Nel quadro della procedura di divorzio promossa in data 12 febbraio 2016 da B._, con decisione cautelare 20 febbraio 2017 il Pretore aggiunto ha soppresso il contributo alimentare mensile per la moglie e fissato quello per D._ in fr. 1'089.10 e quello per E._ in fr. 1'039.15 e, in seguito, con decisione cautelare 28 marzo 2018 (a conferma di un precedente decreto supercautelare 9 agosto 2017) ha affidato i figli al padre (riservato il diritto di visita materno) e soppresso il contributo alimentare dovuto ai figli.
Il 16 ottobre 2018 A._ si è trasferita nel Canton Soletta.
Con decisione 1° luglio 2019 il Pretore aggiunto ha pronunciato il divorzio e ha tra l'altro affidato i figli D._ e E._ al padre (con esercizio congiunto dell'autorità parentale e riservato il diritto di visita materno) e non ha riconosciuto alcun contributo alimentare per A._.
B.
Con sentenza 20 luglio 2020 la I Camera civile del Tribunale d'appello del Cantone Ticino ha respinto, nella misura della sua ricevibilità, l'appello interposto da A._ avverso la decisione pretorile 1° luglio 2019 e ha anche respinto l'istanza di gratuito patrocinio di quest'ultima.
C.
Con ricorso in materia civile 11 settembre 2020 A._ ha impugnato la sentenza cantonale dinanzi al Tribunale federale, chiedendo di riformare la sentenza di appello nel senso che i figli siano affidati alla madre, che B._ sia condannato al pagamento di un contributo alimentare di fr. 800.-- mensili per ciascun figlio (oltre agli assegni familiari e alle spese straordinarie in ragione del 50 %) e di fr. 1'000.-- mensili per l'ex moglie vita natural durante e che la sua istanza di gratuito patrocinio per la procedura di appello sia accolta. La ricorrente ha anche chiesto di essere posta al beneficio dell'assistenza giudiziaria per la sede federale.
Con scritto 16 dicembre 2020 la ricorrente si è nuovamente rivolta al Tribunale federale.
Non sono state chieste determinazioni, ma è stato richiamato l'incarto cantonale.

Diritto:
1.
1.1. Il tempestivo (art. 46 cpv. 1 lett. b e art. 100 cpv. 1 LTF) ricorso in materia civile, interposto dalla parte soccombente nella sede cantonale che ha un interesse degno di protezione alla modifica o all'annullamento della sentenza impugnata (art. 76 cpv. 1 lett. a e b LTF), è diretto contro una decisione finale (<ref-law>) emanata su ricorso dal tribunale ticinese di ultima istanza (art. 75 cpv. 1 e 2 LTF) in una causa civile (<ref-law>). Essendo controverso anche l'affidamento dei figli, il gravame è ricevibile indipendentemente dal valore litigioso. Il ricorso in materia civile si rivela quindi in linea di principio ammissibile.
1.2. Il Tribunale federale applica il diritto d'ufficio (<ref-law>). Nondimeno, tenuto conto dell'onere di allegazione e motivazione posto dall'art. 42 cpv. 1 e 2 LTF, la cui mancata ottemperanza conduce all'inammissibilità del gravame, il Tribunale federale esamina di regola solo le censure sollevate (<ref-ruling> consid. 2.4 con rinvii). Il ricorrente deve pertanto spiegare nei motivi del ricorso, in modo conciso e confrontandosi con i considerandi della sentenza impugnata, perché quest'ultima viola il diritto (<ref-ruling> consid. 1.2.2; <ref-ruling> consid. 2.4).
Per le violazioni di diritti fondamentali e di disposizioni di diritto cantonale e intercantonale le esigenze di motivazione sono più severe; il ricorrente deve indicare in modo chiaro e dettagliato i diritti che sono stati violati e spiegare in cosa consista la violazione (<ref-law>; <ref-ruling> consid. 1.2.2; <ref-ruling> consid. 2.4).
1.3. Il Tribunale federale fonda il suo ragionamento giuridico sull'accertamento dei fatti svolto dall'autorità inferiore (<ref-law>); può scostarsene o completarlo solo se è stato svolto in violazione del diritto ai sensi dell'<ref-law> o in modo manifestamente inesatto (<ref-law>). L'accertamento dei fatti contenuto nella sentenza impugnata può essere censurato alle stesse condizioni; occorre inoltre che l'eliminazione dell'asserito vizio possa influire in maniera determinante sull'esito della causa (<ref-law>). Se rimprovera all'autorità inferiore un accertamento dei fatti manifestamente inesatto - ossia arbitrario (<ref-ruling> consid. 2) - il ricorrente deve sollevare la censura e motivarla in modo preciso, come esige l'<ref-law>.
1.4. A meno che non ne dia motivo la decisione impugnata, il Tribunale federale non tiene conto di fatti o mezzi di prova nuovi (<ref-law>), i quali non possono in ogni caso essere posteriori al giudizio contestato (nova in senso proprio; <ref-ruling> consid. 1.2 con rinvii).
Con scritto 16 dicembre 2020 la ricorrente ha trasmesso tre documenti al Tribunale federale. Tali documenti (una comunicazione 7 dicembre 2020 del Sozialamt di Y._, una comunicazione 3 novembre 2020 concernente C._ e una risoluzione 21 agosto 2020 dell'Autorità regionale di protezione 2 sede di Mendrisio concernente D._ e E._) sono tuttavia posteriori alla sentenza qui impugnata e risultano pertanto di primo acchito irricevibili. Sull'ammissibilità dei documenti allegati al ricorso si dirà invece in seguito.
2.
In questa sede sono ancora litigiosi l'affidamento dei figli, le relazioni personali e il mantenimento in favore dei figli (infra consid. 3), nonché il mantenimento in favore dell'ex moglie (infra consid. 4) e la concessione del gratuito patrocinio per la procedura di appello (infra consid. 5).
3.
3.1. Il giudice del divorzio stabilisce i diritti e i doveri dei genitori secondo le disposizioni che reggono gli effetti della filiazione; il giudice disciplina, tra l'altro, la custodia, le relazioni personali e il contributo di mantenimento (art. 133 cpv. 1 n. 2, 3 e 4 CC).
L'autorità parentale congiunta, ormai la regola a prescindere dallo stato civile dei genitori (art. 296 cpv. 2, 298a cpv. 1, 298b cpv. 2 e 298d cpv. 1 CC; <ref-ruling> consid. 3; <ref-ruling> consid. 3.3), non implica necessariamente una custodia alternata (<ref-ruling> consid. 3.2.3; <ref-ruling> consid. 4.2). Il bene del figlio costituisce la regola fondamentale in materia di attribuzione della custodia, gli interessi dei genitori passano in secondo piano (<ref-ruling> consid. 3.2.3; <ref-ruling> consid. 4.2). Se il giudice giunge alla conclusione che una custodia alternata non è nell'interesse del figlio, deve determinare a quale dei due genitori affidare il minore, tenendo conto in particolare delle loro capacità educative, delle loro possibilità di occuparsene di persona, delle loro capacità di favorire i contatti tra il figlio e l'altro genitore, della stabilità dei rapporti (familiari e logistici) e, a seconda della sua età, del desiderio del figlio (<ref-ruling> consid. 3.2.4; <ref-ruling> consid. 4.4). Nell'esame di tali criteri, il giudice di merito, che conosce meglio le parti e l'ambiente nel quale vive il minore, dispone di un ampio potere di apprezzamento (<ref-ruling> consid. 3.2.5).
3.2. I Giudici cantonali hanno osservato che, seppur la capacità genitoriale può in concreto essere riconosciuta a entrambe le parti, dagli accertamenti del Pretore aggiunto, non contestati dalla qui ricorrente, emerge che la situazione logistica, lavorativa e finanziaria della madre non è chiara (ella non ha fornito alcuna indicazione sulla sua quotidianità o sull'attività professionale che parrebbe aver iniziato) e che ella ha preso decisioni improvvise e impreparate in merito alla residenza sua e dei figli (si è infatti trasferita nella Svizzera tedesca con i figli senza alcun preparativo, per poi decidere, viste le difficoltà riscontrate, di rientrare nel Cantone Ticino, tranne poi cambiare di nuovo idea, senza a quel punto però più disporre di un alloggio), ciò che denota un'incapacità di assicurare la necessaria stabilità ai minori. Secondo i Giudici cantonali, risulta invece che il padre, pur esercitando un'attività lucrativa all'80 %, abbia saputo organizzare la custodia dei figli, anche con l'ausilio di parenti e amici e di un centro di attività extrascolastiche (dove i figli pranzano e si fermano dopo la scuola). Per la Corte cantonale, la decisione pretorile di affidare i figli al padre corrisponde pertanto all'interesse dei minori, anche tenuto conto del fatto che possono così continuare a vivere nel Cantone dove sono cresciuti.
I Giudici cantonali hanno poi riconosciuto che la situazione economica della qui ricorrente potrebbe ostacolare l'esercizio del suo diritto di visita nel Cantone Ticino, ma ha rilevato che ella non aveva preteso che le misure adottate dal Pretore aggiunto al fine di appunto agevolare le relazioni personali fossero ancora insufficienti (il Giudice di prime cure aveva invitato la curatrice ad "accorpare più giorni [...], in modo di diminuire i viaggi da Y._", aveva previsto che lo scambio avvenisse a metà strada e aveva inserito nel fabbisogno minimo della madre un'indennità di fr. 100.-- mensili per l'esercizio del diritto di visita).
Alla luce della conferma dell'affidamento dei figli al padre, la Corte cantonale ha infine dichiarato caduca la richiesta di fissare un contributo alimentare per i figli a carico del qui opponente.
3.3. La ricorrente lamenta un arbitrario accertamento dei fatti e la violazione degli art. 273 e 276 CC.
3.3.1. A suo dire, la Corte cantonale non avrebbe tenuto conto del fatto che il suo trasferimento improvviso nella Svizzera tedesca presso una zia sarebbe stato causato dall'interruzione da parte dell'opponente del versamento (pattuito nell'accordo del 2014) dei contributi alimentari per la famiglia e dell'affitto della casa di X._, del fatto che l'opponente non si occuperebbe convenientemente e personalmente dei figli e del fatto che egli avrebbe nel frattempo abbandonato a sé stessa la figlia adottiva C._, ciò che dimostrerebbe la sua incapacità genitoriale. Secondo la ricorrente, inoltre, i Giudici cantonali avrebbero omesso di considerare che ella potrebbe occuparsi di persona dei figli, come avrebbe fatto sin dalla loro nascita, e che questi ultimi avrebbero del resto chiesto di poter essere affidati alla madre.
La censura di arbitrario accertamento dei fatti si fonda in larga misura su circostanze nuove (come il parere dei figli oppure l'attuale rapporto tra l'opponente e la figlia adottiva) e mezzi di prova nuovi (una dichiarazione 20 agosto 2020 della figlia C._, un rapporto 22 aprile 2020 della curatrice dei figli e un verbale di audizione 5 giugno 2020 dell'Autorità regionale di protezione 2 sede di Mendrisio, allegati al ricorso), inammissibili in questa sede siccome la condizione dell'<ref-law> non risulta adempiuta e la ricorrente stessa non pretende il contrario (v. supra consid. 1.4; la dichiarazione della figlia C._ è peraltro posteriore alla sentenza qui impugnata). Per il resto, la censura è generica, apoditticae priva di un confronto con gli argomenti sviluppati dai Giudici cantonali, che a loro volta avevano rimproverato alla ricorrente di non aver contestato gli accertamenti operati dal Pretore aggiunto che indicavano la sua incapacità di assicurare la necessaria stabilità ai minori. In tali condizioni, la ricorrente non riesce a dimostrare che, nell'esame del bene dei figli e nella risultante conferma del loro affidamento esclusivo al padre, la Corte cantonale avrebbe violato l'ampio potere di apprezzamento che le competeva in questo ambito (v. supra consid. 3.1). Nella misura in cui è ammissibile (<ref-law>; v. supra consid. 1.3), la censura di arbitrio risulta infondata.
3.3.2. La ricorrente lamenta poi la violazione dell'<ref-law>. Ritiene che l'affidamento dei figli al padre comporti per lei, di fatto, l'impossibilità di mantenere i contatti con loro, non disponendo di mezzi economici sufficienti per recarsi nel Cantone Ticino e rimanervi durante i fine settimana (l'importo di fr. 100.-- inserito nel suo fabbisogno minimo dal Pretore aggiunto per l'esercizio del diritto di visita non le sarebbe del resto mai stato messo a disposizione).
La critica ricorsuale è del tutto vaga e, anche in questa sede, la ricorrente non prende posizione sulle modalità adottate dal Pretore aggiunto al fine di facilitare il suo diritto di visita (quanto all'indennità mensile di fr. 100.-- che il giudice di prime cure ha inserito nel suo fabbisogno minimo, si tratta ovviamente di una spesa teorica che le è stata riconosciuta, e non di un aiuto messole a disposizione, come ella sembra aver frainteso). La censura, insufficientemente motivata sotto il profilo dell'<ref-law>, si appalesa inammissibile (v. supra consid. 1.2).
3.3.3. La ricorrente si duole anche della lesione dell'<ref-law>. Sostiene che i Giudici cantonali avrebbero dovuto esaminare le critiche contenute nel suo appello contro "il calcolo del Pretore per quanto riguarda il mantenimento di D._ e E._".
Ella, tuttavia, ancora una volta non si misura con l'argomento sviluppato dai Giudici cantonali, secondo cui, alla luce della conferma dell'affidamento esclusivo dei figli al padre, la richiesta di obbligare l'opponente al versamento di un contributo di mantenimento in denaro per i figli era ormai caduca (sul tema v. anche sentenza 5A_311/2019 dell'11 novembre 2020 consid. 5.5, destinato alla pubblicazione). La censura non soddisfa le esigenze di motivazione dell'<ref-law> e va ritenuta inammissibile (v. supra consid. 1.2).
4.
4.1. Se non si può ragionevolmente pretendere che un coniuge provveda da sé al proprio debito mantenimento, inclusa un'adeguata previdenza per la vecchiaia, l'altro coniuge gli deve un adeguato contributo di mantenimento (<ref-law>).
Per fissare il contributo di mantenimento di un coniuge la cui vita è stata concretamente influenzata dal matrimonio, occorre dapprima determinare il debito mantenimento, che si misura secondo l'ultimo tenore di vita sostenuto dai coniugi prima della separazione. Si applica il principio secondo il quale tale standard di vita deve essere mantenuto per entrambe le parti, laddove la loro situazione lo permetta; esso costituisce tuttavia anche il limite superiore del debito mantenimento. Se, a causa dell'aumento delle spese causato dalla doppia economica domestica, non è possibile conservare il livello di vita anteriore, il coniuge creditore ha diritto allo stesso tenore di vita dell'altro coniuge (<ref-ruling> consid. 3.1).
In seguito va esaminato in quale misura il coniuge creditore possa finanziare da sé il proprio mantenimento fissato come appena descritto. Il principio dell'autonomia ha infatti la priorità sul diritto al mantenimento, come si deduce direttamente dall'<ref-law> (<ref-ruling> consid. 3.1 con rinvii). Il giudice deve in linea di principio tenere conto del reddito effettivo del coniuge creditore. Può però imputargli un reddito ipotetico, a condizione che il conseguimento di tale reddito sia esigibile e possibile. Queste due condizioni devono essere cumulativamente soddisfatte. Il giudice non deve quindi solo determinare se si può esigere che il coniuge eserciti una determinata attività lucrativa o estenda il suo grado di occupazione, tenuto conto segnatamente della sua formazione, della sua età e del suo stato di salute (questione di diritto), ma deve anche verificare se il coniuge ha effettivamente la possibilità di esercitare tale attività e quale reddito può conseguire, tenuto conto delle circostanze già menzionate e della situazione sul mercato del lavoro (questione di fatto; <ref-ruling> consid. 3.2; <ref-ruling> consid. 4.2.2.2).
In terzo luogo, se per il coniuge creditore non è possibile finanziare il proprio mantenimento, rispettivamente non lo si possa ragionevolmente esigere da lui, e che pertanto l'altro coniuge sia tenuto a contribuirvi, va valutata la capacità contributiva di quest'ultimo e fissato l'adeguato contributo di mantenimento, fondato sul principio della solidarietà (<ref-ruling> consid. 3.1 con rinvii).
4.2. La Corte cantonale ha osservato che, nel caso concreto, il matrimonio ha palesemente influito sulla vita della qui ricorrente (dato che si è trasferita dal Kenya in Svizzera e che dall'unione sono nati due figli) e che quest'ultima non ha contestato di avere tuttalpiù diritto alla copertura del proprio fabbisogno minimo (fr. 2'720.-- mensili), considerato che al momento della separazione il solo reddito dell'opponente non bastava a coprire il fabbisogno familiare.
Secondo i Giudici cantonali, dalla ricorrente (che non risulta avere alcun impiego ed è a carico della pubblica assistenza) può essere esatto di finanziare da sé tale debito mantenimento: se al momento della separazione nel 2014 (quando aveva 33 anni) doveva ancora occuparsi dei figli di tre e quattro anni, dal 9 agosto 2017 è ormai sgravata dalla cura della prole e, malgrado l'assenza di formazione professionale specifica, potrebbe esercitare un'attività lucrativa perlomeno nel settore delle pulizie per un reddito (stimato dal Pretore e non contestato dalla ricorrente) di fr. 2'900.--- mensili netti, tenuto conto anche del fatto che dovrebbe ormai aver imparato almeno i rudimenti della lingua tedesca (per l'apprendimento della quale frequenta dei corsi dal 2016). La Corte cantonale ha poi rilevato che la ricorrente non ha fatto valere che la sua età o il suo stato di salute sarebbero di ostacolo all'esercizio di un'attività lucrativa e nemmeno che si sarebbe attivata per reperire un'occupazione, mentre non ha saputo dimostrare l'asserita mancanza di opportunità di lavoro, nella regione in cui abita, nel predetto settore delle pulizie (mancanza che peraltro non può dirsi notoria).
La Corte cantonale ne ha quindi concluso che, indipendentemente dalla capacità contributiva dell'opponente, la ricorrente non può da lui pretendere alcun contributo di mantenimento.
4.3. La ricorrente lamenta un arbitrario accertamento dei fatti e la lesione dell'<ref-law>. Sostiene che la Corte cantonale, nell'imputarle un reddito ipotetico mensile di fr. 2'900.-- " addirittura netti ", non avrebbe tenuto conto della ripartizione dei compiti durante il matrimonio, della sua età (39 anni al momento dell'inoltro del ricorso, " per cui la differenza " rispetto ai casi in cui il coniuge ha già 45 anni "è minima "), del fatto che è stata sgravata dalla cura della prole contro la sua volontà, della sua assenza di formazione professionale, del fatto che si trova a carico della pubblica assistenza, della sua mancanza di conoscenze della lingua tedesca, dei suoi sforzi per trovare un'attività remunerativa (come attesterebbe una dichiarazione 19 agosto 2020 del Sozialamt di Y._ allegata al ricorso) e della situazione precaria sul mercato del lavoro (dovuta anche all'epidemia di COVID-19). Considerato che il reddito dell'opponente è "più che sufficiente per il fabbisogno di tutta la famiglia", la ricorrente ritiene che i Giudici cantonali avrebbero dovuto obbligarlo a versarle un contributo alimentare.
La censura della ricorrente - che sembra fraintendere su più punti la prassi del Tribunale federale in merito all'esigibilità dell'esercizio di un'attività lucrativa da parte del coniuge creditore (v. sentenza 5A_907/2018 del 3 novembre 2020 consid. 3.4.4, destinato alla pubblicazione; sia peraltro rilevato che la prassi è stata recentemente modificata, con l'abbandono della "regola dei 45 anni", nella sentenza 5A_104/2018 del 2 febbraio 2021 consid. 5, destinato alla pubblicazione) - risulta del tutto insufficiente, sia in fatto sia in diritto, a invalidare la conclusione dei Giudici cantonali. La ricorrente, infatti, da un lato ripropone gli stessi argomenti già presentati in sede cantonale senza seriamente confrontarsi con i dettagliati e pertinenti considerandi mediante i quali l'autorità precedente li ha scartati, dall'altro si prevale di argomenti che i Giudici cantonali le hanno rimproverato di avere omesso (in special modo riguardo ai suoi sforzi nel trovare un impiego e alla situazione sul mercato di lavoro) fondandosi su fatti e mezzi di prova nuovi, inammissibili in questa sede in virtù dell'<ref-law> (v. supra consid. 1.4; la dichiarazione 19 agosto 2020 è peraltro posteriore alla sentenza impugnata). La censura non soddisfa le esigenze di motivazione degli art. 42 cpv. 2 e 106 cpv. 2 LTF e si appalesa pertanto inammissibile.
5.
Nelle sue proposte di giudizio la ricorrente chiede l'accoglimento della sua domanda di gratuito patrocinio per la procedura di appello. Ella omette tuttavia, nella motivazione del ricorso, di confrontarsi con l'argomento dei Giudici cantonali secondo cui il suo appello appariva senza probabilità di buon esito sin dall'inizio (v. <ref-law> [RS 272]). Privo di una qualsiasi motivazione, su questo punto il gravame si appalesa inammissibile (v. supra consid. 1.2; sentenza 5A_405/2011 del 27 settembre 2011 consid. 5.3, non pubblicato in <ref-ruling>).
6.
Da quanto precede discende che il ricorso, nella (ridotta) misura in cui è ammissibile, si rivela infondato e come tale va respinto.
La domanda della ricorrente di essere posta al beneficio dell'assistenza giudiziaria va respinta, dato che il ricorso non aveva fin dall'inizio probabilità di esito favorevole (<ref-law>). Le spese giudiziarie sono pertanto poste a suo carico (<ref-law>). Non si giustifica assegnare spese ripetibili all'opponente, atteso che non è stato invitato a pronunciarsi sul ricorso (art. 68 cpv. 1 e 2 LTF).

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
La domanda di assistenza giudiziaria della ricorrente è respinta.
3.
Le spese giudiziarie di fr. 2'000.-- sono poste a carico della ricorrente.
4.
Comunicazione ai patrocinatori delle parti e alla I Camera civile del Tribunale d'appello del Cantone Ticino.