= 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:
https://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
- 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