Khalad Python oo ku jira OpenVPN 3: hagaaji qalabka, ma aha Python-ka nidaamka
Traceback wuxuu magacaabaa turjumaanka socodsiiyay frontend-ka, ma aha adeegga leh tunnel-ka. Isbarbar dhig labada ka hor intaadan wax ku beddelin nidaamka oo dhan.
Traceback wuxuu muuqdaa marka amar maamulka VPN uu bilaabmo, oo dareenka ugu horreeya wuxuu u ordaa rakibidda Python kale ama u jeedinta caadiga nidaamka meel kale. Dareenkaas wuxuu isku daraa laba runtime oo aan waxba iskaga qabin. Mid waxaa leh nidaamka hawlgalka iyo qalabkiisa la xidhxidhay; kan kalena waxaa leh mashruuc kasta oo aad dhisayso. Beddelidda kan hore si kan dambe loo qanciyo waa sida desktop shaqeeya uu u lumiyo maamulaha xidhmadiisa.
Isbarbardhigga mudan in la sameeyo waa kan u dhexeeya qaybta dhab ahaan guuldaraysatay iyo runtime-ka aad xaq u leedahay inaad beddesho. Weligood isku shay ma aha.
Laba su'aalood oo Python oo u eg mid
Su'aasha koowaad: turjumaankee ayaa socodsiiyay barnaamijka daabacay traceback-ka? Tan labaad: turjumaankee ayay tahay in mashruucaygu isticmaalo? Terminalka labaduba isku mid bay u muuqdaan, sababtoo ah labadaba waxaa looga jawaabaa iyadoo la qorayo python3, waxayna leeyihiin milkiileyaal kala duwan, waddooyin casriyeyn kala duwan iyo cabbir saameyn kala duwan.
Qalabka nidaamku wuxuu ku xidhan yahay turjumaanka ay qaybsigaadu la timid, oo ay la socdaan moodullada la soo ururiyay oo loo dhisay ABI-ga turjumaankaas. Mashruucu wuxuu ku xidhan yahay deegaan kasta oo aad u abuurto. Beddelidda caadiga nidaamku waxay beddeshaa tan hore qalab kasta oo mashiinka ah isku mar; abuurista deegaan waxay beddeshaa tan dambe hal folder.
Mid keliya oo ka mid ah ficilladaas ayaa dib loo celin karaa hal daqiiqo gudahaheed. Ma aha tan koowaad.
Qaybtee ayaa soo saartay khaladka
Ka hor intaadan wax kale akhriyin, akhri safka koowaad ee traceback-ka iyo faylka fulinta ee soo saaray. Frontend-ka khadka amarka, adeegga mudnaanta leh iyo isku xidhka API waa qaybo gooni ah, oo qaar ka mid ah oo keliya ayaa Python ah.
command -v openvpn3
head -n 1 "$(command -v openvpn3)"
dpkg -S "$(command -v openvpn3)" 2>/dev/null
systemctl status openvpn3-service-client --no-pagerSafka koowaad ee script-ku wuxuu magacaabaa turjumaanka uu isticmaali doono, oo traceback-ku wuxuu ka yimid isla turjumaankaas. Weydiinta xidhmada waxay kuu sheegtaa yaa leh faylka, taas oo go'aamisa yaa loo fasaxay inuu beddelo. Xaaladda adeeggu waxay ka jawaabtaa su'aal gebi ahaan kale: in backend-ka mudnaanta leh ee dhab ahaan fura kalfadhiyada uu socdo.
Khalad soo-dejin moodul, diidmo firfircoonida D-Bus iyo aqoonsi la diiday waa saddex marxaladood oo kala duwan. Khaladka soo-dejintu wuxuu dhacaa ka hor inta aanay jirin wax kalfadhi ah, sidaas darteed VPN-habaynta inta ay le'egtahay ma hagaajinayso, adeeg shaqeeyana ma hagaajinayo. Ku dhex rididda fariinta mid ka mid ah saddexdaas marxaladood waa tallaabada koowaad ee dhabta ah.
Waxa deegaanka mashruucu qaban karo iyo waxa uu qaban karin
Deegaanka mashruucu wuxuu xalliyaa dhibaatada mashruuca: noocyada maktabadda saxda ah ee hal codsi u baahan yahay, oo ka go'an wax kasta oo kale. Taasi runtii waa faa'iido leh, waana qalabka saxda ah marka barnaamijka guuldaraysan uu yahay script adiga kuu leh.
uv run --python 3.11 app.py
python3 -c 'import openvpn3; print(openvpn3.__file__)'Amarka labaad wuxuu muujinayaa nuqulkee isku xidhka uu turjumaanye gaar ah arki karo, waana tan ugu dhaqso badan ee lagu kala garto xidhmo maqan iyo mid la hadhiyay. Ku socodsii turjumaanka script-ka guuldaraysan isticmaalo, ma aha mid kale oo si kadis ah u shaqeeya.
Waxa deegaanka mashruucu aanu qaban karin waa hagaajinta frontend-ka ay qaybsigaadu xidhay. Ku-tiirsanaanta barnaamijkaas waxaa loo dhisay turjumaanka maamulaha xidhmadu doortay, oo ku socodsinta deegaanka mashruucaaga waxay ama guuldaraysataa ama soo saartaa isku-dar aan cidna taageerin. Ku duridda waddooyin iyada oo la isticmaalayo doorsoome deegaan waa isla khaladkaas oo tallaabooyin dheeraad ah leh: waxaad beddeshay waxa qalabku soo rarto, laakiin ma aadan beddelin waxa laga horjeeday imtixaanka. Isdhaafsigaas wuxuu u eg yahay hagaajin ilaa inta soo-dejinta xigta la gaaro oo keliya.
Sababta beddelidda turjumaanka nidaamku ay tahay dabinku
Beddelidda turjumaanka caadiga ah waa soo jiidasho leh sababtoo ah waxay u muuqataa in hal amar ku hagaajinayso traceback-ka. Waxay sidoo kale jebisaa mala-awaalka qalab kasta oo Python ah oo xidhan oo host-ka ku salaysnaa, guuldarrooyinkuna waxay soo baxaan goor dambe iyo meelo aan xidhiidh la lahayn.
Hababka doorashada beddelka waxaa loo qaabeeyay in lagu kala wareego hirgelinno isle'eg, ma aha in lagu rakibo luqad cusub oo ka hooseysa moodullo hore oo la soo ururiyay. Baloogagga la soo ururiyay waxaa loo dhisaa ABI gaar ah, sidaas darteed moodul shalay la soo dejiyay maanta wuu ku guuldaraysan karaa inuu soo rarto iyada oo aan hal xidhmo la tirtirin.
Waxaa sidoo kale jira dabinka magaca ee talooyinka dadku helaan. Amarka python oo aan nooc lahayn ma laha hal macne caalami ah oo ka gudba qaybsiyo iyo deegaan, oo u qaadista isku-mid joogto ah oo nooc weyn gaar ah waxay soo saartaa hagaajinno ka shaqeeya oo keliya mashiinka lagu qoray. Akhri siyaasadda nidaamka hortaada yaal, ma aha tan ku jirta qoraalka blog-ka.
Imtixaanno aqbalaad oo goon ah
Dhammaadka waxaa ku habboon laba imtixaan, oo mid ka gudubtay waxba kama sheegto tan kale. Tan koowaad waa in amarka macmiilka la taageeray uu la shaqeeyo turjumaanka loo xidhay. Tan labaad waa in adeegga mudnaanta leh uu kalfadhi sameeyo oo tunnel-ku uu qaado taraafikada.
openvpn3 sessions-list
openvpn3-service-client --help 2>/dev/null | head -n 3
ip -4 addr show tun0Inta aad shaqaynayso hayso waddo madax-bannaan oo mashiinka laga galo, gaar ahaan haddii VPN-ku qaado marin-qaadkaaga maamul oo keliya. Beddelaad ku yimaadda turjumaanka nidaamku waa isla nooca tafatirka ee marinkaas badhkiisa kaga qaadi kara.
Haddii guuldaradu tahay moodul maqan oo loogu talagalay qalab nidaam, hagaajintu waa hawlgalka xidhmo iyada oo la marayo socodka shaqada la taageeray. Haddii guuldaradu tahay isku dhac nooc oo mashruucaaga ku jira, hagaajintu waa deegaan. Doorashada u dhexeysa labadaas waa go'aanka oo dhan, oo waxaa go'aamiya barnaamijkee daabacay traceback-ka.