Kweli nqaku, ndiya kuzama ukuchaza inyathelo ngenyathelo inkqubo yokufaka iseva yovavanyo yeprojekthi emangalisayo
Injongo yenqaku kukukhuthaza oogxa ukuba bayeke ukulawula izixhobo zothungelwano besebenzisa iirakhi ezoyikekayo kunye neentonga, ngohlobo lwemibhalo ebhaliweyo, Dude, Ansible, njl njl. izikwere.
0. Ukukhetha
Kutheni ii-freeacs kwaye hayi i-genie-acs ekhankanywe kuyo
Ngenxa yokuba ngokwe-genie-acs kunye ne-mikrotik kukho iimpapasho zabaseSpain. Nazi ke
1. Faka ii-freeacs
Siza kuyifaka kwi-Centos7, kwaye ekubeni izixhobo zihambisa idatha eninzi, kwaye i-ACS isebenza ngokukhutheleyo kunye nedathabheyisi, asiyi kubawela izixhobo. Ngomsebenzi otofotofo, siya kwabela ii-cores ezi-2 ze-CPU, i-4GB ye-RAM kunye ne-16GB yokugcina i-ssd raid10 ekhawulezayo. Ndiza kufaka ii-freeacs kwi-container ye-Proxmox VE lxc, kwaye unokusebenza nakwesiphi na isixhobo esikulungeleyo.
Qiniseka ukuba useta ixesha elichanekileyo kumatshini wakho we-ACS.
Inkqubo iya kuba luvavanyo, ngoko asiyi kwahlula iinwele kwaye sisebenzise nje iskripthi sokufakela esibonelelwe ngobubele njengoko sinjalo.
wget https://raw.githubusercontent.com/freeacs/freeacs/master/scripts/install_centos.sh
chmod +x install_centos.sh
./ install_centos.sh
Nje ukuba iskripthi sigqitywe, ungangena kwangoko kujongano lwewebhu nge-IP yomatshini, kunye ne-admin / freeacs iziqinisekiso.
Olu lujongano oluhle oluncinci, kwaye ipholile kwaye ikhawuleza kangakanani yonke into
2. Ukusekwa kokuqala kwee-freeacs
Iyunithi yolawulo olusisiseko lwe-ACS yiyunithi okanye i-CPE (iZixhobo zeNdawo yoMthengi). Kwaye eyona nto ibalulekileyo esiyidingayo ukulawula iiyunithi ludidi lwazo lweYunithi, okt. imodeli yesixhobo esichaza iseti yeeparamitha ezilungisekayo zeyunithi kunye nesoftware yayo. Kodwa ngelixa singayazi indlela yokwenza ngokufanelekileyo uhlobo olutsha lweYunithi, kuya kuba kuhle ukubuza iyunithi ngokwayo ngayo ngokuvula iNdlela yokuFumana.
Le mowudi ayinakusetyenziswa ngokupheleleyo kwimveliso, kodwa kufuneka siqale injini ngokukhawuleza kwaye sibone izakhono zenkqubo. Zonke iisetingi ezisisiseko zigcinwa kwi/opt/freeacs-*. Ngoko ke, sivula
vi /opt/freeacs-tr069/config/application-config.conf
, sifumana
discovery.mode = false
kwaye utshintshe ku
discovery.mode = true
Ukongeza, singathanda ukunyusa ubungakanani beefayile eziphezulu eziya kuthi nginx kunye ne-mysql zisebenze. Kwi-mysql, yongeza umgca ku /etc/my.cnf
max_allowed_packet=32M
, kunye ne nginx, yongeza kwi /etc/nginx/nginx.conf
client_max_body_size 32m;
kwicandelo le http. Ngaphandle koko, siya kukwazi ukusebenza kunye ne-firmware engaphezulu kwe-1M.
Siqalisa kwakhona, kwaye sikulungele ukusebenza kunye nezixhobo.
Kwaye kwindima yesixhobo (CPE) siya kuba nomntwana osebenza nzima
Phambi kokwenza uqhagamshelo lovavanyo, kuyacetyiswa ukuba uqwalasele ngesandla iCPE kuqwalaselo olusebenzayo oluncinci ukuze iiparamitha ofuna ukuziqwalasela kwixesha elizayo zingabi nanto. Kwirutha, ubuncinci onokuthi ubenze kukuvumela umxhasi we-dhcp kwi-ether1, faka iphakheji ye-tr-069client kwaye usete amagama ayimfihlo.
3. Qhagamshela iMikrotik
Kuyacetyiswa ukudibanisa zonke iiyunithi usebenzisa inombolo esebenzayo yothotho njengegama lokungena. Emva koko yonke into iya kucaca kuwe kwiilogi. Umntu ucebisa usebenzisa i-WAN MAC - musa ukukholelwa. Ukuba umntu usebenzisa ipere yokungena/yokupasa eqhelekileyo kumntu wonke, ziphephe.
Vula ilog tr-069 ukujonga "uthethwano"
tail -f /var/log/freeacs-tr069/tr069-conversation.log
Vula i-winbox, into yemenyu TR-069.
ACS URL: http://10.110.0.109/tr069/prov
(tshintsha nge IP yakho)
Igama lomsebenzisi: 9249094C26CB (kopisha inombolo yesiriyali kwi-system>routerboard)
Igama lokugqithisa: 123456 (ayifunekiyo ukufunyanwa, kodwa iyafuneka)
Asilitshintshi ixesha lolwazi lwePeriodic. Siza kukhupha olu seto nge-ACS yethu
Apha ngezantsi kukho iisetingi zokuqalisa okude koqhagamshelo, kodwa andikwazanga ukufumana i-mikrotik ukusebenza nale nto. Nangona isicelo esikude sisebenza ngaphandle kwebhokisi ngeefowuni. Kuya kufuneka siyiqonde.
Emva kokuchofoza iqhosha le-Apply, idatha iya kutshintshwa kwi-terminal, kwaye kwi-interface ye-Freeacs yewebhu uya kukwazi ukubona i-router yethu ngeCandelo leYunithi elenziwe ngokuzenzekelayo "hAPaclite".
I-router ixhunyiwe. Ungajonga kwiYunithi eyenziwe ngokuzenzekelayo. Ukuvula Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite
. Yintoni engekhoyo! Kangangeeparamitha ezingama-928 (ndajonga kwiqokobhe). Nokuba kuninzi okanye kuncinci, siza kuyifumana kamva, kodwa okwangoku siza kujonga ngokukhawuleza. Oku koko kuthetha ukuba uhlobo lweyunithi. Olu luhlu lweparameters ezixhaswayo ngezitshixo kodwa akukho maxabiso. Amaxabiso abekwe kumanqanaba angezantsi - Iiprofayili kunye neeYunithi.
4. Qwalasela iMikrotik
Lixesha lokukhuphela
Kwaye thina ngokwethu, kwi-interface yewebhu, nqakraza kwipensile ecaleni kweyunithi yethu kwaye siye kwimowudi yoqwalaselo lweyunithi. Ijongeka ngolu hlobo:
Makhe sijonge ngokufutshane oko kunomdla kweli phepha:
Ibhloko yoqwalaselo lweyunithi
- Inkangeleko yesimo: Le yiprofayile ngaphakathi koHlobo lweYunithi. I-hierarchy inje:
UnitType > Profile > Unit
. Oko kukuthi, sinokwenza, umzekelo, iiprofayilihAPaclite > hotspot
ΠΈhAPaclite > branch
, kodwa ngaphakathi kwimodeli yesixhobo
Ibhloko yokubonelela ngamaqhosha
Iingcebiso zesixhobo zicebisa ukuba onke amaqhosha akwibhloko yoBonelelo anokusebenzisa uqwalaselo ngoko nangoko ngokusebenzisa ConnectionRequestURL. Kodwa, njengoko benditshilo ngasentla, oku akusebenzi, ke emva kokucofa amaqhosha kuya kufuneka uqalise kwakhona umxhasi we-tr-069 kwi-mikrotik ukuqala unikezelo ngesandla.
- I-Freq/Spread: Mangaphi amaxesha ngeveki ukuhambisa uqwalaselo Β±% ukunciphisa umthwalo kumncedisi kunye namajelo onxibelelwano. Ngokungagqibekanga yi-7/20, okt. yonke imihla Β± 20% kunye nengcebiso ukuba kunjani ngemizuzwana. Akukho sizathu sokutshintsha ukuhanjiswa rhoqo okwangoku, kuba... kuya kubakho ingxolo eyongezelelweyo kwiilog kwaye izicwangciso aziyi kuhlala zisetyenziswa njengoko kulindelekile
Ubonelelo ngebhloko yembali (iiyure zokugqibela ezingama-48)
- Ngenkangeleko, ibali lifana nje nebali, kodwa ngokunqakraza kwisihloko usiwa kwisixhobo sokukhangela sesiseko sesiseko esifanelekileyo, kunye ne-regexp kunye nezinto ezilungileyo.
Ibhlokhi yeeparamitha
Ibhloko enkulu kunye neyona nto ibalulekileyo, apho, ngokwenene, iiparitha zeyunithi enikeziweyo zisetyenzisiwe kwaye zifundwe. Ngoku sibona kuphela iiparameters zenkqubo ebalulekileyo, ngaphandle kokuba i-ACS isebenza kunye neyunithi ayinakwenzeka. Kodwa siyakhumbula ukuba kuHlobo lweYunithi yethu sinazo- 928. Makhe sijonge zonke iintsingiselo kwaye senze isigqibo sokuba wonke umntu udla ntoni kunye neMikrotik.
4.1 Ukufunda iiparamitha
Kwibhloko yoBonelelo, cofa iqhosha elithi Funda konke. Kukho umbhalo obomvu kwibhloko. Ikholamu iya kuvela ekunene CPE (yangoku) ixabiso. Kwiparameters zesistim, i-ProvisioningMode itshintshele kwi-READALL.
Kwaye... akukho nto iyakwenzeka ngaphandle komyalezo okwi-System.X_FREEACS-COM.IM.Message Kick failed at...
.
Qala kwakhona umxhasi we-TR-069 okanye uqalise kwakhona i-router, kwaye uqhubeke nokuhlaziya iphepha lomkhangeli de ufumane iiparamitha ngasekunene kumaxande angwevu achwayitileyo.
Ukuba nabani na ufuna ukusela iwayini endala, le mowudi ichazwe kwincwadana njenge 10.2 Imowudi yokuhlola. Iyajika kwaye isebenze ngokwahlukileyo kancinci, kodwa undoqo uchazwa kakuhle
Imowudi ye-READALL iya kuzicima emva kwemizuzu eyi-15, kwaye siya kuzama ukufumanisa oko kuluncedo apha, kwaye yintoni enokulungiswa "kwi-fly" ngelixa sikule ndlela.
Unokutshintsha iidilesi ze-IP, uvule / ukhubaze i-interfaces, imithetho ye-firewall, enezimvo (ngaphandle koko i-mess epheleleyo), i-Wi-Fi, njalo njalo.
Oko kukuthi, akukafaneli ukuqwalasela i-mikrotik kuphela usebenzisa i-TR-069. Kodwa ungayijonga kakuhle. Amanani onxibelelwano kunye nobume bawo, imemori yasimahla, njl njl.
4.2 Ukuhanjiswa kweeparamitha
Ngoku makhe sizame ukuhambisa iiparameters kwi-router, nge-tr-069, ngendlela "yendalo". Ixhoba lokuqala liya kuba yiDevice.DeviceInfo.X_MIKROTIK_SystemIdentity. Siyifumana kwiiparameters ze All unit. Njengoko ubona, ayichazwanga. Oku kuthetha ukuba nayiphi na iyunithi ngokwayo nasiphi na isazisi. Kwanele ukunyamezela oku!
Cofa ibhokisi yokukhangela kwikholamu yokudala, seta igama elithi Mr.White kwaye nqakraza i Hlaziya iiparamitha iqhosha. Sele uqikelele ukuba kuya kwenzeka ntoni ngokulandelayo. Ngethuba leseshoni yonxibelelwano elandelayo kunye nekomkhulu, i-router kufuneka itshintshe i-Identity yayo.
Kodwa oku akwanelanga kuthi. Iparamitha efana ne-Identity ilungile ukuba isoloko ikhona xa ukhangela iyunithi efunekayo. Cofa kwigama lepharamitha kwaye ujonge iDisplay(D) kunye neZiphendlekayo (S) iibhokisi zokukhangela. Isitshixo separameter sitshintshela kwi-RWSD (Khumbula, amagama kunye nezitshixo zisetwe kwinqanaba eliphezulu loHlobo lweYunithi)
Ixabiso ngoku aliboniswanga kuphela kuluhlu lophendlo jikelele, kodwa likwafumaneka kuphendlo kulo Support > Search > Advanced form
Siqala ukubonelela kwaye sijonge kwi-Identity. Molo Mr.White! Ngoku awuzukwazi ukutshintsha isazisi sakho ngelixa i-tr-069client isebenza
4.3 Ukusetyenziswa kweencwadi zeempendulo
Ekubeni sifumene ukuba asinakuphila ngaphandle kwazo, masiziphumeze.
Kodwa ngaphambi kokuba siqale ukusebenza ngeefayile, kufuneka silungise umyalelo public.url
kwifayile /opt/freeacs-tr069/config/application-config.conf
Sisenoqwalaselo lovavanyo olufakwe ngescript esinye. Ngaba ulibele?
# --- Public url (used for download f. ex.) ---
public.url = "http://10.110.0.109"
public.url: ${?PUBLIC_URL}
Siqalisa kwakhona i-ACS kwaye siqonde ngqo Files & Scripts
.
Kodwa into esivulela yona ngoku yodidi lweYunithi, okt. kwihlabathi jikelele kuzo zonke iirutha ze-hAP ac lite, nokuba yi-router yesebe, i-hotspot okanye i-capsman. Asiyidingi inqanaba eliphezulu kangaka, ngoko ngaphambi kokuba sisebenze ngezikripthi kunye neefayile, kufuneka senze iprofayili. Ungabiza oku "umsebenzi" wesixhobo.
Masenze umntwana wethu abe ngumncedisi wexesha. Isikhundla esihloniphekileyo kunye nephakheji yesofthiwe eyahlukileyo kunye nenani elincinci leeparamitha. Masiye ku Easy Provisioning > Profile > Create Profile
kwaye wenze iprofayile kwiYunithi yoHlobo: hAPaclite umncedisi wexesha. Sasingenazo iiparamitha kwiprofayile engagqibekanga, ke akukho nto inokukopa Khuphela iiparamitha ku: βmusa ukukopa...β
Azikho iiparamitha apha okwangoku, kodwa kuyakwenzeka ukuseta ezo siza kufuna ukuzibona kamva kwiiseva zethu zexesha, zidityaniswe kunye ukusuka kwi-hAPaclite. Umzekelo, iidilesi jikelele zeeseva ze-NTP.
Masiyeni kuqwalaselo lweyunithi kwaye siyise kwiprofayile yomncedisi wexesha
Ekugqibeleni siya Files & Scripts
, yenza izikripthi, kwaye apha iibhanti ezifanelekileyo ngokumangalisayo zisilindile.
Ukuze siphumeze iskripthi kwiyunithi, kufuneka sikhethe Uhlobo:TR069_SCRIPT Π° igama ΠΈ Igama ekujoliswe kulo kufuneka ibenolwandiso .alter
Kwangaxeshanye, kwizikripthi, ngokungafaniyo nesoftware, unokukhuphela ifayile esele yenziwe okanye uyibhale ngokulula/ uyihlele ebaleni. Umxholo. Masizame ukuyibhala kanye apho.
Kwaye ukuze ukwazi ukubona ngoko nangoko isiphumo, masiyongeze i-vlan kwi-router kwi-ether1
/interface vlan
add interface=ether1 name=vlan1 vlan-id=1
Qhuba ungene, cofa Upload kwaye ugqibile. Iskripthi sethu vlan1.alter
ukulinda emaphikweni.
Kulungile, masihambe? Hayi. Kufuneka songeze iqela leprofayile yethu. Amaqela akaqukwanga kuluhlu lwezixhobo, kodwa ayafuneka ukukhangela iiyunithi kwi-UnitType okanye iProfayili kwaye ziyafuneka ukuze kuphunyezwe izikripthi ngoBonelelo oluPhezulu. Ngokuqhelekileyo, amaqela adityaniswa neendawo kwaye anesakhiwo esinendlwane. Masenze iqela laseRashiya.
Ngaba unokucinga ukuba sakwazi ukucutha ukukhangela ukusuka "Kuzo zonke iiseva zehlabathi kwi-hAPaclite" ukuya "kuzo zonke iiseva zexesha eRashiya kwi-hAPaclite". Kusekho uluhlu olukhulu lwezinto ezinomdla kunye namaqela, kodwa asinalo ixesha. Makhe siye kwizikripthi.
Advanced Provisioning > Job > Create Job
Ekubeni thina, emva kwayo yonke into, kwimodi ePhezulu, apha ungakhankanya iqela leemeko ezahlukeneyo zokuqalisa umsebenzi, ukuziphatha kwimeko yeempazamo, ukuphindaphinda kunye nokuphuma kwexesha. Ndincoma ukufunda konke oku kwiincwadana okanye ukuxubusha kamva xa ukuphumeza kwimveliso. Okwangoku, siza kubeka nje u-n1 kwimithetho ye-Stop ukuze umsebenzi uyeke ngokukhawuleza xa ugqityiwe kwiyunithi yethu yoku-1.
Sigcwalisa ulwazi oluyimfuneko, kwaye konke okuseleyo kukuyisungula!
Cinezela START kwaye ulinde. Ngoku ikhawuntari yezixhobo ezibulewe sisikripthi esingalungiswanga kakuhle iya kusebenza ngokukhawuleza! Akunjalongo noko. Imisebenzi enjalo ithatha ixesha elide, kwaye lo ngumahluko wabo kwizikripthi, i-Ansible, njl. Iiyunithi ngokwazo zenza izicelo zemisebenzi kwishedyuli okanye njengoko zivela kuthungelwano, i-ACS igcina umkhondo wokuba zeziphi iiyunithi esele ziyifumene imisebenzi, kwaye ziyigqibile njani, ize ikubhale phantsi oku kwiiyunithi zeeparamitha. Kukho iyunithi enye kwiqela lethu, kwaye ukuba bekukho i-1 kubo, umlawuli ebeza kusungula lo msebenzi ahambe ayokuloba.
Ima kancinci. Qalisa kwakhona i-router okanye uqalise kwakhona umxhasi we-TR-069. Yonke into kufuneka ihambe kakuhle kwaye uMnu.White uya kufumana i-vlan entsha. Kwaye umsebenzi wethu wokumisa umthetho uya kutshintshela kwimo ye-PAUSED. Oko kukuthi, isenokuphinda iqalwe ngokutsha okanye itshintshe. Ukuba ucofa FINISH, umsebenzi uya kugcinwa
4.4 Ukuhlaziya isoftware
Le ngongoma ebaluleke kakhulu, ekubeni i-firmware ye-Mikrotik iyimodyuli, kodwa ukongeza iimodyuli azitshintshi inguqu epheleleyo ye-firmware yesixhobo. I-ACS yethu iqhelekile kwaye ayisetyenziswanga kule nto.
Ngoku siya kuyenza ngesitayela esikhawulezayo nesimdaka kwaye sityhale imodyuli ye-NTP kwi-firmware ngokubanzi kwangoko, kodwa nje ukuba inguqulelo ihlaziywe kwisixhobo, asiyi kukwazi ukongeza enye imodyuli ngendlela efanayo.
Kwimveliso, kungcono ukungasebenzisi iqhinga elinjalo, kwaye ufake iimodyuli ezizikhethelayo zohlobo lweYunithi kuphela usebenzisa izikripthi.
Ke, into yokuqala ekufuneka siyenzile kukulungiselela iipakethe zesoftware yeenguqulelo ezifunekayo kunye nezakhiwo, kwaye uzibeke kwiseva yewebhu efikelelekayo. Ukuvavanya, nabani na onokuthi uMr.White afikelele kuyo uya kwenza uvavanyo, kodwa kwimveliso kungcono ukudibanisa isibuko sokuhlaziya ngokuzenzekelayo isofthiwe efunekayo, engoyikiyo ukubeka kwiwebhu.
Kubalulekile! Ungalibali ukuhlala ubandakanya iphakheji ye-tr-069client kuhlaziyo lwakho!
Njengoko kuvela, ubude bendlela eya kwiipakethi bubaluleke kakhulu! Xa ndizama ukusebenzisa into efana http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk
, i-mikrotik yawela kunxibelelwano lwe-cyclic kunye nesixhobo, ukuthumela ngokuphindaphindiweyo TRANSFERCOMPLETE kwi-tr-069 log. Kwaye ndachitha ezinye iiseli zemithambo-luvo ndizama ukufumanisa ukuba yintoni na undonakele. Ke ngoko, okwangoku masiyibeke ezingcanjini, side siyifumane
Ke kufuneka sibe neefayile ezintathu ze-npk ezifumaneka nge-http. Kwabanjena kum
http://192.168.0.241/routeros-mipsbe-6.45.6.npk
http://192.168.0.241/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk
http://192.168.0.241/routeros/stable/mipsbe/tr069-client-6.45.6-mipsbe.npk
Ngoku oku kufuneka kufomathwe kwifayile ye-xml eneFayileType = "I-Firmware Upgrade Image", esiya kuyondla kwiMikrotik. Igama malibe ngu-ros.xml
Senza ngokwemiyalelo evela
<upgrade version="1" type="links">
<config />
<links>
<link>
<url>http://192.168.0.241/routeros-mipsbe-6.45.6.npk</url>
</link>
<link>
<url>http://192.168.0.241/ntp-6.45.6-mipsbe.npk</url>
</link>
<link>
<url>http://192.168.0.241/tr069-client-6.45.6-mipsbe.npk</url>
</link>
</links>
</upgrade>
Kukho ukunqongophala okubonakalayo Username/Password
ukufikelela kwiseva yokukhuphela. Ungazama ukufaka oku kumhlathi A.3.2.8 weprotocol tr-069:
<link>
<url>http://192.168.0.237/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk</url>
<Username>user</Username>
<Password>pass</Password>
</link>
Okanye ubuze amagosa eMikrotik ngokuthe ngqo malunga nobude bendlela ephezulu ukuya *.npk
Masiye kwiindawo esizaziyo Files & Scripts
, kwaye wenze ifayile ye SOFTWARE apho nge igama:ros.xml, Igama ekujoliswe kulo:ros.xml kunye Version:6.45.6
Ingqalelo! Uguqulelo apha kufuneka lucaciswe ngokuthe ngqo kwifomathi eboniswe kuyo kwisixhobo kwaye idluliselwe kwiparameter System.X_FREEACS-COM.Device.SoftwareVersion
.
Khetha ifayile yethu ye-xm ukuze uyilayishe kwaye ugqibile.
Ngoku sineendlela ezininzi zokuhlaziya isixhobo. NgeWizard kwimenyu ephambili, ngoBonelelo oluPhezulu kunye nemisebenzi enohlobo lweSOFTWARE, okanye uye ngokulula kuqwalaselo lweyunithi kwaye ucofe uPhuculo. Masikhethe indlela elula, ngaphandle koko inqaku sele lidumbile.
Sicofa iqhosha, qalisa ulungiselelo kwaye ugqibile. Inkqubo yovavanyo igqityiwe. Ngoku sinokwenza okungakumbi nge-mikrotik.
5. Isiphelo
Xa ndiqala ukubhala, ndandifuna kuqala ukuchaza uxhulumaniso lwefowuni ye-IP, kwaye ndisebenzise umzekelo wayo ukuchaza indlela epholile ngayo xa i-tr-069 isebenza ngokulula kwaye ingenamsebenzi. Kodwa ke, njengoko ndiqhubela phambili kwaye ndimba kwizinto eziphathekayo, ndacinga ukuba abo badibanisa iMikrotik, akukho fowuni iya kuba yinto eyoyikisayo kwisifundo esizimeleyo.
Ngokomgaqo, i-Freeacs, esiyivavanyileyo, inokuthi isetyenziswe kwimveliso, kodwa ngenxa yale nto kufuneka uqwalasele ukhuseleko, i-SSL, kufuneka uqwalasele i-Mikrotik yoqwalaselo oluzenzekelayo emva kokusetha kwakhona, kufuneka ulungise ukongezwa okuchanekileyo kweCandelo leYunithi, Hlalutya umsebenzi weewebservices kunye neqokobhe le-fusion, kunye nokunye okuninzi. Zama, qamba, kwaye ubhale ulandelelwano!
Wonke umntu, enkosi ngengqalelo yakho! Ndiya kuvuya ukubona izilungiso kunye nezimvo!
Uluhlu lwezinto ezisetyenzisiweyo kunye namakhonkco aluncedo:
umthombo: www.habr.com