frankenstein
checks for live URLs in a file, it can update links based on HTTP redirects in a README
This project uses awesome_bot
to validate links.
git clone https://github.com/dkhamsing/frankenstein.git
cd frankenstein
rake install
$ frankenstein https://fastlane.tools # URL
$ frankenstein README.md # Path to file
$ frankenstein ccgus/fmdb # GitHub repo README, https://github.com/ccgus/fmdb works too
Found: master for ccgus/fmdb — A Cocoa / Objective-C wrapper around SQLite — 8935⭐️ — last updated today
🏃 Processing links for ccgus/fmdb ...
🔎 Checking 18 links
✅ https://www.zetetic.net/sqlcipher/
✅ http://sqlite.org/
✅ https://cocoapods.org/
✅ https://github.com/marcoarment/FCModel
✅ https://github.com/layerhq/FMDBMigrationManager
#...
🕐 Time elapsed: 4.07 seconds
🏃 No failures for ccgus/fmdb
✅ 200 ok
🔶 3xx redirect
🔴 4xx error
⚪ white list / other
frankenstein
can open a pull request to update README links based on HTTP redirects (this requires credentials set in .netrc).
$ frankenstein fastlane/sigh
Finding default branch for fastlane/sigh
Found: master for fastlane/sigh — Because you would rather spend your time building stuff than fighting provisioning — 864⭐️ — last updated 8 days ago
🏃 Processing links for https://raw.githubusercontent.com/fastlane/sigh/master/README.md ...
🔎 Checking 21 links
🔶 301 https://github.com/KrauseFx/fastlane
🔶 301 https://github.com/KrauseFx/deliver
#...
🔶 10 redirects
https://github.com/KrauseFx/fastlane redirects to
https://github.com/fastlane/fastlane
#...
Next? (pull request | white list w=<s1^s2..> | gist | tweet [-h] [message] | enter to end) p
Creating pull request on GitHub for fastlane/sigh ...
Pull request created: https://github.com/fastlane/sigh/pull/195
-
URLs that are meant to be redirected (i.e. URL shortener, badge, authentication) are white listed and not corrected.
-
You can also white list links at the end of a run with option
w
.
$ frankenstein dkhamsing/forker
Finding default branch for dkhamsing/forker
Found: wip for dkhamsing/forker — Fork GitHub repos found on a page — 0⭐️ — last updated today
🏃 Processing links for dkhamsing/forker ...
🔎 Checking 10 links
✅ https://github.com/opensourceios
#...
🔶 1 redirect
http://gph.is/1768v38 redirects to
http://giphy.com/gifs/loop-factory-how-its-made-n1JN4fSrXovJe
#...
🕐 Time elapsed: 2.56 seconds
🏃 No failures for dkhamsing/forker
Next? (pull request | white list w=<s1^s2..> | gist | tweet [-h] [message] | enter to end) w=gph
#...
This project is available under the MIT license. See the LICENSE file for more info.