mop
Make OK for Public. A simplistic pre-filter (not (yet|ever) a substitute for manual examination).
Usage
mop < /var/log/nginx/error_log > cleaned_file
vim cleaned_file
# ☝ check for anything it might've missed
jist -co cleaned_file
# ☝ upload, copy its URL to clipboard, open in browser
Note
This thing is really in its beginning phases. It currently:
-
Deletes too much
-
Leaves too much
However, all Issues will be addressed. Just file ‘em at: github.com/rking/mop/issues
Currently Works With
-
Passwords
-
"password: secr3t"
⇒"password: hiddenpass"
-
"password: secr3t"
⇒"password: hiddenpass"
-
"password:\n\tsecr3t"
⇒"password:\n\thiddenpass"
-
"password: 'secr3t'"
⇒"password: hiddenpass"
-
"password:secr3t"
⇒"password:hiddenpass"
-
"passwd:secr3t"
⇒"passwd:hiddenpass"
-
"passwd: secr3t"
⇒"passwd: hiddenpass"
-
"password=secr3t"
⇒"password=hiddenpass"
-
"passwd=secr3t"
⇒"passwd=hiddenpass"
-
"password=\"secr3t\""
⇒"password=hiddenpass"
-
"buzbuz password: secr3t bizbiz"
⇒"buzbuz password: hiddenpass bizbiz"
-
"buzbuz password: secr3t bizbiz another password: secr4t bazbaz"
⇒"buzbuz password: hiddenpass bizbiz another password: hiddenpass bazbaz"
-
"USER: user55 PASS: secr3t"
⇒"USER: hiddenuser PASS: hiddenpass"
-
"U/N: user55 P/W: secr3t"
⇒"U/N: hiddenuser P/W: hiddenpass"
-
"U: user55 P: secr3t"
⇒"U: hiddenuser P: hiddenpass"
-
"U=user55 P=secr3t"
⇒"U=hiddenuser P=hiddenpass"
-
"u=user55 p=secr3t"
⇒"u=hiddenuser p=hiddenpass"
-
"u: user55 p: secr3t"
⇒"u: hiddenuser p: hiddenpass"
-
"L=user55 P=secr3t"
⇒"L=hiddenuser P=hiddenpass"
-
-
Users
-
"user: user55"
⇒"user: hiddenuser"
-
"User=user55"
⇒"User=hiddenuser"
-
"/Users/user55"
⇒"hiddenuser"
-
"/home/user55"
⇒"hiddenuser"
-
-
IPv4 Addresses
-
"1.2.3.4"
⇒"XX.YY.ZZ.AA"
-
"asdf 1.2.3.4 asdf"
⇒"asdf XX.YY.ZZ.AA asdf"
-
"1.2.3.4:22"
⇒"XX.YY.ZZ.AA:22"
-
"123.45.67.89"
⇒"XX.YY.ZZ.AA"
-
"0.0.0.0"
unchanged -
"127.0.0.1"
unchanged
-
-
IPv6 Addresses (probably many patterns TODO on this one)
-
"21:43:6f:1a:f6:f6"
⇒"aa:bb:cc:dd:ee:ff"
-
-
Capistrano’s ‘deploy.rb`
-
"host_name: 'shouldhide'"
⇒"host_name: caphidden"
-
"host_name: \"shouldhide\""
⇒"host_name: caphidden"
-
":host_name => 'shouldhide'"
⇒":host_name => caphidden"
-
":host_name, 'shouldhide'"
⇒":host_name, caphidden"
-
":port => 'shouldhide'"
⇒":port => caphidden"
-
"deploy_to, 'shouldhide'"
⇒"deploy_to, caphidden"
-
"server 'shouldhide', …"
⇒"server capserver …"
-
"set :application, \"shouldhide\""
⇒"set :application, caphidden"
-
"set :user, \"shouldhide\""
⇒"set :user, hiddenuser"
-
"server without comma"
unchanged -
"portage"
unchanged
-
-
/etc/passwd having “fakeuser” and “fakeuser2”
-
"foo bar fakeuser baz"
⇒"foo bar hiddenuser baz"
-
"~/fakeuser"
⇒"~/hiddenuser"
-
"/home/fakeuser/.foo"
⇒"hiddenuser"
-
"fakeuser2"
⇒"hiddenuser"
-
"cron"
unchanged -
"root"
unchanged
-
-
hostname being ‘gargantatron’
-
"gargantatron"
⇒"hiddenhost"
-
-
Git repos
-
"[email protected]/username/reponame.git"
⇒"[email protected]/hiddenrepo"
-
"[email protected]/username/reponame"
⇒"[email protected]/hiddenrepo"
-
"[email protected]:username/reponame"
⇒"[email protected]:hiddenrepo"
-
"https://github.com/username/reponame"
⇒"https://github.com/hiddenrepo"
-
"http://github.com/username/reponame"
⇒"http://github.com/hiddenrepo"
-
"git://github.com/username/reponame"
⇒"git://github.com/hiddenrepo"
-
"http://someotherhost.net/reponame.git"
⇒"http://hiddenrepo"
-
-
SSH
-
"ssh://user55@secrethost/path/to/reponame.git/"
⇒"ssh://hiddensshurl"
-
TODO
-
Add -j for ConradIrwin’s
jist
gem (after an editor preview, of course) -
Make distinct (similar to an uglifier’s symbol replacement)
-
first.host.name ⇒ hiddenhostname1
-
second.host.name ⇒ hiddenhostname2
-
-
Learn more about IPv6 Addresses
-
Dorky ISP-given hostnames that show IP addresses