電影流水帳(2019/01/06~2019/01/22)

http://gty.im/664247740

  • 家に帰ると妻が必ず死んだふりをしています (IMDB, Wikipedia),台譯:每天回家老婆都在裝死。
  • Venom (IMDB, Wikipedia),台譯:猛毒。
  • 志明與春嬌 (IMDB, Wikipedia)。
  • カメラをとめるな! (IMDB, Wikipedia),台譯:一屍到底。

家に帰ると妻が必ず死んだふりをしています

故事的起點很有趣,就在婚姻屆滿三年,丈夫回家的時候,看到妻子死在地上,被嚇死了。自此以後,每天回家都會看到,丈夫從驚訝到配合演出,不過到終心裡還是無奈了,無法理解為什麼妻子要裝死。接著就是婚姻生活日常,是普羅大眾會遇到的婚姻問題,也點切身,有點不痛不癢,也有點悶。經歷了身邊的人離婚、妻子父親住院以後,兩人總算是找到了答案。結局是丈夫對妻子說了一些話,但這些話被消音了,暗示著幸福並沒有標準的答案,需要各位自己去找。
榮倉奈奈的笑容一百分,看著她笑,挺療癒的。

Venom

電影真的不怎麼樣,故事弱了,可惜了Tom Hardy 跟 Venom 這個角色。不過特效挺不錯的,片尾提到的蜘蛛人動畫彩蛋也很棒。

生命基金會在做的研究是外太空生物的研究,他們從外太空取得了奇怪的生物樣本,在進行研究,但他們為了求績效,研究的過程並不人道。一個獨立記者 Eddie 原本跟女律師 Anne 交往的好好的,卻去竊取女友的生命基金會訴訟資料,去寫報導,這讓生命基金會的執行長以及公司老闆相當生氣,Eddie 失去了工作。Eddie 消沉了一年,直到有一天,Dr. Dora 來找他,想請他揭發生命基金會的事情,Eddie 考慮了許久,決定來試試看。於是透過 Dr. Dora 的幫忙,進入了生命基金會。在基金會裡,Eddie 跟外太空生物 Venom 合體,並逃了出去。基金會執行長派人去追捕 Eddie,想要追回 Venom。在這個追捕的過程裡,Eddie 跟 Venom 慢慢磨合。後來基金會的追捕不順利,執行長就跟其中一個外太空生物 Riot 合體,Riot 控制了執行長,要派太空船去帶回更多的生物。Venom 得知了 Riot 的事情,為了自己,跟 Eddie 聯手與 Riot 展開大戰。這場大戰裡,除了打鬥之外,還意外的看到 Anne 跟 Venom 合體。大戰的結果,Eddie 跟 Venom 取得勝利,從此誕生了一個新的反派英雄。

志明與春嬌

志明與春嬌是挺有意思的一見鍾情的故事,短短的幾天,從尷尬到模糊到彼此試探到確定彼此,在主線進行的同時,導演還用了類似紀錄片的形式去採訪男女主角周圍相關的人,試著以這樣的方式去探討都會男女的愛情,很有意思。當初會想看,是因為去年還前年出了「志明與春嬌2」,有點想看看為什麼這樣的電影還會有續集,而且不看第一集就看第二集怕會接不上。

カメラをとめるな!

在網路上看到一片好評,今天看了這部電影之後,覺得真的很妙而且很棒。

前面的三十分鐘是僵屍片,在某些段落有說不出的違和感,有一點點恐怖,又讓人忍不住想笑。到了後面,才開始揭露拍攝過程的背後,讓人捧腹大笑、拍案叫絕。更絕的是,最後再揭露一次這部電影的拍攝經過,所以到底哪個是真哪個是假呢?

django 裡判斷請求是否加密

原本以為照著這篇 Django, get scheme (http or https), pre request.scheme implementation 來做,用 request.is_secure() 來判斷就好,但是事情並沒有我想的簡單。

經過簡單的判讀之後,原來是因為我的 django 前面有 nginx 擋著,前面的 nginx 可以處理 HTTPS 沒錯,但是 proxy pass 到 django + gunicorn 這邊之後,由於 proxy_pass 寫的是 http://localhost:8000 ,所以 django 收到的請求還是 HTTP。

後來我是在 nginx 裡,proxy pass 之前,先設定 header,django 裡再改用 header 來判斷,才解決這問題。

# nginx
proxy_set_header X-Forwarded-Proto $scheme;
# django, 參考自 https://stackoverflow.com/questions/14377050/custom-http-header-in-django
scheme = request.META.get('HTTP_X_FORWARDED_PROTO')

goaccess

安裝

# 最新版
echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
sudo apt update && sudo apt install goaccess

要可以使用 –keep-db-files 得安裝 goaccess-tcb

使用

詳細的使用可以看 手冊,以下是常用的用法

# Console
goaccess --log-format=COMBINED -f /var/log/apache2/access.log

# 先詢問要怎麼解析 log
goaccess -c -f /var/log/apache2/access.log

# 輸出 HTML (特定版本以後才有)
goaccess --log-format=COMBINED -f /var/log/apache2/access.log -o report.html

# 輸出 realtime HTML (特定版本以後才有)
goaccess --log-format=COMBINED -f /var/log/apache2/access.log --real-time-html -o report.htm

有多個 log (含 .gz) 的情況,可以參考 https://github.com/allinurl/goaccess/issues/600

# 先解析並存到 db
zcat /var/log/nginx/access.log*gz | goaccess -p /etc/goaccess.conf -a -o /dev/null --keep-db-files
# 從 db 載入資料,並且解析最新的 access.log
goaccess -p /etc/goaccess.conf -f /var/log/nginx/access.log --real-time-html -a -o /usr/share/nginx/html/goaccess.html --load-from-disk

Automatically generate GoAccess stats 的處理更費工,還放到 git 去,我覺得蠻值得研究的。我只大略看一下,後來沒用。

Vagrantfile 依版本給設定

上個月因為 vagrant 升級,在 Vagrantfile 裡加了 vb.default_nic_type = “virtio”,但今天同事使用 vagrant up 時,出現錯誤。原來我同事使用的是 vagrant 2.1,而我已經用 vagrant 2.2 了。

之前知道 Vagrantfile 其實是 ruby 語言,因此知道可以在裏面寫程式來處理,在網路上找看看怎麼做,就找到了。關鍵就是利用 Vagrant::VERSION 這個變數。

如果要印出訊息,就直接用 puts ,在執行 vagrant status 等指令時,就會看到。在找這個時,意外看到 vagrant 有 message 系統 (print message after booting vagrant machine with “vagrant up”),可以在指定的情況輸出訊息:

config.vm.post_up_message = "This is the start up message!"

電影流水帳(2019/01/01~2019/01/05)

Embed from Getty Images
  • Zombieland (IMDB, Wikipedia),台譯:屍樂園。
  • ARISE border:1 Ghost Pain (IMDB, Wikipedia),台譯:攻殼機動隊 ARISE – 靈魂傷痛。
  • 無雙 (IMDB, Wikipedia)。
  • 신과함께: 죄와 벌 (IMDB, Wikipedia),台譯:與神同行。
  • Kingsman: The Golden Circle (IMDB, Wikipedia),台譯:金牌特務-機密對決。
  • Eternal Sunshine of the Spotless Mind (IMDB, Wikipedia),台譯:王牌冤家。

Zombieland

在網誌上看到介紹,剛好 Netflix 上架了,就趕緊來看。我覺得真的挺好看的,很有趣,不會恐怖,又帶點勵志。

一開始是 Columbus 在介紹世界的設定以及他個人在面對僵屍時的守則,然後他遇到了 Tallahassee ,搭了他的便車,想要回家鄉看看。哪知道在路上碰到一對姊妹花 (Wichita 與 Little Rock),把他倆的車給搶走了。兩人只好走路,並設法找車子。好不容易找到車子了,卻又再次遇到這對姊妹花。正所謂不打不相識,四人因此認識了彼此,一起結伴上路。到了好萊塢,去 Bill Murray 家鬧騰了一場,Columbus 意外殺了 Bill 。姊妹花後來還是偷了車子去 Pacific playland ,Tallahassee 很生氣,可是後來心軟,跟 Columbus 一同去找姊妹花。姊妹花開動了 Pacific playland 的機器,玩的很開心,但卻吸引了附近所有的僵屍過來,姊妹花被困住了。還好 Columbus 跟 Tallahassee 趕到,救了他們,四人一起殺出一條生路。

ARISE border:1 Ghost Pain

攻殼機動隊,這一定要看一下的。故事是從素子回國協助辦案開始,但是在辦案的過程裡,種種的人事物與奇怪的幻像,把線索都指向了素子。原來素子在查長官案子時,感染了病毒,導致認知出現錯誤,並進行了奇怪的事情。在找到原因之後,總算是解開長官慘死的謎團,也解決了自身所感染的病毒。

無雙

在電視上看到預告,裏面有周潤發跟郭富城,再加上網路評價不錯,所以就看了。這部電影真的很精彩,是繼「寒戰」之後,我覺得很讚的的另外一部傑作。

一開始的故事是從引渡李問開始,香港警方在引渡回李問之後,李問的朋友阮文就來到警局,要保釋他。但香港警方不肯放手,以交換偽鈔集團首腦「畫家」情報為條件,讓李問說出「畫家」的情報。於是李問就開始娓娓道出關於他自己怎麼認識「畫家」跟進入偽鈔集團的經過。講述的故事很吸引人,有愛情,有他們克服製作偽鈔電板的過程,也有背叛,到了最後,警方相信他已經供出了「畫家」的情報,就讓阮文保釋他。豈料,這時故事峰迴路轉,原來李問供出的故事有真有假,來保釋李問的阮文是假的,而李問就是畫家,整個謎底都解開了。

李問,在引渡過程裡,透過自己的超強觀察力,記住警方駕駛的特徵,並且在腦中編寫故事,讓這名駕駛扮演「畫家」。秀清則是被整容成阮文,他愛的人是李問,保釋出李問的軟文,就是秀清。秀清,在救出李問的當晚,再次跟李問確認感情的事情,這次,她心死了。隔天,香港警方追捕逃往海上的李問與秀清,就在即將被香港警方追上時,心灰意冷的秀清引爆了船,同歸於盡。(應該是沒記錯吧…)

신과함께: 죄와 벌

之前好評的電影,前一陣子續集上映。我個人是覺得太過冗長,而且有些地方蠻拖泥帶水的。悲劇的發生跟韓國軍中陋習有關聯,最後結局是挺感人的。

金自鴻死去,地獄使者江林、解怨脈跟李德春來接引他去接受地獄七大獄的審判,可是在路上卻碰到冤死鬼來攪局,江林就上人間去查明原因。地獄的審判之路跟人間的查明真相就同時進行,在地獄使者的努力之下,慢慢解開金自鴻在外工作都不回家看媽媽以及弟弟在軍中死去的謎團。在最後,原本金自鴻是要被判下地獄的,但是因為透過託夢的處理,得知了媽媽其實是原諒自鴻的,被原諒這件事,讓金自鴻免於下地獄。而弟弟也放下自己的冤屈,隨著地獄使者回去。

我注意到電影底對地獄的處理都是來自天上,這點跟台灣、中國認定的地獄是在地下很不一樣。

Kingsman: The Golden Circle

金牌特務的續集,簡單的說,沒有第一集好看,反派缺乏特色,故事普通。電影我沒全部看完,只看了後面二分之一,不過我決定當作是看完了。

英國的金士曼特務都掛了,Eggsy 跟 Merlin 循末日協議去美國尋求 Statesman 協助。在美國他們遇到了之前的 Harry ,失憶的 Harry 在為 Golden circle 工作。Golden circle 研發出的毒品會讓人狂躁、麻痹然後死去,所以 Eggsy 跟 Statesman 聯手,先設法喚起 Harry 記憶,然後一起解決 Golden circle,拯救世界。

Eternal Sunshine of the Spotless Mind

在很多電影推薦文都看到這部電影,剛好 Netflix 上又有,就趕緊看了。看完只覺得,這故事真的很棒,Jim Carry 真的演了不少好劇本。

Joel 起床以後,只感覺不想上班,想去 Montauk 。在去 Montauk 的路上,他遇到了 Clementine ,像是命中註定般的,兩人一拍即合。隔天,Joel 送 Clementine 回去時,他遇到了一個似乎認識的人敲他的車門,簡短對話之後,這個人離去了。接著,電影帶到 Joel 在車子裡痛哭的畫面。Joel 被甩了,這天 Joel 去找 Clementine ,但 Clementine 不認識他了,一點記憶都沒有。Joel 經過追查,發現是忘情診所做的手術。Joel 很快的決定,自己也要做這個手術。在做手術之前,醫生要求 Joel 收集所有跟 Clementine 有關的物品,然後到 Joel 的家中進行手術。手術的過程裡,需要重播所有跟 Clementine 在一起的回憶,但是在這個過程裡(算是夢裡嗎?),Joel 發現他並不想離開 Clementine。手術的這一晚,現實世界裡也發生了奇妙的插曲,診所的助理 Mary 來到 Joel 家中,與負責施行手術的 Stan 發生了關係;另外一名助手 Patrick 則是利用了診所裡 Clementine 的資料,與 Clementine 交往,在手術的過程中,為了安撫 Clementine 而離開。 隨著手術過程中 Joel 對手術的反抗,醫生聯絡了診所的主治醫生 Howard 來協助,手術快完成時,Mary 向 Howard 告白,兩人情不自禁親吻了起來。Stan 在外面看到這一幕,隨即 Howard 的妻子 Hollis 過來,也看到了。Hollis 失望又生氣的離開,Howard 跟 Mary 追出來挽回時,Hollis 只說 “Howard 別這樣,告訴她一切吧。” 又告訴 Mary ,”你曾經擁有過他”。Mary 突然明白了自己也曾經接受過遺忘手術,於是 Mary 離開。Howard 回去繼續手術,手術成功了,這意味著 Joel 也喪失了 Clementine 的記憶,但 Joel 夢境的最後,只記得 Clementine 要他去 Montauk 。

隔天早上,Mary 從診所搬出病患的資料,並且將資料寄回給每個病患。Clementine 跟 Joel 也收到了,兩人也都明白了之前所發生的事情,這次兩人還會在一起嗎?

tldr

tldr = too long don’t read

覺得 man 太冗長,懶得看嗎?試試 tldr,這指令直接給你常用的範例跟簡短的說明。
tldr 專案網址:https://github.com/tldr-pages/tldr
有各種語言的客戶端,用 bash 版的是最方便的了 (適用於 zsh/bash/csh/ksh…..):https://github.com/raylee/tldr

安裝很簡單,用 curl 下載,放到 PATH ,收工。

# 下載到 ~/bin,然後確定 ~/bin 有在 PATH 裡
curl -o ~/bin/tldr https://raw.githubusercontent.com/raylee/tldr/master/tldr
# 設定自動完成
complete -W "$(tldr 2>/dev/null --list)" tldr

Ubuntu 14.04 + Python 3.7.2

我是使用 pyenv 來安裝,pyenv 的安裝:

# 一鍵安裝
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

在安裝 Python 3.7.2 時,出現 ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib? 這樣的錯誤。

參考錯誤訊息,先依據 https://github.com/pyenv/pyenv/wiki/Common-build-problems 上的說明去檢查並安裝,但安裝了所需的套件之後,仍然有錯誤。後來再去找,才在 pyenv issue #950 找到原因,原來是 Ubuntu 14.04 的 OpenSSL 版本過舊,Python 3.7 需要 OpenSSL 1.0.2 以後的版本才行。

看了一下 Ubuntu 16.04 的 openssl 套件,版本是 1.0.2,於是就拿了 16.04 openssl 的 source package 回來,在 14.04 上編譯出 deb 來安裝就可以了。

# On Ubuntu 16.04
apt-get source openssl
# On Ubuntu 14.04
cd openssl-1.0.2g
dpkg-buildpackage
ls ../*.deb
# Output:
# ../libssl1.0.0_1.0.2g-1ubuntu4.14_amd64.deb      ../libssl-dev_1.0.2g-1ubuntu4.14_amd64.deb  ../openssl_1.0.2g-1ubuntu4.14_amd64.deb
# ../libssl1.0.0-dbg_1.0.2g-1ubuntu4.14_amd64.deb  ../libssl-doc_1.0.2g-1ubuntu4.14_all.deb
# Install them
ls ../*.deb | xargs sudo dpkg -i

再次安裝 Python 3.7.2

pyenv install -v 3.7.2
# 將當前目錄的 python 設定為 3.7.2,也就是以後切換到這個目錄時,自動使用 python 3.7.2
pyenv local 3.7.2
python --version
# Output:
# Python 3.7.2
# Use local python to make virtualenv
mkvirtualenv myproject --python=$(pyenv which python) -r requirements.txt

gv.vim / committia.vim

之前看到有人介紹 gv.vim 跟 committia.vim,試了一下,真的挺不錯的。

gv.vim 是 git commit browser,文件上只有提 vim-plug 的安裝,但我試的結果,Vundle 也可以安裝。
裝了以後,用 :GV 就可以開啟 commit browser,挺方便的。我之前是都到 terminal 用 tig 這個指令來看,現在有 gv.vim ,就不需要特別離開 vim ,到 terminal 了。

committia.vim 是可以在 git commit 時,可以直接看到檔案變更 (diff) 的 plugin 。之前是開另外一個 terminal ,輸入 git diff 來看 ,或是在 git commit 前先 git diff 來看。

WordPress 升級以後無法登入後台

Embed from Getty Images

才想說趕緊要把電影流水帳寫一寫,結果就遇到 WordPress 無法登入後台,查了 php-fpm slow log,發現是 media-deduper plugin 問題,使用 wp-cli 去 deactivate 以後,就可以登入了。

wp plugin deactivate media-deduper –path=’/var/www/wp’ –network

有人回報這問題了:https://wordpress.org/support/topic/504-bad-gateway-3/

但是登入以後,編輯器進不去… 見鬼了,後來發現是 MySQL的 CPU使用率超高,用 show processlist 去看,有 Waiting for table level lock 的情況。
查了以後才知道是因為 table 是 MyISAM 格式的關係。 (可以用這指令看 SELECT TABLE_NAME, ENGINE FROM information_schema.TABLES where TABLE_SCHEMA = ” AND ENGINE IS NOT NULL; ),而主因則是 media-deduper 所導致的。

要改可以用 alter table 來改 engine,可以先用下面這組指令一次產生出所有需要改格式的 alter table 敘述,再用 source 來執行。

 SET @DATABASE_NAME = 'name_of_your_db';
SELECT CONCAT('ALTER TABLE ', table_name, ' ENGINE=InnoDB;') AS sql_statements
FROM information_schema.tables AS tb
WHERE table_schema = @DATABASE_NAME
AND ENGINE = 'MyISAM'
AND TABLE_TYPE = 'BASE TABLE'
ORDER BY table_name DESC;

不過修改以後,media-deduper 還是會引起 MySQL 的 CPU 使用率超高,再去 media-deduper 的論壇找,找到這篇:Urgent: New Update Release (of 3 hours ago) broke my Website! 裏面講的,其實跟前面有人回報的問題 (504 bad gateway) 一樣,只是最後作者說有修正了,並且建議先移除 plugin 之後,再重新裝即可。於是我照著做就解決問題了。

電影流水帳(2018/12/08~2018/12/31)

  • Spider-Man: Into the Spider-Verse (IMDB, Wikipedia),台譯:蜘蛛人-新宇宙。
  • Rogue One (IMDB, Wikipedia),台譯:俠盜一號。
  • The House with a Clock in Its Walls (IMDB, Wikipedia),台譯:滴答屋。
  • Mazinger Z – Infinity (IMDB, Wikipedia),台譯:無敵鐵金剛/INFINITY。

Spider-Man: Into the Spider-Verse

看到預告的時候就很想去看了。看了以後,真心覺得很棒,喜歡的地方有三個。第一個是在漫畫裡蜘蛛人感應時特有的蚯蚓線,製作團隊把這個帶到電影裡了,很有趣;第二個在中後段其他世界蜘蛛人安慰 Miles 時,給我一種溫暖的感覺,也就是 You are not alone ;第三個是片尾的 MV 動畫,超讚的,讓人有「對,這就是蜘蛛人!」的感覺。

Miles 意外被蜘蛛咬到,然後遇到蜘蛛人去阻止 Kingpin。蜘蛛人死去,Miles 只好遵照蜘蛛人遺志,要繼續阻止 Kingpin,但 Miles 的時間還沒到,本人並沒有足夠的能力與勇氣去面對。後來就遇到其他世界的蜘蛛人,Miles 慢慢被培養出能力,並且有了自信,不過這時候 Miles 還沒能去好好面對這樣的情境。直到像其他蜘蛛人一樣,遇到了自己的親人死去,自己轉了念,才能好好去面對。最後就跟其他蜘蛛人一起去阻止 Kingpin,之後成為新的蜘蛛人。

Rogue One

星際大戰的外傳,故事發生在大約是在四部曲的前面一些。整體來說,節奏還算是緊湊,但缺少亮點。女主角 Jyn Erso 的父親是 Galen Erso,由 Mads Mikkelsen 飾演,在電影裡沒什麼出場機會,可惜了他的好演技。

Jyn 的父親 Galen 被帝國軍帶走去開發死星,Jyn 跟父母分開後,被 Saw Gerrena 帶走,之後開始流浪的日子。轉眼過了好幾年,Galen 在完成死星後,託飛行員 Bodhi Rook 帶訊息出來。反抗軍跟 Saw 抓到 Bodhi ,得知 Galen 消息,反抗軍打算殺掉 Galen,而 Saw 把訊息帶給了 Jyn,兩邊目的一致,都是要找 Galen,於是 Jyn 就跟反抗軍一起去找父親,但 Jyn 不知道的是反抗軍打算殺死 Galen。後來一行人找到父親 Galen 之後,Galen 因為反抗軍跟帝國軍兩方交火而死去。反抗軍見識到死星的威力,有點膽怯了,這時 Jyn 跟之前冒險的伙伴決定去尋找父親留下的死星藍圖,以便破壞死星。一行人到了帝國保存資料的星球,經過一番打鬥,終於及時將藍圖傳送出去交給 Leia 公主,但這群人卻沒能及時逃出這顆星球,因為死星將這顆星球打爆了。

The House with a Clock in Its Walls

有看到預告,想說 Jack Black 跟 Cate Blanchett 的組合應該不錯,結果不如人意,劇情有點鬆散,沒有讓 Jack 跟 Cate 有過多的發揮空間,整體來說普普通通。

Lewis 父母雙亡,去投靠舅舅 Jonathan ,結果發現舅舅是個男魔法師,住的房子則是個怪怪的房子。在舅舅家還有一個常走動的女生 Florence,三人就一起生活了。接著,Lewis 跟著舅舅學魔法,同時也一邊努力適應學校的生活,想交到朋友。但後來 Lewis 想得到朋友的認同而拿了舅舅吩咐他不能打開的書,並使用裡面的魔法,復活了不該復活的人 Isaac。原來,Isaac 是舅舅 Jonathan 的朋友,在二戰回來後,整個人怪怪的並且進行奇怪的研究。某個晚上,Jonathan 跟 Florence 回家時,發現裏面發生爆炸,Isaac 死去,只剩下一把鑰匙。整頓事件現場以後,家裡常常不時傳出滴答的時鐘聲音,卻不知道在哪裡。Isaac 復活之後,揭開了謎底,原來他在戰爭失蹤的時候,在森林遇到惡魔,讓他腦中浮現了一個構想,於是回來以後,製作了一個能回溯時間的時鐘,想要讓世界回到原點,這樣就不會有自相殘殺的事情發生。Lewis 向 Jonathan 坦承了錯誤,三人一起試著阻止 Isaac ,最後 Lewis 發揮了他的潛能,順利阻止了 Isaac。

有點出人意料的地方是鄰居其實是 Isaac 的妻子變形的,她同時也變成 Lewis 的母親去誘導 Lewis 找到那本不能打開的書

Mazinger Z – Infinity

重溫一下兒時的動畫,看到鐵金剛從游泳池出來,指揮艇組合,跳躍裝上機翼的時候,真的讓人感動,邊看還邊跟兩個孩子解釋。裏面還有一幕讓人莞薾,就是「MazinGirls」這團體,真的是很妙。本來以為只是偶像團體,但他們不只是偶像團體喔,後面還有加入戰鬥呢~

大戰之後,過了好幾年的和平日子,有一天,日本富士山下的光子能發電廠挖出了巨大機器人 INIFINITY 以及一個半機械的人類 LISA,兜甲兒(駕駛一代機的駕駛員)跟弓沙耶加展開研究。再過了一陣子,地獄博士突然帶著機械獸攻擊北美的光子能發電廠,駐守在那兒的劍鐵也(駕駛二代機的駕駛員)奮戰之後,失去音訊。隨即,日本富士山下的光子能發電廠也被襲擊,兜甲兒逃出來。日本組織了軍隊進行反攻,但地獄博士卻利用劍鐵也操控了 INIFINITY ,以壓倒性的姿態毀滅了日本的軍隊。兜甲兒不死心,找了以前的伙伴,重新組合了鐵金剛,然後透過 LISA 的幫忙展開反攻,最終打敗了地獄博士,並且汲取 INIFINITY 的力量,打倒了 INIFINITY,讓世界回復和平。