SpotifyãæªéãRFCããããã¯ãŒã¯ãããã³ãªãŒãã³ãœãŒã¹ããã¢ãŒã·ã§ã³ã®åŠç¿ã«ã©ã®ããã«åœ¹ç«ã€ãã ãŸãã¯ãæ¯æãããšãã§ãããäžéšã®ãã¬ãã¢ã ãã³ãæ¬åœã«ãããå Žåã¯ã©ããªããŸããã
éå§ãã
3æ¥ç®ã«ãSpotifyã¯IPã¢ãã¬ã¹ã®åœã«åºã¥ããŠåºåãå
¬éããŠããããšãããããŸããã ãŸããããã€ãã®åœã§ã¯åºåããŸã£ããé
ä¿¡ãããªãã£ãããšã«ãçæãããŸããã ããšãã°ã ãã©ã«ãŒã· ã ãããŠããã¬ãã¢ã ã§ã¯ãªãã¢ã«ãŠã³ãã®åºåãç¡å¹ã«ãããçŽ æŽããããèšç»ãæçããŸããã
Spotifyã«ã€ããŠå°ã
äžè¬çã«ãSpotifayã«ã¯å¥åŠãªããªã·ãŒããããŸãã ç§ãã¡ã®å
åŒã¯ããã¬ãã¢ã ã賌å
¥ããããã«ããªãåé¯ããŠããå¿
èŠããããŸãïŒãããã¡ã€ã«ã®å Žæãæµ·å€ã®å Žæã«å€æŽããpaypalã§ã®ã¿æ¯æãããšãã§ããé©åãªGIFã«ãŒããæ¢ããŠãã ããã äžè¬ã«ãåéºã§ããããŸãããé åºã¯ç°ãªããŸãã ããã®ã»ãšãã©ã¯ã¢ãã€ã«ççšã§ãããç§ã¯èå³ããããŸããã ãããã£ãŠã以äžã¯ãã¹ãŠãã¹ã¯ãããããŒãžã§ã³ã®å Žåã«ã®ã¿åœ¹ç«ã¡ãŸãã ããã«ãæ©èœã®æ¡åŒµã¯ãããŸããã è¶
éåã®äžéšã®ã¿ãåãåããŸãã
ãªããããªã«è€éãªã®ã§ããïŒ
ãããŠãSockifyã®èšå®ã§socks-proxyããŒã¿ãç»é²ããããšãèããŸããã åé¡ã¯ããã°ã€ã³ãšãã¹ã¯ãŒãã«ããéŽäžã§ã®èªèšŒãæ©èœããªãããšã§ããã ããã«ãéçºè
ã¯å®æçã«ãããã·ã®åšãã«äœããã²ãããŸããèš±å¯ãŸãã¯ç¡å¹åããŠããããããç Žã£ãŠããªããµã€ãã§ãã£ã¹ã«ãã·ã§ã³ã®ããã«å
šäœãäœæããŸãã
äžå®å®ãªæ©èœã«äŸåãããããä¿¡é Œæ§ãé«ã奜å¥å¿ã®åŒ·ããã®ãèŠã€ããããšã決å®ãããŸããã
ããã®ã©ããã§ãèªè
ã¯å°ããã¹ãã§ãïŒãªã-D
ssh
ã䜿ããçµããã«å¯ŸåŠããŸãããïŒ ãããŠãäžè¬çã«ãåœŒã¯æ£ããã§ãããã ããããæåã«ãæ¥ç¶ãåæããããšãèããªãããã«ãããã¯ãŸã æªéåãããautosshãšåéã«ãªãå¿
èŠããããŸãã ãããŠç¬¬äºã«ãããã¯åçŽãããŠéå±ã§ãã
é çªã«
ãã€ãã®ããã«ãå·Šããå³ãäžããäžã«ç§»åããŠããåçŽãªãã¢ã€ãã¢ãå®è£
ããããã«å¿
èŠãªãã¹ãŠã説æããŸãããã
ãŸãããããã·ãå¿
èŠã§ã
ãããŠãäžåºŠã«å€ãã®éžæè¢ïŒ
- éãããããã·ãªã¹ãããååŸããã ãã§ãã å®äŸ¡ãªïŒãŸãã¯ãŸã£ãããªãïŒãã絶察ã«ä¿¡é Œæ§ãäœãããã®ãããªãããã·ã®å¯¿åœã¯ãŒãã«ãªãåŸåããããŸãã ãããã£ãŠããªã¹ãã®ãããã·ããŒãµãŒãæ€çŽ¢/äœæããç®çã®ã¿ã€ããšåœã§ãã£ã«ã¿ãŒåŠçããå¿
èŠããããŸã.Spotifyã§èŠã€ãã£ããããã·ã眮æããåé¡ã¯æªè§£æ±ºã®ãŸãŸã§ãïŒ
HTTP_PROXY
ãä»ããŠãæ®ãã®ãã©ãã£ãã¯ããã¹ãŠéä¿¡ãããªãããã«ãã€ããªã®ã«ã¹ã¿ã ã©ãããŒãéä¿¡ããªãéãïŒ ïŒ - åæ§ã®ãããã·ã賌å
¥ããŠãäžèšã®åé¡ã®ã»ãšãã©ãåé¿ã§ããŸãã ãããããããã·äŸ¡æ Œã§ãSpotifyã§ããã«ãã¬ãã¢ã ã賌å
¥ã§ããŸããããã¯ãæåã®ã¿ã¹ã¯ã®äžéšãšããŠã¹ããŒãã£ã§ã¯ãããŸããã
- ããªããè²ãŠãŸãã ãããããæ³åã®ãšããããããç§ãã¡ã®éžæã§ãã
å¶ç¶ã«ãããã©ã«ãŒã·ãä»ã®å°ããªåœã«ãµãŒããŒãããå人ãããããšã倿ããå ŽåããããŸãã ããã䜿çšããŠãç®çã®ãããã·ãå±éããå¿
èŠããããŸãã ç¹å¥ãªæå¥œå®¶ã¯ã DD-WRTãŸãã¯åæ§ã®ãœãããŠã§ã¢ãžã®ã«ãŒããæã€åäººã«æºè¶³ããããšãã§ããŸãã ããããããã«ã¯ç¬èªã® çŽ æŽãããäžçãããããã®äžçã¯æããã«ãã®ç©èªã®æ çµã¿ã«ã¯åãŸããŸããã
ãã®ãããç§ãã¡ã®ãªãã·ã§ã³ïŒSquid-åºæ¿çã§ã¯ãªããHTTPãããã·ã¯å¿
èŠãããŸããããã®ãããã³ã«ã«ã¯ããŸââãã«ãå€ãã®ãã®ããããŸãã ãŸããSOCKSã®åéã§ã¯ã Dante以å€ã®è³¢æãªãã®ã¯ãŸã æäŸãããŠããŸããã ãããã£ãŠãæã
ã¯ãããåãã
Danteã®ã€ã³ã¹ããŒã«ããã³èšå®çšã®Manulaã¯åŸ
ã¡ãŸããã 圌ã¯ãã ã°ãŒã°ã«ã§ãã»ãšãã©èå³ããããŸããã æå°æ§æã§ã¯ãããããçš®é¡ã®client pass
ã socks pass
ãã¹ããŒããå¿
èŠããããã€ã³ã¿ãŒãã§ã€ã¹ãæ£ããç»é²ãã socksmethod: username
ã远å ããããšãå¿ããªãã§ãã ããã ãã®ãã©ãŒã ã§ã¯ãèªèšŒã®ããã«ãããŽãã¹ã¯ã·ã¹ãã ã®ãŠãŒã¶ãŒããååŸãããŸãã ãããŠã»ãã¥ãªãã£ã«é¢ããéšåïŒããŒã«ã«ãã¹ããžã®ã¢ã¯ã»ã¹ã®çŠæ¢ããŠãŒã¶ãŒã®å¶éãªã©-ããã¯çŽç²ã«å人çãªãã®ã§ãå人çãªåŠæ³ã«äŸåããŸãã
2ã€ã®è¡çºã§ã®ããã©ãŒãã³ã¹ã
第1å¹
ãããã·ãèŠã€ããã®ã§ãä»åºŠã¯ã°ããŒãã«Webãããããã·ã«ã¢ã¯ã»ã¹ããå¿
èŠããããŸãã é©åãªåœã«çœãIPãæã€ãã·ã³ãããå Žåã¯ããã®é
ç®ãå®å
šã«ã¹ãããã§ããŸãã ç§ãã¡ã«ã¯ïŒäžèšã®ããã«ãå人ãèªå®
ã§ãã¹ãããŸãïŒãªããæãè¿ãçœãIPããã€ãã®ã©ããã«ããã®ã§ããããã¯ãŒã¯ã調ã¹ãŸãã
ããã§ããæ³šææ·±ãèªè
ã¯åã³å°ããŸãïŒ ngrokãªã©ã®ãããªæ¢åã®ãµãŒãã¹ãå©çšããŠã¿ãŸãããïŒ ãããŠã圌ã¯åã³æ£ããã§ãããã ããããããã¯ãµãŒãã¹ã§ãããåã³æªéåãããå¿
èŠãããããéããããå¯èœæ§ããããäžè¬çã«ã¯ã¹ããŒãã§ã¯ãããŸããã ãããã£ãŠãç§ãã¡ã¯å³èã®çŽ æããèªè»¢è»ãäœããŸãã
ã¿ã¹ã¯ïŒNATçªç®ãã¯ããã«è¶
ããå Žæã«ãããã·ããããŸããVPSããŒãã®1ã€ã«ãã³ã°ãããå¿
èŠããããŸããVPSããŒãã¯çœãIPãæã¡ãäžçã®ç«¯ã«ãããŸãã
ããã¯ãããŒãã転éããïŒåè¿°ã®ssh
ãä»ããŠå®è£
ãããïŒããVPNãä»ããŠéçãä»®æ³ãããã¯ãŒã¯ã«çµåããããšã«ãã£ãŠè§£æ±ºããããšæ³å®ããã®ãè«ççã§ãã ssh
æ¹æ³ã¯ç¥ã£ãŠãssh
autossh
éå±ãªã®ã§ãOpenVPNã䜿çšããŸãããã
DigitalOceanã¯ãã®åé¡ã«é¢ããŠçŽ æŽãããããã«ãã³ãæã£ãŠããŸãã 远å ãããã®ã¯äœããããŸããã ãããŠãçµæã®æ§æã¯ãOpenVPNã¯ã©ã€ã¢ã³ããšsystemd
ãšéåžžã«ç°¡åã«åéã«ãªããŸãã /etc/openvpn/client/
èšå®ïŒconfigïŒããã ãã§ååã§ããæ¡åŒµåã/etc/openvpn/client/
ã«å€æŽããããšãå¿ããªãã§ãã ããã ãã®åŸããµãŒãã¹openvpn-client@openvpn-client-config-name.service
ãŸãããµãŒãã¹ãenable
ããšãå¿ããã«ããã¹ãŠãé£ãã ããšãåãã§ãã ããã
ãã¡ãããæ°ãã«äœæãããVPNãžã®ãã©ãã£ãã¯ãªãã€ã¬ã¯ã·ã§ã³ãç¡å¹ã«ããå¿
èŠããããŸããããã¯ããã©ãã£ãã¯ãããŒãããŒã«ã§ãªãŒããŒã©ã³ãããããã¯ã©ã€ã¢ã³ããã·ã³ã®é床ãäžããããªãããã§ãã
ã¯ããã¯ã©ã€ã¢ã³ãã®VPNãµãŒããŒã«éçIPã¢ãã¬ã¹ãç»é²ããå¿
èŠããããŸãã ããã¯ç©èªã®äžã§ããå°ãå¿
èŠã«ãªããŸãã ãããè¡ãã«ã¯ã ifconfig-pool-persist
ãæå¹ã«ããOpenVPNã«ãã³ãã«ãããŠããipp.txt
ç·šéããclient-config-dirãæå¹ã«ããããã«æ£ãããã¹ã¯ãšç®çã®IPã¢ãã¬ã¹ã§ifconfig-push
ã远å ããŠç®çã®ã¯ã©ã€ã¢ã³ãã®æ§æãç·šéããŸãã
第2å¹
ä»ãç§ãã¡ã¯ããããã¯ãŒã¯ãã«ã€ã³ã¿ãŒãããã«çŽé¢ããå人çãªå©çã®ããã«äœ¿çšã§ãããã·ã³ãæã£ãŠããŸãã ã€ãŸãããã©ãã£ãã¯ã®äžéšããªãã€ã¬ã¯ãããŸãã
ãããã£ãŠãæ°ããã¿ã¹ã¯ïŒVPSããŒãã®1ã€ã«å°çãããã©ãã£ãã¯ãçœãIPã§ã©ããã¢ããããŠããã®ãã©ãã£ãã¯ãæ°ãã«æ¥ç¶ãããä»®æ³ãããã¯ãŒã¯ã«è¡ããããããå¿çãè¿ãããããã«ããå¿
èŠããããŸãã
解決çïŒãã¡ããiptables
ïŒ åœŒãšäžç·ã«ç·Žç¿ããçŽ æŽãããæ©äŒã¯ãã€ã§ããïŒ
ãããã°ãããã¯ãŒã¯ã¯éåžžã«ç¹æ®ãªæé ã§ãããããå¿
èŠãªæ§æã¯ããã«ã3æéã§ã100ã®èªãèšèãšã»ãã®äžæ¡ãã®ç¥çµãèŠã€ããŸãã
ãŸããã«ãŒãã«ã§ãã©ãã£ãã¯ã®ãªãã€ã¬ã¯ããæå¹ã«ããå¿
èŠããããŸãã ããã¯ipv4.ip_forward
ãšåŒã°ããOSãšãããã¯ãŒã¯ãããŒãžã£ãŒã«ãã£ãŠå°ãç°ãªãæ¹æ³ã§ãªã³ã«ãªããŸãã
次ã«ãVPSã§ããŒããéžæãããã®ããŒãã«åãããã¹ãŠã®ãã©ãã£ãã¯ãä»®æ³ãµããããã«ã©ããããå¿
èŠããããŸãã ããã¯ãããšãã°æ¬¡ã®ããã«å®è¡ã§ããŸãã
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 10.8.0.2:8080
ããã§ã¯ãå€éšã€ã³ã¿ãŒãã§ã€ã¹ã®ããŒã8080ã«å°éãããã¹ãŠã®TCPãã©ãã£ãã¯ããIP 10.8.0.2ãšåãããŒã8080ãæã€ãã·ã³ã«ãªãã€ã¬ã¯ãããŸãã
äžè¬ã«netfilter
ã iptables
ããã³ã«ãŒãã£ã³ã°ã®æ±ã詳现ãå¿
èŠãªäººã¯ã絶察ã«thisãŸãã¯thatãçæ
®ããå¿
èŠããããŸãã
ãããã£ãŠãããã±ãŒãžã¯ä»®æ³ãµããããã«ç§»åãã...ããã«ãšã©ãŸããŸãã ããæ£ç¢ºã«ã¯ããœãã¯ã¹ãããã·ããã®å¿çã¯ãDanteãã·ã³ã®ããã©ã«ãã²ãŒããŠã§ã€ãçµç±ããŠæ»ã£ãŠããŸãããããã¯ãŒã¯ã§ã¯ã1ã€ã®IPã«ãªã¯ãšã¹ããéä¿¡ããå¥ã®IPããã¬ã¹ãã³ã¹ãåä¿¡ããããšã¯åãå
¥ããããªãããã§ãã ãããã£ãŠãããã«æ³èµ·ããå¿
èŠããããŸãã
ãã®ãããä»åºŠã¯ãã¹ãŠã®ãã±ããããããã·ããä»®æ³ãµããããã«ãªãã€ã¬ã¯ãããŠããã¯ã€ãIPã®VPSã«åããå¿
èŠããããŸãã ããã§ç¶æ³ã¯å°ãæªããªããŸãããªããªããã«ãŒãã£ã³ã°ããåã«å®å
ã¢ãã¬ã¹ãä¿®æ£ãããšïŒ PREROUTING
ïŒãã€ã³ã¿ãŒãããäžã®ãã±ãããé£ã³å»ãããšããªããä¿®æ£ããªãå Žåããã±ããã¯default gateway
PREROUTING
ããããdefault gateway
ã ãã®ãããæ¬¡ã®æé ãå®è¡ããå¿
èŠããããŸãiptables
ãä»ããŠãã±ããã«ã¿ã°ãä»ãããã±ãããå¿
èŠãªå Žæã«éä¿¡ããã«ã¹ã¿ã ã«ãŒãã£ã³ã°ããŒãã«ã«ã©ããããããã«ã mangle
ãã§ãŒã³ãæãåºããŠãã ããã
ããã«èšã£ãŠãã£ãïŒ
iptables -t mangle -A OUTPUT -p tcp --sport 8080 -j MARK --set-mark 0x80 ip rule add fwmark 0x80 table 80 ip route add default via 10.8.0.1 dev tun0 table 80
çºä¿¡ãã©ãã£ãã¯ãååŸãããããã·ã眮ãããŠããããŒãïŒãã®å Žåã¯8080ïŒããé£ã¶ãã®ãã¹ãŠãããŒã¯ããããŒã¯ããããã¹ãŠã®ãã©ãã£ãã¯ãçªå·80ã®ã«ãŒãã£ã³ã°ããŒãã«ã«ãªãã€ã¬ã¯ãããŸãïŒäžè¬çã«ãçªå·ã¯äœã«ãäŸåãããç§ã¯ã¡ããã©ãããã£ãã§ãïŒãå¯äžã®ã«ãŒã«ã远å ããŸãããã®ããŒãã«ã«åé¡ããããã¹ãŠã®ãã±ãããVPNãµããããã«é£ã³ãŸãã
ãããïŒ ãã±ããã¯VPSã«åãã£ãŠæ»ããããã§æ»ã«ãŸãã VPSã¯ããããã©ããããããããªãããã§ãã ãããã£ãŠãæ°ã«ããªãå Žåã¯ãåã«ä»®æ³ãµããããããå°çãããã¹ãŠã®ãã©ãã£ãã¯ãååŸããŠã€ã³ã¿ãŒãããã«ãªãã€ã¬ã¯ãã§ããŸãã
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source 172.42.1.10
ããã§ã¯ã255.255.255.000ã®ãã¹ã¯ãæã€10.8.0.0ãµããããããå°çãããã¹ãŠã®ãã®ãsource-NATã«ã©ãããããã€ã³ã¿ãŒãããã«åããããããã©ã«ãã€ã³ã¿ãŒãã§ã€ã¹ã«é£ã³ãŸãã ãã®ããšã¯ãããŒããééçã«è»¢éããå Žåãã€ãŸããVPSã®çä¿¡ããŒãããããã·ã®ããŒããšäžèŽããå Žåã«ã®ã¿æ©èœããããšã«æ³šæããããšãéèŠã§ãã ããã§ãªããã°ãããå°ãèŠããå¿
èŠããããŸãã
ã©ããã§ããã¹ãŠãæ©èœãå§ããŸãã å°ãã ãæ®ã£ãŠããŸããåèµ·ååŸã«ãã¹ãŠã®iptables
ãšroute
configsãç¶ç¶ããªãããšãå¿ããªãã§ãã ããã /etc/iptables/rules.v4
ã®å ŽåïŒãªã©ã®iptables
çšã®ç¹å¥ãªãã¡ã€ã«ããããã«ãŒãã®å Žåã¯ãã¹ãŠå°ãè€éã§ãã OpenVPNã®up/down
ã¹ã¯ãªããã«ããã·ã¥ããŸãããããã£ãšãã¡ããšã§ãããšæããŸãã
ãããã·ã§ã¢ããªã±ãŒã·ã§ã³ãã©ãã£ãã¯ãã©ãããã
ãã®ãããé©åãªåœã«èªèšŒãåãããããã·ããããéçãªçœãIPã¢ãã¬ã¹ã§ã¢ã¯ã»ã¹ã§ããŸãã ããã䜿çšããSpotifyããã®ãã©ãã£ãã¯ãããã«ãªãã€ã¬ã¯ãããããšã¯æ®ã£ãŠããŸãã ãã ããåè¿°ã®ãšãããSpotifayaã®ãããã·ã®ãã°ã€ã³ãã¹ã¯ãŒããæ©èœããªããšãã埮åŠãªéãããããããåé¿æ¹æ³ãæ¢ããŸãã
ãŸã第äžã«ã proxifierãèŠããŠãããŠãã ãã ã ãã°ãããããšã¯ãããã¯å®å®è¹ïŒ40ãã«ïŒã®ãããªè²»çšã ãã§ãã ãéã®ããã«ãã¬ãã¢ã ãåã³è³Œå
¥ããçµããã«å¯ŸåŠããããšãã§ããŸãã ãã®ããããããŒã§ãã£ãšèªç±ã§ãªãŒãã³ãªã¢ããã°ãæ¢ããŸãïŒããããããŒã§é³æ¥œãèŽãããã§ãïŒã ã²ãšã€ã®ããŒã«proximacãèŠã€ããŸãã ãããŠãåãã§åœŒãã€ã€ããŠè¡ããŸãããã
ãã ããMacOSã§ãããã°ã¢ãŒããšã«ã¹ã¿ã ã«ãŒãã«æ¡åŒµæ©èœãæå¹ã«ããç°¡åãªèšå®ãè¡ãããã®ããŒã«ãSpotifyãšãŸã£ããåãåé¡ãæ±ããŠããããšãçè§£ããå¿
èŠãããããšã倿ãããããåã³ã¯çåœã«ãªããŸãïŒãã°ã€ã³ãã¹ã¯ãŒãã§èªèšŒã§ããŸãããœãã¯ã¹ãããã·ã
ããã®ã©ããã§ãããããªãããŸã ãã¬ãã¢ã ã賌å
¥ããæãæ¥ãŸãã...ããããããã§ã¯ãããŸããïŒ ãªãŒãã³ãœãŒã¹ã®ä¿®æ£ãäŸé ŒããŠã¿ãŸãããïŒ ãã±ãããäœããŸãã ããã«å¿ããŠãå¯äžã®ã¡ã³ãããŒãMacbookãæã£ãŠããªããŠãããªããšå°çã«ãããšãããæ²æšãªè©±ãåãåããŸãã
åã³æ¬²æ±äžæºã ããããç§ãã¡ã¯è¥è
ãšCãæãåºããDanteã§ãããã°ã¢ãŒãããªã³ã«ãã100ãããã€ãã®ãã°ãæãäžããSOCKS5ãããã³ã«ã«é¢ããæ
å ±ã«ã€ããŠRFC1927ã«è¡ããXcodeã§ãããèŠã€ãåºããããã§ãåé¡ãèŠã€ããŸãã ã¯ã©ã€ã¢ã³ããèªèšŒçšã«æäŸããã¡ãœããã³ãŒãã®ãªã¹ãã®1æåãä¿®æ£ããã°ååã§ããã¹ãŠãæèšã®ããã«æ©èœãå§ããŸãã åãã§ãªãªãŒã¹ãã€ããªãåéãã ããŒã«ãªã¯ãšã¹ããè¡ãã æ¥æ²¡ã«è¡ããŸã 次ã®ãã€ã³ãã«é²ã¿ãŸãã
èªååãã
Proximacãç²åŸãããããããæªéåãããããå¿ããå¿
èŠããããŸãã ãã®ããã«ãMacOSäžã«ãã1ã€ã®åæåã·ã¹ãã ãã€ãŸãlaunchdãå©çšã§ããŸãã
ããã¥ã¢ã«ãããã«èŠã€ããŠãããã¯ãŸã£ããsystemd
ããŠããããããã§ã¯ã»ãšãã©ã¹ã¯ãŒããšxml
ããããšãçè§£ããŠããŸãã çŸããèšå®ã¯ãããŸãããstatusã restart
ã daemon-reload
ãªã©ã®ã³ãã³ãã¯ãããŸããã start-stop
ã list-grep
ã unload-load
ãªã©ã®å¥åŠãªåœ¢åŒã®ããŒãã³ã¢ã®ã¿ã ããããã¹ãŠå
æããŠã plist
ãloadãäœæããŸãã åäœããŸããã ããŒã¢ã³debazhimã®ãããã°æ¹æ³ãç ç©¶ããŸã.PATHã§ãããéåžžã®ãã®ãã€ã³ããŒããããèªããã€ã³ããŒãïŒ /sbin
ããã³/usr/local/bin
远å ïŒããæçµçã«èªåèµ·åãšå®å®ããåäœãåã¶ããšãããããŸãã
åãåºã
çµæã¯äœã§ããïŒ 1é±éã®åéºãå¿ããæãããå¿
èŠãªããšããããµãŒãã¹ã®èäžã®åç©åã çãããæè¡åéã®å°ãã®ç¥èããªãŒãã³ãœãŒã¹ã®ããããããç§ã¯ãã£ãïŒããšããèãããã®åœŒã®é¡ã®ç¬é¡ã
PSïŒããã¯ãè³æ¬å®¶ã®ãã€ã³ããããããã®ç¯çŽããŸãã¯å®å
šãªtotalãã®èŠæ±ã§ã¯ãªããäžè¬ã«ããªããæåŸ
ããªãç ç©¶éçºã®å¯èœæ§ã瀺ããŠããŸãã