Olùpèsè VPN nílò ìrànwọ́ aláṣẹ láti tún nẹ́tíwọ́kì ṣe, àti pé òtítọ́ yẹn ni a ń lò jù fún ohun gbogbo tí ó yí i ká. Script tí ó ń so pipin fáìlì kò nílò root, nítorí pé pipin náà jẹ́ ti ìpàdé olùṣàmúlò tí ó ti wọlé àti ti ẹ̀rí ìdánimọ̀ olùṣàmúlò yẹn. Yíyọ ìsopọ̀ kúrò nínú ipa aláṣẹ yọ àìní fún àwọn òfin sudo, àwọn kọ́kọ́rọ́ root àti àtúnṣe àwọn ohun èlò tí ó wà pẹ̀lú. Ohun tí ó kù ni applet kékeré tí ó ń dúró ṣí, tí ó ń ṣọ́ profaili kan tí ó sì ṣe ìgbìyànjú kan.

Ìdí tí èyí fi jẹ́ ti ìpàdé olùṣàmúlò

Ìwọ̀n tí a ti so jẹ́ ẹ̀yà ti ìpàdé tí ó so ó. Ìpàdé olùṣàmúlò mìíràn kò rí i, àti ìsopọ̀ tí root ni ó ní ìhùwàsí yàtọ̀ sí èyí tí Finder ṣe. Pípa ìsopọ̀ mọ́ nínú ìpàdé olùṣàmúlò ń pa ìtumọ̀ yẹn mọ́.

Àwọn olùrànlọ́wọ́ aláṣẹ wà fún àwọn ẹ̀yà tí wọ́n nílò wọn gan-an: ṣíṣe ojú-ọ̀nà tunnel, yíyí àwọn ipa padà, ìmúdójúìwọ̀n olùyẹ̀. Síso pipin SMB kì í ṣe ọ̀kan nínú àwọn ẹ̀yà yẹn. Bí a bá tọ́jú rẹ̀ bí ẹni pé ó jẹ́ bẹ́ẹ̀, ó fipá mú yíyàn láàrín sudo tí kò ní ọ̀rọ̀ aṣínà àti script root tí ó ń ṣiṣẹ́ nígbà tí kò sí ẹnikẹ́ni. Àwọn méjèèjì jẹ́ ewu tí ó tóbi ju bí ìṣòro náà ṣe dá ààyè fún lọ, àti ọ̀nà ìpàdé olùṣàmúlò yẹra fún yíyàn náà pátápátá.

Àwọn kọ́kọ́rọ́ ìsopọ̀ ti Tunnelblick fúnra rẹ̀ kì í ṣe àròpo níbí, níwọ̀n bí wọ́n ti ń ṣiṣẹ́ ní ìta ìpàdé desktop àti pé a kò ṣàlàyé ìtòlẹ́sẹẹsẹ wọn ní ìbámu pẹ̀lú àwọn script olùpèsè. Bíbéèrè ipò láti applet olùṣàmúlò jẹ́ ẹ̀rọ kékeré pẹ̀lú àwọn àrójinlẹ̀ tí ó kéré.

Kọ́kọ́ fi ọwọ́ ṣèrìí pé pipin náà ń ṣiṣẹ́

Ìṣàkóso aládàáṣiṣẹ́ kò lè pèsè ipa, ìyọ̀ǹda tàbí àkọsílẹ̀ tí kò sí. So VPN pọ̀ pẹ̀lú ọwọ́ kí o sì ṣí pipin náà nínú Finder kí o tó kọ script kankan. Bí ìyẹn bá kùnà, script náà yóò kùnà ní ọ̀nà tí ó túbọ̀ dàrú.

Kọ àwọn iye mẹ́ta tí script náà yóò lò sílẹ̀: orúkọ profaili gẹ́gẹ́ bí Tunnelblick ṣe kọ wọ́n, URL pipin náà àti orúkọ ìwọ̀n tí Finder fi hàn lẹ́yìn ìsopọ̀. Orúkọ ìwọ̀n ṣe pàtàkì nítorí pé àyẹ̀wò ìsopọ̀ tí ó wà tẹ́lẹ̀ ń lò ó, àti àyẹ̀wò tí ó dá lórí orúkọ nìkan jẹ́ ààbò ìrọ̀rùn, kì í ṣe ẹ̀rí ìdánimọ̀ olùpèsè. Lo orúkọ tí ó yàtọ̀ lórí ẹ̀rọ náà. Lẹ́yìn náà jẹ́rìí pé olùpèsè ń dáhùn rárá.

smbutil view //files.corp.example
osascript -e 'tell application "Tunnelblick" to get state of first configuration whose name is "Office"'
mount | grep -i smbfs

Àṣẹ àkọ́kọ́ jẹ́rìí pé olùpèsè ń dáhùn, èkejì pé orúkọ profaili ń yanjú, àti ẹ̀kẹta fi hàn bí ìsopọ̀ tí ó ṣàṣeyọrí ṣe rí. Kọ àwọn mẹ́tẹ̀ẹ̀ta sílẹ̀ kí o tó ṣe ìṣàkóso aládàáṣiṣẹ́ kankan.

Ka ipò profaili láti Tunnelblick

Tunnelblick ń fi àwọn ìṣètò rẹ̀ àti ipò wọn hàn nípasẹ̀ AppleScript, àti pé ìyẹn ni kọ́kọ́rọ́ kan ṣoṣo tí àpẹẹrẹ yìí nílò. Ipò tí ó ṣe pàtàkì ni gbólóhùn tí a ròyìn fún profaili yẹn gan-an, kì í ṣe wíwà ohun èlò náà.

Bíbéèrè ní àwọn àbájáde tí ó yẹ kí a dárúkọ. Ìsopọ̀ padà tí ó kúrú ju ààrin náà lè kọjá láìṣe àkíyèsí, àti pé applet náà kò rí ìyípadà náà rárá. Ìyẹn jẹ́ ìtẹ́wọ́gbà fún ààbò ìsopọ̀ àti kì í ṣe ìtẹ́wọ́gbà fún ohunkóhun tí ó gbọdọ̀ dáhùn sí gbogbo ìṣẹ̀lẹ̀. Bí o bá nílò ìdúróṣinṣin ìṣẹ̀lẹ̀, èyí ni ẹ̀rọ tí kò tọ́ dípò ẹ̀rọ tí ó nílò aago tí ó kúrú. Yan ààrin náà pẹ̀lú ìfarapa yẹn lọ́kàn.

property attempted : false

on idle
    set profileName to "Office"
    set shareURL to "smb://files.corp.example/OfficeTeam"
    set volName to "OfficeTeam"
    tell application "Tunnelblick" to set vpnState to state of first configuration whose name is profileName
    if vpnState is not "CONNECTED" then
        set attempted to false
        return 20
    end if
    tell application "Finder" to set mounted to (exists disk volName)
    if (not mounted) and (not attempted) then
        set attempted to true
        try
            mount volume shareURL
        end try
    end if
    return 20
end idle

Gbé e jáde gẹ́gẹ́ bí ohun èlò pẹ̀lú àṣàyàn láti dúró ṣí, lẹ́yìn náà gbé e ṣiṣẹ́ nínú ìpàdé tí ó ti wọlé dípò nípasẹ̀ sudo.

So ẹ̀ẹ̀kan, lẹ́yìn náà dáwọ́ ìgbìyànjú dúró

Àmì ìgbìyànjú ni ó ń dá èyí dúró láti di àyíká tí ó ń díwọ̀n ẹ̀rí ìdánimọ̀. Ní kété tí applet náà bá ti gbìyànjú, ó dúró de ipò ìsopọ̀ kí ó yí padà kí ó tó tún gbìyànjú.

Ìhùwàsí yẹn jẹ́ àmọ̀ọ́nú. Pipin tí ó kọ̀ ìsopọ̀ máa ń kọ̀ ọ́ nítorí ìdí tí ìgbìyànjú tuntun kò lè túnṣe, àti pé àwọn ìgbìyànjú àtúnṣe ń sọ ìbéèrè kan di odò wọn. A tún àmì náà ṣe nígbà tí profaili náà bá kúrò nínú ipò ìsopọ̀, nítorí náà ìsopọ̀ padà gidi ń mú ìgbìyànjú tuntun kan péré jáde. Jíjáde àti tún gbé applet náà ṣiṣẹ́ tún ń ṣe é, àti pé ìyẹn ni ìforígun ọwọ́. Kò sí ọ̀nà kankan nínú àwọn méjèèjì tí ó fi àìṣeyọrí pamọ́; àwọn méjèèjì fi í hàn nínú Finder.

Script náà kò gbé ọ̀rọ̀ aṣínà kankan, àti pé ó yẹ kí ó dúró bẹ́ẹ̀. Jẹ́ kí ìṣiṣẹ́ ìsopọ̀ béèrè, kí o sì jẹ́ kí kọ́kọ́rọ́ ìsopọ̀ ṣe ohun tí àjọ náà ṣe àtìlẹ́yìn fún. Fífi ẹ̀rí ìdánimọ̀ sínú URL ń sọ script ìrọ̀rùn di àṣírí tí ó gbọdọ̀ yí.

Ohun tí olùrànlọ́wọ́ kò lè ṣe

Àwọn ààlà mẹ́ta yẹ kí a kọ wọ́n lẹ́gbẹ̀ẹ́ applet náà. Kò lè yọ ìwọ̀n tí ó ń ṣiṣẹ́ jáde lẹ́yìn àìṣeyọrí nẹ́tíwọ́kì, kò lè ṣe ìdánilójú pé DNS àti olùpèsè ti ṣetán nígbà tí ipò bá sọ pé ó so pọ̀, àti pé kò dáhùn sí gbogbo ìsopọ̀ padà.

Ààlà àkọ́kọ́ ṣe pàtàkì jù nínú ìṣe. Pipin tí olùpèsè rẹ̀ pòórá ń fi ìwọ̀n tí ó dàbí ẹni pé ó so pọ̀ àti tí ó ń dí ààyè sílẹ̀, àti pé àtúnṣe oníwà rere ni láti parí àwọn ìṣiṣẹ́ fáìlì kí o sì yọ ọ́ jáde kí a tó jáde ìsopọ̀ tí a gbèrò. Èkejì ń ṣàlàyé ọ̀pọ̀ jùlọ àwọn ìgbìyànjú àkọ́kọ́ tí ó kùnà: tunnel wà ní àpapọ̀ nígbà tí olùyẹ̀ kò tíì bá, nítorí náà dúró kí o sì fi ọwọ́ so pọ̀ ẹ̀ẹ̀kan láti jẹ́rìí. Ẹ̀kẹta ni ìfarapa bíbéèrè ti ṣáájú dípò àṣìṣe tí a ó túnṣe.

Fún ẹ̀rọ tí kò ní olùtọ́jú tàbí ẹgbẹ́ tí a ń ṣàkóso, àpẹẹrẹ yìí jẹ́ ìrísí tí kò tọ́. Lo ìlànà ìsopọ̀ tí ó jẹ́ ti alábòójútó dípò fífi applet desktop gbòòrò sí iṣẹ́ aláṣẹ.

Àwọn àpilẹ̀kọ tó jọra